Milyen egységekből áll egy PLC, hogyan hajtja végre a programot, és milyen szempontok szerint csoportosítjuk a vezérlőket?
- 2.1 A PLC fő egységei
- 2.2 Galvanikus leválasztás
- 2.3 A ciklikus programvégrehajtás
- 2.4 A folyamatkép (process image)
- 2.5 Ugyanez a CODESYS-ben: a task
- 2.6 Csoportosítás építési mód szerint
- 2.7 Csoportosítás méret és alkalmazás szerint
- 2.8 Összefüggés a könyv többi részével
- Gyakorlatok
- Összefoglalás
- Ellenőrző kérdések
- Tudáspróba
- A fejezet forrásai
Az előző fejezetben megtudtad, hogy a PLC tárolt programú, ipari kivitelű digitális eszköz. Most nézzük meg belülről: milyen részekből áll, és hogyan dolgozik. A fejezet két kulcsfogalmat vezet be, amelyek a könyv további részét végigkísérik: a galvanikus leválasztást és a ciklikus programvégrehajtást a folyamatkép fogalmával.
Ez a fejezet az írásbeli vizsga „PLC felépítése, csoportosítása” témakörét (10%) fedi le, és alapot ad a „PLC hardware ismerete” témakörhöz (20%) is, amelyet a 7. fejezet folytat a WAGO CC100 konkrét adataival.
2.1 A PLC fő egységei
Bármilyen gyártótól származik is a vezérlő, ugyanazok a funkcionális egységek találhatók meg benne. A szakirodalom egybehangzóan a következőket sorolja fel:1 2 3
| Egység | Feladata |
|---|---|
| Központi egység (CPU) | értelmezi a bemeneti jeleket, végrehajtja a tárolt programot, és biztosítja a kimeneti jelek beállítását |
| Memória | a program és az adatok tárolása |
| Tápegység | a belső elektronika ellátása; a konfiguráció saját tápegységgel rendelkezik, jellemzően DC 24 V törpefeszültségről |
| Bemeneti egység (DI/AI) | a külvilág jeleinek fogadása, jelszint-illesztés, galvanikus leválasztás |
| Kimeneti egység (DO/AO) | a beavatkozók működtetése; relés vagy elektronikus kivitelben |
| Kommunikációs interfész | adatcsere a programozó eszközzel és más készülékekkel |
| Belső busz | az egységek összekötése, a modulok illesztése |
| Programozó eszköz | a program elkészítése és letöltése — ma jellemzően PC a fejlesztőkörnyezettel |
| Intelligens egységek | célfeladatra kifejlesztett, önálló feldolgozást végző modulok |
A CPU az az egység, amely „értelmezi a bemeneti jeleket és biztosítja a kimeneti jelek beállítását”1 — vagyis végrehajtja a memóriában tárolt programot, és annak eredménye alapján dönt a kimenetek állapotáról.
A memória mérete a régebbi szakirodalomban szó (word) egységben szerepel: „1 kiloszó = 1024 × 16 bit”.3 Ma inkább kilobájtban vagy megabájtban adják meg — a 7. fejezetben látni fogod, hogy a WAGO CC100 memóriája már gigabájtos nagyságrendű.
Egy PC-ben is van CPU, memória és tápegység. A PLC-t három dolog különbözteti meg: a galvanikusan leválasztott, ipari jelszintű be- és kimenetek (2.2. pont), a ciklikus, determinisztikus programvégrehajtás (2.3. pont), és az ipari kivitel (rezgésállóság, tág hőmérséklet-tartomány, sínre szerelhetőség). Ezek nélkül egy szoftver akkor is „automatizálhat”, ha PC-n fut — de ipari környezetben nem lenne megbízható.
2.2 Galvanikus leválasztás
A PLC olyan környezetben dolgozik, ahol mágneskapcsolók, motorok és frekvenciaváltók kapcsolnak nagy áramokat. Ha a külvilág vezetékei közvetlenül a processzor elektronikájához csatlakoznának, egyetlen tranziens feszültséglöket tönkretenné a vezérlőt.
A megoldás a galvanikus leválasztás: a jel nem vezetéken, hanem fényen keresztül jut át a bemeneti fokozatból a belső elektronikába. Ezt a feladatot az optocsatoló végzi, amely „továbbítja a belső elektronika felé (galvanikusan elválasztás)” a bemeneti jelet.3
Két áramkör olyan összekapcsolása, amelynél nincs közöttük vezetőkapcsolat: a jel optikai, mágneses vagy kapacitív úton jut át. Így a két áramkör eltérő potenciálon lehet, és a zavarok nem terjednek át egyikről a másikra.
Gyakorlati következmények, amelyeket a bekötésnél érezni fogsz (7. fejezet):
- a bemenetek és a kimenetek külön tápellátást kaphatnak, sőt jellemzően kapnak is;
- egy hibás bekötés a külső oldalon nem feltétlenül teszi tönkre a CPU-t;
- a leválasztás nem véd minden ellen: a tápfeszültség felcserélése vagy túlfeszültség továbbra is károsíthatja a modult.
2.3 A ciklikus programvégrehajtás
Ez a fejezet — sőt az egész könyv — legfontosabb működési elve. A PLC-program nem úgy fut, mint egy hagyományos számítógépes program, amely elindul, lefut és véget ér. A PLC-program körbe-körbe fut, végtelenítve, amíg a vezérlő RUN állapotban van.
Egy tipikus ciklus így épül fel:1
„Egy tipikus PLC ciklus azzal kezdődik, hogy a CPU beolvassa a bemenetek státuszát. Ezután a PLC programja kerül végrehajtásra. A program végrehajtása után a PLC elvégzi a belső diagnosztikai és kommunikációs feladatokat. Végül a CPU frissíti a kimenetek státuszát.”
| Fázis | Mi történik? |
|---|---|
| 1. Bemenetek beolvasása | a CPU beolvassa a bemeneti kapcsok pillanatnyi állapotát, és eltárolja a folyamatképben |
| 2. Programvégrehajtás | a felhasználói program lefut, a bemenetek helyett a folyamatképet olvasva |
| 3. Belső feladatok | diagnosztika, kommunikáció, rendszerfeladatok |
| 4. Kimenetek frissítése | a program által beállított értékek a kimeneti kapcsokra kerülnek |
Egy teljes ciklus lefutásának ideje. Ettől függ, hogy a vezérlő milyen gyorsan reagál egy bemeneti változásra: ha a jel éppen a bemenetolvasás után billen át, majdnem egy teljes ciklust vár a következő beolvasásig, és a hatása csak annak a ciklusnak a végén jut ki — a reakcióidő legrosszabb esetben tehát csaknem két ciklusnyi.
A PLC nem azonnal reagál. Ha egy nyomógombot megnyomsz, a hatás legkésőbb a következő ciklus kimenetfrissítésénél jelenik meg. Ezért nem lehet a PLC-program az egyetlen védelem egy gyors, veszélyes folyamatnál — ezt a gondolatot a 24. fejezet (biztonság) viszi tovább.
2.4 A folyamatkép (process image)
Az előző pontban kétszer is szerepelt a folyamatkép. Ez a fogalom annyira fontos, hogy külön pontot érdemel — a kezdők egyik legnagyobb „aha-élménye” szokott lenni.
A régebbi szakirodalom a végrehajtást három fázisban írja le, és megnevezi a két memóriaterületet:2
- a bemeneti értékek beolvasása a Process Input Image (PII) területre;
- a felhasználói program futtatása;
- a Process Output Image (PIQ) kiíratása a kimeneti egységekre.
A folyamatkép a bemenetek és kimenetek állapotának memóriabeli másolata. A program nem közvetlenül a kapcsokat olvassa és írja, hanem ezt a másolatot: a bemeneti folyamatképet (PII) olvassa, és a kimeneti folyamatképbe (PIQ) ír.
Ennek két, gyakorlatilag nagyon fontos következménye van.
Az első: a bemenet értéke egy cikluson belül nem változik meg. Ha a program elején megvizsgálod egy érzékelő állapotát, majd húsz sorral lejjebb újra, ugyanazt az értéket kapod — akkor is, ha közben a valóságban átbillent. Ez nem hiba, hanem tervezett viselkedés: így a program konzisztens pillanatképet lát a folyamatról, és nem fordulhat elő, hogy ugyanaz a feltétel a program két pontján ellentmondóan viselkedik.
A második: a kimenet nem azonnal kapcsol. Ha a program közepén igazra állítasz egy kimenetet, majd a végén hamisra, a fizikai kimenet soha nem fog bekapcsolni — mert a kapcsokra csak a ciklus végén, a PIQ tartalma alapján kerül ki az érték. A programon belüli „villogás” nem jut ki a valóságba.
A folyamatkép olyan, mint egy fénykép, amelyet a ciklus elején készít a vezérlő a bemenetekről. A program ezzel a fényképpel dolgozik, nem az élő képpel. Amikor végzett, a rajzasztalán elkészült „kimeneti fényképet” egyszerre továbbítja a kapcsokra.
2.5 Ugyanez a CODESYS-ben: a task
A ciklikus végrehajtást a CODESYS-ben a task fogalma írja le. A gyártói dokumentáció meghatározása szerint:4
„A task is the chronological flow unit for your IEC program. The task defines the call chain of your POUs (call hierarchy).”
Magyarul: a task az IEC-program időbeli végrehajtási egysége, amely meghatározza a programegységek (POU-k) hívási láncát. Egyszerűbben: a task az, ami hívja a programodat — és a task beállításai döntik el, milyen gyakran.
A CODESYS öt task-típust ismer:5
| Típus | Mikor fut? |
|---|---|
| Cyclic (ciklikus) | időzítetten, beállított ciklusidővel — ez a leggyakoribb |
| Freewheeling (szabadonfutó) | saját ciklusidő nélkül, folyamatos hurokban újraindulva |
| Event (eseményvezérelt) | egy eseményváltozó felfutó élére |
| External (külső) | célrendszer-függő külső események alapján |
| Status (állapotvezérelt) | amíg egy eseményváltozó igaz |
A taskoknak prioritásuk is van: a lehetséges értékek 0–31, ahol a 0 a legmagasabb prioritás.5 Ha több task fut ugyanazon a processzormagon, a nagyobb prioritású (kisebb számú) előbb jut szóhoz; azonos prioritásnál a rendszer körbeforgó időszeletelést (round-robin) alkalmaz.5
A prioritásnál a kisebb szám a magasabb prioritás. A 0-s prioritású task megelőzi a 15-öst. Ez sok kezdőt megzavar, mert intuitívan a nagyobb szám tűnne „fontosabbnak”.
Mi történik, ha a program nem fér bele a beállított ciklusidőbe? Erre való a watchdog (figyelőkutya). Ha a watchdog aktív, és a program túllépi a beállított időt, akkor a task „is halted with an error status (exception)”, és „the application in whose task the error occurred and its child applications are also halted” — vagyis a task kivétellel leáll, és vele leáll az alkalmazás is.5
A 8. fejezetben beállítod az első taskodat, a 23. fejezetben pedig megméred, mennyi ideig fut a programod: a CODESYS task-monitorozó lapja megmutatja a legutóbbi, az átlagos, a minimális és a maximális ciklusidőt. Ott lesz igazán érthető, miért fontos a watchdog.
2.6 Csoportosítás építési mód szerint
A PLC-ket többféleképpen csoportosíthatjuk. A vizsgán a leggyakoribb az építési mód szerinti felosztás.
Olyan vezérlő, amely egyetlen házban „a legtöbb funkcionális egységet tartalmazza, de rendszerint csak I/O egységgel bővíthető”.3 A CPU, a tápegység és a be-/kimenetek gyárilag együtt vannak.
Olyan vezérlő, amelynél „egy busz sávra tetszés szerinti modulok csatlakoztathatók”.3 A tápegység, a CPU és az egyes I/O modulok külön egységek, amelyeket a feladathoz igazítva állítunk össze.
| Szempont | Kompakt | Moduláris |
|---|---|---|
| Felépítés | egy házban, gyárilag összeállítva | különálló modulok közös buszon |
| Bővíthetőség | korlátozott (jellemzően I/O-val) | széles körű, szinte tetszőleges |
| Beszerzési költség kis feladatra | alacsonyabb | magasabb |
| Helyigény | kisebb | nagyobb |
| Tipikus alkalmazás | gépegység, kis berendezés, oktatás | gyártósor, összetett technológia |
A szakirodalom külön kiemeli a mikro PLC kategóriát is: ezek „mágneskapcsolónyi méretűek, 5–10 bemenettel”.3
A WAGO CC100 kompakt vezérlő: egyetlen házban tartalmazza a CPU-t, a tápellátást és a be-/kimeneteket. A 7. fejezetben látni fogod a pontos adatait. A bővítést nálunk nem helyi modulokkal, hanem hálózaton keresztül, Modbus TCP-s I/O-modullal oldjuk meg — ez a 21. fejezet témája, és egyben a vizsga „modulbővítés” projektmunkájának alapja.
2.7 Csoportosítás méret és alkalmazás szerint
Egy másik gyakori felosztás a kezelhető be- és kimenetek száma szerinti:1
| Kategória | I/O-pontszám |
|---|---|
| Nano PLC | < 15 |
| Mikro PLC | 15–128 |
| Közepes PLC | 128–512 |
| Nagy PLC | > 512 |
A méret szerinti kategóriák határai forrásonként és gyártónként eltérnek. Ugyanaz a szakirodalom, amely a mikro PLC-t 15–128 I/O-pontra teszi,1 egy másik helyen „mágneskapcsolónyi, 5–10 bemenetes” eszközként írja le.3 A könyv ezért ezeket a számokat tájékoztató adatként közli, és nem tekinti szabványos besorolásnak. A vizsgán a kompakt/moduláris felosztás a biztos alap; a méret szerintit érdemes megemlíteni, de a határértékek pontos idézgetése helyett a nagyságrendekre hivatkozz.
Alkalmazás szerint a szakirodalom egyfeladatos, többfeladatos és vezérlés-menedzsment rendszereket különböztet meg.1 A gyakorlatban ez inkább a felhasználás léptékét írja le, mint a készülék felépítését.
2.8 Összefüggés a könyv többi részével
Érdemes már most látni, hova vezetnek a most tanult fogalmak:
| Fogalom | Hol folytatódik? |
|---|---|
| galvanikus leválasztás | 3. fejezet (I/O jelek), 7. fejezet (a CC100 bemenetei) |
| ciklikus végrehajtás, folyamatkép | 10. fejezet (változók), 18. fejezet (élfigyelés), 23. fejezet (ciklusidő mérése) |
| task, prioritás, watchdog | 8. fejezet (beállítás), 23. fejezet (mérés) |
| kompakt vs. moduláris | 7. fejezet (CC100), 21. fejezet (hálózati bővítés) |
| CPU, memória, I/O | 7. fejezet (a CC100 konkrét adatai) |
Különösen a folyamatkép és a ciklikus végrehajtás kap még szerepet: a 18. fejezetben ezekből vezetjük le, miért van szükség élfigyelésre — ha ugyanis egy nyomógomb sok cikluson át igaz, akkor „egyszeri” hatást (például számlálást) csak az él érzékelésével lehet elérni.
Gyakorlatok
Egy PLC-program a következőket hajtja végre, ebben a sorrendben:
Lampa := TRUE;- (további 50 sor program, amely a
Lampaváltozót nem érinti) Lampa := FALSE;
Kérdés: bekapcsol-e egyáltalán a lámpa a fizikai kimeneten? Indokold a folyamatkép működésével! Mit kellene tenni, ha azt szeretnénk, hogy a lámpa rövid ideig valóban felvillanjon?
Egy vezérlő ciklusideje 10 ms. Egy érzékelő jele közvetlenül a bemenetolvasás után billen át.
- Mennyi idő telik el legrosszabb esetben addig, amíg a jel hatása megjelenhet a kimeneten?
- Hány ciklus alatt biztosan észreveszi a vezérlő a jelet, ha az legalább 25 ms-ig fennáll?
- Mi történik, ha a jel csak 3 ms-ig áll fenn? Miért kockázatos ez, és milyen érzékelővel vagy programozási megoldással lehet kivédeni?
(A harmadik kérdéshez a 18. fejezet ad teljes választ, de próbáld meg magadtól végiggondolni.)
Döntsd el, melyik felépítést választanád, és indokold két-két érvvel:
- Egy présgép vezérlése: 12 digitális bemenet, 8 digitális kimenet, nincs tervezett bővítés.
- Egy gyártósor, amely három ütemben épül ki, és a végén 240 I/O-pontot fog kezelni, köztük analóg mérésekkel és hőmérséklet-bemenetekkel.
- Egy oktatólabor 15 munkaállomással, ahol a hallgatók alapfeladatokat gyakorolnak.
Összefoglalás
A PLC ugyanazokból a funkcionális egységekből épül fel gyártótól függetlenül: CPU, memória, tápegység, be- és kimeneti egységek, kommunikációs interfész, belső busz és programozó eszköz. A külvilág felé a be- és kimenetek galvanikusan leválasztva csatlakoznak, jellemzően optocsatolóval — ez védi a vezérlő elektronikáját az ipari környezet zavaraitól.
A program ciklikusan fut: bemenetek beolvasása → programvégrehajtás → belső feladatok → kimenetek frissítése, majd újra elölről. A program nem a kapcsokat olvassa, hanem a folyamatképet (PII/PIQ), ezért egy cikluson belül a bemenet értéke állandó, és a kimenet csak a ciklus végén kapcsol. Ez a ciklusidő fogalmához vezet: a vezérlő reakciója legrosszabb esetben csaknem két ciklusnyit késik.
A CODESYS-ben mindezt a task írja le, amely meghatározza a POU-k hívási láncát. Öt task-típus létezik, a prioritás 0–31 között állítható, ahol a 0 a legmagasabb, és a watchdog kivétellel leállítja a taskot, ha a program túllépi a ciklusidőt.
A vezérlőket építési mód szerint kompakt és moduláris kategóriába soroljuk; a méret és az alkalmazás szerinti felosztás tájékoztató jellegű, gyártófüggő. A könyv eszköze, a WAGO CC100, kompakt vezérlő.
Ellenőrző kérdések
- Sorold fel a PLC fő funkcionális egységeit, és mondd meg mindegyikről egy mondatban, mi a feladata!
- Mi a galvanikus leválasztás, és milyen alkatrész valósítja meg a bemeneti oldalon?
- Nevezd meg a ciklikus programvégrehajtás négy fázisát a helyes sorrendben!
- Mi a folyamatkép, és mi a PII és a PIQ közötti különbség?
- Miért nem változik meg egy bemenet értéke a program futása közben?
- Egy program a ciklus elején bekapcsol, a végén kikapcsol egy kimenetet. Mit fogsz látni a kapcson? Miért?
- Mi a task a CODESYS-ben, és mit határoz meg?
- Milyen tartományban állítható a task prioritása, és melyik érték jelenti a legmagasabb prioritást?
- Mit tesz a watchdog, ha a program túllépi a beállított ciklusidőt?
- Mi a különbség a kompakt és a moduláris PLC között? Melyikbe tartozik a WAGO CC100?
Tudáspróba
Válaszd ki az egyetlen helyes választ!
1. Melyik NEM tartozik a PLC alapvető funkcionális egységei közé? a) nyomtatóillesztő b) tápegység c) központi egység (CPU) d) bemeneti egység
2. A galvanikus leválasztás célja: a) a jel erősítése; b) a belső elektronika védelme, mert nincs vezetőkapcsolat a két oldal között; c) a ciklusidő csökkentése; d) a memóriaigény csökkentése.
3. A ciklikus végrehajtás helyes sorrendje: a) programvégrehajtás → bemenetolvasás → kimenetfrissítés → belső feladatok; b) kimenetfrissítés → bemenetolvasás → programvégrehajtás → belső feladatok; c) bemenetolvasás → programvégrehajtás → belső feladatok → kimenetfrissítés; d) belső feladatok → kimenetfrissítés → bemenetolvasás → programvégrehajtás.
4. A folyamatkép azt jelenti, hogy: a) a program közvetlenül a bemeneti kapcsokat olvassa; b) a kimenetek azonnal követik a program változóit; c) a vezérlő fényképet készít a gépről; d) a program a bemenetek és kimenetek memóriabeli másolatával dolgozik.
5. Ha a program a ciklus elején igazra, a végén hamisra állít egy kimenetet, akkor a fizikai kimeneten: a) semmi nem történik, mert a PIQ csak a ciklus végén kerül ki; b) rövid impulzus jelenik meg; c) a kimenet tartósan bekapcsol; d) hibaüzenet keletkezik.
6. A CODESYS-ben a task: a) egy változótípus; b) az IEC-program időbeli végrehajtási egysége, amely a POU-k hívási láncát határozza meg; c) a bemenetek memóriaterülete; d) a hálózati kommunikáció beállítása.
7. A task-prioritás lehetséges értékei és a legmagasabb prioritás: a) 1–10, a 10 a legmagasabb; b) 0–31, a 31 a legmagasabb; c) 0–31, a 0 a legmagasabb; d) 0–255, a 128 a legmagasabb.
8. A watchdog kioldásakor: a) a task figyelmeztetést ír a naplóba, de tovább fut; b) a vezérlő átvált szabadonfutó módba; c) a ciklusidő automatikusan megnő; d) a task kivétellel leáll, és az alkalmazás is leáll.
9. A kompakt PLC jellemzője: a) egyetlen házban tartalmazza a legtöbb funkcionális egységet, és rendszerint csak I/O-val bővíthető; b) a tápegység, a CPU és az I/O külön modulokban van; c) kizárólag analóg jelekkel dolgozik; d) nem programozható.
10. A méret szerinti PLC-besorolás (nano, mikro, közepes, nagy): a) nemzetközi szabvány rögzíti pontos határértékekkel; b) tájékoztató jellegű, a határok forrásonként és gyártónként eltérnek; c) csak moduláris vezérlőkre alkalmazható; d) a memória mérete alapján történik.
A megoldókulcs a B függelékben található.
A fejezet forrásai
-
Pletl Szilveszter – Kincses Zoltán: PLC és SCADA rendszerek. Egyetemi tananyag, Pannon Egyetem / Szegedi Tudományegyetem, 2014. Elérés:
mik.uni-pannon.hu/docs/tananyagok/PLC_es_SCADA.pdf(2026-07-29). ↩↩↩↩↩↩ -
Szabó Géza: Programozható logikai vezérlők. Segédlet az Irányítástechnika I. c. tárgyhoz, BME Közlekedésautomatikai Tanszék, 1995. október. Elérés:
2ge.hu/download/plc.pdf(2026-07-29). ↩↩ -
PLC-k általános felépítése. BME oktatói segédlet (szerző és év a dokumentumban nincs feltüntetve). Elérés:
oktatok.reak.bme.hu/farkas/.../PLC-k_altalanos_felepitese-1.pdf(2026-07-29). A forrás szerző nélküli, ezért a könyvben csak más forrás megerősítése mellett használjuk. ↩↩↩↩↩↩↩ -
CODESYS Online Help: Task Configuration. CODESYS GmbH, V3.5.22.0. Elérés:
content.helpme-codesys.com/en/CODESYS Development System/_cds_f_task_configuration.html(2026-07-29). ↩ -
CODESYS Online Help: Task Configuration – reference. CODESYS GmbH, V3.5.22.0. Elérés:
content.helpme-codesys.com/en/CODESYS Development System/_cds_f_reference_task.html(2026-07-29). ↩↩↩↩