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 kapcsolatotA cikk tartalma

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.

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.

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

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

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.

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

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
- Hogyan használhatjuk a PLC-t a mezőgazdaságban?
- A hajózási ipar trendjei és csúcstechnológiája 2024-ben
- A 6. ipari forradalom: az intelligens gyártás felvirágzása
- Hogyan lesz otthonunk okos és intelligens?
- Különböző típusú ipari automatizálási rendszerek
- Hogyan kell karbantartani egy programozható logikai vezérlőt, egy PLC-t?
- Robotok az állattenyésztésben 1. rész
- Az automatizálás előnyei és költségei
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 kapcsolatot