Objektum{0}}programozás PLC-khez és létradiagram-logikához

Aug 24, 2026 Hagyjon üzenetet

Az ipari automatizálás területén a létralogika továbbra is az egyik leggyakrabban használt programozási nyelv; összetettebb vezérlőobjektumok esetén azonban az objektum{0}}orientált programozás minden bizonnyal rendkívül hatékony megközelítés. Először beszéljük meg az objektum--programozást:


Az objektumorientált programozás egy fejlett programozási paradigma a magas szintű számítógépes nyelvekben. Ez a tervezési filozófia az ipari vezérlőrendszerek PLC-programjaira is alkalmazható. Bár nem tudjuk megvalósítani az objektum-orientált programozás- sok kiváló tulajdonságát, például az "öröklődést"-, és a PLC nyelv még csak nem is rendelkezik egy objektum-orientált programozási nyelv jellemzőivel, az objektum-orientált programozás alapfogalmai az osztályok és az osztálypéldányok (azaz objektumok). Csak ezeket a fogalmakat kell használnunk. A számítógépes programozásban bizonyos entitásokat absztrahálnunk és általánosítanunk kell az osztályok meghatározásához. Az ipari vezérlőrendszerekben azonban az olyan vezérlési objektumok, mint a motorok és szelepek egyértelműen meghatározott vezérlési kategóriák; osztályokat definiálhatunk nekik közvetlenül, absztrakció nélkül. A következő szakaszok a Siemens Step7 programozási nyelvét és a Schneider Unity programozási nyelvét fogják használni a PLC-k objektumorientált programozásának ismertetésére.


I. Megvalósítási módszerek


Az objektum-orientált programozás a 7. lépésben funkcióblokkokkal (FB) valósul meg. Amikor ez a téma felmerül, az emberek gyakran a Siemens által javasolt moduláris programozásra gondolnak. Valójában ez ugyanaz a fogalom, de a Siemens által bevezetett „modularizáció”, „háttéradatblokkok” és „több háttér” kifejezések nem mindig teszik lehetővé a felhasználók számára, hogy egyértelműen megértsék és alkalmazzák ezt a kiváló tervezési filozófiát.


Ha azonban az objektum-{0}}programozás szemszögéből közelíti meg, sokkal jobban megértheti ezt a tervezési mintát. Az „FB-blokk” „osztálynak” minősül; a hasonló vezérlőobjektumok kódjának csoportosításaként tekinthető. Például az MM440 változó-frekvencia-meghajtóhoz írhat egy "MtrMM440" nevű FB-blokkot. Az objektum-orientált programozásban ezt "osztálynak" nevezik. Ha egy adott motorhoz kell vezérlést programoznia, hozzárendelhet egy háttéradatbázis-blokkot-objektum-orientált programozásban, ezt nevezzük az osztály megvalósításának (azaz az osztály példányának létrehozása: objektum). Ha több motort kell vezérelnie, különböző háttéradatbázisokat rendelhet ehhez az FB-blokkhoz, ami egyenértékű az osztály több példányának létrehozásával.


A 7. lépés egy másik típusú programblokkot tartalmaz: az FC blokkot. Az elsősorban FC-blokkokat használó programozást a Siemens rendszerekben strukturált programozásnak nevezik, amely a számítógépes programozásban alkalmazott procedurális programozáshoz hasonlítható -vagyis a tisztán funkción- alapuló programozáshoz.


A Schneider Unity szoftverével történő programozás jobb megértést tesz lehetővé az objektum-{0}}programozásról. A DFB definíciói tartalmazzák a bemeneti/kimeneti paramétereket, a privát/nyilvános változókat és a kódmegvalósítást,-melyek pontosan az "osztály" alapvető elemei a számítógépes objektum-orientált programozásban. Egy osztály (egy objektum) példányának létrehozása olyan egyszerű, mint egy szabályos "logikai" változó létrehozása; csak definiálnia kell ennek az "osztálynak" egy változóját a "Function Blocks"-ban.


Mind a Step7, mind a Unity támogatja az eljárási és objektumorientált programozási megközelítést; a két megközelítés közötti különbség hasonló a C és C{2}} nyelvű programozás közötti különbséghez a magas-szintű számítógépes nyelveken.


A következő magyarázatban a 7. lépésben lévő FB-kre és a Unity-ben lévő DFB-kre "osztályokként" hivatkozunk, míg a 7. lépésben a háttéradatbázisokkal kombinált FB-kre és a Unity-ben lévő DFB-példányokra "objektumként" hivatkozunk.


II. Objektum--programozási architektúra


A fenti vita a megvalósítás részleteit fedi le, de a programozási filozófia a programarchitektúrára épül. Egyszerűen objektum-orientált metódusok használata a kód egy meghatározott részében nem jelenti azt, hogy a teljes program objektum-orientált. Az ilyen típusú programozás a következő szempontokon alapuló megközelítést igényel:


1. Strukturált áramkör tervezése.


Ez a rész elsősorban az automatizált gyártósorokra összpontosít; önálló szerszámgépekhez egyszerűsített szerkezet használható:


<1>Automatizált gyártósor réteg: Ez a legmagasabb szint, egy fő PLC-vel, amely vezérli az alatta lévő különböző zónákat.


<2>Projektréteg: Ez a réteg független áramelosztó rendszerrel rendelkezik, de nincs PLC; csak az automatizált gyártósor által vezérelt elosztott modulokból áll. Ahogy a név is sugallja, nagyfokú függetlenséggel rendelkezik, külön projektként tervezhető és gyártható. Ha az automatizált gyártósor viszonylag kicsi, ez a réteg elhagyható.


<3>Funkcionális csoportszint: A folyamatkövetelmények alapján az adott folyamatfunkciót ellátó berendezésszegmensek funkcionális csoportba kerülnek. Ez a csoport a mérnöki szinthez tartozik; a Mérnöki szint elhagyásakor az automatizált gyártósor szinthez tartozik. Az objektum-programozáshoz nem feltétlenül szükséges a fenti struktúra használata, de egy jól-megtervezett elektromos struktúra alkalmasabb az objektum-programozásra.


2. Minden vezérlőobjektum-logika "osztályokon" belül van megvalósítva


Ennek eléréséhez elemezni kell a vezérlőobjektummal kapcsolatos információkat. Például egy motor esetében a következő releváns információkat kell figyelembe venni:


Bemeneti információ:


<1>,Árkörvédelmi információk, például a motor megszakítója és hőreléje.


<2>,Funkcionális védelmi információk, például végálláskapcsolók mozgómotorokhoz, nyomáskapcsolók ventilátorokhoz és olajszintkapcsolók olajszivattyúkhoz.


<3>Indítási és leállítási feltételek: Bár a fent említett áramkör- és működésvédelem miatt a motor leállhat, a visszaállítás pedig újraindítást válthat ki, az itt említett feltételek a normál működés közbeni indítási és leállítási feltételekre vonatkoznak,-mint például a szekvenciális vezérlési folyamat lépései.


<4>Vezérlési módok: például kézi és automatikus.


<5>Hiba reset: A rendszer újraindítása reset jelekkel.


Kimeneti információ:


<1>,Vezérlő kimenetek, például a motort vezérlő főkontaktor.


<2>,Állapot információ kimenetek


<3>,Hiba kimenetek


Tárolási állapot információ:


A kód megvalósításához használt köztes változók, valamint a HMI által olvasható állapotváltozók. Integrálja az összes fenti információt egyetlen osztályba, és szabványosítsa az osztályparamétereket, amennyire csak lehetséges. Azonban még mindig vannak különbségek a magas szintű{2}}programozási nyelvekhez képest. A 7. lépésnél a követendő szabvány a következő: a programstruktúra FC-k segítségével, az objektumvezérlés pedig FB-k segítségével valósul meg, amint azt a következő szerkezeti keret szemlélteti (amelynek elektromos felépítése a fenti bevezetőn alapul): Ez csupán egy durva PLC-programarchitektúra; a jó építészetnek átfogóbbnak és tudományosabbnak kell lennie.


3. Gondosan tervezze meg az adatstruktúrákat


Az adatstruktúrák meghatározása kulcsfontosságú, és törekednie kell arra, hogy ezeket a struktúrákat a lehető legnagyobb mértékben egységesítse anélkül, hogy a tárhely miatt aggódna; a modern PLC memória elegendő nagy mennyiségű adat befogadására. Érdemes megjegyezni, hogy a 7. lépésben lehetőleg kerülje el a felhasználói -definiált típusok (UDT) osztályokon kívüli meghatározását; ehelyett definiálja őket az osztályokon belül. Bár ez ugyanazon struktúra megkettőzését eredményezheti a különböző osztályokban, növeli az osztályok függetlenségét.


A következő szakaszokban ezt a két programozási megközelítést fogjuk összehasonlítani:


Az objektum{0}}programozás előnyei A létralogikához képest az objektum-orientált programozás a következő előnyöket kínálja:


• Kódhordozhatóság és egyszerű újrafelhasználás;

• A matematikai függvények, hurkok és egyéb konstrukciók egyszerű használata;

• Az objektum-{0}}programozást gyakorlatilag minden számítógép-programozási kurzus tanítja;

• A kód számos hardverplatformon futhat.


Az objektum-{0}}programozás elsajátításához először meg kell értenie az objektumok fogalmát és használatukat. Miután egy objektumot vagy osztályt írt, könnyen újrafelhasználható több híváson keresztül. Például hozzon létre egy objektumot egy motor vezérlésére, amely kezeli az összes bemenetet, kimenetet és hibát. Szükség esetén több motor is vezérelhető egyetlen vezérlőobjektum többszöri példányosításával. Ezt igény szerinti példányosításnak- nevezik. Ha több motort kell vezérelni, ez az egyetlen objektum többször is használható. Szükség esetén hívják meg, és a példányok használatukkor jönnek létre.


Az egyes motorok minden példányának megvannak a saját jellemzői, például a motor leállítása, a motor futása, a motor sebessége és a motor túlterhelése. A programozási munka nagy része az objektum első létrehozásakor befejeződik. Ez a gondolkodásmód eltér a létralogikától, és erősebb, mert ha egy objektum megépült, könnyen használható és újrafelhasználható. Az objektumorientált-programozás megkönnyíti az összetett matematikai függvények, hurokszámítások, tömbök és beágyazott szubrutinok végrehajtását. Gyakorlatilag minden számítógép-programozási tanfolyam,-legyen a középiskola, főiskola vagy online oktatóanyagok-megtanítja ezt a fogalmat. A létrehozott kód hordozható, és különféle hardverplatformokon futhat.


"A létralogika a relévezérlő rendszerekben használt elektromos létradiagramok formátumát követi, és a legtöbb ember gyorsan megtanulja és elsajátítja."


A létralogikához képest azonban az objektum-orientált programozásnak a következő hátrányai vannak:


• Magasabb költség;

• Meredekebb tanulási görbe;

• A hibaelhárítás nem különösebben könnyű a karbantartó személyzet számára;

• A forráskód processzorra való feltöltése előtt általában fordításra van szükség.


A létralogikához képest az objektum-orientált programozás gyakran több memóriát és nagyobb feldolgozási teljesítményt igényel, ami magasabb költségeket eredményez. Egy objektum-orientált programozási nyelv megtanulása tovább tarthat. Valószínűleg szükség lesz osztálytermi oktatásra, és az alapfogalmak elsajátítása jelentős időt, gyakorlatot, tesztelést és alkalmazást igényel. A programozóknak gyakran kell tanulmányozniuk az objektum-{5}}programozást, hogy nyomkövetőket használhassanak a kód követésére, vagy hibakeresőket a logika hibakereséséhez. Az ilyen típusú magas szintű{7}programozással nehéz lehet a valós idejű online megfigyelési lehetőségeket{8}} megvalósítani.


Mielőtt a forráskódot letölthetnénk a vezérlőre, le kell fordítani. A forráskód általában nem tárolódik a processzor memóriájában. Ez azt jelenti, hogy ügyelni kell a forráskód biztonsági mentésére, mivel a lefordított kód általában nem szerkeszthető. Objektum-orientált programozás esetén a könyvtári fájlokat össze kell kapcsolni a fordítási folyamat során használt egyéb erőforrásokkal. Az összekapcsolás és az erőforrások ismerete nélkül nehéz lesz elindítani a programot.


A létralogika előnyei:


A létralogika egy egyszerű és ön{0}}dokumentáló kódolási módszer-egyesek még azt is megkérdőjelezik, hogy programozási nyelvnek minősül-e. A relévezérlő rendszerekben használt elektromos létradiagramok formátumát követi, és a legtöbb ember gyorsan megtanulja és elsajátítja. Évtizedek óta ez az egyetlen széles körben használt programozási nyelv a gépautomatizálás területén, és a belátható jövőben is az egyik elsődleges programozási nyelv marad az automatizálási iparban.


Az idő múlásával, ahogy különböző hátterű és szakterületű emberek érkeztek az iparba, különböző programozási nyelvek kerültek be az ipari automatizálás eszköztárába. Ide tartozik a funkcióblokk-programozás, a strukturált szöveg, az állapotprogramozás és a szekvenciális funkciódiagramok. Ez a négy programozási nyelv a létralogikával együtt alkotja a Nemzetközi Elektrotechnikai Bizottság (IEC) IEC 61131-3 szabványa által meghatározott szabványos programozási nyelveket.


Az IEC 61131 mögött meghúzódó logika az, hogy ha minden szállító betartja ezt a szabványt, akkor-legalább bizonyos mértékig-a személynek csak ezt az öt programozási nyelvet kellene megtanulnia ahhoz, hogy könnyen válthasson a különböző gyártók által kínált platformok között. Ez azonban nem így van.

 

Az alapvető létralogika (például a reléérintkezők és tekercsek használata) ugyanúgy működik; a programozás során azonban meg kell tanulni az egyes gyártók szintaxisát és felhasználói élményét, valamint a programozási platform használatának sajátosságait. A szabványosítás hiánya ellenére a létralogika a következő előnyöket kínálja az objektum-orientált programozással szemben:


• Jól-alkalmas gép- és folyamatvezérlésre;

• Könnyebben érthető, mert eredendően ön{0}}dokumentál;

• Megkönnyíti a vezérelt rendszer hibaelhárítását;

• Könnyű hibakeresés;

• A forráskód jellemzően a processzorban tárolható.


A létralogika jól-alkalmas gép- és folyamatvezérlésre, különösen a nagyszámú különálló bemenettel és kimenettel (I/O) rendelkező automatizálási rendszerekben. Az évek során a létralogikát is folyamatosan fejlesztették az analóg I/O kezelésére, így számos folyamatvezérlő alkalmazáshoz alkalmasabbá vált.


A gépvezérlési alkalmazásokhoz képest a folyamatalkalmazásokban gyakran nagyobb az analóg I/O arány.


Mivel a létralogikát könnyebb használni, mint az objektum{0}}programozást, sok képzett technikus és mérnök gyorsan megtanulhatja. A logika rendkívül szisztematikus és szervezett, és öndokumentáló jellege megkönnyíti a megértést és az elsajátítást. Az eszköz aktiválása előtt minden kódsornak igaznak kell lennie. Ha öt motort kell vezérelni, akkor legalább öt kódsorra van szükség, ami nagyban leegyszerűsíti a folyamatot.


"A létralogikai forráskód és a leírók általában a vezérlőben vannak tárolva, így nincs szükség a forráskódhoz való hozzáférésre, -amivel megszűnik a programozók által gyakran tapasztalt frusztráció, amikor megpróbálják megérteni a lefordított programokat."

 

Az elektromos mérnökök és a karbantartó személyzet számára a létralogika nagyon intuitív. Bár a létradialogika más gondolkodásmódot igényel, mint az objektum-orientált programozás, némi tanulmányozással gyorsan elsajátítható, és kevesebb időbe telik a mások által írt kód megértése. Kristálytiszta, hogy egy logikai állítás mikor igaz és mikor hamis. Még a korlátozott programozási tapasztalattal rendelkezők is könnyen megérthetik az olyan fogalmakat, mint a be-/kikapcsolás, a tekercsfeszültség, az összehasonlító változók és a gyakori matematikai függvények.

81e77660-9f31-11ed-bfe3-dac502259ad0.jpg

 

Egyszerű és könnyen használható, és egyszerűsíti a hibaelhárítást és a hibakeresést. A logika figyelésekor könnyen áttekinthető az aktuális működési feltételek. Nincs szükség szoftveres végzettségre vagy haladó programozási ismeretekre. A létralogikával a karbantartó és a mérnökök könnyen nyomon követhetik a folyamatot, és megérthetik, mi történik. A létralogikát igazságtáblázatnak tekinthetjük: ha a bal oldali logika igaz, akkor a jobb oldali logika aktiválódik.


A létralogikai forráskód és a leírók általában a vezérlőben vannak tárolva. Ez kiküszöböli azt a frusztrációt, amelyet a programozók gyakran tapasztalnak, amikor a forráskódhoz való hozzáférés nélkül próbálják megérteni a lefordított kódot -ez az objektum-programozásban is gyakori probléma.


Az objektum-{0}}programozáshoz képest azonban a létralogikának a következő hátrányai is vannak:


• A számítógép-programozók és az informatikusok nem ismerik a létralogikát;

• Nehéz matematikai funkciók, szövegfeldolgozás, adatfeldolgozás végrehajtása;

• A szkennelési időre támaszkodik;

• A végrehajtásához speciális hardverre van szükség, például programozható logikai vezérlőre (PLC).


A létralogika egy szimbolikus nyelv, amelyet a programozók és az informatikusok nem ismernek, mivel nem tanulják meg az iskolában. A matematikai függvények, szöveges karakterláncok és adatok kezelése a létralogikában nehézkes lehet, elsősorban azért, mert a létralogikát eredetileg nem e függvények kezelésére tervezték.


A létra logikája a szkennelési időtől is függ. A nagyobb programok több időt igényelnek a logika vizsgálatához és feldolgozásához. A létralogika végrehajtásakor a rendszer beolvassa a bemeneteket, megvizsgálja a logikát, frissíti az adattáblákat és a kimeneteket, kommunikációt hajt végre, majd megismétli a ciklust. Olyan szolgáltatások, mint a megszakítások és más programozási technikák implementálhatók bizonyos logikák gyorsabb végrehajtása érdekében.


Bár a létralogikával konfigurált szoftver-alapú PLC-k futhatnak PC-n, a hardvernek (például a PLC-nek) általában kompatibilisnek kell lennie a programozószoftverrel, és a legjobb, ha mindkettőt ugyanattól a gyártótól vásárolja meg. Ez biztosítja a kompatibilitást, de nem különösebben kényelmes, ha gyártót szeretne váltani.

A létradialogika és az objektum{0}}programozás előnyeinek és hátrányainak összehasonlítása mellett a felhasználóknak azt is értékelniük kell, hogy ezek a programozási nyelvek miként lesznek használatban a környezetben, ahol telepíteni kívánják őket. Ha egy gyár vagy létesítmény már szabványosította a létralogikát, nem javasolt objektum-orientált programozásra cserélni, még akkor sem, ha ez utóbbi jobban megfelel az alkalmazásnak. Mivel az objektum-orientált programozás használata folyamatosan növekszik, várhatóan az elkövetkező évtizedekben együtt fog létezni a létralogikával. Egy előrelátó-automatizálási szakembernek azt tanácsoljuk,{7}}hogy mindkét nyelvet elsajátítsa.

A szálláslekérdezés elküldése

whatsapp

Telefon

E-mailben

Vizsgálat