Milyen szoftvernyelveket használnak a programozható logikai vezérlők

Ebben a cikkben áttekintjük a programozható logikai vezérlők PLC-k szoftvernyelveit. A PLC-ket specializált programnyelvekkel lehet megtanítani az elvárt működésre.

Vegye fel velünk a kapcsolatotKapcsolat
PLC programozás programnyelvek
PLC programozás programnyelvek

Programnyelvek csoportosítása

Az IEC 61131-3 programozható logikai vezérlők nemzetközi szabványának harmadik része ismerteti a PLC szoftver architektúráját és érvényes programozási nyelveit.

A szabvány öt különböző nyelvet sorol fel, amelyek közül három grafikus, kettő pedig szöveg alapú. Ezek a következők:

  • két szöveges nyelvet definiál: a strukturált programnyelvet (ST) és az utasításlistás programnyelvet (IL). Az utasításlistás felhasználói programnyelv, a PLC-k legrégebben használt magas szintű programnyelve.
  • grafikus rendszerű programozásra a létradiagram (LD), funkcióblokk diagram (FBD) és sorrendi folyamatábra (SFC) elnevezésű nyelvek használatosak.
Plc programnyelvek
Plc programnyelvek

Létradiagram

A létradiagram, amelyet gyakran létralogikának neveznek (angolul ladder logics, gyakran LD-ként vagy LAD-ként rövidítik), az egyik legjelentősebb programnyelv, amelyet a PLC-k programozására használnak. A létradiagram előnye, hogy könnyen értelmezhető.

A létradiagram az érintkezős (relés) vezérléseknél kialakult áramutas (áramútterv) ábrázolásra épül. A változók ábrázolására a normál és zárt érintkező jeleket, az eredmény beállításra a relé tekercsének szimbólumait használja. Az érintkezők sorba kapcsolása a logikai ÉS kapcsolat, párhuzamos kapcsolás a logikai VAGY kapcsolat. A grafikus jeleket menüből választva helyezhetjük el a tervben. 

Létradiagram LD
Létradiagram LD

A program írásának megkezdése két vertikális vonal megrajzolásával történik. E közé a két vonal közé kerülnek az úgynevezett lépcsők, amelyekre elhelyezhetjük a szimbólumokat (tekercseket). A program fentről lefelé halad: szimbólumról szimbólumra, lépcsőről lépcsőre hajtja végre az utasításokat. A létradiagramok a szimbólumokon kívül tartalmazzák még a huzalozást, valamint a jelöléseket, amelyek lehetnek I/O címek, memóriacímek, regisztercímek, időzítők és számlálók címei. A létrának gyakorlatilag annyi foka lesz, ahány kimeneti elem, időzítő, számláló, vagy regiszter van definiálva a program során, vagyis ahány vezérlési állapotegyenletet felírtunk.

A programozás összetettebb műveletek alkalmazását is lehetővé teszi, ezeket egy – egy négyszögként ábrázoljuk, kiegészítjük jelekkel, paraméterekkel. 

Funkcióblokk diagram

A funkcióblokk diagram, vagy röviden az FBD, valószínűleg az ipari vezérlésben használt legelterjedtebb programozási nyelv.  Ez egy grafikus nyelv, amelyben a rendszer működését olyan blokkok írják le, amelyek rendszerváltozókat fogadnak be bemenetként, és rendszerváltozókat és vezérlőjeleket generálnak kimenetként. Például ahelyett, hogy két XIC utasítást sorba raknánk, egy ÉS funkcióblokk is használható. A jelfolyam az előző fokozat kimeneteitől a bemenetek felé halad, azaz balról jobbra. Ez nagymértékben leegyszerűsítheti a programozási struktúrát, és szükség esetén további absztrakciókat (csökkentve a többszörös információt a programban) ad hozzá. 

Funkcióblokk diagram FBD
Funkcióblokk diagram FBD

Megfigyelhető az, hogy az ÉS blokk közvetlenül aktiválja a rendszer a kimenetét. Ilyen esetekben az FBD diagram sokkal könnyebben olvasható, mint a létra-logikai lépcsőfokok gyűjteménye. Az ÉS és VAGY blokkok mellett ez a diagram SR (Set/Reset) reteszeket, késleltetési időzítőt és típuskonverziós utasítást is használ.

A funkcióblokk diagram gyakran úgy néz ki, mint egy  nagyméretű digitális logikai diagram. Általában a létradiagram és a funkcióblokk diagram szoftveresen átkonvertálható egymásba. Fontos felismerni, hogy megjelenésük ellenére a funkcióblokk diagramok mindig a CPU (Central Processing Unit – központi feldolgozóegység) által végrehajtott szekvenciális utasításkészletekre bomlanak le. Ezzel szemben a digitális logika lehet kombinációs vagy szekvenciális, és a két független logikai blokk mindig párhuzamosan fut, és eltérő órajellel is rendelkezhetnek.

PLC programozás szakértelemmel

Vegye fel velünk a kapcsolatotKapcsolat

Sorrendi folyamatábra 

Az SFC egy grafikus nyelv, amelyben a diagramot lépésekre és átmenetekre bontják. Az automatizálandó folyamatot grafikusan, lépésről lépésre írjuk le. Minden egyes lépéshez (Step) átmeneti feltételek (Translations) tartoznak. Minden lépéshez akciók (Actions) tartoznak, amelyek működésének eredményeképpen a folyamat a következő lépésbe lép, ha az átmeneti feltétel teljesül. Minden feltételhez és akcióhoz külön alprogram tartozik, amit meg lehet írni, utasításlistával, létradiagrammal, funkcióblokkokkal, vagy strukturált szöveggel. 

Sorrendi folyamatábra SFC
Sorrendi folyamatábra SFC

A feltételeknél általában a bemeneteket programozzuk, míg az akcióknál a kimeneteket. Ez a programozási forma is nagyon érzékeny a szintaktikára. Az utolsó feltétel teljesülése után általában vissza kell térnie a programnak a kezdőlépéshez, ezt a ciklusosságot külön kell programoznunk. A sorrendi folyamatábra alapú nyelv lényegesen eltér a többi nyelvtől, mivel az SFC-t közvetlenül nem lehet a PLC-kbe letölteni. Az SFC-ből általában az eddig bemutatott nyelvek valamelyikén megvalósított programokat generál a szoftver.

Strukturált programnyelv 

Strukturált szöveg használata esetén a felhasználói program valamilyen magasabb szintű programnyelvhez (C, Pascal, Basic) hasonlít. A kód tömör és moduláris, és támogatja a magas szintű absztrakciót.

Strukturált programnyelv  ST
Strukturált programnyelv ST

 Általában fejlesztéseknél, illetve olyan esetekben használatos, ahol a kívánt feladatra nincs a fejlesztőkörnyezetben külön létra-jel, funkció-blokk jel. A matematikai eljárások programozhatóak így a legegyszerűbben.

Utasításlistás programnyelv 

Az utasításlista alapvetően a PLC-k összeállítási kódja. Egyszerűsített utasításkészletet használ, de olyan ismerős parancsokkal rendelkezik, mint a betöltés, tárolás és ugrás. Az utasításlistával történő programozás során a működési egyenleteket előírt formában, soronként kell megadni. Az utasításlista tulajdonképpen a vezérlőutasítások egy sorozata.

Beviteli egysége lehet kézi programozó konzol, vagy számítógép szoftver. A sorszámozás általában automatikusan megtörténik az „ENTER” nyomógomb hatására és „0”-val kezdődik. Az utolsó sorszámú utasítás a programot lezáró „END” kell, hogy legyen.

Utasításlistás programnyelv IL
Utasításlistás programnyelv IL

Bármely PLC-ről is van szó, az utasításkészlete a következő parancsokat mindenképpen tartalmazza:

  • Betöltés (LD)
  • Logikai műveletek (NOT, AND, OR, AND NOT, OR NOT)
  • Blokkok képzése, zárójelek (AND LD, OR LD)
  • Kimenet megadása (OUT)
  • Negált kimenet megadása (OUT NOT)
  • Öntartás beírása és törlése (KEEP)
  • Időzítő (TIM)
  • Számláló (CNT)
  • Differenciálás (DIFU, DIFD)
  • Üres programsor (NOP)
  • Program vége (END)

A nemzetközi szabvány harmadik kiadása szerint ez a nyelv már elavult, ezért valószínűleg nem kerül bevezetésre a jövőbeli PLC-be.

Gyakori kérdések


Melyik PLC nyelv ismert magas szintű nyelvként?

A strukturált programnyelv egy magas szintű nyelv, amelyet PLC-k programozására terveztek. Ez lényegében a PLC programozás világában a  C++ nyelv.

Minden PLC használ létralogikát?

A létralogikát széles körben használják a PLC-k programozására, ahol egy folyamat vagy gyártási művelet szekvenciális vezérlésére van szükség.

C nyelvben programozható egy PLC?

A C Language Controller lehetővé teszi a C és C++ programozó fejlesztők számára, hogy könnyen tervezhessenek ipari vezérlőrendszereket. A hagyományos PLC-eszközökben használt létralogika helyett ez a vezérlő a C nyelveket (C és C++) használja a jobb programozhatóság érdekében.

Melyik PLC-t használják a leggyakrabban?

Az Allen Bradley (Rockwell Automation) és a Siemens a legnépszerűbb márkák a jelenlegi piacon.

További blog cikkek

PLC programozás szakértelemmel

Több, mint 20 év tapasztalat PLC programozásban, ipari automatizálásban, robotikában, HMI programozásban, okosotthon automatizálásban, mezőgazdaság automatizálásban, járműipari programozásban.

Vegye fel velünk a kapcsolatotKapcsolat
Oldal teteje