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.

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.

💡 Miért nem elavult mégsem?

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

📗 Hálózat (network)

„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

Egy létradiagram-hálózat felépítése sín (busbar) bIndit záró kontaktus bLeallit bontó (negált) bMotor tekercs a jel balról jobbra halad, amíg el nem éri a tekercset A hálózat az FBD és az LD alapegysége: egy logikai vagy aritmetikai kifejezés, egy blokkhívás, egy ugrás vagy egy visszatérés.
13.1. ábra. Egy egyszerű hálózat: sín, két kontaktus és egy tekercs.

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.

⚠️ Ez képes beszéd, nem villamosság

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
A létradiagram alapelemei Kontaktusok záró TRUE-t ad tovább, ha a változó TRUE bontó (negált) TRUE-t ad tovább, ha a változó FALSE Tekercsek normál eltárolja a balról érkező értéket / negált a bejövő jel negáltját tárolja S set TRUE-ra állít, és úgy is marad R reset FALSE-ra állít, és úgy is marad Egy hálózatban több tekercs csak párhuzamosan helyezhető el. A set és a reset párban jár Ami set tekerccsel bekapcsolt, azt csak reset tekercs tudja kikapcsolni. Ha elfelejted a resetet, a kimenet örökre bekapcsolva marad.
13.2. ábra. A létradiagram alapelemei: kontaktusok és a négyféle tekercs.
⚠️ A bontó kontaktus és a bontó érzékelő két külön dolog

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

Soros = ÉS, párhuzamos = VAGY Soros kapcsolás — AND bA bB bKi Mindkettőnek TRUE-nak kell lennie. bKi := bA AND bB; Párhuzamos kapcsolás — OR bA bB bKi Elég, ha az egyik TRUE. bKi := bA OR bB; Ezért nem kell külön megtanulnod a logikát: a rajz maga a logika. Ez a létradiagram legnagyobb erénye.
13.3. ábra. Soros kapcsolás = ÉS, párhuzamos kapcsolás = VAGY.
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:

KÓD
  |    bKezi     bAjtoZar   bVesz      (bIndulhat)
  |---| |---+------| |--------|/|---------( )---|
  |         |
  |  bAuto  |
  |---| |---+

Ugyanez ST-ben:

ST
bIndulhat := (bKezi OR bAuto) AND bAjtoZar AND NOT bVesz;
💡 Melyik olvashatóbb?

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 tekercs elfelejtett resetje

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.

💡 Set/reset tekercs vagy `SR`/`RS` funkcióblokk?

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.

KÓD
  |   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é.

⚠️ Példány itt is példány

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.

Az önfenntartó kapcsolás létradiagramban bIndit bMotor önfenntartó ág bLeallit bVesz bMotor Hogyan működik? Az indítógomb egy pillanatra zár → a motor bekapcsol → a saját kontaktusa átveszi a jelutat, és tartja magát. NC-gomb + záró kontaktus Az NC-gomb jele nyugalomban IGAZ — gombnyomás vagy vezetékszakadás elveszi a jelet, a motor leáll. A hiba a biztonságos irányba vigyen.
13.4. ábra. Az önfenntartó kapcsolás. A motor saját kontaktusa tartja fenn a jelutat, miután az indítógombot elengedtük.
KÓD
  |    bIndit      bLeallit    bVesz       (bMotor)
  |---| |------+-----| |--------| |-----------( )---|
  |            |
  |   bMotor   |
  |---| |------+

Hogyan működik?

  1. Az indítógomb megnyomásakor a felső ág vezet → a bMotor tekercs bekapcsol.
  2. A következő ciklusban a bMotor saját kontaktusa (az alsó ág) is vezet.
  3. Az indítógombot elengedhetjük: az alsó ág tartja a jelutat.
  4. 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:

ST
bMotor := (bIndit OR bMotor) AND bLeallit AND bVesz;
⚠️ Miért záró kontaktus — ha egyszer bontó a gomb?

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

Nyelvek közötti átváltás a kombinált szerkesztőben FBD funkcióblokk-diagram Ctrl+1 LD létradiagram Ctrl+2 IL utasításlista Ctrl+3 mindegyikből mindegyikbe Menüút: FBD/LD/IL → View A gyártó figyelmeztetése A hibátlan konverzió szintaktikailag helyes kódot igényel — különben az implementáció részei elveszhetnek.
13.5. ábra. Az átváltás menüútja és a három gyorsbillentyű.
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
⚠️ Amit a gyártó mindhárom parancsnál külön leír

„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 IL-t engedélyezni kell

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)
💡 A valós projektek vegyesek

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

🛠️ 13.1. feladat — Rajzold le, majd ellenőrizd

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.

🛠️ 13.2. feladat — Építsd meg az önfenntartást

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.

🛠️ 13.3. feladat — Set/reset csapda

Í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.

🛠️ 13.4. feladat — Időzítő létrában

É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.

🛠️ 13.5. feladat — Döntsd el, melyik nyelv

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

  1. Honnan származik a létradiagram, és miért terjedt el?
  2. Mi a hálózat, és mi a sín szerepe a rajzon?
  3. Mikor ad tovább TRUE jelet a záró, és mikor a bontó kontaktus?
  4. Mi a különbség a bontó kontaktus és a bontó érzékelő között?
  5. Milyen logikai kapcsolatot valósít meg a soros, és milyet a párhuzamos elrendezés?
  6. Sorold fel a négyféle tekercset, és mondd meg, mit csinálnak!
  7. Hogyan helyezhető el több tekercs egy hálózatban?
  8. Miért veszélyes a set tekercs reset nélkül?
  9. Mikor válassz SR/RS funkcióblokkot set/reset tekercspár helyett?
  10. Magyarázd el az önfenntartó kapcsolás működését négy lépésben!
  11. 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?
  12. Mi a három átváltó parancs menüútja és gyorsbillentyűje?
  13. Mire figyelmeztet a gyártó a nyelvi konverzióval kapcsolatban?
  14. 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


  1. CODESYS Online Help: FBD/LD/IL – a kombinált szerkesztő. CODESYS GmbH. (2026-07-29) ↩

  2. CODESYS Online Help: Programming in Instruction List (IL). CODESYS GmbH. (2026-07-29) ↩

  3. LD element contact. Beckhoff Information System. (2026-07-31) ↩↩↩↩↩

  4. LD element coil. Beckhoff Information System. (2026-07-31) ↩↩↩

  5. 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. ↩↩

  6. CODESYS LD FBD Help: Command: View as function block diagram (V4.6.0.0). CODESYS GmbH. (2026-07-31) ↩↩

  7. CODESYS LD FBD Help: Command: View as Ladder Logic (V4.6.0.0). CODESYS GmbH. (2026-07-31) ↩↩

  8. CODESYS LD FBD Help: Command: View as instruction list (V4.6.0.0). CODESYS GmbH. (2026-07-31) ↩↩↩

Mennyire volt hasznos ez a fejezet?

Még nincs értékelés.