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