Barion Pixel

Villanyszerelők Lapja

A bütykös tengelytől a processzoros automatizálási platformokig III.

2005/12. lapszám | netadmin |  3736 |

Figylem! Ez a cikk 20 éve frissült utoljára. A benne szereplő információk mára aktualitásukat veszíthették, valamint a tartalom helyenként hiányos lehet (képek, táblázatok stb.).

A bütykös tengelytől a processzoros automatizálási platformokig III. Az előző cikkünkben bemutattuk a PLC-k belső fizikai felépítését, a feldolgozandó és beavatkozó jelek villamos jellemzőit. Röviden felelevenítve a legfontosabb elemeket: minde...

A bütykös tengelytől a processzoros automatizálási platformokig III.

Az előző cikkünkben bemutattuk a PLC-k belső fizikai felépítését, a feldolgozandó és beavatkozó jelek villamos jellemzőit. Röviden felelevenítve a legfontosabb elemeket: minden programozható vezérélő eszközben megtalálható a processzor, az interfészek I/O jelekhez, az interfészek a kommunikációhoz, illetve az ezeket tápfeszültséggel ellátó tápegység. A feldolgozandó és végrehajtó jelek lehetnek kétállapotúak, analóg jelek és frekvenciajelek. Ebben a cikkrészben a PLC-k működésével, a programozási nyelvekkel foglalkozunk.

A PLC-k programozása általában személyi számítógépeken keresztül történik (PC). Azonban előfordulnak még külön erre a célra gyártott programozó készülékek. A programozáshoz alapvetően szükséges a programozó szoftver, illetve a programozó kábel is (1. ábra).
A programozó szoftverek elsősorban Microsoft Windows operációs rendszereken futnak. A programozó szoftverek vagy fejlesztőkörnyezetek licenszkötelesek, mivel nem ritkán nagy értékű eszközök programozásához használatosak, s így kiemelkedően fontos a megbízható működésük, illetve a folyamatos szoftvertámogatások is, nem is szólva az emberéletben, illetve a vezérlet-technológiákban okozható károk mértékéről. A programozó kábelek általában ún. aktív kábelek, ami azt jelenti, hogy tartalmaznak valamilyen elektronikát. Az elek-tronika konverziót végez a PC és a PLC között. Tipikusan RS232C a PC-oldalon és RS485 soros port a PLC-oldalon. Gyakoriak a PC-oldalon csak USB-porttal rendelkező számítógépek, így megjelentek az USB-csatlakozóval rendelkező programozó kábelek is.
PLC programok végrehajtása

A programokat a PLC ciklikus vagy taszkszervezésű módon hajtja végre. A ciklikus működésű PLC-k a leggyakoribbak. A program végrehajtása során valamennyi eseményt programozottan, ciklusonként figyeli, illetve a programot is minden egyes ciklusban lépésről-lépésre végrehajtja. A program egyszeri végrehajtási idejét ciklusidőnek (cycle time) vagy program-letapogatási időnek (scan time) nevezzük. A ciklusidő függ a program hosszától, az utasítások bonyolultságától és a CPU sebességétől. A ciklusidő tipikusan néhány milliszekundumtól néhány száz milliszekundumig terjed. A felhasználói program futása alatt a kimenetek és a bemenetek memóriatáblái változatlanok, tehát a program futása közben nem történhet meg, hogy egy bemeneti változó változásával a program "eltéved". A program futása előtt az operációs rendszer feltölti a bemeneti memóriatáblát, a program futása után a futás eredményeként feltölti a kimeneti memóriatáblát. A reakcióidő az a maximális idő, amíg a PLC bemenetén történt változásra a PLC kimenetén megjelenik a jelváltozás, azaz a beavatkozás. Ez az idő a bemeneti és kimeneti jelkésleltetés összegével plusz a ciklusidő kétszeresével egyenlő (2. ábra). Taszkszervezésű végrehajtásra abban az esetben van szükség, amikor a felhasználói program olyan bonyolultsági fokra ér el, hogy ciklikus futással nem lehetséges a valós idejű futás biztosítása. Ezekben az esetekben taszkrendszerű végrehajtást, vagy több processzoros rendszerekben multiprocesszálást alkalmazhatunk. A taszkrendszerű program-végrehajtásnál lehetőség van az eseményorientált kezelésre a ciklikus letapogatás mellett.

PLC-k programozása
(Ajtonyi István: Automatizálási
és kommunikációs rendszerek, Miskolci Egyetemi Kiadó 2003)
A PLC-k hardvere univerzális, s az eszközökbe megírt és betöltött programokkal együtt válik alkalmassá az irányítási feladatokra. A programok a PLC memóriájába tárolódnak. A PLC memóriáját különböző funkciójú részekre bontjuk. Egy PLC alapvetően rendelkezik bemeneti és kimeneti memóriatáblával, illetve program tárolására fenntartott, védett memóriaterülettel. A kimeneti és bemeneti memóriatáblák a fizikai bemenetek állapotait, a kimeneti memóriatábla a kimenetek állapotait, értékeit tartalmazza.
A PLC indítása szempontjából megkülönböztethetünk ún. HIDEG és MELEG indítást. HIDEG indítást a Reset gombbal, INIT paranccsal, vagy egyes PLC-k esetén %S0, %S1 változókkal érhetünk el. HIDEG indításkor a PLC teljesen alapállapotba áll, a változó és technológiai szempontból beállított változók törlődnek. MELEG indítás esetén az összes változó érték elmentődik, a hibaregiszterek törlődnek, s gyakorlatilag a program futása az elejétől kezdődik. Az esetek tetemes hányadában erre kerül sor.
A PLC-programok speciális, irányítási és vezérlési feladatokhoz optimalizált nyelvek. A programozási nyelvek mindegyike egy formai szabálygyűjtemény (más néven szintaktika), amelyek segítségével a szoftver elkészíthető. A PLC-szoftverek funkciójuk alapján két egyértelmű csoportra bonthatók, alapszoftverre és felhasználói programra. Az alapszoftvereket általában a gyártók az eszközökkel együtt szállítják, s minden típusú PLC-re egyénileg készül gyártóspecifikusan. Az azonos típusú PLC-kben csak verzió-eltérések fordulhatnak elő. Az alapszoftver a PLC állandó része, és speciálisan arra a hardverre készül, amelyen rezidens módon fut. Az alapszoftvert PLC operációs rendszernek is hívjuk. A PLC operációs rendszerek tipikus funkciói a következők.
Interpreter: a PLC nyelven írt felhasználói szoftver értelmezése és végrehajtása. Az interpreter egy közbenső eszköz a PLC nyelve és a mikroprocesszor utasításkészlete között. Egyik legfontosabb feladata az, hogy megvalósítsa a PLC felhasználói programok bitorintált programfutását a mikroprocesszorok bájtos adatfeldolgozásán.
Önteszt: önellenőrző funkció, amely az eszköz hardver és szoftver elemeinek ellenőrzését végzi a működőképesség fenntartása érdekében. Napjaink korszerű PLC-i az önteszt funkciót kiterjesztik a memória, a telep, a kommunikáció ellenőrzésére, illetve a watch-dog időzítőre is.

Ember-gép: kapcsolatkezelés a PLC-k memóriaterületei és kijelzők, terminálok között.
Kommunikáció: adatkapcsolatok, szálak kezelése. Minden irányítási szintre igaz, hogy az információk horizontálisan és vertikálisan is terjednek.
Programfejlesztési funkció: ez a funkció teszi lehetővé, hogy a PLC-k felhasználói programjait monitorozzuk, debuggol-juk, le-, és feltöltsük. A PLC programozási nyelveket az IEC 1131-3 nemzetközi ajánlás két csoportra sorolja: a szöveges rendszerű, illetve a grafikus szimbólumokat alkalmazó programnyelvekre. A szöveges rendszerű nyelvek közzé a Strukturált (Structured Text - ST) és az Utasításlistás (Instruction List - IL) programnyelv tartozik. Grafikus rendszerű nyelvek közzé a Létradiagram (Ladder Diagram - LD, LAD), a Funkcióblokkos (Function Block - FB) és a Sorrendi folyamatábra (Sequential Flow Chart - SFC) tartozik.
Szöveges rendszerű
programozási nyelvek
Strukturált programnyelv, amelyben a felhasználói program C, illetve Pascal program leírására hasonlít. Általában fejlesztők, illetve speciális, gyakran nem tipikus PLC-alkalmazások megvalósításánál használatos. Utasításlistás programnyelv használatakor a program programvezérlési utasítások sorozatából áll. Egy-egy utasítás a műveleti részből és az operandus részből áll. A műveleti rész adja meg a CPU számára, hogy mit kell végrehajtani, az operandus rész adja meg, hogy min kell végrehajtani a műveletet. Nagy sebességű vezérlések megvalósításánál gyakori. Mély ismereteket igényel, és a PLC-ken belüli folyamatok és a memória-kiosztás alapos tudása szükséges.
Grafikus rendszerű programozási nyelvek
A létradiagramos programozási nyelv az áramúttervből alakult ki. A létradiagram készítésének szabályai hasonlóak az áramútterv készítési szabályaihoz.

Az alapvető létradiagram-szintaktikák a következők:
• a működtető és működtetett elemek szimbólumaiból
álló áramutakat két függőleges vonal között vízszintes egyenes mentén ábrázoljuk;
• a működtetett elem egyik sarkát mindig
a jobb oldali függőleges egyenesbe kötjük;
• a vezetékek kereszteződését kerülni kell;
• az egyes áramutakat a sorrendi működés szerint ábrázoljuk, azaz a végrehajtás sorrendje prioritássorrendet is eredményez;
• a speciális elemek (számlálók, időzítők stb.)
minden működési funkciójáról gondoskodni kell;
• speciális funkció mindig csak logikai feltételeken
keresztül csatlakozhat a bal oldali egyeneshez.
A PLC-fejlesztő környezetek általában az utasításlistát és a létradiagramot képesek konvertálni (3. ábra).
A létradiagram a legelterjedtebb programozási mód, mivel gyorsan elsajátítható, nem szakemberek számára is. Szemléletes módon ábrázolja a vezérlő programot, lehetőséget biztosít a gyors és egyszerű a hibakeresésre. Itt jegyezzük meg, hogy az utasításlista és a létradiagramban készült felhasználói programok egymásba átkonvertálhatók.
Funkcióblokkos programozási nyelv a huzalozott logikában az SSI, MSI áramkörökben használt, szimbólumokból kialakított, hardverorientált nyelv. A funkcióblokkokon be-, és kimenetek találhatók. A funkcióblokk bal oldalán mindig a bemenetek, a jobb oldalon a kimenetek találhatók. A jelfolyam az előző fokozat kimeneteitől a bemenetek felé halad, azaz balról jobbra. A nyelv szintaktikája a feszültséglogikájú hálózatok kialakításainak szabályaival egyezik meg, kisebb eltérésekkel (4. ábra). Sorrendi folyamatábra alapú programozási nyelv a Grafcet programozási nyelvből alakult ki. Az automatizálandó folyamatot lépésről lépésre írjuk le. Minden egyes lépéshez vagy sejthez átmeneti feltételek tartoznak. Minden sejthez akciók sorozata tartozik, amelyek működésének eredményeképpen a folyamat a következő sejtbe lép, ha az átmeneti feltétel teljesül. Ha az átmeneti feltétel teljesül, és az átmenet érvényes, akkor kötelező az átlépés (5. ábra).

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álnak. Ezt a funkciót több PLC-gyártó speciális relékkel könnyíti meg, ez a relé a léptetőrelé vagy stepladder. Az SFC-ben való programozás igényli a legkevesebb speciális PLC-s ismeretet, viszont a legtöbb technológiai ismeretet feltételezi. (Folytatása következik!)
Papp Géza, Nagylaki Csaba