Az üres képernyőtől az első, szimulációban futó programig — eszközleírás, eszközfa, taskok és a Force veszélye.

Eddig papíron gondolkodtunk: jelekről, számábrázolásról, folyamatábráról, hardverről. Ebben a fejezetben megnyitjuk a fejlesztőkörnyezetet.

A jó hír, amivel érdemes kezdeni: a fejezet végére hardver nélkül is tudsz programot futtatni. A CODESYS szimulációs módja valódi vezérlő nélkül futtatja az alkalmazást — így a következő fejezetre már gyakorlott kézzel érkezel.

A CODESYS-munkafolyamat — az üres képernyőtől a futó programig 1. Eszközleírástelepítése 2. Új projekt,eszköz hozzáadása 3. Task-konfiguráció 4. POU-kmegírása 5. Fordítás(Build) 6. Szimulációhardver nélkül 7. Töréspontok,monitorozás 8. Letöltésa vezérlőre Ez a fejezet az 1–7. lépésig visz el A 6. lépés a legfontosabb hír: a szimuláció miatt nem kell hardver ahhoz, hogy programot írj és teszteld. A 8. lépés a következő fejezet témája.
8.1. ábra. A teljes munkafolyamat. Ez a fejezet az 1–7. lépést járja végig; a 8. lépés — a letöltés valódi vezérlőre — a következő fejezet témája.

8.1 A telepítés és a licenckérdés

A CODESYS Development System a gyártó saját telepítőjével kerül a gépre. A környezetbe később további összetevők (eszközleírások, könyvtárak, bővítmények) is telepíthetők; ehhez való a Tools → CODESYS Installer… menüpont, amelynek [Install File] gombjával *.package kiterjesztésű csomagok építhetők be.11

⚠️ Amit a könyv a licencekről nem állít

A CODESYS licencelése verziónként és eszközönként eltér, és időben is változik. A könyv ezért nem közöl licenctípusokat, árakat vagy időkorlátokat. A saját eszközödre vonatkozó feltételeket a gyártó aktuális tájékoztatójából és a vezérlő gyártójának dokumentációjából kell megnézni.

Ami a tanuláshoz fontos: a szimulációs módhoz nincs szükség vezérlőre, tehát a fejezet gyakorlatai elvégezhetők.

8.2 Eszközleírás telepítése

Ez az a lépés, amit a legtöbb kezdő kihagy — aztán csodálkozik, hogy a CC100 nem található a listában.

📗 Eszközleírás (device description)

A gyártó által kiadott, gépi olvasású leírófájl, amely megmondja a fejlesztőkörnyezetnek, mit tud az eszköz: milyen be- és kimenetei vannak, milyen buszokat kezel, hogyan kell vele kommunikálni. Enélkül a mérnöki szoftver számára a legdrágább vezérlő is csak ismeretlen doboz.

A telepítés menüútja — és ezt két, egymástól független gyártó dokumentációja is ugyanígy adja meg:7 10

Tools fül → Device Repository… → [Install…] gomb → az eszközleíró fájl kiválasztása → [Open]

Ezután „a CODESYS az eszközleírást az eszköztár megfelelő kategóriájába helyezi”; hiba esetén a hibaüzenetek „a párbeszédpanel alsó részén jelennek meg”.7

Honnan szerezd be a fájlt? Két útja van.10 11

Út Mikor jó? Hogyan?
A) Egyedi eszközleíró fájl egy konkrét eszközhöz, offline gépre is a gyártó honlapján keresd meg a terméket; „a termékoldal alsó részén a »Downloads« > »Device Files«” alatt tölthető le10
B) Gyártói csomag ha a teljes eszköz- és könyvtárkészletre szükség van töltsd le a „WAGO CODESYS Download Server” csomagot a WAGO Download Centerből, majd CODESYS-ben Tools → [CODESYS Installer…] → [Install File]; „a *.package fájl minden összetevője telepítésre kerül”11

A B) út után a hiányzó eszközleírások automatikusan letölthetők, és a gyártó könyvtárai is elérhetővé válnak.11

⚠️ Amit a könyv nem tud megadni

A CC100 eszközleíró fájljának pontos nevét és kiterjesztését a felhasznált gyártói dokumentumok nem nevezik meg. A könyv ezért a menüutat és a beszerzés helyét írja le — a konkrét fájlnév a letöltéskor derül ki.

[ Képernyőkép-helyőrző: Képernyőkép: a Device Repository párbeszédpanel az Install gombbal, és a telepített WAGO-eszközök kategóriája. ]
8.2. ábra. Az eszköztár (Device Repository).

8.3 Miért nem elég a kábel?

Érdemes egy pillanatra megállni ennél a fogalomnál, mert mindenhol visszatér:

Rendszer A leíró neve (fejezet)
CODESYS device description 8.
PROFIBUS GSD 19.
PROFINET GSDML 19.
EtherCAT ESI 19.

Mind ugyanazt csinálják: a gyártó elektronikus adatlapját adják a mérnöki szoftvernek. És ahogy a PROFINET dokumentációja kimondja, ennek van egy nagyon gyakorlati haszna is: a leíró fájlok „lehetővé teszik egy rendszer megtervezését anélkül, hogy a felhasznált eszközöknek fizikailag jelen kellene lenniük”.9

Vagyis megtervezheted a projektet, mielőtt a szekrény megérkezne.

8.4 Új projekt és az eszközfa

A projekt létrehozása után a bal oldali eszközfa lesz a fő tájékozódási pontod. Ez a nézet „a céleszköz szerint szervezi az alkalmazásokat”, és benne „látható a PLC-hardver és a buszrendszerek, konfigurálható a hardverkommunikáció, és hozzárendelhetők az alkalmazások”.8

A CODESYS eszközfájának felépítése Projekt (a projekt neve) Device — a CC100 PLC Logic automatikusan jön létre Application Task Configuration PLC_PRG és a többi POU Buszrendszerek, I/O modulok Kétféle eszköz Programozható: futtat alkalmazást, automatikusan kap PLC Logic csomópontot. Paraméterezhető: nem futtat alkalmazást, csak konfigurálható.
8.3. ábra. Az eszközfa szintjei. A PLC Logic csomópont programozható eszköz alatt automatikusan jön létre.

A fa szintjei:8

  • gyökér: a projekt nevét viselő csomópont;
  • eszközobjektumok: a vezérlő, a buszrendszerek, az I/O-modulok;
  • PLC Logic: programozható eszköz alatt automatikusan jön létre;
  • Application: az alkalmazás(ok) a PLC Logic alatt;
  • task-konfiguráció és a programozási objektumok (POU-k, globális változólisták, felhasználói adattípusok).

8.5 Programozható és paraméterezhető eszközök

A CODESYS kétféle eszközt különböztet meg:8

Típus Mit tud?
Programozható alkalmazás helyezhető rá, és automatikusan kap PLC Logic csomópontot
Paraméterezhető nem futtat alkalmazást; csak az eszközszerkesztőn keresztül konfigurálható

Ez a különbség magyarázza meg, miért nem lehet minden eszközbe programot tölteni: egy buszcsatoló vagy egy I/O-modul paraméterezhető, nem programozható.

8.6 A task-konfiguráció

A 2. fejezetből tudod, hogy a PLC ciklikusan fut. A task az a beállítás, amely megmondja, mi, milyen gyakran és milyen sorrendben fusson.

8.6.1 Task-típusok

Típus Mikor fut?
Cyclic „a task feldolgozása ciklikusan történik” — beállítható intervallummal1
Event egy eseményváltozó felfutó élére1
External célrendszer-függő eseményekre1
Freewheeling „a task feldolgozása automatikusan újraindul folyamatos ciklusban”1
Status az eseményváltozó állapotára indul, és addig fut, amíg a változó hamissá nem válik1

A task szerkesztője az eszközfában a task-objektumra kattintva nyílik meg, és az intervallum IEC 61131-3 időliterálként adható meg — a dokumentált példa: t#300ms.2

8.6.2 Prioritás — a fordított logika

„Lehetséges értékek: 0..31, ahol a 0 a legmagasabb prioritás.”1

⚠️ Ez a legtöbbeket megtéveszti

A kisebb szám a fontosabb. A 0-s prioritású task megelőzi a 10-est. Ha ösztönösen a „nagyobb szám = fontosabb” logikára gondolsz, pont fordítva állítod be az egész rendszert.

Hogyan ütemez a rendszer? Egy CPU-magon:1

  • eltérő prioritásoknál: „a taskok a prioritásuk szerinti sorrendben futnak le”;
  • azonos prioritásoknál: „a taskok egymás után futnak, körbeforgó időszeletelés (round-robin) módszerrel”.
Két task egy CPU-magon — prioritás szerint vagy körbeforgó időszeletekben Eltérő prioritás a kisebb szám nyer A task (prioritás 1) B task (prioritás 10) Az A task mindig félbeszakítja a B-t: a magasabb prioritás előbb fut. Azonos prioritás round-robin C task (prioritás 5) D task (prioritás 5) Felváltva, időszeletekben kapják meg a processzort.
8.4. ábra. Ütemezés egy CPU-magon. Eltérő prioritásnál a magasabb prioritású task megelőzi a másikat; azonos prioritásnál felváltva jutnak processzorhoz.
⚠️ Egy fontos korlátozás, amit a gyártó maga tesz hozzá

„A task ütemezése függ a CPU-architektúrától (egymagos vagy többmagos) és a használt operációs rendszertől.”1 Vagyis a fenti szabályok az egymagos esetre pontosak; többmagos rendszeren a viselkedés eltérhet. Ha a pontos időzítés kritikus, azt mérni kell, nem feltételezni.

8.7 A watchdog

Mi történik, ha a program egy ciklusban túl sokáig dolgozik? Erre való a watchdog („figyelőkutya”).

A task konfigurációjában három beállítás tartozik hozzá:1

Mező Jelentése
Activate „a watchdog aktív. Ha a task túllépi a watchdog beállított idejét, akkor a task hibaállapottal (kivétellel) megáll”
Time „watchdog-idő. A Sensitivity-vel együtt határozza meg a task watchdogját”
Sensitivity „szám. A watchdog-idővel együtt határozza meg a task watchdogját”

A tényleges kioldás feltétele: az aktuális ciklus ideje hosszabb, mint (Time × Sensitivity); a forrás megkülönbözteti az egymást követő és az egyszeri túllépés esetét.1

A watchdog: Time × Sensitivity kioldás, ha ciklusidő > Time × Sensitivity idő ciklusciklusciklus túl hosszú ciklus watchdog-határ Time × Sensitivity Kioldáskor a task kivétellel leáll — és vele leáll az alkalmazás és annak gyermekalkalmazásai is. Ez nem figyelmeztetés, hanem megállás.
8.5. ábra. A watchdog kioldási feltétele és következménye.
⚠️ A watchdog nem figyelmeztet — megállít

Kioldáskor „a task hibaállapottal megáll. Az az alkalmazás, amelynek a taskjában a hiba történt, és annak gyermekalkalmazásai is leállnak.”1

Ez nem naplóbejegyzés, hanem üzemleállás. Ezért nem szabad a watchdog-időt „biztos, ami biztos” alapon nagyon rövidre állítani — de kikapcsolni sem szabad, mert akkor egy végtelen ciklus észrevétlenül fagyasztja meg a vezérlőt.

8.8 Fordítás és a hibaüzenetek

A fordítás (Build) előtt érdemes tudni, mi a különbség a kétféle üzenet között:

Üzenettípus Mit jelent?
Hiba (error) a fordítás nem sikerült; nincs mit letölteni
Figyelmeztetés (warning) lefordult, de valami gyanús: nem használt változó, implicit típuskonverzió, elérhetetlen kód
💡 A figyelmeztetéseket ne söpörd félre

Egy „nem használt változó” figyelmeztetés gyakran elgépelt nevet takar: két hasonló nevű változót hoztál létre, és a program a rossz egyiket használja. A figyelmeztetés az egyetlen jel, ami erre felhívja a figyelmed.

8.9 Szimulációs mód

„Használd a szimulációs módot a program teszteléséhez és hibakereséséhez, ha nincs fizikai céleszközöd. Ebben a módban az alkalmazás egy szimulált eszközön indul el.”4

Bekapcsolás: Online → Simulation, vagy az eszközfában a PLC-re jobb gombbal kattintva a helyi menüből.4

Előfeltétel:4 „a programod nem tartalmaz hibát (fordítási hibaüzenetet vagy fordítási hibát), és nem vagy bejelentkezve”.

Kilépés: „jelentkezz ki a PLC-ből, és fejezd be a szimulációs módot”.4

⚠️ Mit tesztel a szimuláció, és mit nem?

A szimuláció a program logikáját futtatja. Amit a felhasznált forrás nem részletez, az az, hogy pontosan mi nem működik benne — például a valós I/O, a hálózati kommunikáció vagy a Modbus-forgalom.

A könyv ezért óvatosan fogalmaz: a szimuláció a logika tesztelésére való, nem a hardveres viselkedésére. A pontos korlátokat a saját eszközödön kell megtapasztalnod — ez a 9. fejezet egyik gyakorlata lesz.

8.10 Online mód: monitorozás, Write és Force

Bejelentkezve a fejlesztőkörnyezet élőben mutatja a változók értékét. Két módja van annak, hogy bele is nyúlj.

Write Values (Ctrl+F7) Force Values (F7)
Hatás „egyszer beállítja a változót az előkészített értékre”3 „tartósan beállítja az előkészített értéket”3
Mikor érvényesül egyszer „a task-ciklus elején és végén”3
A program felülírhatja? igen — „az értéket a program bármikor újra felülírhatja”3 nem, amíg a force tart
Jelzés a felületen nincs külön jelölés a változó force-ikonnal megjelölve
Write Values és Force Values — a különbség, ami gépet tör Write Values (Ctrl+F7) ciklusciklusciklus ciklusciklus beírás a program a következő ciklusban felülírhatja Force Values (F7) ciklusciklusciklus ciklusciklus force az érték minden ciklus elején és végén visszaíródik A hibakeresés utolsó lépése mindig: Unforce All Values.
8.6. ábra. A Write egyszeri beavatkozás, a Force minden ciklusban visszaírja az értéket.

A force feloldása három módon lehetséges:3 az Unforce All Values paranccsal; a force elvételével a Prepare Value párbeszédpanelen; vagy kijelentkezéssel — ilyenkor a rendszer rákérdez, hogy minden változónál feloldja-e.

A súgó külön hangsúlyozza, hogy a force függetlenül érvényesül attól, hogy a változót használja-e egyáltalán a task.3

8.11 A Force veszélye

⚠️ Ez a fejezet legfontosabb figyelmeztetése

A Force valós berendezésen kikapcsolja a program logikáját az adott változóra nézve. Ha a hibakeresés után elmarad az Unforce All Values, a gép továbbra is a kényszerített értékkel működik — miközben a program mást gondol, és a képernyőn minden rendben lévőnek látszik.

Kötelező ellenőrzőlista a hibakeresés végén:

  1. Unforce All Values;
  2. a force-ikonok eltűnésének ellenőrzése;
  3. a kimenetek tényleges állapotának visszaellenőrzése a berendezésen.

Ugyanide tartozik egy másik, kevésbé ismert csapda. Töréspontnál a program megáll — de a súgó szó szerint figyelmeztet:5

„A »debug task« által hívott I/O-k nem frissülnek a töréspontnál történő megállás során, még akkor sem, ha a PLC-beállításokban bejelölöd a Refresh I/Os in Stop jelölőnégyzetet.”

⚠️ Töréspont valódi gépen

Ha a program megáll egy törésponton, a kimenetek az utolsó állapotukban maradhatnak: a motor forog tovább, a szelep nyitva marad. Töréspontos hibakeresést valós berendezésen csak biztonságos állapotban, a mozgó részek lefékezése után szabad végezni.

(A megállási viselkedés forrása a gyártói súgó; a munkavédelmi következtetés a könyv saját, indokolt tanácsa.)

Töréspontokról röviden, amit már most tudnod érdemes:5

  • a CODESYS minden IEC-szerkesztőben támogat töréspontot;
  • megálláskor az állapotsorban piros kiemeléssel a HALT ON BP felirat jelenik meg;
  • parancsok: Debug → Toggle Breakpoint, Debug → New Breakpoint; F9 (töréspont ki/be), F5 (folytatás);
  • feltételes töréspont: logikai feltétel vagy találatszám adható meg (például minden 5. áthaladásnál álljon meg);
  • adat-töréspont: „a program végrehajtása adat-töréspontnál akkor áll meg, amikor egy adott változó vagy memóriacím értéke megváltozik” — de csak a CODESYS Control Win alatt.
⚠️ Az adat-töréspont a CC100-on nem használható

A gyártói súgó kifejezetten kimondja: „adat-töréspontok csak a CODESYS Control Win esetén lehetségesek”.5 A CC100 nem ez, tehát ezt a hibakeresési eszközt csak a szimulációban vagy Windows-runtime-on tudod használni.

8.12 A Util könyvtár — ami már készen van

Mielőtt bármit magad írnál meg, érdemes megnézni a Util könyvtárat.6 Néhány csoport belőle:

  • BCD-átváltás: BCD_TO_BYTE, BCD_TO_WORD, BCD_TO_DWORD, BCD_TO_INT, és a fordított irány (BYTE_TO_BCD és társai);
  • Gray-kód átváltás mindkét irányban;
  • analóg jelfelügyelet: hiszterézis, határérték-riasztás;
  • szabályozók: PD és PID;
  • bit- és bájtműveletek, hexadecimális/ASCII átváltás, BASE64;
  • függvénymanipulátorok: rampa, karakterisztikagörbe;
  • matematika: derivált, integrál, lineáris transzformáció, statisztika;
  • jelgenerátorok: villogás, frekvenciamérés;
  • időkezelés: UTC és helyi idő, időkapcsoló-funkciók.
💡 Névkonvenciós csapda

A 4. fejezetben említett WORD_BCD_TO_INT nem a CODESYS neve — az egy másik gyártó IEC-megvalósításából származik. A CODESYS-ben a fenti, BCD_TO_… / …_TO_BCD névkonvenció érvényes. Ez jó példa arra, hogy a szabvány a nyelvet egységesíti, a könyvtárak nevei viszont gyártónként eltérhetnek.

Összefoglalás

  • A munkafolyamat: eszközleírás telepítése → projekt és eszköz → task-konfiguráció → POU-k → fordítás → szimuláció → letöltés.
  • Az eszközleírás a gyártó elektronikus adatlapja. Telepítése: Tools → Device Repository → Install. Beszerzése a termékoldal „Downloads → Device Files” szakaszából, vagy a gyártó *.package csomagjából a Tools → CODESYS Installer… úton.
  • Az eszközfa szintjei: projekt → eszköz → PLC Logic → Application → task-konfiguráció és POU-k. A PLC Logic csomópont programozható eszköz alatt automatikusan jön létre.
  • Task-típusok: Cyclic, Event, External, Freewheeling, Status. A prioritás 0–31, és a 0 a legmagasabb. Egy magon: eltérő prioritásnál sorrend szerint, azonosnál round-robin — de az ütemezés architektúra- és operációsrendszer-függő.
  • A watchdog akkor old ki, ha a ciklusidő nagyobb, mint Time × Sensitivity. Ilyenkor a task kivétellel megáll, és vele az alkalmazás is.
  • A szimulációs mód fizikai eszköz nélkül futtatja az alkalmazást — a logika tesztelésére.
  • Write = egyszeri beírás, a program felülírhatja. Force = tartós kényszerítés minden ciklus elején és végén. A hibakeresés utolsó lépése mindig az Unforce All Values.
  • Töréspontnál a kimenetek nem frissülnek — valós gépen csak biztonságos állapotban használd. Az adat-töréspont csak CODESYS Control Win alatt működik.

Gyakorlatok

🛠️ 8.1. feladat — Telepítsd az eszközleírást

Keresd meg a CC100 (751-9301) termékoldalát a gyártó honlapján, és az oldal alsó részén a „Downloads → Device Files” szakaszban keresd meg az eszközleíró fájlt. Telepítsd a Tools → Device Repository → Install úton. Írd fel, milyen néven és kiterjesztéssel találtad meg a fájlt, és melyik kategóriába került az eszköztárban.

🛠️ 8.2. feladat — Építsd fel az eszközfát

Hozz létre új projektet a CC100-zal, és rajzold le papíron a keletkező eszközfát, minden szinttel. Jelöld meg, melyik csomópont jött létre automatikusan, és melyiket hoztad létre te. Keresd meg, hol van a task-konfiguráció.

🛠️ 8.3. feladat — Számold ki a watchdog-időt

Egy ciklikus task intervalluma t#20ms, a watchdog Time mezőjében t#50ms, a Sensitivity értéke 3. Hány ezredmásodperces ciklusidőnél old ki a watchdog? Ha a program átlagos futásideje 12 ms, de néha felmegy 160 ms-ra, mi történik? Fogalmazd meg, mi lenne a helyes reakció: a watchdog-idő növelése, vagy a program átalakítása — és miért.

🛠️ 8.4. feladat — Írj és futtass szimulációban

Írj egy egyszerű PLC_PRG programot, amely egy BOOL bemenetre egy számlálót növel (a 18. fejezet élfigyelésével). Fordítsd le, indítsd el szimulációs módban, és a Write Values paranccsal működtesd a bemenetet. Figyeld a számláló értékét.

🛠️ 8.5. feladat — Tapasztald meg a Force-ot

Ugyanabban a szimulált programban tegyél Force-ot a számláló változójára egy tetszőleges értékkel. Figyeld meg, hogy a program nem tudja megváltoztatni. Ezután oldd fel az Unforce All Values paranccsal, és ellenőrizd, hogy a számlálás folytatódik. Írd le egy mondatban, mi történt volna, ha ezt egy valódi gépen felejtetted volna bent.

Ellenőrző kérdések

  1. Mi az eszközleírás, és mi történik, ha nincs telepítve?
  2. Milyen menüúton telepíted az eszközleírást, és honnan szerzed be a fájlt?
  3. Sorold fel az eszközfa szintjeit! Melyik jön létre automatikusan?
  4. Mi a különbség a programozható és a paraméterezhető eszköz között?
  5. Nevezd meg az öt task-típust, és mondd meg, melyik mikor fut!
  6. Mekkora a prioritások tartománya, és melyik a legmagasabb?
  7. Mi történik két azonos prioritású taskkal egy CPU-magon?
  8. Mi a watchdog kioldási feltétele, és mi a következménye?
  9. Mire való a szimulációs mód, és mi az előfeltétele?
  10. Mi a különbség a Write Values és a Force Values között?
  11. Hogyan oldható fel a force, és miért kötelező ez a hibakeresés végén?
  12. Miért veszélyes a töréspont valós berendezésen?
  13. Melyik hibakeresési eszköz nem használható a CC100-on, és miért?

Tudáspróba

Válaszd ki az egyetlen helyes választ!

1. Az eszközleírás telepítésének menüútja: a) Tools → Device Repository → Install b) File → Import Device c) Online → Add Device d) Build → Device

2. A PLC Logic csomópont: a) kézzel kell létrehozni; b) programozható eszköz alatt automatikusan jön létre; c) csak buszrendszereknél jelenik meg; d) a task-konfiguráció része.

3. A task-prioritások tartománya: a) 1–16, ahol a 16 a legmagasabb b) 0–31, ahol a 31 a legmagasabb c) 0–31, ahol a 0 a legmagasabb d) 0–255, ahol a 0 a legmagasabb

4. Azonos prioritású taskok egy CPU-magon: a) egyszerre futnak; b) hibát okoznak; c) véletlenszerű sorrendben futnak; d) körbeforgó időszeletelés (round-robin) szerint futnak.

5. A watchdog akkor old ki, ha a ciklusidő nagyobb, mint: a) Time × Sensitivity b) Sensitivity c) Time d) Time + Sensitivity

6. Watchdog-kioldáskor: a) a rendszer csak naplóz; b) a task kivétellel megáll, és leáll az alkalmazás is; c) a task újraindul; d) a prioritás automatikusan nő.

7. A szimulációs mód előfeltétele: a) csatlakoztatott vezérlő; b) érvényes licenc a vezérlőre; c) hibátlan fordítás és kijelentkezett állapot; d) aktív hálózati kapcsolat.

8. A Force Values az értéket: a) egyszer írja be; b) csak szimulációban működik; c) csak fordításkor érvényesíti; d) a task-ciklus elején és végén írja vissza.

9. A töréspontnál történő megállás során a debug task I/O-i: a) nem frissülnek, még a „Refresh I/Os in Stop” bejelölésével sem; b) frissülnek; c) csak a bemenetek frissülnek; d) csak a kimenetek frissülnek.

10. Az adat-töréspont (data breakpoint): a) minden CODESYS-vezérlőn működik; b) csak a CODESYS Control Win alatt lehetséges; c) csak szimulációban működik; d) csak IL nyelven használható.

A megoldókulcs a B függelékben található.

A fejezet forrásai


  1. CODESYS Online Help: Task Configuration – reference (V3.5.22.0). CODESYS GmbH. (2026-07-29, kiegészítve: 2026-07-31) A prioritás, a task-típusok, az ütemezés és a watchdog mezőinek forrása. ↩↩↩↩↩↩↩↩↩↩↩

  2. CODESYS Online Help: Configuring a Task (V3.5.22.0). CODESYS GmbH. (2026-07-29) ↩

  3. CODESYS Online Help: Forcing Values (V3.5.22.0). CODESYS GmbH. (2026-07-29) ↩↩↩↩↩↩

  4. CODESYS Online Help: Testing in Simulation Mode (V3.5.22.0). CODESYS GmbH. (2026-07-29) ↩↩↩↩

  5. CODESYS Online Help: Using Breakpoints (V3.5.22.0). CODESYS GmbH. (2026-07-29) ↩↩↩

  6. CODESYS Util Library Documentation (v3.5.22.0). CODESYS GmbH. (2026-07-29) ↩

  7. CODESYS Online Help: Installing Devices (V3.5.22.0). CODESYS GmbH. (2026-07-29) ↩↩

  8. CODESYS Online Help: Device Tree and Device Editor (V3.5.22.0). CODESYS GmbH. (2026-07-29) ↩↩↩

  9. PROFINET System Description – Technology and Application (2018. november). PROFIBUS Nutzerorganisation e.V. / PI. (2026-07-29) Az eszközleíró fájlok szerepéről. ↩

  10. Installing WAGO Device Descriptions separately. WAGO TechDocs. (2026-07-31) ↩↩↩

  11. Integrating Available WAGO Device Descriptions and Libraries into CODESYS. WAGO TechDocs. (2026-07-31) ↩↩↩↩

Mennyire volt hasznos ez a fejezet?

Még nincs értékelés.