A legrégebbi és a legelterjedtebb PLC-nyelv — ahol a rajz maga a logika, és ahol a vizsga „nyelvek közötti átváltás” témaköre kézzelfoghatóvá válik.
- 13.1 Honnan jött a létradiagram?
- 13.2 A hálózat és a sín
- 13.3 Kontaktusok
- 13.4 Soros és párhuzamos kapcsolás
- 13.5 Tekercsek
- 13.6 Funkcióblokk a létradiagramban
- 13.7 Kidolgozott példa: önfenntartás
- 13.8 Nyelvek közötti átváltás
- 13.9 Mikor melyik nyelvet?
- Összefoglalás
- Gyakorlatok
- Ellenőrző kérdések
- Tudáspróba
- A fejezet forrásai
Az előző fejezet nyelve, a strukturált szöveg, a legkifejezőbb. A létradiagram viszont a legelterjedtebb — és jó okkal.
Az LD (Ladder Diagram, létradiagram) a relés vezérlések kapcsolási rajzait örökölte. Egy karbantartó, aki évtizedekig relés szekrényeket javított, ránéz egy létradiagramra, és érti. Nem kell programozni tanulnia hozzá: a rajz ugyanaz, csak most szoftverben fut.
13.1 Honnan jött a létradiagram?
A PLC előtti korszakban a vezérlési logikát relékkel építették. A kapcsolási rajzon két függőleges vonal — a két tápsín — között futottak a vízszintes áramkörök: bal oldalon a kapcsolók és érintkezők, jobb oldalon a relétekercs.
Amikor az első PLC-k megjelentek, a gyártók nem új nyelvet találtak ki, hanem lemásolták ezt a rajzot. Így a meglévő szakembergárda azonnal használni tudta.
Mert a logikai kapcsolatokat láthatóvá teszi. Egy soros kontaktussor ránézésre ÉS-kapcsolat, egy párhuzamos ág ránézésre VAGY-kapcsolat. Nem kell értelmezni — látszik.
Egy dolgot viszont rosszul csinál: az összetett számításokat. Egy PID-szabályozó vagy egy receptkezelő létradiagramban rémálom. Ezért használ a legtöbb valós projekt vegyesen LD-t és ST-t: a logikát létrában, a számításokat strukturált szövegben.
13.2 A hálózat és a sín
„Az FBD és az LD programozás alapegysége a hálózat. Minden hálózat olyan szerkezetet tartalmaz, amely a következőket ábrázolhatja: logikai vagy aritmetikai kifejezést, egy programblokk hívását (függvény, funkcióblokk, program), egy ugrást vagy egy visszatérést.”5
Egy LD-program hálózatokból áll, amelyek egymás alatt helyezkednek el. Baloldalt egy függőleges vonal határolja őket: „balról az üres hálózatot egy függőleges vonal határolja, amely egy sínt (busbar) képvisel”.5
Ez a sín a relés rajz tápsínje — képzeletben innen indul a „feszültség”, és ha a kontaktusokon át eljut a tekercsig, a tekercs meghúz.
A létradiagramban nem folyik áram. A vezérlő a hálózatot kiszámolja, nem méri. A „feszültség” itt egy logikai igaz érték, amely a kontaktusokon át balról jobbra halad3 — de ez a program végrehajtása, nem elektromosság.
Ez a különbség akkor válik fontossá, amikor a 13.7. alfejezetben a kiértékelés sorrendjéről lesz szó.
13.3 Kontaktusok
A kontaktus a hálózat bal oldalán álló elem, amely egy logikai változóhoz tartozik.
„A kontaktus a TRUE (ON) vagy FALSE (OFF) jelet balról jobbra adja tovább, amíg a jel végül el nem éri a hálózat jobb oldalán lévő tekercset.”3
Két fajtája van:3
| Típus | Mikor ad tovább TRUE-t? |
|---|---|
| záró (normally open) | ha a hozzárendelt változó értéke TRUE |
| bontó (negált, normally closed) | ha a hozzárendelt változó értéke FALSE |
Ez a fejezet legkönnyebben elrontható pontja.
- A bontó kontaktus a programban van: negálja a változó értékét.
- A bontó (NC) érzékelő a hardverben van: alaphelyzetben zár, működéskor nyit.
Ha egy NC-érzékelőt bontó kontaktussal is negálsz, kétszer negáltál — és a logika megfordul. A 3. fejezetben tanult NO/NC-kérdést tehát a bekötésnél kell tisztázni, nem a programban javítgatni.
13.4 Soros és párhuzamos kapcsolás
Itt jön a létradiagram legszebb tulajdonsága: a rajz maga a logika.
Soros kapcsolás: „Ha kontaktusok sorba vannak kapcsolva, mindegyiknek TRUE-nak kell lennie ahhoz, hogy az ON továbbjusson jobbra a sorozat utolsó kontaktusától.”3
Párhuzamos kapcsolás: „Ha két párhuzamos kontaktust használunk, csak az egyiknek kell TRUE értékűnek lennie ahhoz, hogy az ON továbbjusson jobbra.”3
| Rajz | Logika | ST-megfelelő |
|---|---|---|
| soros kontaktusok | ÉS | bKi := bA AND bB; |
| párhuzamos ágak | VAGY | bKi := bA OR bB; |
| bontó kontaktus | NEM | bKi := NOT bA; |
Ebből a három elemből minden logikai kifejezés felépíthető. Egy összetett feltétel — például „indulhat, ha (kézi VAGY automata) ÉS az ajtó zárva ÉS nincs vészjelzés” — így néz ki:
| bKezi bAjtoZar bVesz (bIndulhat) |---| |---+------| |--------|/|---------( )---| | | | bAuto | |---| |---+
Ugyanez ST-ben:
bIndulhat := (bKezi OR bAuto) AND bAjtoZar AND NOT bVesz;
Két kontaktusnál az ST. Nyolcnál a létra. Egy hosszú, sok ágas engedélyezési feltételnél a létradiagram azonnal megmutatja, melyik feltétel hiányzik — online módban ugyanis a vezérlő színezi a vezető ágakat. Hibakeresésnél ez felbecsülhetetlen.
13.5 Tekercsek
A hálózat jobb oldalán állnak a tekercsek.
„A tekercs átveszi a balról érkező értéket, és eltárolja a hozzá rendelt logikai változóban.”4
Négyféle tekercs van:4
| Tekercs | Jel | Mit csinál? |
|---|---|---|
| normál | ( ) |
eltárolja a balról érkező értéket |
| negált | (/) |
„a bejövő jel negált értékét tárolja” |
| set | (S) |
„ha TRUE érkezik a set tekercshez, a tekercs megtartja a TRUE értéket. Amíg a PLC-program fut, ez az érték itt már nem írható felül.” |
| reset | (R) |
„ha TRUE érkezik a reset tekercshez, a tekercs megtartja a FALSE értéket.” |
És egy fontos elrendezési szabály:4
„Egy hálózatban több tekercs csak párhuzamosan rendezhető el.”
Vagyis nem lehet két tekercset egymás után fűzni a jelúton — csak egymás alá, ugyanarról az ágról.
A set tekerccsel bekapcsolt kimenetet csak reset tekercs tudja kikapcsolni. Ha a
programodban van (S), de nincs hozzá (R), a kimenet örökre bekapcsolva marad — és a
hibakeresésnél hiába nézed a bekapcsoló feltételt, az már régen hamis.
Szabály: minden (S)-hez tartozzon (R), és lehetőleg legyenek egymás közelében a
programban, hogy olvasáskor mindkettő látszódjon.
A 18. fejezetben megismert SR és RS funkcióblokkok ugyanezt a viselkedést adják — de
egyetlen helyen, jól látható dominanciával.
A set/reset tekercspár szétszórható a programban, ami rugalmas, de veszélyes: nehéz
átlátni, hány helyről kapcsolódik ki-be egy kimenet. Ha a dominancia számít — és
biztonságtechnikai közelben mindig számít —, válaszd az RS blokkot (18. és 24. fejezet).
13.6 Funkcióblokk a létradiagramban
Az időzítők, számlálók és élfigyelők LD-ben is használhatók: a hálózat jelútjába beszúrható egy funkcióblokk.
| bIndit TON_1 |---| |-----------+--------+ (bKesz) | | TON |------------( )---| | T#5S --| IN Q | | | PT ET | | +--------+
A minta ugyanaz, mint a 10. fejezetben: a blokknak példánya van (TON_1), a bal oldali
jelút az IN bemenetre megy, és a Q kimenet viszi tovább a jelet a tekercs felé.
Ha két késleltetésre van szükség, két blokkot kell beszúrni, két különböző példánynévvel. Ugyanaz a szabály, mint ST-ben (10. fejezet): az állapot a példányban lakik.
13.7 Kidolgozott példa: önfenntartás
Ez a létradiagram klasszikus alapmintája, és minden gépben megtalálod.
Feladat. Az indítógomb egy pillanatra megnyomva indítsa el a motort. A motor akkor is maradjon bekapcsolva, ha a gombot elengedjük. A leállítógomb vagy a vészjelzés állítsa le.
| bIndit bLeallit bVesz (bMotor) |---| |------+-----| |--------| |-----------( )---| | | | bMotor | |---| |------+
Hogyan működik?
- Az indítógomb megnyomásakor a felső ág vezet → a
bMotortekercs bekapcsol. - A következő ciklusban a
bMotorsaját kontaktusa (az alsó ág) is vezet. - Az indítógombot elengedhetjük: az alsó ág tartja a jelutat.
- A leállítógomb megnyomása (vagy a vészjel) elveszi a jelet → a záró kontaktus nyit → a tekercs elenged → az alsó ág is megszűnik.
Ugyanez ST-ben:
bMotor := (bIndit OR bMotor) AND bLeallit AND bVesz;
Figyeld meg: a bLeallit és a bVesz záró kontaktussal szerepel a jelútban — miközben a
hardveres bekötésnél a leállítógomb bontó (NC) érintkezőt kap (5. fejezet).
A kettő együtt adja ki a hibabiztos viselkedést. Az NC-érintkezőn nyugalomban folyik az
áram, tehát a bLeallit bemenet igaz, amíg a gombot senki nem nyomja — a záró kontaktus
vezet, a motor mehet. A gomb megnyomásakor vagy a vezeték szakadásakor a jel megszűnik
(FALSE), a záró kontaktus nyit, és a motor leáll.
Ha fordítva csinálnánk — záró (NO) gomb a hardverben és bontó kontaktus a programban —, a működés ugyanilyennek látszana, de a vezetékszakadás észrevétlen maradna, és a gép leállíthatatlanná válna.
Az elv: a hiba a biztonságos irányba vigyen. Ugyanez a gondolat, mint a 24. fejezet reset-dominanciája — csak most a huzalozásban.
(És ismét: ez nem helyettesíti a hardveres biztonsági relét. A vészleállítás továbbra is a vezérlőtől függetlenül működik, 24. fejezet.)
13.8 Nyelvek közötti átváltás
Itt következik a vizsga egyik önálló témaköre — és a jó hír az, hogy a CODESYS-ben ez három billentyűkombináció.
A CODESYS kombinált szerkesztőt használ: ugyanaz a POU megjeleníthető FBD-ben, LD-ben és IL-ben. Ez azért lehetséges, mert a belső ábrázolás hálózat-alapú, és a rendszer az IL-programot is legalább egy hálózatba szervezi, épp azért, hogy átkonvertálható legyen.1
| Parancs | Menüút | Gyorsbillentyű | Mit tesz? |
|---|---|---|---|
| View as function block diagram | FBD/LD/IL → View |
Ctrl+1 | „az aktív utasításlistát vagy az aktív létradiagramot funkcióblokk-diagrammá alakítja”6 |
| View as Ladder Logic | FBD/LD/IL → View |
Ctrl+2 | „az aktuális funkcióblokk-kódot vagy az aktív utasításlistát létradiagrammá alakítja”7 |
| View as instruction list | FBD/LD/IL → View |
Ctrl+3 | „az aktív funkcióblokk-kódot vagy az aktív létradiagramot utasításlistává alakítja”8 |
„A hibátlan konverzió szintaktikailag helyes kódot igényel. Ellenkező esetben az implementáció részei elveszhetnek.”6 7 8
Vagyis: fordítsd le a kódot, mielőtt átváltasz. Ez az a mondat, amit egy jó vizsgafelelet tartalmaz — mert megmutatja, hogy nem csak a billentyűkombinációt tanultad meg.
Az utasításlista a CODESYS beállításaiban kapcsolható be, „az FBD, LD és IL párbeszédpanel beállításai” között.8 2 Ez önmagában is jelzi az IL visszaszorulását (6. fejezet).
És egy fontos korlát, amit érdemes kimondani: az ST nem része ennek a körnek. A kombinált szerkesztő az FBD, az LD és az IL között vált — a strukturált szöveg külön szerkesztő, és nem konvertálható oda-vissza velük. Aki azt hiszi, hogy a CODESYS bármelyik nyelvet bármelyikre átalakítja, csalódni fog.
13.9 Mikor melyik nyelvet?
| Feladat | Ajánlott nyelv | Miért? |
|---|---|---|
| Engedélyezési logika, reteszelések | LD | ránézésre látszik, melyik feltétel hiányzik |
| Ki-be kapcsolások, önfenntartás | LD | a klasszikus minta, mindenki érti |
| Számítás, skálázás, szabályozás | ST | egy sor helyett tíz hálózat lenne |
| Állapotgép, receptek | ST (CASE) |
a lépések egymás alatt olvashatók |
| Jelfeldolgozás, szűrés | ST vagy FBD | adatfolyam-jellegű |
| Sorrendi működés | SFC | erre találták ki (15. fejezet) |
Egy jól megírt CODESYS-projektben ez teljesen természetes: a PLC_PRG létradiagramban hívja
sorban a modulokat, az egyes modulok pedig ST-ben vannak megírva. A nyelvválasztás POU-nként
történik — nem kell egyetlen nyelv mellett elköteleződni.
Összefoglalás
- A létradiagram a relés kapcsolási rajzokat örökölte; azért maradt fenn, mert a logikai kapcsolatokat láthatóvá teszi.
- Az LD (és az FBD) alapegysége a hálózat; balról sín (busbar) határolja.
- A kontaktus balról jobbra adja tovább a TRUE/FALSE jelet. A záró akkor ad tovább TRUE-t, ha a változó TRUE; a bontó akkor, ha FALSE.
- Soros kapcsolás = ÉS, párhuzamos ág = VAGY. A rajz maga a logika.
- Négyféle tekercs van: normál, negált, set és reset. Egy hálózatban több tekercs csak párhuzamosan helyezhető el.
- A set tekercshez mindig tartozzon reset — különben a kimenet bekapcsolva ragad.
- A funkcióblokk a jelútba szúrható; példányonként külön blokk kell.
- Az önfenntartás klasszikus mintája: az indítógomb mellé a kimenet saját kontaktusa kerül párhuzamosan; az NC-gombról érkező leállítójel a programban záró kontaktusra kerül, így a gombnyomás és a vezetékszakadás egyaránt leállít.
- Átváltás:
FBD/LD/IL → View, Ctrl+1 (FBD), Ctrl+2 (LD), Ctrl+3 (IL). A konverzió hibátlan szintaxist igényel, különben az implementáció részei elveszhetnek. - Az ST nem része a kombinált szerkesztőnek — oda-vissza konverzió vele nincs.
Gyakorlatok
Rajzolj le papíron egy létradiagram-hálózatot a következő feltételhez: a szivattyú akkor indulhat, ha (a tartály nincs üres) ÉS (kézi VAGY automata üzemmód) ÉS (nincs túlmelegedés). Utána írd meg ugyanezt ST-ben. Végül vidd be CODESYS-be LD-ben, és nyomj Ctrl+3-at: hasonlítsd össze a kapott utasításlistát a saját ST-verzióddal.
Vidd be a 13.7. alfejezet önfenntartó hálózatát CODESYS-be, és futtasd szimulációban.
Write Values paranccsal működtesd az bIndit gombot egyetlen ciklusra. Marad-e bekapcsolva a
motor? Utána próbáld ki a leállítást és a vészjelet is. Végül nyomj Ctrl+1-et, és nézd meg
ugyanezt funkcióblokk-diagramban.
Írj egy hálózatot, amely egy (S) tekerccsel kapcsol be egy kimenetet, de szándékosan ne
írj hozzá reset tekercset. Futtasd szimulációban, kapcsold be, majd vedd el a bekapcsoló
feltételt. Mit tapasztalsz? Utána egészítsd ki a reset ággal. Írd le egy mondatban, mi lett
volna ebből valódi gépen.
Építsd meg LD-ben: az indítógomb megnyomása után 3 másodperccel induljon el a szalag, és a
leállítógomb azonnal állítsa meg. Használj TON funkcióblokkot a hálózat jelútjában. Utána
válts át Ctrl+3-mal utasításlistára, és nézd meg, hogyan néz ki ugyanez IL-ben.
A következő öt feladathoz válaszd ki a nyelvet, és indokold egy-egy mondattal: (a) hat reteszelési feltétel összefogása egy engedélyezésbe; (b) egy hőmérséklet-alapjel kiszámítása három mért értékből; (c) egy hatlépéses mosogatási ciklus vezérlése; (d) egy vészkör állapotának kijelzése három lámpán; (e) 20 riasztásbit összegzése egyetlen gyűjtőriasztásba.
Ellenőrző kérdések
- Honnan származik a létradiagram, és miért terjedt el?
- Mi a hálózat, és mi a sín szerepe a rajzon?
- Mikor ad tovább TRUE jelet a záró, és mikor a bontó kontaktus?
- Mi a különbség a bontó kontaktus és a bontó érzékelő között?
- Milyen logikai kapcsolatot valósít meg a soros, és milyet a párhuzamos elrendezés?
- Sorold fel a négyféle tekercset, és mondd meg, mit csinálnak!
- Hogyan helyezhető el több tekercs egy hálózatban?
- Miért veszélyes a set tekercs reset nélkül?
- Mikor válassz
SR/RSfunkcióblokkot set/reset tekercspár helyett? - Magyarázd el az önfenntartó kapcsolás működését négy lépésben!
- Miért bontó (NC) érintkezőt kap a leállítógomb a bekötésnél, és miért záró kontaktus tartozik hozzá a programban?
- Mi a három átváltó parancs menüútja és gyorsbillentyűje?
- Mire figyelmeztet a gyártó a nyelvi konverzióval kapcsolatban?
- Miért nem konvertálható az ST oda-vissza a másik három nyelvvel?
Tudáspróba
Válaszd ki az egyetlen helyes választ!
1. Az LD és az FBD alapegysége: a) a hálózat b) a POU c) a task d) az akció
2. A bontó (negált) kontaktus akkor ad tovább TRUE jelet, ha a változó értéke: a) TRUE b) FALSE c) mindegy d) változik
3. A sorba kapcsolt kontaktusok logikai kapcsolata: a) VAGY b) KIZÁRÓ VAGY c) ÉS d) NEM
4. A párhuzamos ágak logikai kapcsolata: a) NEM b) ÉS c) KIZÁRÓ VAGY d) VAGY
5. A set tekercshez érkező TRUE hatása: a) a tekercs megtartja a TRUE értéket; b) egy ciklusra bekapcsol; c) a tekercs FALSE-ra vált; d) hibát okoz.
6. Egy hálózatban több tekercs: a) csak sorosan helyezhető el; b) csak párhuzamosan helyezhető el; c) tetszőlegesen elhelyezhető; d) nem megengedett.
7. Az önfenntartó kapcsolásban a kimenet saját kontaktusa: a) sorosan kapcsolódik az indítógombhoz; b) a tekercs után van; c) párhuzamosan kapcsolódik az indítógombhoz; d) bontó kontaktus.
8. A létradiagram nézetre váltás gyorsbillentyűje: a) Ctrl+1 b) Ctrl+2 c) Ctrl+3 d) F5
9. A nyelvi konverzió előfeltétele a gyártó szerint: a) mentett projekt; b) engedélyezett IL; c) online kapcsolat; d) szintaktikailag helyes kód.
10. Melyik nyelv nem része a kombinált FBD/LD/IL szerkesztőnek? a) ST b) LD c) IL d) FBD
A megoldókulcs a B függelékben található.
A fejezet forrásai
-
CODESYS Online Help: FBD/LD/IL – a kombinált szerkesztő. CODESYS GmbH. (2026-07-29) ↩
-
CODESYS Online Help: Programming in Instruction List (IL). CODESYS GmbH. (2026-07-29) ↩
-
LD element contact. Beckhoff Information System. (2026-07-31) ↩↩↩↩↩
-
LD element coil. Beckhoff Information System. (2026-07-31) ↩↩↩
-
FBD/LD/IL és Programming Ladder Diagrams (LD). Beckhoff Information System. (2026-07-31) A hálózat meghatározása és a sín. ↩↩
-
CODESYS LD FBD Help: Command: View as function block diagram (V4.6.0.0). CODESYS GmbH. (2026-07-31) ↩↩
-
CODESYS LD FBD Help: Command: View as Ladder Logic (V4.6.0.0). CODESYS GmbH. (2026-07-31) ↩↩
-
CODESYS LD FBD Help: Command: View as instruction list (V4.6.0.0). CODESYS GmbH. (2026-07-31) ↩↩↩