4
1. AZ IRÁNYÍTÓRENDSZEREK FEJLŐDÉSE Az irányítástechnika, ezen belül a szabályozástechnika és vezérléstechnika fogalmait nemzetközi (angol és francia), országonként saját nyelvű terminológiai szabvány (Magyarországon az MSZ 18450) rögzíti. Az önműködő irányítás az irányításnak (amely egy folyamatot elindít, fenntart, megváltoztat vagy megállít) az a módja, amikor valamennyi irányítási részművelet kezelői beavatkozás nélkül megy végbe. Az irányítási művelet a következő részműveletekből áll: érzékelés, ítéletalkotás, rendelkezés, beavatkozás. Az elem irányítástechnikai szempontból tovább nem bontható szerkezeti rész. Elemnek tekinthető például egy hőmérséklet-érzékelő vagy az ÉS kapu stb. Az elem egy vagy több alkatrészből állhat. Szervnek nevezzük az irányítórendszer irányítási részfeladatát önállóan ellátó szerkezeti egységét. A szerv egy vagy több elemből állhat. Az irányítási hatásláncokat rendszerint szervek alkotják. Ilyenek az érzékelő-, különbségképző, végrehajtó, beavatkozó- és a logikai döntést végző szerv (1.1. ábra) [1].
1.1. ábra. A vezérlés (a) és a szabályozás (b) hatáslánca P beállítóprogram vagy vezetőjel; A alapjel; E ellenőrző jel; R rendelkezőjel; V végrehajtó jel; B beavatkozójel; Z zavarójel; MJ módosított jellemző; VJ vezérelt jellemző; SZJ szabályozott jellemző; 1irányított szakasz (a vezérelt, b szabályozott); 2 érzékelő vagy távadó; 5 különbségképző; 6 erősítő, jelformáló; 7 végrehajtó; 8 beavatkozó; 15 parancsadó; 16 logikai jelfeldolgozó; 30 vezérlő; 31 szabályozó
A készülék egy vagy több szervből álló, szerkezetileg körülhatárolt, többnyire a maga egészében kicserélhető egység, amelynek önálló technológiai vagy irányítási feladata van. Készülék például egy kompakt hőmérséklet-szabályozó vagy a házi vízellátó szivattyú vezérlője. Az irányított rendszer az irányítástól függetlenül meglévő műszaki létesítmény, berendezés, gép stb., amely az irányítás tárgyát képezi. Az irányítórendszer (irányítási rendszer) mindazon szervek és készülékek összessége, amelyek együttműködése révén az irányított rendszer irányítása megvalósul. A technológiai folyamatok irányítása annak jellegétől függően kétféle módon lehetséges: vezérléssel, ill. szabályozással. A kétféle irányítási mód a hatáslánc felépítésében különbözik. A szabályozás hatáslánca zárt, tehát a szabályozott jellemző kívánt értéke az irányított szakasztól visszacsatolással valósul meg. Erre utal a szabályozás angol neve: zárt hurkú irányítás, closed loop control. 1
Szabályozás esetén a rendelkezőjel a szabályozott jellemzőtől függően jön létre. A zárt szabályozási kör előnyös tulajdonsága, hogy alkalmas a tervezéskor nem ismert zavaró hatások kiküszöbölésére. Hátránya a visszacsatolásból származik: bizonyos feltételek esetén a rendszer instabillá válik. A vezérlés hatáslánca nyitott, azaz nem tartalmaz visszacsatolást a vezérelt szakaszról, így a rendelkezőjel a vezérelt jellemzőtől függetlenül jön létre. A vezérlés tehát nyílt hatásláncú irányítás, open loop control. A nyílt hatásláncú vezérlés csak a rendszer tervezésekor ismert zavarójeleket képes kiküszöbölni, strukturálisan mindig stabil működésű. A szabályozási, ill. vezérlési művelet megkülönböztetése nem mindig egyszerű. Egy gyakori téves szemlélet szerint a szabályozást az analóg jelfeldolgozással, a vezérlést a digitális jelfeldolgozással, ill. logikai döntéssel azonosítják. A szabályozás egyaránt megvalósítható analóg, ill. digitális jelfeldolgozásban. Utóbbi esetben a különbségképzés logikai művelet révén valósul meg. A szabályozás sajátos esete a minősítő szabályozó (fuzzy – nem pontosan meghatározott), amelynél a döntés a hagyományos értelemben vett különbségképzés nélkül, logikai úton jön létre. Ugyancsak hibás következtetésre vezethet a vezérlési műveletnek a digitális (ill. kétállapotú) jelekhez rendelése. Erre példa a villamos motor potenciométerrel történő fordulatszám-beállítása, azaz vezérlése. A vezérlési, ill. szabályozási művelet hibás megítéléséhez vezethet, ha a két műveletet együtt alkalmazzák. Jó példa a határérték-kapcsolóval kombinált szabályozási művelet, ahol a határérték-kapcsoló védelmi funkciót lát el és visszahat a rendelkezőjelre, de hatásának következtében a zárt szabályozási hurok megszakad. Hibás következtetésre vezethet, ha a két funkciót a végrehajtó szerv milyensége alapján különböztetjük meg és az analóg végrehajtó szervet a szabályozáshoz, a kétállapotú végrehajtó szervet a vezérléshez rendeljük. Ilyen a hőmérséklet-szabályozásnál igen gyakori állásos szabályozás, ill. a helyzetszabályozásnál használatos „lekapcsolókörös” szabályozás. A kétféle művelet megítélése szempontjából azt kell vizsgálni, hogy az irányított jellemző visszacsatolás révén részt vesz-e a rendelkezőjel létrehozásában, és a zárt szabályozási kör a művelet befejezéséig fennmarad-e. Ugyancsak vizsgálni kell az irányítási művelet rendeltetés szerinti célját. Amíg korábban a szabályozó-, ill. vezérlőkészülékek felépítésükben, kivitelükben is elkülönültek egymástól, addig napjainkban funkcionálisan integrálódnak, és gyakorlatilag ugyanazon hardverbázison (mikroszámítógép) kerülnek megvalósításra, így csak a szoftverekben térnek el. A technológiai folyamatok jellegüktől függően három csoportba sorolhatók: folyamatos, diszkrét és vegyes technológia. Folyamatos technológia esetén a folyamat nem osztható időben ismétlődő részfolyamatokra. A folyamatos technológiák irányításánál a szabályozási feladatok a meghatározóak. Ilyen technológiai folyamatokkal találkozhatunk a vegyipar, az olajipar, a kohászat, a gyógyszeripar, az élelmiszeripar stb. területén. A diszkrét technológiai folyamatok időben ismétlődő részfolyamatokból állnak, leginkább a gépiparban találhatók és irányításukban a vezérlési műveletek a meghatározóak. A technológiai folyamatok, kissé szubjektív felosztása (folyamatos és diszkrét) egyes részfolyamatok esetén lehetséges, de minél komplexebb folyamatot vizsgálunk, annál inkább a vegyes jelleg dominál. Amennyiben a technológiai folyamat irányításánál a szabályozási és vezérlési funkciók időben is tagozódnak, szakaszos (batch ,köteg) technológiáról beszélünk. Az előbbi besorolással magyarázható, hogy a gépipari termelésirányítást rendszerint gyártásirányításnak, míg a folyamatos technológiák irányítását folyamatirányításnak nevezik. Az egyes iparágak irányítástechnikai igényei, a szabályozási és vezérlési funkciók aránya, az alkalmazott technológia veszélyességi szintje, a technológiai készülékek térbeli elhelyezkedése 2
alapján eltérhetnek egymástól és ugyanazon iparágakon belül nagy hasonlóságot mutathatnak. Így beszélhetünk erőművi irányításról, létesítményautomatizálásról, közlekedésirányításról stb. Az irányítórendszerek megjelenésük óta igen dinamikusan fejlődnek.
1.1. Az irányítási rendszerek fejlődési szintjei A követelmények nagyfokú különbözősége és a technika fejlődése következtében a kis és nagy rendszereket is ideértve különféle megoldások alakultak ki a technológiai folyamatok irányítására. Rendszerezésük módszere a generációs tulajdonságoknak, vagyis a rendszerfejlődés lépéseinek a figyelembevétele. A rendszerek generációba sorolásának főbb szempontjai elsősorban nagy kiterjedésű irányítási rendszerre vonatkoztatva a következők: − a rendszer térbeli tagoltsága; − a kommunikáció egységessége és formája; − a készüléktechnológiai tagoltság vagy integráltság mértéke; − a részrendszerek együttműködésének lehetősége; − a kezelőhely fejlettsége. Ebben a feltételrendszerben egy teljes irányítási rendszernek ma már öt generációját lehet megkülönböztetni. Legjobban Telkes Zoltán foglalta össze az irányítási rendszerek generációs tulajdonságait [1]. Ezen publikáció alapján némileg átdolgozva és a cikk megjelenése óta végbement fejlődést is figyelembe véve mutatjuk be az egyes fejlődési szinteket. Az egyes rendszergenerációk megjelenése időben egymás után következett és a bonyolultságuk is növekedett. Ez természetesen nem jelenti azt, hogy a következő generáció teljesen kiszorította az előzőt, mivel az egyszerűbb feladatokra alacsonyabb generációjú rendszer is alkalmas. A generációkra osztásnál eltekintünk a vegyes rendszerektől, vagyis az egy időben, egy megvalósításban eltérő rendszerű, tehát más-más generációba tartozó részrendszer egymás melletti létezésétől. 1.1.1. Első generációs irányítási rendszerek Az első generációs irányítási rendszerek az irányítástechnikai elemek és készülékek megjelenésekor alakultak ki. Első generációs rendszertechnikájúak az iparban a helyi szint-, nyomás- és hőmérséklet-szabályozások, de ilyen pl. a központi fűtésű helyiségek egyedi hőmérsékletszabályozása is. A rendszer vázlata az 1.2. ábrán látható.
1.2. ábra. Első generációs irányítási rendszer struktúrája Az első generációs irányítási rendszer tulajdonságai: 3
− térbelileg nem tagolt, központilag nem áttekinthető, autonóm, helyi, egyedi, kizárólag folyamatközeli, gyakran egybeépített irányításokból tevődik össze; − nincs benne egységes készülék és jel; − az elemek és készülékek nagyrészt segédenergia nélkül vagy pneumatikus, esetleg villamos segédenergiával működnek. 1.1.2. Második generációs irányítási rendszerek A második generációs irányítási rendszerek tulajdonságai: − térbelileg tagolt, központilag megfigyelhető, autonóm, egymással kapcsolatban nem lévő irányításokból tevődnek össze; − egységes készülékek és egységes jelek, a szabályozási körben analóg (pl. 0…5 mA), vezérlés esetén főként kétállapotú, pneumatikus vagy villamos jelek vannak; − a rendszerelemek nagyrészt villamos vagy pneumatikus segédenergiával működnek; − az egységes jelek és méretek miatt a rendszerelemek csereszabatosak; − építőkockaelven épülnek fel, így a különböző gyártmányok illeszkednek a rendszerbe; − megjelenik a központi információkezelés és a mért értékek regisztrálásának igénye. A második generációs irányítási rendszer struktúráját az 1.3. ábra mutatja. 1.3. ábra. A második generációs irányítási rendszer struktúrája
1.1.3. Harmadik generációs irányítási rendszerek A harmadik generációs irányítási rendszerek létrejöttét a folyamatirányító számítógépek megjelenése váltotta ki. Ettől kezdődően váltak elterjedtté az analóg/digitális (ADC), ill. digitális/analóg (DAC) jelátalakítók. A számítógépek alkalmazásának alapvető célja a kiterjedt technológiai folyamat működésének összehangolása volt. Ez azt jelenti, hogy egy technológia optimális vagy optimumhoz közeli működtetése során a különböző fizikai jellemzők (pl. nyomás, hőmérséklet) előírt nagysága nem állítható önkényesen, egymástól teljesen függetlenül. A számítógépet irányítási célból még egy generáción belül is több fejlődési fázison keresztül akalmazzák. Az első időkben a számítógép pusztán felügyeleti és tanácsadói funkciókat látott el. Ezek a rendszerek közvetlenül (A/D konvertereken keresztül) fogadják a technológia felől származó 4
mérési adatokat, ill. a technológia kétállapotú jelzéseit (jelzésfogadó kártyákon). A számítógép a kezelő számára megjeleníti a technológia adatait, és beállítási tanácsokkal szolgál az üzemeltetéshez. Ezeket a tanácsokat a kezelő vagy figyelembe veszi, vagy figyelmen kívül hagyja, azaz a döntés felelőssége a kezelőé marad. A számítógép semmilyen formában közvetlenül nem avatkozik be az irányítandó folyamatba. A fejlődés következő fázisa az volt, amikor a számítógép beállítási tanácsai (immár parancsai) közvetlenül, kezelői közreműködés nélkül (D/A konvertereken és jelzéskimeneti kártyákon keresztül) eljutottak a technológiai folyamathoz. Az ilyen rendszer működésére az is jellemző, hogy ezek a beavatkozási parancsok szabályozások esetében a hagyományos analóg szabályozások (optimális) alapjeleit jelentették. A tényleges szabályozási funkciókat a hagyományos analóg szabályozó látta el. A kétállapotú kimenetek nem közvetlen vezérlési célokat szolgáltak (az elégtelen ciklusidő és a kis megbízhatóság miatt), hanem üzemmód-kijelzési, ill. a külső vezérlők működtetéséhez szükséges parancsokat jelentették (mintegy a kezelő helyett nyomtak meg bizonyos, a vezérlést befolyásoló ‘nyomógombokat’). Ezt a rendszertechnikai kialakítást alapjelállító irányításnak (Set Point Control, SPC) is nevezik, ami napjainkban is alkalmazott elv, csak korszerűbb eszközháttéren alapul. A megoldás előnye, hogy a számítógép kiesése esetén a meglévő szabályozók továbbra is biztosították az alapvető irányítást, ha egy automatikus átkapcsolón keresztül tartalék alapjeleket juttatunk el a bemenetükre (amelyek változó munkapontokban messze nem biztosítják az optimumhoz közeli működést). A fejlődés következő lépése a közvetlen szabályozási célú beavatkozás volt. Ezeket a rendszereket közvetlen digitális irányításnak (Direct Digital Control, DDC) nevezik. Normál esetben a számítógép számítja ki a beavatkozószervek működtetési parancsait (pl. szelepek nyitási pozícióit), és D/A konvertereken keresztül juttatja el a folyamat beavatkozószerveihez. Ez azt is jelenti, hogy a klasszikus értelemben vett szabályozófunkciót egy számítógépes algoritmus valósítja meg. Így a szabályozó algoritmusa már nem feltétlenül az egyszerű PID kompenzálótagok beavatkozási stratégiáját követi, hanem a fejlettebb intelligenciát kihasználó (hagyományos analóg eszközbázison már nem megoldható) módszerek is alkalmazhatók. Ez a lehetőség teremtette meg a mintavételes szabályozások szabályozáselméleti módszereinek fejlesztését. A számítógép meghibásodása esetén azt a gyakorlatot követték, hogy tartalék analóg szabályozók vették át a számítógép szerepét. Nyilvánvaló, hogy ezen üzemmódban már sem az alapjelek képzése, sem az irányítási algoritmusok leképezése nem lehet egyenértékű a számítógépes üzem lehetőségeivel. Ezért nem volt ritka az a rendszertechnikai kialakítás sem, amikor tartalék számítógép jelentette a biztonsági hátteret. A rendszertechnikai elvek alkalmazását az 1.4. ábra mutatja be. Az irányítandó folyamatból származó analóg és kétállapotú információk közvetlenül a számítógép bemenetére kerülnek. A szabályozási funkciókat normál esetben a számítógép látja el (DDC), míg meghibásodás esetén a tartalékként funkcionáló analóg szabályozó veszi át a szerepet. A vezérlési feladatokat külső vezérlőegység látja el normális működés esetén is, a számítógép legfeljebb kezelői beavatkozásokat vált ki. Meghibásodás esetén, a kezelőnek kell ezeket a beavatkozási parancsokat a kezelőpulttal előállítani. A technológia állapotának megjelenítése a számítógéphez kapcsolt terminálokon, de még hagyományos sématáblákon is (a számítógéptől függetlenül) lehetséges volt.
5
1.4. ábra. A harmadik generációs irányítási rendszer struktúrája A harmadik generációs irányítási rendszerek jellemzői: − térbelileg tagolt, központilag megfigyelhető, autonóm, egymással kapcsolatban nem lévő, de központi irányítóberendezés (digitális számítógép) segítségével, speciális kommunikációval koordinálható szabályozási körökből, illetve vezérlésekből tevődnek össze; − egységes készülékek (modulok) és főként egységes analóg pneumatikus vagy villamos jelek vannak (pl. 4…20 mA); − a készülékek főként villamos (esetleg pneumatikus) segédenergiával működnek és egy részük alkalmas a központi irányítóberendezéssel való kommunikációra; − az egységes jelek és rendszerint az egységes modulok következtében az elemek csereszabatosak; − építőkockaelven épülnek fel, a különböző gyártmányok illeszthetők a rendszerbe; − megjelenik a központi adatgyűjtés, az ember-gép kapcsolatot megvalósító kezelőpult, illetve sématábla; − biztonsági célt szolgál a kézi/automata átkapcsolóval váltható háttéreszközök (szabályozó, vezérlő) megléte. Ide sorolható minden olyan irányítás, amelynek egyedi szabályozási és vezérlési körei vannak, de ezek központilag koordinálhatók a különböző típusú és felépítésű számítógéppel. A digitális (intelligens) kompakt szabályozók és az egyedi PLC-k (programozható logikai vezérlők, lásd az 1.4. alfejezetben) is lehetnek e rendszer vagy generáció részei. Mivel a jelenleg működő irányítórendszerek a harmadik generációs rendszertechnikát is használják és ennek moduláris elve alkalmas a teljes rendszer valamennyi részfeladatának bemutatására, ez a generáció a készülékek (elemek, szervek) általános rendszerezésének is alapja. 1.1.4. Negyedik generációs irányítási rendszerek Az előző rendszertechnikai kialakításban egyetlen centralizált számítógép biztosítja az irányítási, adatfeldolgozási és megjelenítési feladatokat, ami a következő hátrányokkal jár: 6
− a számítógép meghibásodása a teljes technológia esetén a tartalékirányításra való áttérést igényel. A tartalékirányítás egyedi eszközi megvalósítása költségigényes, és az esetek többségében nem is biztosítja az elvárt mutatókat; − a számítógépnek sokféle (irányítási, adatfeldolgozási, megjelenítési) feladatot kell ellátnia, így a programrendszer túlságosan szerteágazó, nehezen tipizálható. Általában egy számítógép hardverteljesítménye csak kompromisszumok árán elegendő a sokféle feladat ellátásához; − a technológiából származó és a technológia felé juttatandó jeleket esetenként nagy távolságra kell továbbítani, így a kábelezési költség igen tekintélyes. Alapvetően a felsorolt okok miatt alakították ki a decentralizált folyamatirányító rendszereket, ahol a felmerülő feladatokat egymással kommunikációs kapcsolatban lévő számítógépek oldják meg, amelyek valamilyen logikai hierarchiába vannak szervezve. Egy-egy számítógép feladata viszonylag jól körülhatárolható. A technológia közvetlen környezetébe telepített számítógépek, az ún. folyamatállomások, amelyek egy-egy résztechnológia közvetlen irányítását látják el. A technológiából érkező adatokat a rendszer adatbázisába is továbbítani kell, hogy az adatok továbbfeldolgozása, kiértékelése, kezelői megjelenítése, archiválása lehetséges legyen. Az irányítási feladatok ellátásához az esetek többségében az adatbázis olyan elemeinek elérése szükséges, amelyeket más számítógépek állítanak elő. Megfelelő szoftverrel biztosítható, hogy még a kommunikációs kapcsolat megszűnése esetén is ellássa a folyamatállomás az alapvető (szűkített) irányítási funkciókat. A folyamatállomások kialakítása robusztus, az ipari környezet káros hatásainak ellenálló. Jellemző, hogy mozgó alkatrészeket tartalmazó egységeket (pl. diszklemezeket) nem telepítenek. A kezelői kijelzők és beavatkozók (pl. billentyűzet) is speciálisak. A fejlődés eredményeként a rendszerekben ezt a funkciót igen gyakran PLC-k látják el. A decentralizált rendszerekben megtalálhatók azok a számítógépek is, amelyek az adatok továbbfeldolgozását és az adatok kezelői megjelenítését végzik. Ezek a számítógépek már a megszokott elemeket tartalmazzák. A decentralizált rendszerekben kulcsfontosságú a berendezések közötti kommunikáció, ami korábban az RS 232 vonalak alkalmazását jelentette. Ez mind az átviteli sebesség, mind a pont-pont kapcsolat miatt komoly korlátozó tényező, és a rendszerek szűk keresztmetszetét okozta. A nagy sebességű soros buszok megjelenése nagymértékben javította a decentralizált rendszerek információátviteli lehetőségeit és a kommunikáció biztonságát még egy-egy egység meghibásodása esetén is. A negyedik generációs irányítási rendszer struktúráját az 1.5. ábra mutatja. A decentralizált rendszerek fejlődésének különleges vonulata az elosztott rendszerek (Distributed Control System, DCS) kialakulása. E rendszer sajátossága a beépített redundancia. Mind a kommunikáció, mind a jelfogadás és jelfeldolgozás elemeit redundáns módon alakítják ki külön igény nélkül is. A DCS-rendszerek szoftverkomponensei automatikusan képesek meghibásodás esetén áttérni a még működő eszközökre néhány ms idő alatt, gyakorlatilag adatvesztés nélkül. Természetesen az így megnövelt biztonságú eszközök ára is tükrözi a beépített lehetőségeket, ezért csak olyan technológiák esetén alkalmazzák irányításra, ahol a technológia üzemeltetése (pontosabban az irányítás hiánya) nagy kockázatot jelent. Napjainkban is általános a decentralizált rendszerek telepítése, de nemcsak DCS-bázison. Itt a beépített tartalékok, az áttérés stratégiája egyedi rendszertervezési kérdés. A nem DCSbázisú rendszerek (pl. PLC-k és ipari PC-k) elterjedése a lényegesen kedvezőbb árral magyarázható.
7
Ezt a rendszert tartják a DCS-ek első generációjának is. Az elosztott folyamatirányító rendszerek a hetvenes évek elejétől folyamatosan fejlődtek és ma már egyes iparágakban az irányítások közel felét alkotják. E rendszerek kiválasztása, létesítése és üzemeltetése igen alapos munkát igényel és csak meghatározott méret fölött gazdaságos. A velük párhuzamosan, eredetileg egyedi PLC-készülékekből kifejlődött PLC-rendszerek ma már közel egyenértékű megoldást jelentenek. A kettő közötti választást gazdasági kérdések határozzák meg. Ezen a területen a PLC-rendszerek előnyösebbnek tűnnek. 1.5. ábra. A negyedik generációs irányítási rendszer struktúrája A negyedik generációs irányítási rendszer jellemzői:
− térbelileg tagolt, a központi irányítóteremben elhelyezkedő része egységes, integrált irányítóberendezés; − digitális működésű és a belső kommunikáció is digitális, a folyamatközeli készülékek analóg működésűek; − egyedi digitális készülékek és digitális belső busz (ami a központi feldolgozóegység(ek) párhuzamos sínrendszerét jelenti, pl. VME, MULTIBUS), a központi irányítóberendezés és a folyamatközeli elemek (folyamatperifériák) között analóg (pneumatikus vagy villamos) egységes jelek vannak; − a központi készülékek digitális elvűek, a folyamatperifériák villamos (esetleg pneumatikus) segédenergiával működnek és egy részük alkalmas a központi irányítóberendezéssel való kommunikációra; 8
− a központi rész egyedi rendszer, más rendszerrel általában nem kombinálható, a folyamatközeli elemek csereszabatosak; − a rendszer ezen része építőkockaelven épül fel, az egységes analóg jelek és rendszerint az egységes méretű készülékek következtében a különböző gyártmányok illeszkednek a rendszerbe; − külön sajátosság a nagy megbízhatóság, a valós idejű adatfeldolgozás (az osztott erőforrás és adatbázis-kezelés, valamint a redundáns hardverek és szoftverek miatt). 1.1.5. Ötödik generációs irányítási rendszerek Az ötödik generációs rendszerek kialakulását az intelligens (SMART) távadók, valamint az intelligens beavatkozók és a terepi buszok megjelenése váltotta ki. Ezek az eszközök egy − a nagy hálózatoktól (pl. ETHERNET) eltérő − kommunikációs csatornán a feladat jellegéhez igazodó protokoll szerint kezelhetők. A kommunikációs vonalra (szokásos szóhasználat szerint fieldbuszra) korlátozott számú intelligens eszköz fűzhető fel. Ez a technika további kábelezési költségcsökkentést jelent, még a technológia közelébe telepített (pl. kihelyezett I/O) eszközökhöz képest is. Az intelligens eszközök minőségileg új szolgáltatásokra képesek, pl. a SMART távadók aktuális méréshatára programozható, ill. a mérnöki egységre számított adatok lekérdezhetők. Az adatbázis tárolt konstansai a tényleges állapot szerint gépileg beállíthatók, így az egyik leggyakoribb adatbázis-hibaforrás küszöbölhető ki. Az intelligens eszközök mellett általánossá vált, hogy a folyamatirányító rendszerek szerves részét képezik a PLC-berendezések még a DCS-rendszerek többségében is. Ezek ugyancsak egy kommunikációs vonalon kapcsolódnak az irányítórendszer folyamatállomásaihoz. A PLC-k kommunikációs vonalai és protokolljai (pl. MODBUS, MODBUS PLUS, SINEC-L, SINEC-H, PROFIBUS) különböznek a számítógépek között szokásos kommunikációs protokolloktól, de különböznek az intelligens eszközök protokolljaitól is. A PLC-k csak egy-egy csoportja alkalmas a nemzetközi ajánlások szerinti kommunikációra (pl. PROFIBUS), más gyártmányok csak a gyártóspecifikus protokollok szerinti kommunikációt támogatják. Megfigyelhető az a tendencia, hogy a folyamatállomásoknál egyre kevesebb vonal csatlakozik a hagyományos A/D és D/A konvertereken keresztül, viszont egyre inkább növekszik a kommunikációs vonalakon keresztül csatlakoztatott csatornák száma és általánossá válik az érzékelők-beavatkozók buszrendszerű kezelése (pl. ASI-busz). Az ötödik generációs irányítórendszer tulajdonságai: − térbelileg tagolt, a központi irányítóteremben elhelyezkedő része egységes, de funkciója átalakul és mérete csökken. Az integrált központi irányítóberendezés digitális működésű, a belső és a terepi kommunikáció is digitális; − egyedi digitális készülékek és digitális belső busz (sín), a központi irányítóberendezés és a folyamatközeli elemek (folyamatperifériák) között digitális egységes terepbuszjelek vannak; − a készülékek csak villamos segédenergiával működnek, digitális elvűek, jeleik digitálisak és a jelilleszkedésen túl alkalmasak a központi irányítóberendezéssel való kétirányú kommunikációra; − a központi rész egyre kevésbé egyedi, inkább csereszabatos ipari számítógép; − a folyamatközeli elemek csereszabatosak, a rendszernek ez a része építőkockaelvű. Az esetenként egységes digitális jelek miatt a különböző gyártmányok egy része illeszkedik a rendszerbe; − kommunikációs lehetőséget biztosít az internetre, így bizonyos funkciói teljes mértékben nyitottá válnak a világ bármely pontjáról; − az érzékelő- és beavatkozószervek egyre intelligensebbek, ezért adatfeldolgozási műveletek végrehajtására és hálózati kommunikációra alkalmasak;
9
− az intelligens távadók és beavatkozók, valamint a terepi buszok révén az adatfeldolgozás osztott jellege kiteljesedik, hiszen pl. a szabályozási funkció az intelligens beavatkozón realizálódik, tehát a korábbi terepi, ill. központi funkció megszűnik. Az ötödik generációs rendszerek kialakítási sajátosságait az 1.6. ábra szemlélteti.
1.6. ábra. Az ötödik generációs irányítási rendszer struktúrája Az ötödik generációs rendszer jellegzetessége, hogy analóg jelek már a folyamatperifériáknál sem fordulnak elő. E rendszert a DCS-ek második generációjának is nevezik. Napjainkban az egyedi hardvert igénylő központi részt egyre inkább a személyi számítógépek hardvere váltja fel. Egy Siemens gyártmányú ötödik generációs rendszer felépítését mutatja az 1.7. ábra [12]. A szerzők egyik célkitűzése az ábra szerinti bonyolultságú és többnyire angol nyelven megadott rendszer funkcionális megértése a könxv áttanulmányozása után.
1.2. Vezérlés A diszkrét technológiai folyamatok többnyire kétértékű állapotváltozásokat tartalmaznak. Az ilyen diszkrét folyamatok vezérléssel automatizálhatók. A vezérlés hatásláncát az MSZ 18450/3 definiálja (1ásd az 1.1a ábrát). A vezérlőberendezés összefoglaló neve mindazon szerveknek, amelyek hatnak a vezérelt berendezésre (szakaszra). A vezérlőberendezés részei az érzékelő- és/vagy parancsadó szervek, a jelformálók, a logikai döntést végző és a beavatkozószerv, valamint az esetleges jelátalakítók. A beavatkozó, amely rendszerint magában foglalja a végrehajtó szervet és a beavatkozószervet, szerkezetileg legtöbbször a vezérelt berendezéshez tartozó, de funkcionálisan a vezérlőberendezés részeként számon tartott szerv. Bár a vezérlési folyamatban esetlegesen nem vesznek közvetlenül részt, de a vezérlőberendezés részét képezik az ember-gép kapcsolatot biztosító kijelző- és regisztrálókészülékek, kezelőelemek is.
10
7. ábra. Az ötödik generációs Siemens irányítási rendszer A vezérlőkészülék a vezérlési algoritmust valósítja meg. A vezérlési algoritmus olyan logikai összefüggésrendszer, amely a kívánt beavatkozójeleket állítja elő a folyamatot jellemző változók mért értékeiből és/vagy a vezérlést befolyásoló feltételekből. A vezérlési algoritmus kidolgozási módszerének ismertetése a könyv egyik célkitűzése. A vezérlés bonyolultságát az adja, hogy a vezérelt berendezésre (szakaszra) rendszerint több módosított jellemző hat és a rendelkezőjel is nagyszámú lehet. A vezérléseket megvalósító módszereket a vezérléstechnika foglalja össze. A vezérléstechnika magában foglalja a vezérlés eszközeinek, a vezérlés algoritmusainak a tárgyalását és a vezérlési feladat megoldásának tervezési módszereit. A vezérlési feladatok alapvetően két csoportra oszthatók, kombinációs típusú, ill. sorrendi típusú vezérlésre. Kombinációs típusú vezérlés esetén a kimenőjelek (rendelkezőjelek) csak a bemenőjelektől függenek, más szóval ugyanazon bemeneti kombinációhoz mindig ugyanaz a kimeneti esemény tartozik. Ilyenek például a kapuáramkörök, kódoló, dekódoló, multiplexer, demultiplexer áramkörök. A kombinációs típusú vezérlési funkciók az Yi = fi (X1…Xn)
(1-1)
alakú időtől független logikai egyenlettel írhatók le, ahol Yi az i-edik kimeneti függvény ƒi az iedik kimenethez rendelt időfüggetlen logikai kapcsolat és X1…Xn a bemeneti változók. Sorrendi (szekvenciális) típusú vezérlés esetén a kimeneti eseményt egyrészt a bemeneti jelek kombinációi, másrészt a kombinációk sorrendje együtt határozzák meg. Eszerint sorrendi hálózat esetén ugyanazon bemeneti kombinációhoz más-más kimeneti esemény tartozhat. A sorrendi típusú vezérlési funkciók a Zi = fi (X1…Xn, q1…qm)
(1-2)
típusú logikai függvénnyel írhatók le, ahol Zi az i-edik kimeneti függvényt, ƒi a hozzá tartozó logikai kapcsolatot, X1…Xn a bemeneti változókat, q1…qm a belső visszacsatolás révén megvalósított memóriaelemeket jelenti. Tipikus sorrendi hálózatok, pl. a regiszterek, flipflopok, a relé öntartó kapcsolása, számlálók, memóriák. A vezérlések kapcsán külön kell szólni a védelmi funkciókról és a karbantartási üzemmódról. Bármely ipari irányítási rendszerben a legmagasabb prioritási szinten a vész- és védelmi feladatok ellátásáról külön kell gondoskodni. A vész- és védelmi feladat célja az élet-, ill. vagyonvédelem. 11
Védelem szükséges, ha valamely folyamat veszélyes értékeket közelít meg, és amely érték elérését akár az irányított berendezés leállítása árán is meg kell akadályozni. Ilyen, pl. a túlnyomás vagy a túláramvédelem. Reteszelés esetén valamely fontos feltétel nem teljesül, és emiatt leállítandó, vagy nem indítható az irányított berendezés. Ilyen, pl. ha a védőrács nincs a helyén, a hűtőszivattyú nem működik vagy nincs táplevegő. A vezérlési algoritmusban a védelem a legmagasabb prioritású, azt a reteszelés követi. A legfontosabb védelmi és reteszelési funkciókat külön hardver vagy szerkezeti kialakítás révén kell biztosítani. Ilyen például, amikor a túláramrelé megszakítja a tápellátást. A reteszelési feladatok egy része szoftveresen is megoldható, de ennek az a feltétele, hogy amennyiben a vezérlőkészülék nem működik, a feltételek automatikusan teljesüljenek. Például, ha nem működik a vezérlőkészülék, akkor nem ad ki vezérlőjelet a motornak. Ha a motor nem kap vezérlést, akkor áll. Ha a motor áll, akkor nem veszélyes, hogy nincs rajta védőrács. Az igen nagy értékű berendezéseknél ezeket a feladatokat ún. monitoringrendszer (figyelőrendszer) látja el. Az összetett ipari vezérlések másik jellegzetes feladata az ún. karbantartási üzemmód biztosítása. Ilyen esetben a rendszert le kell állítani, majd javítás után újraindítani. Ez a fajta leállítás jelentősen különbözik a vészleállításoktól, mivel itt az anyag- és energiatakarékosság is fontos szempont. Technológiai okok miatt az egyes rendszerek leállítása és újraindítása csak kötött sorrendben történhet (gondoljunk a szállítószalag vezérlésére, ahol ennek be nem tartása komoly műszaki, gazdasági következményekkel járhat), továbbá az egyes vészrendszerek csak fokozatosan érhetik el üzemi állapotukat (pl. nagy teljesítményű motor). 1.2.1. A vezérlőberendezések fejlődésének áttekintése A szabályozó-, ill. vezérlőberendezések korábban szerkezeti kialakításukban igen eltérőek voltak. Ez a különbség főként a rendelkezőjel előállításának különbözőségéből (különbségképzés, ill. logikai művelet) eredt. A vezérlőberendezések fejlődését kezdetben az elektromechanikai eszközök, később az elektronikai, mikroelektronikai eszközök és technológiák, napjainkban az előzőeken túl az informatikai eszközök és technológiák határozzák meg. Az első igen széles körben elterjedt vezérlőberendezés-típus az elektromechanikus vezérlés volt, amelynek univerzális eleme a relé. Az elektromechanikus (relés) vezérlések főbb jellemzői: − huzalozott, fix vezérlési funkciót valósítanak meg; − mozgó alkatrészt tartalmaznak, amelyek rendszeres karbantartást igényelnek és élettartamuk erősen korlátozott; − igen nagy előnyük a vezérlőrész (tekercs) és a kapcsolórész galvanikus szétválasztása, amelynek révén egyen- és váltakozó áramú hálózatban egyaránt használhatók; − a relé univerzális eszköz, ezért segítségével a kombinációs és sorrendi funkciók egyaránt megvalósíthatók. Bár a relés vezérlések napjainkra teljesen kiszorultak, csak korábbi telepítésűek vannak üzemben, a relés szemlélet a programozható vezérlőkben a létradiagramos programozási nyelvben tovább él. Időrendben a relés vezérléseket a huzalozott logikájú elektronikus vezérlések követték, amelyeknek két változata létezett: a diszkrét alkatrészekből felépített dióda-tranzisztor logika (diode-transistor logic, DTL), később pedig a tranzisztor-tranzisztor logika (transistor-transistor logic, TTL), ill. a komplemens fém-oxid félvezető elemekre épülő (complementary metal-oxide semiconductor, CMOS ) integrált áramkörökből felépített rendszerek. A huzalozott logikájú elektronikus rendszereknek számos előnyük van a relés vezérlésekhez képest (mozgó alkatrészt nem tartalmaznak, igen nagy működési sebességgel üzemelnek, 12
élettartamuk nagyságrendekkel jobb), de számos hátrányuk (fix huzalozás, zavarérzékenység, nagy méret, kommunikációs lehetőség hiánya) miatt napjainkra teljesen kiszorultak, esetleg csak részfunkciók ellátására alkalmazzák. A vezérlőberendezések fejlődésében újabb minőségi ugrást a félvezető memóriák (ROM, RAM), a nagymértékben integrált áramköri technológia (LSI, VLSI) kidolgozása és a mikroprocesszorok megjelenése jelentett. Ez a változás a korábbi váltáson (relé-félvezető) túl a hardver változását és a hardver univerzalitásának lehetőségét teremtette meg: a felhasználó a programot fejlesztheti, átírhatja és kialakíthatja a nagy rendszereket, megjelenítheti a folyamatot, archiválhatja az eseményeket, valamint kialakíthatja a rendszerek intelligens kommunikációját. A mikroprocesszoros rendszereknél ugyanakkor megszűnik az a működés, miszerint a különböző típusú logikai döntést végző elemek csak egyetlen funkciót hajtanak végre (pl. ÉS kapu, NAND kapu, dekódoló). A mikroprocesszor aritmetikai-logikai egysége (ALU) több tízezer műveletet képes végrehajtani a relé ms nagyságrendű megszólalási ideje alatt. Ez a lehetőség vezetett a programozható vezérlők kialakulásához. 1.2.2. Programozható vezérlők A programozható vezérlők az 1970-es évektől kezdődően terjedtek el és ma csaknem kizárólagos alkalmazást nyertek az ipari folyamatok vezérlésében. A programozható vezérlőberendezések, a vezérlési (esetleg szabályozási) funkciókat szoftver útján valósítják meg és beviteli, kiviteli egységeik révén a technológiai folyamatok tárolt programú vezérlésére közvetlenül alkalmasak. A programozható vezérlők szokásos elnevezései: PC, Programmable Controller (programozható vezérlő, UK); PLC, Programmable Logic Controller (programozható logikai vezérlő, USA); PBS, Programmable Binary System (programozható bináris rendszerek, svéd); SPS, Speicherprogrammierbare Steuerung (tárolt programú vezérlés, német); PV, programozható vezérlő; PLV, programozható logikai vezérlő (magyar). Mivel szakmai körökben leginkább a PLC elnevezés terjedt el, ezért a továbbiakban ez a könyv is ezt a rövidítést használja. 1.2.2.1. PLC-történelem 1968-ban a General Motors cég pályázatot hirdetett olyan programozható vezérlőberendezés fejlesztésére, amely ötvözi a relés, a félvezetős és a számítógépes vezérlés előnyeit. A pályázat specifikációjában az alábbi szempontok szerepeltek: − egyszerű, moduláris felépítés, kis méret; − mozgó alkatrészt ne tartalmazzon; − galvanikusan leválasztott bemeneti/kimeneti fokozatok (24 Vdc-től 240 Vac); − könnyű programozhatóság és újraprogramozás; − valós idejű működés max. 0,1 s válaszidővel; − nagy megbízhatóság, minimális karbantartás; − versenyképes ár. A pályázatra a Modicon, ill. Allen-Bradley cégek pályáztak, amelyek ma is vezető cégek a PLC-k piacán. A PLC-k fejlődésének főbb állomásait a kezdeti időszakban az 1.1. táblázat mutatja [10]. 1.1. táblázat. A PLC-k fejlődésének főbb állomásai a kezdeti időszakban Év A fejlődés jellemzői 13
1968 A PLC-koncepció kidolgozása a General Motors felhívására 1969 Az első Modicon PLC megjelenése huzalozott CPU-val, 1 K memóriával és 128 I/O-val 1971 A PLC első alkalmazása az autóiparban 1973 Az első intelligens (smart) PLC megjelenése aritmetikai funkcióval, nyomtatóvezérléssel, mátrixműveletekkel, képernyőkijelzéssel 1974 Az első többprocesszoros PLC gyártása időzítő- és számlálófunkcióval, 12 K memóriával és 1024 I/O-val 1975 Az első PID algoritmussal ellátott PLC kibocsátása 1976 A távoli modulkezelés (remote control) kidolgozása és a hierarchikus konfiguráció bevezetése az integrált gyártórendszerben 1977 A mikroprocesszor bázisú PLC bevezetése 1980 Intelligens kommunikációs modulok kifejlesztése, valamint a nagy sebességű, nagy pontosságú pozícionáló interfész kifejlesztése 1981 A Data Highway kommunikáció alkalmazása, 16 bites mikroprocesszor bázisú PLC színes monitorral 1983 Olcsó „mini” PLC-k megjelenése 1985 PLC hálózatok kifejlesztése A mai PLC-ket, kivitelük alapján kompakt és moduláris felépítésű csoportba sorolhatjuk. A kompakt PLC jellemzője, hogy hardverstruktúrája nem módosítható, kizárólag megfelelő védettségű ipari tokozásban készül és kis helyigényű. Felhasználási területei a sorozatban gyártott gépek, berendezések automatikái, illetve a PLC műszaki jellemzői által lefedhető egyedi vezérlések. A kompakt PLC-k speciális típusát jelentik az ún. mikro-PLC-k, amelyek az embergép kapcsolat hardver- és szoftverfeltételét is tartalmazzák. A moduláris felépítésű programozható logikai vezérlők jellemzője, hogy a vezérlőberendezés valamely speciális funkciót önmagában ellátó modulokból épül fel. A modulok fizikai megjelenése rendszerint az áramköri kártya, dugaszolható csatlakozóval. A modulok ún. rack-be (tartó) dugaszolhatók, ezért a rendszer konfigurációja tág határokon belül bővíthető. A rack-ek megfelelő védettségű műszerdobozba vagy műszerszekrénybe szerelhetők. A moduláris felépítésű PLC-ket közepes, ill. nagyméretű rugalmas gyártórendszerek vagy ipari folyamatok irányítására fejlesztették ki.
1.2.2.2. A PLC-k funkcionális felépítése A PLC funkcionális felépítését az 1.8. ábra szemlélteti [10]. Az 1.8. ábra szerint a PLC-k főbb egységei: − központi logikai ill. feldolgozóegység (LU, CPU, stb.); − programmemória (ROM, EPROM, EEROM); − adatmemória (RAM); − bemeneti (input) egységek (digitális, ill. analóg); − kimeneti (output) egységek (digitális, ill. analóg); − kommunikációs egységek.
14
1.8. ábra. A PLC funkcionális felépítése A programozható vezérlők központi egysége a bemenetek és a kimenetek közötti, többnyire logikai kapcsolatokat időben sorosan és ciklikusan hajtja végre a programmemóriában tárolt program alapján. A soros jellegű adatfeldolgozásból eredően a ciklikus feldolgozást nagy sebességgel kell végrehajtani, hogy a működés kifelé párhuzamosnak (valós idejűnek) tűnjék. A programozható vezérlőkre vonatkozó IEC-1131-1 szabvány a PLC-t az 1.9. ábra szerinti sémával és funkciókkal definiálja [11]. A programozható vezérlő az alábbi funkciók ellátására képes: − jel/adat feldolgozási funkció (signal/data processing); − technológiai interfészfunkció az érzékelők kezelésére, ill. beavatkozók működtetésére; − kommunikációs funkciók (PLC-PLC; PLC-számítógép; PLC-hálózat); − ember-gép interfészfunkció (man-machine interface, MMI); − programozási, tesztelési, dokumentálási funkció; − tápellátási funkció. A fejlődés során a programozható vezérlők funkciói nagymértékben közeledtek a számítógép funkcióihoz. Így mára a PLC olyan ipari számítógépnek tekinthető, amely speciális hardveregységei és felhasználói programja révén a technológiai folyamatok tárolt programú vezérlésére és intelligens kommunikációs felülete révén hierarchikus és/vagy osztott folyamatirányító rendszerek létrehozására alkalmas. A programozható vezérlők előnyei: a szabad strukturálhatóság, a gyakorlatilag végtelen kapcsolási szám, a telepítési költségek csökkenése, a rendszerbe szervezhetőség lehetősége. A szabad strukturálhatóság felhasználói programozhatóságot jelent, amelynek révén a felhasználó a tárolt, egyedi program révén az univerzális hardvert a feladatra alkalmassá teszi. A PLC-k alkalmazásával a telepítési, beüzemelési idő nagymértékben lerövidíthető.
15
1.9. ábra. A PLC szabvány szerinti funkciói A programozható vezérlők alkalmazásának feladatai: − az irányítási stratégia kidolgozása; − az irányítórendszer struktúrájának tervezése; − PLC-s rendszer konfigurálása; − a PLC-hardver illesztése a folyamathoz; − az ún. felhasználói program elkészítése; − a kommunikációs funkciók kidolgozása; − a PLC beüzemelése, üzemeltetése, karbantartása. Ezért a PLC-k alkalmazásánál az áramköri tervezésszintű ismeretek helyett a rendszertechnikai, programozási, informatikai, alkalmazásszintű ismeretek lépnek előtérbe. E köny tartalmát is ennek megfelelően állítottuk össze. 16
Irodalomjegyzék [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16]
Telkes Z.: Az irányítások generációs tulajdonságai (1. rész). Budapest, Elektronet, 1996/6. Ajtonyi I.: Vezérléstechnika I. Budapest, Tankönyvkiadó, 1980. Ajtonyi I.: Digitális rendszerek. Miskolc, Egyetemi Kiadó, 1998. I. Ajtonyi: Intelligent Control System Dissertation for Habilitation. Kosice, 1998. Neszveda J.: Irányítástechnika IV. Budapest, KKMF, 1995. DIN 40719 szabvány. Ajtonyi I.: Vezérléstechnika II. Budapest, Tankönyvkiadó, 1985. Demmel L., Molnár T., Török B., Vágvölgyi G.: Programozható logikájú vezérlések. Budapest, Mérnöktovábbképző Intézet, 1989. E. A. Parr: Programmable Controllers - An Engineer's Guide. Newness, 1996. Ian G. Warnock: Programmable Controllers Operation and Application. Prentice Hall International, 1988. IEC-1131/I-IV. szabvány, 1992. Siemens: PCS7 gépkönyv, 1997. N. S. Nise: Control Systems Engineering. The Cummings Publishing Company, 1995. K. Ogata: Modern Control Engineering. Prentice Hall International, 1997. ABB: Industrial Manual, 1998. R. Bishop: Modern Control Systems Analisis & Design Addison-Wesley Inc., 1997.
17
2. Programozható vezérlők hardverfelépítése A programozható vezérlők hardvere univerzális. Fő rendeltetése a vezérlési program végrehajtása, amihez az adatok beolvasására, feldolgozására és az eredmény kivitelére van szükség. Ezt a három műveletet az alábbi hardveregységek végzik: bemeneti egység, központi feldolgozóegység és kimeneti egység. A felsoroltak közül a központi feldolgozóegység fejlődött a legdinamikusabban, és főként ez határozza meg a PLC szolgáltatásait.
2.1. ábra. A programozható vezérlő három fő egysége Az első PLC-k központi feldolgozóegysége még kis- és/vagy közepes mértékben integrált digitális áramkörökből (Small Scale Integration, SSI; Medium Scale Integration, MSI) épült fel. Az integrálási technológia fejlődésével a huzalozott logikájú központi egységeket felváltották az ún. bitprocesszorok (szokásos elnevezések még: Boole-processzor, logikai processzor), amelyek funkcionálisan nem, csak méretbeli és áramköri jellemzők szempontjából jelentettek előnyt az előzőekhez képest. Ezek alkották a programozható vezérlők első generációját. A nagymértékben integrált áramkörök (Very/Large Scale Integration, V/LSI) elterjedésével az általános célú mikroprocesszorok váltak a PLC-k központi feldolgozóegységévé, ami egyben minőségi változást is jelentett. A bájt-, ill. szóprocesszorok alkalmazása révén a Booleműveletek mellett a következő funkciók váltak általánossá a programozható vezérlőkben: aritmetikai műveletek végzése, szabályozási funkció ellátása, szabványos kommunikáció biztosítása stb. A mikroprocesszor alapú programozható vezérlők, amelyek napjainkra szinte egyeduralkodóvá váltak, tekinthetők a PLC-k második generációjának.
2.1. Bitprocesszor alapú programozható vezérlők A bitprocesszor alapú programozható vezérlők jellemzői: − csak egybites, Boole jellegű logikai műveletek végzése; − kevés számú utasítás; − kisméretű memóriakezelési lehetőség; − mikroprogramozott vezérlési architektúra; − névkódon alapuló (esetleg gépi kódú) programozás; − alacsony szintű pont-pont jellegű kommunikáció. A mára elavultnak tekinthető bitprocesszor alapú PLC-k bemutatása egyrészt didaktikailag indokolható, mivel felépítésük és működésük egyszerű és szinte „bitenként” követhető, másrészt az ún. PLC-nyelvek és a korai bitszervezésű architektúrák között igen szoros összefüggés van. A bitprocesszor rendszerint a következő egységeket tartalmazza: bemeneti multiplexer, programozható logikai egység (Logical Unit, LU), egybites akkumulátor, kimeneti tároló és demultiplexer, véletlen hozzáférésű memória (Random Access Memory, RAM) és a szükséges adat-, cím- és vezérlővonalak (2.2. ábra). 18
2.2. ábra. Egy bitprocesszor alapú PLC felépítése Az egyes egységek funkciói: − bemeneti multiplexer: a bemeneti logikai változók kiválasztása és az adat kapuzása a programmemóriában tárolt bemeneti cím alapján; − logikai egység: a bemenetére jutó bitek között a programmemóriában tárolt mikrokód által meghatározott logikai művelet végzése; − akkumulátor: egybites operandus- és eredményregiszter; − kimeneti demultiplexer és tároló: a LU által végrehajtott logikai művelet eredményének (1 bit) kijuttatása a programmemória által meghatározott kimenetre és az adat tárolása; − adatmemória: a logikai műveletek részeredményeinek tárolása. A bitprocesszor alapú PLC külső elemei és azok funkciói: − programmemória: a vezérlési algoritmust realizáló program tárolása, − programszámláló: a programmemória egymás utáni címkombinációinak előállítása az óragenerátorról kapott impulzusok hatására. A mikrokód által programozott logikai egység legegyszerűbb felépítését szemlélteti a 2.3. ábra.
19
2.3. ábra. A mikrokód által programozott logikai egység A logikai egység a két bemeneti változón (A, B) négyféle logikai műveletet hajt végre, de a kimeneti multiplexer révén a C, D bemenetek (műveleti kód) által kiválasztott eredmény jut a kimenetekre (Y) az alábbiak szerint: Mikrokód C 0 0 1 1
D 0 1 0 1
Függvény Y A&B A∨ B A &B A∨ B
A 2.2., ill. 2.3. ábrák alapján követhető a bitszervezésű PLC működése. A programmemóriában tárolt operandusmező közvetlenül címezi a bemeneti, kimeneti, ill. RAM-elemeket, a műveleti kód pedig a programozható logikai egység által végzendő műveletet definiálja. A logikai egység mindig az akkumulátor és a másik operandus (bemenet, vagy RAM bit) között hozza létre az előírt logikai műveletet, például a kétváltozós ÉS kapcsolatot. A programmemóriában tárolt programot a PLC az órajel-generátor által működtetett számláló révén, növekményes sorrendben egymás után ciklikusan hajtja végre. A kimenetre juttatott eredményeket a flipflopok tárolják két ciklus között.
A programozható vezérlőkben kétféle funkciójú memóriát alkalmaznak: program- és adatmemóriát. A programmemória a vezérlőprogramot tartalmazza, amely a vezérlési algoritmust realizálja. A bitprocesszor alapú PLC-k esetén a programmemória szóhossza nem szükségképpen igazodik a szóprocesszoroknál ismert 8/16/32 bites szóhosszhoz. A programmemória szóhosszúságát egyrészt az utasítások számának bináris kódja, másrészt a be/ki címtartomány határozza meg. Példaként egy 12 bit szóhosszú memória funkcióit szemlélteti a 2.4. ábra, ahol az utasításbitek száma 3 (23=8 utasítás), a be/ki címbitek száma 9 (29 = 512 be/ki cím, pl. 256 bemenet, 256 kimenet). 20
2.4. ábra. Egy utasítás elhelyezése a programtárolóban Programmemóriaként korábban egyszer programozható, csak olvasható memóriát használtak (Programmable Read-Only Memory, PROM), míg napjainkban törölhető, programozható, csak olvasható (Erasable PROM, EPROM), ill. elektromosan törölhető, újraprogramozható, csak olvasható (Electrically EPROM, EEPROM) memóriát alkalmaznak. Utóbbi előnye, hogy a program módosítása a memóriacsip kivétele nélkül közvetlenül megoldható (in system programming). Főként a felhasználói programok belövésekor jól használhatók programmemóriaként a teleppel védett CMOS RAM-ok (Complementary Metal-Oxid Semiconductor, CMOS). A programfutás közben keletkező változók tárolására írható-olvasható memóriák (RAM) szolgálnak, amelyek a tápfeszültség bekapcsolásakor telepes védelem nélkül tetszőleges értéket (0, ill. 1) vehetnek fel. A RAM-memóriák a következő célorientált funkciókat látják el a programozható vezérlőkben:
− a közbenső adattárolók funkciója hasonló a hagyományos vezérlés segédreléihez. Ezek a tárolók valósítják meg az ún. MERKER funkciókat (a programban M betűvel jelölik). Erre van szükség a diszjunktív alakú függvényekben szereplő VAGY kapcsolatok részeredményeinek tárolásánál vagy a sorrendi hálózatokban a lefutó vezérlés belső állapotainak 1 az n-ből jellegű állapot kódolására. A MERKER memória bitprocesszor alapú PLC-k esetén bitszervezésű; − az I/O RAM funkció a bemeneti, ill. kimeneti változók tárolását jelenti, szintén bitszervezésű; − az időzítők (timer) és számlálók (counter) értékének átmeneti tárolása (bájt vagy szó jellegű). Napjainkban szinte kizárólag teleppel védett CMOS RAM csipeket használnak RAMmemóriaként. Egy tipikus bitprocesszor alapú PLC felépítését szemlélteti a 2.5. ábra [10]. Látható, hogy a logikai egység operandusai lehetnek: egy bemenet (I), egy kimenet (O), egy merkerbit (M), egy időzítőkimenet (T) vagy számlálókimenet (C). A bemeneti változót kivéve valamennyi változó a logikai egységgel, a program futtatásával módosítható.
21
2.5. ábra. Bitszervezésű PLC felépítése
2.2. Bájt- vagy szóprocesszor alapú programozható vezérlők A programozható vezérlők szolgáltatásai az általános célú mikroprocesszorok (bájt- vagy szóprocesszorok) beépítésével minőségileg megváltoztak. A szóprocesszorok felépítése nagymértékben hasonlít a bitprocesszorokéhoz. Az első mikroprocesszorok a 70-es évek elején jelentek meg. A mikroprocesszorok a digitális számítógépek központi feldolgozóegysége funkcióinak ellátására alkalmasak, nagymértékben integrált áramkörök, egyetlen lapkán kialakítva. Az első mikroszámítógép-rendszer már a Neumann-féle modell valamennyi elemét tartalmazta (2.6. ábra): - központi feldolgozóegység (Central Processor Unit, CPU); - memóriák (RAM, ROM); - beviteli/kiviteli egység (Input/Output, I/O); - sínrendszer.
2.6. ábra. A mikroszámítógép felépítése
22
2.2.1. A mikroprocesszor
A mikroprocesszor a számítógép funkcióit ellátó digitális, igen nagy mértékű integráltságú áramkör (Very Large Scale Integration, VLSI), amelynek három fő része van: időzítő-vezérlő egység, aritmetikai-logikai egység (Arithmetical and Logical Unit, ALU) és regiszterek (2.7. ábra).
2.7. ábra. Az egyes részegységek funkciói Az egyes részegységek funkciói:
Az időzítő-vezérlő egység feladata a program utasításai vagy külső kérések (megszakítás, tartás, várakozás) alapján a gép részeinek irányítása. Ez egyrészt az ALU műveleteinek vezérlését, az egyes adatútvonalak nyitását, zárását, a sínek működtetését, másrészt a külső egységek: a memória és az I/O egységek vezérlését jelenti. Az utasítások végrehajtása többnyire mikroprogram alapján történik. Minden utasítás műveleti kódja egy kis kapacitású ROM-tárban, azaz a mikroprogramtárban elhelyezett programot indít el. A mikroprocesszor időbeni működését biztosító órajelet az időzítőegység fogadja. A vezérlőegység fontos része az utasításregiszter, amely a programmemóriából az utasításlehívási ciklusban beolvasott utasítás kódját tárolja, amíg az utasításdekódoló és értelmező logika meghatározza az elvégzendő műveletet és elindítja a végrehajtást vezérlő mikroprogramot. A korszerű processzorokban az IR szerepét az adatcsatornás (pipeline) regiszter váltotta fel. A vezérlőegység fontos funkciója a különböző aszinkron jellegű kérések (programmegszakítás, tartáskérés, várakozáskérés) fogadása és az ezekhez tartozó vezérlés. A mikroprocesszor másik fontos egysége az aritmetikai-logikai egység (ALU), amely az utasításokban meghatározott aritmetikai és logikai műveleteket hajtja végre. Az ALU-hoz szorosan hozzátartozik az akkumulátorregiszter, ill. az állapotregiszter (flagregiszter). A processzorok általában csak néhány aritmetikai műveletet (összeadás, kivonás, szorzás) képesek elvégezni, ezért a korszerű mikroprocesszorokhoz ma már nélkülözhetetlenül hozzárendelnek egy aritmetikai társprocesszort (co-processzor). A mikroprocesszorok speciális és általános célú regisztereket tartalmaznak. Speciális célú regiszterek: utasításszámláló regiszter (Program Counter, PC vagy Instruction Pointer, IP), utasításregiszter (Instruction Register, IR), állapotregiszter (Flag Register, FR), veremmutató (Stack Pointer, SP). Ezek szinte valamennyi mikroprocesszorban megtalálhatók, de az egyes típusok további különleges célú regisztereket tartalmazhatnak, pl. indexregiszter, báziscímregiszter. Az utasításszámláló regiszter mindig a soron következő utasítás memóriacímét tartalmazza. A PC kezdő értékét, azaz a program első utasításának helyét az operációs rendszer jelöli ki. A mikroprocesszor törlésbemenetét (reset) hatásosan vezérelve a PC-be a 0000hex cím töltődik. A
23
PC tartalma vagy minden memória-hozzáférés után eggyel nő, vagy vezérlésátadó utasítás esetén (JUMP, CALL, RETURN stb.) a vezérlőegység a PC-be az új címet tölti be. Az állapotregiszter ún. jelzőbiteket (feltételbiteket), ill. más vezérlő-, ellenőrző biteket tartalmaz. Korábban a flagbitek az ALU-műveletekhez voltak hozzárendelve, pl. átvitelbit (carry), az eredmény nulla voltát jelző bit (zero), túlcsordulásbit (overflow). Az újabb mikroprocesszorok esetén számos vezérlési információt jelzőbitek tárolnak, pl. megszakítás kiszolgálásának letiltása, memórialapozás engedélyezése. A veremmutató speciális regiszter, a veremtár legfelső elemének címét tartalmazza. A veremtároló az adatmemória (RAM) egy lefoglalt területe. Adatokat csak a verem tetejére lehet tenni, és csak onnan lehet levenni. Ezt a memóriakezelési módot „utoljára be, elsőre ki” (LastIn-First-Out, LIFO) kezelésnek nevezik. A veremmutató minden verem (stack) betöltésekor a betöltött bájtok számával csökken (dekrementálódik), ill. kiolvasáskor növekszik (inkrementálódik). Adatbetöltéskor a veremmutató először dekrementálódik és aztán következik be az adat beírása, kiolvasáskor először a processzor olvas, aztán a veremmutató inkrementálódik. Ezért gyakran predekrementáló, ill. posztinkrementáló jellegűnek tekintik a veremműveletet. Egy nyolcbites mikroprocesszor regisztereit a 2.8. ábra szemlélteti.
2.8. ábra. Nyolcbites mikroprocesszor regiszterei A 2.8. ábrán A az akkumulátort, F a flagregisztert (5 bit), a B és C, a D és E, a H és L a regiszterpárba is szervezhető nyolcbites regisztereket jelöli. A kérdéses mikroprocesszor esetén a jelzőbitek funkciói: CY átvitel a legmagasabb helyértékű (Most Significant Bit, MSB) biten, S előjelbit, Z zérus bit, P paritásbit, AC dekád átvitelbit. A jelzőbitek RS flipflopok, amelyeket az ALU módosít aritmetikai vagy logikai műveletek után és az eredmény a flipflopokba íródik. A regiszterek a tápfeszültség bekapcsolásakor véletlenszerű értéket vehetnek fel. A CPU fontos részét képezi a sínrendszer. Ezen a belső egységek, valamint a külső egységek (memória, I/O) közötti adatforgalom bonyolódik. A sínrendszer funkcionálisan háromféle sínt foglal magában: adatsínt (data bus), címsínt (address bus) és vezérlősínt (control bus). A sínrendszer funkciói, jellemzése:
− címsín: megoldja az adatforgalomban részt vevő eszközök kijelölését; egyirányú, háromállapotú, a processzortól függően 16/32 bit szélességű (azaz ennyi vezeték), amely meghatározza a címezhető memória és I/O tartományt; − adatsín: biztosítja az adatok útját; kétirányú, háromállapotú, a processzortól függően 8/16/32 bit szélességű; az adatsínvezérlés meghatározza az adatátvitel irányát; − vezérlősín: összehangolja a kapcsolatban részt vevő eszközök működését; egyirányú, háromállapotú, a processzortól függően 5-15 bit szélességű (azaz ennyi vezeték).
24
A legegyszerűbb vezérlősín ötbites: − memóriaolvasás (Memory Read, MR); − memóriaírás (Memory Write, MW); − beviteli/kiviteli eszköz olvasása (Input/Output Read, I/OR); − beviteli/kiviteli eszköz írása (Input/Output Write, I/OW); − megszakítás (interrupt). A vezérlősín révén lehet az azonos címen lévő memória-, illetve I/O műveleteket megkülönböztetni. A külső sínrendszer lehet helyi sín (local bus), amely a processzorhoz közvetlenül kapcsolódik, ill. lehet rendszersín (system bus), amely a processzor sínmeghajtásán keresztül kapcsolódik a rendszer elemeihez. A sínrendszer használatának előnye, hogy a szabványosított jel és vezetékkiosztás miatt az egyes részegységek könnyen cserélhetők. A rendszer bemenetei hardverjelleggel terhelik a sínrendszert, ezért kell bizonyos számú modul esetén sínmeghajtást használni. A mikroprocesszoros rendszerekben használatos sín párhuzamos sínnek tekinthető. 2.2.2. A mikroprocesszor tipikus műveletei
A CPU működése ciklikus: utasításlehívás, végrehajtás, lehívás, végrehajtás stb. Ezt a pontos sorrendiséget a rendszeróra vezérli. A CPU működésében a legelemibb időegység a gépi állapot, amely rendszerint egy órajel periódusa alatt játszódik le. Egy gépi állapothoz egy jól definiált művelet tartozik: pl. a címinformáció kijuttatása a címsínre. Általában több gépi állapot alkot egy gépi ciklust, ami egy összetettebb műveletet jelent. Tipikus gépi ciklusok: egy memóriarekesz olvasása (MR), ill. írása (MW) vagy I/O eszköz írása, ill. olvasása (I/OW, I/OR), utasításlehívás (fetching) stb. Egy utasítás lehívásának és végrehajtásának együttes művelete az utasításciklus, amely 1...8 gépi ciklusból állhat az utasítás bonyolultságától függően. Általában egy utasításciklus annyi gépi ciklusból áll, ahányszor a CPU-nak a memóriához vagy I/O-hoz kell fordulnia. Minden utasításciklus utasításlehívási gépi ciklussal kezdődik (fetch), a további gépi ciklusok olvasási vagy írási jellegűek. 2.2.2.1. Tipikus gépi ciklusműveletek
Minden utasításciklus első gépi ciklusa egy utasítás lehívása a programmemóriából. Utasításlehívás folyamán a CPU:
− kijuttatja az utasításszámláló tartalmát a címsínre; − az adatsínt bemeneti állapotba állítja; − kiad egy memóriaolvasás- (MR-) jelet a vezérlősínre; − az adatsínen megjelenő információt az utasításregiszterbe tölti; − az utasításszámláló tartalmát 1-gyel növeli. Ha több-bájtos utasításról van szó, akkor a többi bájt beolvasása hasonló művelettel (MR) történik, de az adatok nem az utasításregiszterbe kerülnek. A mai gépek utasításlehívása ettől némileg eltér. Memóriaolvasás folyamán a CPU:
− kiadja a kiolvasandó memória címét a címsínre; − az adatsínt bemeneti állapotba állítja; − kiad egy memóriaolvasás- (MR-) jelet a vezérlősínre; − az adatsínen lévő információt valamelyik regiszterébe tölti.
25
Memóriaírás folyamán a CPU:
− kiadja a memóriacímet a címsínre; − az adatsínt kimeneti állapotba állítja; − kiadja a beírandó adatokat az adatsínre; − kiad egy memóriaírás- (MW-) jelet a vezérlősínre. A memóriaírás művelete hasonló a memóriaolvasáshoz a viszonyok értelemszerű cseréjével. A regiszterírási és -olvasási műveletek tipikus gépi ciklusok, rendszerint az utasításlehívási ciklusba vannak ágyazva. Beviteli/kiviteli eszköz olvasásának (I/OR) és írásának (I/OW) folyamata:
A beviteli/kiviteli eszköz olvasása és írása igen hasonlít a memóriaolvasás és -írás műveletéhez, a folyamat a memóriaszavak I/O-ra cserélésével leírható. Az azonos című memóriavagy I/O egység írását, ill. olvasását a vezérlősínen lévő eltérő vezérlőjel különbözteti meg és így elkerülhető a sínkonfliktus. 2.2.2.2. Több gépi ciklusból álló műveletek
A veremmemória olvasása (Stack Read), a veremmemória írása (Stack Write) és a programmegszakítás (Interrupt) műveletek rendszerint több sajátos gépi ciklusból állnak. Veremmemória olvasása és írása: ez a két művelet megegyezik az MR-, MWműveletekkel, azzal a különbséggel, hogy a memória címét a veremmutató adja és a vezérlőegység biztosítja annak automatikus növelését, ill. csökkentését. A FETCH-, MR-, Stack Readciklusok csak a mikroprocesszor belsejében lévő információforrásokban és célhelyekben térnek el egymástól, kívülről a sínrendszeren csak a pontos memóriacím ismeretében lehet megállapítani, hogy melyik művelet zajlik a sínen. Programmegszakítás: a számítógépes feldolgozás közben igen gyakran következnek be olyan események, amelyek a feldolgozás szempontjából váratlannak tekintendők, pl. egy irányítórendszer esetén valamely érzékelő hibát jelez (tűzérzékelő, füstérzékelő, feszültségkimaradás), amelyek közel azonnali feldolgozást igényelnek. Az ilyen események feldolgozására szolgál a mikroszámítógép megszakításrendszere (interrupt system), ami lehetőséget ad, hogy egy hardvereszköz (pl. érzékelő) programmegszakítást kérjen.
A megszakításkérelem egy jelzés a processzor számára valamely fontos esemény bekövetkeztéről, amely valamilyen kiszolgálóprogrammal reagál ezen aszinkron jellegű eseményre. A megszakításkérést a processzor egy speciális gépi ciklus szerint fogadja el, amit a megfelelő kimeneten (INTA) jelez vissza. A megszakítási funkció ellátására egy hardver-szoftver együttes szolgál, amely együttesen végzi el a kérelem kiértékelését és annak végeredményeként a szükséges tevékenységet. A megszakításokat mikroprocesszoron belüli események is kiválthatják (pl. 0val való osztás esetén). A megszakításkéréseket, amit indíthatunk szoftverből is, a processzor szubrutin jelleggel hajtja végre. Több megszakításkérés esetén a megszakításokat prioritási sorrendjük alapján dolgozza fel a processzor. A hardvermegszakítások rendszerint maszkolhatók, ami azt jelenti, hogy pl. nyolc megszakítási szint közül csak az ötös szintűt engedélyezzük vagy tiltjuk. Ugyanakkor van nem maszkolható megszakításkérés (Non Maskable Interrupt, NMI) is, ami szoftverúton nem tiltható le. Az NMI funkciót rendszerint valamilyen súlyos hardverhibához (pl. feszültségkimaradás) rendelik. A mikroszámítógép hatékony megszakításrendszere feltétele a mérés-, ill. irányítástechnikában, távközléstechnikában elengedhetetlenül fontos valós idejű (real-time) adatfeldolgozásnak.
26
2.2.2.3. A processzor állapotai
Egy processzor működése rendszerint a következő állapotokból áll:
− futó (run) állapot, amikor a processzor a programmemória által meghatározott utasításokat egymás után hajtja végre; − várakozó (wait) állapot, amely a gépi cikluson belül valósul meg; − tartás- (hold-) állapot, amely gépi ciklusok között aktualizálható; − leállás- (halt-) állapot, amikor egy HALT utasítás hatására a processzor leáll, nem végez műveletet és ezen állapotból csak engedélyezett megszakítás hatására lép ki. Várakozás
A CPU tevékenységét egy kvarcoszcillátor vezérli. Egy mikroszámítógép- rendszert úgy terveznek, hogy a CPU és a memóriák azonos sebességgel (frekvencián) működjenek. Előfordul azonban, hogy ez nem áll fenn, pl. ha egy rendszerben a CPU-t gyorsabbra, vagy kényszerűségből a memória egy részét lassúbbra választják. Itt arról az esetről van szó, ha a memóriának csak egy kisebb részének nagyobb a hozzáférési ideje, mint a CPU gépi állapotának az ideje. Ugyanis, ha a teljes memóriatartomány lassabban működik, akkor csökkenteni kell a CPU oszcillátorának frekvenciáját. Előnytelen a rendszer sebességét csökkenteni, mert az az optimális, ha csak akkor működik lassabban a rendszer, ha lassúbb memóriával (vagy I/O-val) kommunikál. Erre dolgozták ki a READY-WAIT funkciót. A READY-WAIT funkció lényege, hogy egy a címsínre csatlakozó logika (dekódoló) felismeri a címkombinációból annak a memóriablokknak a címét, amelyik egy gépi állapotnál több időt igényel, és kimenete várakozást kér a processzor megfelelő (pl. Ready) bemenetén. Ezt a kérést elfogadva a CPU ún. „wait” állapotba kerül, amit a megfelelő kimeneten jelez. A „wait” állapot azt jelenti, hogy a CPU a címsínen, az adatsínen és a vezérlősínen hagyja az előző információt egy (újabb kérés esetén több) gépi állapot idejére. Ha a CPU gépi állapot ideje 500 ns és a memória-hozzáférés 650 ns, akkor egy Ready-kérés kétszer 500 ns hozzáférési időt biztosít a memóriának, ami már bőségesen elegendő. A címdekódoló logikára pedig azért van szükség, hogy ez a várakozás csak a lassú memória esetén lépjen fel. A „wait” állapotot az ún. egylépésű üzemmód kialakítására is felhasználhatjuk, ami a hibakeresésnél előnyös. A mikroprocesszor-technikában a várakozás miatt kiesett gépi állapotokat elengedett ütemeknek is nevezik. Tartás
A mikroszámítógépben a memória- és be/ki eszköz közötti adatforgalom csak két lépésben történhet: memória és CPU, ill. CPU és be/ki eszköz, és viszont. Ez nagy mennyiségű adat esetén megduplázza az adattranszfer idejét, amit a processzor HOLD állapota csökkent. A CPU rendelkezik egy tartáskérés-bemenettel (HOLD vagy BUSRQ). Amennyiben ezen a bemeneten tartáskérés jelenik meg, azt a processzor egy belső folyamat után a megfelelő kimeneten nyugtázza (HLDA vagy BUSACK), ami egyben azt jelenti, hogy a sínrendszerét nagyimpedanciás (Z) állapotba helyezi. Ezután egy külső eszköz rákapcsolódhat a sínrendszerre, és közvetlen adatforgalmat bonyolíthat a memória és a be/ki egységek között. Az ilyen memóriahozzáférést direkt memóriakezelésnek (Direct Memory Access, DMA) nevezik. Azt az eszközt, amely az adatforgalom vezérlését végzi, DMA vezérlőnek nevezik (DMA controller). DMA adatátvitelt alkalmaznak hajlékonylemez- (floppydiszk-) kezeléshez, vagy többprocesszoros rendszerekben a közös memóriakezeléshez. A HOLD állapot szinte kizárólag hardverfolyamat, így kezelése nem jár a CPU belső állapotának megváltozásával, ellentétben a megszakításkérés kiszolgálásával. HOLD állapotban a processzor lehetőséget biztosít a programmegszakításra. A mikroprocesszor működését rendszerint folyamatábrán adják meg, amely 27
gépi állapotokra bontva biztosítja a szinkron jellegű működést és az aszinkron kérések (megszakítás, várakozás stb.) végrehajtását. 2.2.3. Beviteli/kiviteli elemek
A mikroszámítógép beviteli, ill. kiviteli elemei [13] a központi feldolgozóegység és a külvilág (ember, gép, technológia, számítógép) közötti kapcsolat kialakításának lehetőségét biztosítják. A be/ki elemek típustól függően párhuzamos, ill. soros kommunikációra alkalmasak. Közös jellemzőik: biztosítják a be/ki elem csatlakoztatását a mikroszámítógép buszrendszeréhez a szükséges adat-, cím- és vezérlővezetékekkel; rendszerint programozható felépítésük miatt igen rugalmasan alkalmazkodnak a csatlakoztatandó eszközhöz.
A beviteli/kiviteli eszközök beállítását (inicializálását) a rendszer bekapcsolása után a programból kell letölteni. Néhány beviteli/kiviteli áramkör: programozható párhuzamos perifériaillesztő egység (Progammable Peripheral Interface, PPI); programozható soros illesztőegység (Universal Synchronous-Asynchronous Receiver Transmitter, USART); programozható időzítőés számlálóegység (COUNTER/TIMER). 2.2.4. Mikroprocesszor alapú PLC-k hardverfelépítése
A mikroprocesszor bázisú PLC központi egysége 8, 16, ill. 32 bites általános célú processzor vagy mikrovezérlő (microcontroller) egyaránt lehet. Ehhez szükség van a mikroszámítógép szokásos elemeire (CPU, RAM, ROM), valamint a külvilággal való kapcsolattartás eszközeire. A bemeneti, ill. kimeneti vonalak kezelésére négyféle módszer terjedt el: − a bemeneti/kimeneti eszközök a processzor párhuzamos perifériaillesztőin keresztül kapcsolódnak a cím-, adat- és vezérlősínre; − a bemeneti/kimeneti vonalak kezelésére egy külön I/O sínt állítanak elő kifejezetten az I/O kezelésére, tekintettel a moduláris felépítés be/ki vonalainak nagy számára, a terhelési viszonyaira stb.; − távoli I/O kezelés (lásd a 2.2.5. szakaszban); − terepi, soros jellegű buszrendszer szervezésű I/O kezelés (lásd a 4.6. alfejezetben). Az első megoldást főként kompakt PLC-khez használják, ahol a kevés be/ki vonal miatt a külön I/O sín kialakítása nem indokolt. Egy tipikus, mikroprocesszor alapú PLC hardverét mutatja a 2.9. ábra. Látható, hogy a be/ki vonalak kezelésére egy külön I/O sín használatos. Az ábra egyes blokkjai korábban egy-egy fizikai egységet alkottak (egy-egy kártya), ma viszont az integrálási technológia fejlődésével elérhető, hogy a CPU, RAM, ROM, I/O meghajtót egyetlen kártyán helyezik el, miáltal a CPU buszrendszere előnyösebben és biztonságosabban alakítható ki.
28
2.9. ábra. Egy mikroprocesszor alapú PLC általános sémája Az általános célú mikroprocesszor alapú PLC-k hardverét szemlélteti a 2.10., ill. 2.11. ábra három példája gyártott készülékek alapján. A 2.10a ábrán Z180 típusú mikroprocesszorral működő, kompakt kategóriájú PLC egyszerűsített vázlata látható [11]. A PLC 32 darab bitenként programozható digitális be/ki vonalat és négy analóg bemenetet tartalmaz. A kártya külön be/ki sínt nem tartalmaz, a konfiguráció nem bővíthető. A 2.10b ábrán egy 68340 típusú mikroprocesszor felépítésű kompakt PLC hardvere látható [12].
29
2.10. ábra. Egy Z180 (a) és egy 68340 (b) típusú mikroprocesszoros kompakt PLC hardverfelépítése P Program, TX Text (szöveg), F Flags (flegek), T Timers (időzítők), CLOCK Real-time Clock (valós idejű óra), Vol Volatile (felejtő), DB Data Bloks (adatblokkok), C Counters (számlálók), NVol Non-volatile (nem felejtő), R Registers (regiszterek)
A 2.10. ábrából jól kivehetők a mikroszámítógép-rendszer fő elemei: CPU, memóriák, flegek, időzítők, számlálók, megszakításkezelő egység, valós idejű óra, be/ki elemek stb. A be/ki vonalak kezelését itt is külön I/O BUS-szal oldották meg.
30
Az említett PLC főbb hardverjellemzői:
− processzor típusa: µC 68340; − I/O-k száma: max. 128 digitális; − felhasználói memória: min. 32 kB RAM a program-, szöveg- és adatblokk tárolására; − flegek: 8192 ⋅ 1 bit (programozható felejtő-, ill. nemfelejtő-változatra); − adatregiszterek: 4096 ⋅ 32 bit (nemfelejtő); − gyors változású bemenetek: 2 megszakításkérés a gyorsszámláláshoz (max. 1 kHz); − kimenetek: 0,5 A / 24 Vdc. A moduláris felépítésű programozható vezérlőre példaként egy 80C167 típusú mikroprocesszorral gyártott típus hardverét mutatja a 2.11. ábra [10], amelyen a négy 16 bites általános célú regiszter és a négy jelzőbit (N előjel, O túlcsordulás, C végső átvitel, Z zérus) is található, amelyek a programozó által elérhetők.
2.11. ábra. A 80C167 típusú mikroprocesszorral gyártott PLC hardvere A rendszer alapkonfigurációja 128 kbájt RAM-ot és 128 kbájt Flash EPROM-ot tartalmaz. A RAM az alábbi funkciók ellátására szolgál: merker (M), időzítés (T), számlálók (C), adatmező (DB), rendszer-RAM funkció, stack-RAM funkció. A be/ki egységek itt is külön I/O buszra csatlakoznak. A moduláris PLC rack-jének hátlapján kialakított rendszersín (SYSTEM BUS) további hardveregységek csatlakoztatására szolgál. A központi egység három megszakításkérés kezelését biztosítja. A példabeli PLC a be-, ill. kimeneteket I/O RAM egységen keresztül kezeli. A nagyméretű és bonyolult rendszerek irányításához rendszerint több processzort alkalmaznak, amelyek egy-egy speciális funkciót látnak el. Egy ilyen többprocesszoros PLC felépítését szemlélteti a 2.12. ábra, ahol a főprocesszor (Main Processor) 16 bites szóprocesszor. 31
2.12. ábra. A többprocesszoros PLC felépítése A matematikai műveleteket a matematikai processzor, a kommunikációs funkciókat a kommunikációs processzor vezérli. Emellett a nagyszámú távoli I/O kezelést és a PID szabályozási algoritmust is külön processzor végzi. Ezek a processzorok rendszerint mester-szolga (master-slave) kapcsolatban állnak a főprocesszorral. A mester-szolga rendszerű kommunikáció esetén a szolgaprocesszorok csak a mesterrel állnak kapcsolatban, egymással nem. Napjainkban a decentralizált irányítási módszerek kerülnek előtérbe. 2.2.5. Távoli be/ki modulok
A programozható vezérlők speciális kiegészítő egységei a távoli be/ki (I/O) modulok. A távoli I/O kezelés (Remote I/O, RIO) a nagyszámú be/ki vonal esetén indokolt, különösen akkor, ha az I/O eszközök távol vannak a PLC-től. Ilyenkor a központi PLC rack rendszerint tartalmaz egy távolsági I/O rack-et (remote I/O rack), amely soros kommunikációval kezeli a távoli be/ki vonalakat. A távoli I/O modulokkal ellátott PLC felépítését szemlélteti a 2.13. ábra.
2.13. ábra. Távoli be/ki vonalak kezelése (RIO)
32
A soros kezelésű távolsági I/O modulok által kezelt be/kimenetek feldolgozási ideje és válaszideje nagyobb, mint a normál be/ki jeleké. A távoli I/O-k kezeléséhez rendszerint szükség van egy járulékos egységre, amint azt a 2.14. ábra mutatja [6].
2.14. ábra. Járulékos egység a RIO-hoz A PLC adatfeldolgozása és a távoli I/O rack-ek soros lekezelése rendszerint nincs szinkronizálva.
2.3. Kétállapotú bemeneti és kimeneti egységek A PLC-k központi műveletvégző egysége kétfokozatú beviteli/kiviteli egységen keresztül tartja a kapcsolatot a külvilággal, azaz a technológiai folyamat jeladó ill. beavatkozószerveivel. A CPUval rendszerint egy belső be/ki egység (multiplexer vagy I/O port) révén, a sínrendszeren keresztül történik az adatforgalom. A belső I/O egységek tápfeszültsége megegyezik a CPU tápfeszültségével. A belső I/O egységek bemeneteire kapcsolódhatnak:
− a PLC-hez kapcsolódó kétállapotú eszközök, amelyek táplálása közvetlenül a CPU tápfeszültségéről történik, ezért galvanikus leválasztást nem igényelnek (pl. kezelőszervek, billentyűzet); − a technológiáról érkező terepi jellegű eszközök, amelyekre jellemző, hogy táplálásuk nem egyezik meg a CPU táplálásával. Amíg a CPU központi processzora rendszerint 5-15 V, addig a működtetőszervek ettől rendszerint eltérő táplálást igényelnek (pl. 24 Vdc, 48 Vdc, ill. 24 Vac, 230 Vac). A különböző feszültségek keveredésének megakadályozása céljából galvanikus leválasztású bemeneti, ill. kimeneti illesztőket használnak. A galvanikus leválasztást optocsatolóval oldják meg. Ennek főként zavarvédelmi, villamos és biztonságtechnikai (érintésvédelmi) előnye van. A bitprocesszor, ill. szóprocesszor alapú PLC-k bemeneti, ill. kimeneti egységei csak a szervezés módjában térnek el. A bitprocesszor a be-, ill. kimeneteket bitenként, a szóprocesszor bájtonként/szavanként kezeli. Bitszervezésű kétfokozatú bemeneti egységet szemléltet a 2.15. ábra.
33
2.15. ábra. Kétfokozatú bitszervezésű beviteli egység felépítése A kétállapotú kapcsolók jele a zavarójeleket szűrőfokozaton át az optoleválasztású bemeneti fokozaton keresztül továbbítja a PLC által címezhető beviteli elemre, amely lehet port vagy multiplexer. Látható, hogy a bemeneti fokozat nem tartalmaz tárolóelemet. Tárolóelem akkor szükséges, ha fontos az azonos idejű mintavételezés. Ilyenkor egy parancs (utasítás) hatására a PLC összes bemenetének állapotát egy RAM-memória tárolja. Ilyen bemeneti fokozatot használnak a gyorsan változó jelek feldolgozásakor.
2.16. ábra. Bitszervezésű kétfokozatú kimeneti egység felépítése Bitszervezésű kétfokozatú kimeneti egységet mutat a 2.16. ábra, ahol az adat a CPU-tól a mikroprocesszor kiviteli portján át egy tárolóelemre kerül (D flipflop, D latch). A kimeneti fokozathoz a tárolóelem elengedhetetlen, ez tárolja ugyanis a program által előírt és a CPU által létrehozott eredményt (1 bit) két mintavételezés között.
34
A bájtszervezésű processzorral felépített PLC bemeneti fokozatának illusztrálására a 2.11. ábrán bemutatott PLC bemeneti fokozatát a 2.17. ábrán [10], kimeneti fokozatát a 2.18. ábrán [10] mutatjuk be.
2.17. ábra. Bájtszervezésű bemeneti fokozat
2.18. ábra. Bájtszervezésű kimeneti fokozat A 2.18. ábrán látható, hogy mind a bemeneteket, mind a kimeneteket az ún. I/O RAM-on keresztül kezelik. Az I/O RAM-ok írása a program végén PE (page-end character, lap vége) jellel ciklikusan történik. A galvanikus elválasztás − azaz a működtetőfeszültségek közös vonatkoztatási pontjának szétválasztása − zavarvédelmi tulajdonságát a következők alapján érthetjük meg. A bemeneti, ill. kimeneti eszközök rendszerint a technológiai berendezések (motorok, mágneskapcsolók, szelepek stb.) közelében (a terepen) vannak elhelyezve, így induktív és kapacitív úton különböző zavarójelek szuperponálódnak ezen vezetékekre. Galvanikus elválasztás nélkül ezek a zavarójelek a CPU tápfeszültségére jutnának. 35
A CPU-t egy kristályoszcillátor működteti. Galvanikus elválasztás nélkül a zavaróimpulzusok katasztrofális hibát okozhatnak a CPU működésében (pl. akaratlan memóriaírás, -olvasás). A 2.19. ábra szerinti szétválasztás a bemeneti és kimeneti oldalon védetté teszi a CPU működését a külső zavaroktól és véd az esetleges áramütéstől.
2.19. ábra. A galvanikus elválasztás elve Az optocsatoló (optoizolátor) egy közös tokba épített fényemittáló diódából és egy fotótranzisztorból áll. Optoleválasztású bemeneti fokozatot szemléltet a 2.20. ábra.
2.20. ábra. Egyenáramú és váltakozó áramú bemeneti fokozat A 2.20a ábra az egyenáramú galvanikus elválasztást mutatja. Az R ellenállás a tápfeszültség értékétől függ és a LED dióda áramának beállítására szolgál. Rendszerint 5 V, 12 V, 24 V, ill. 48 V tápfeszültséget használnak. A 2.20b ábra váltakozó áramú jel galvanikus elválasztását mutatja. Az R1 a megfelelő áram beállítására szolgál, míg az R2, C1 a váltakozó komponens szűrését végzi (50 ms). A PLC bemeneti kártyájának előlapján a bemeneti állapot információját rendszerint LED-diódával viszszajelzik.
36
Galvanikus elválasztású tranzisztoros kimeneti fokozatot szemléltet a 2.21. ábra.
2.21. ábra. Galvanikus elválasztású tranzisztoros kimeneti fokozat A 2.21. ábrán a kellő erősítéshez Darlington-fokozatot alkalmaznak. A D1 dióda az ellentétes áramimpulzus vágását végzi. A PLC I/O kártyán rendszerint 16 vagy 32 ilyen kimeneti egységet helyeznek el. A különböző kimeneti szervek villamos sajátosságait a felhasználónak figyelembe kell vennie, pl. izzólámpa esetén a hőmérséklettel változó ellenállás, induktív terhelés (relé, mágneskapcsoló) esetén a kikapcsoláskor fellépő feszültség-visszalökés. Váltakozó áramú galvanikus leválasztású kimeneti fokozatot szemléltet a 2.22. ábra, amelyen kimeneti kapcsolóként triakot alkalmaznak. A triak a váltakozó feszültség „0” átmeneténél kapcsol ki, így csökkenti az induktív terhelés kikapcsolásánál fellépő nemkívánatos zavarójeleket.
2.22. ábra. Triakos felépítésű kimeneti fokozat felépítése A váltakozó áramú hálózatokban egyre elterjedtebben használják a félvezető reléket (Solid State Relay, SSR). A félvezető relék (FR) egyfázisú kivitelben készülnek. Blokksémaszerű felépítésüket a 2.23. ábra szemlélteti.
2.23. ábra. Félvezető relével megvalósított kimeneti fokozat 37
A vezérlőkör zajszűrőkből és optikai csatolóból áll. A szűrőkör feladata annak megakadályozása, hogy a rövid idejű zavaróimpulzusok bekapcsolják az FR-t. A vezérlőjel (3... 24 V közötti egyenfeszültségű jel) az optocsatolón át a zérusdetektorra jut, amely annak megjelenését követően a hálózati feszültség első nullátmeneténél kapcsolja be a triak vagy a szembekapcsolt tirisztor vezérlésével a terhelést. Az FR a hálózati feszültségre szuperponált túlfeszültségimpulzusok korlátozása céljából túlfeszültség-védelemmel is el van látva. A félvezető relé gyufásdoboznyi méretű eszköz, jó hővezető tulajdonságú, de villamosan szigetelő műgyantával van kiöntve és csatlakozókapcsai kivételével feszültségmentes. Félvezető relékkel kapcsolt háromfázisú fogyasztót szemléltet a 2.24. ábra.
2.24. ábra. Háromfázisú fogyasztó működtetése félvezető relékkel A közepes teljesítményű félvezető kapcsolóelemek közül régebben a bipoláris tranzisztort alkalmazták a leggyakrabban. Különösen előnyösek az egy tokba integrált kapcsolóerősítők, amelyek közül példaként a TOSHIBA típusának jellemző adatai: − kapcsolt áram 100 A; − kapcsolt feszültség 300 V; − áramerősítés 100. A tranzisztoros kimeneti fokozatot rendszerint rövidzárvédelemmel látják el. A bipoláris tranzisztorokat egyre inkább kiszorítják az utóbbi években megjelent térvezérlésű teljesítménytranzisztorok (POWER FET-ek), amelyek VMOS technikával készülnek és igen jelentős műszaki előnyei vannak. Bekapcsolt állapotban az ellenállásuk hőmérséklettényezője pozitív, ezért melegedés hatására ellenállásuk nő és korlátozza az áramot, így nem léphet fel a bipoláris tranzisztorokra jellemző „termikus megfutás”. Ezek a tranzisztorok közvetlenül párhuzamosan kapcsolhatók. További előny a több nagyságrenddel nagyobb áramerősítés és a nagy bemeneti impedancia miatt igen kicsi (mikrowatt nagyságrendű) vezérlési teljesítményigény, ezért logikai jelekkel közvetlenül vezérelhetők.
2.4. Számlálási/időzítési funkciók A számlálási funkció megvalósítására a PLC-k fejlődése során szoftver-, ill. hardverúton megvalósuló számlálók születtek. Ez a két megoldás a strukturális különbözőségen túl a számlálható frekvencia maximális értékében is eltér a hardveres megoldás javára. A szoftverúton történő számláló hardverfeltétele egy, a mikroprocesszor által kezelt RAM-memória (esetleg regiszter). Ezt szemlélteti a 2.25a ábra, amelyen egy-egy számlálót (C0, C1, C2...) a RAM-memória bájtja vagy szava reprezentálja. Az ábrán a számláló működtetéséhez szükséges funkciók is láthatók: számlálóbemenet (C), törlésbemenet (R), párhuzamos feltöltés (L).
38
Különböző megoldásokat dolgoztak ki az időzítési funkciókra is. Korábban a PLC kimenete által működtetett analóg/digitális időzítőket, hosszabb idejű késleltetéshez kapcsolóórákat alkalmaztak. Napjainkban az időzítési funkciókat a PLC óragenerátor frekvenciájának szoftverúton történő osztására vezetik vissza. Ennek hardverfeltétele megegyezik a számlálóéval, azaz a CPU által kezelt és erre a célra fenntartott RAM memóriaterület a hozzá tartozó indítási (S), ill. a kezdetiérték-betöltési (L) funkció biztosításával (2.25b ábra) [10].
2.25. ábra. Számláló- (a) és időzítő- (b) funkciók a RAM-ban A számlálási, ill. időzítési funkciók hardverfeltételéhez nagymértékben hasonlít a MERKER-memória kezelése is. Ezt szemlélteti a 2.26. ábra.
2.26. ábra. MERKER-memória illesztése a buszvonalhoz A fenti funkciókat rendszerint a 2.27. ábra szerint, a RAM-memória részeként adják meg. Természetesen a RAM-térképek további funkciókat is tartalmaznak.
2.27. ábra. PLC RAM térkép
39
Irodalomjegyzék
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
Ajtonyi I.: Vezérléstechnika II. Budapest, Tankönyvkiadó, 1985. Juhász G., Nagy I. (ford): Informatika és ipari elektronika. Budapest, Műszaki Könyvkiadó, 1997. Demmel L., Molnár T., Török B., Vágvölgyi G.: Programozható logikájú vezérlések. Budapest, Mérnöktovábbképző Intézet, 1989. Tverdota M., Harkay T.: Villamos vezérléstechnika. Budapest, KKMF, 1998. E. A. Parr: Programmable Controllers - An Engineer's Guide. Newness, 1996. Ian G. Warnock: Programmable Controllers Operation and Application. Prentice Hall International, 1988. IEC-1131/I-IV. szabvány, 1992. OMRON: CPM PLC Felhasználói kézikönyv, 1999. SIEMENS: SIMATIC S7-200 Programmable Controller System Manual, 1999. BOSCH: PLC gépkönyv, 1997. Z'WORLD: BL1500 User's Manual, 1990. SAIA: Process Control Devices PCD2 Series, 1993. Ajtonyi I.: Digitális rendszerek. Miskolc, Egyetemi Kiadó, 1998.
40
41
3. PROGRAMOZHATÓ VEZÉRLŐK PROGRAMOZÁSA A PLC-k hardvere univerzális, amely önmagában nem, csak a felhasználói programmal együtt válik a konkrét irányítási feladatra alkalmassá. Ebből következik, hogy a programozható vezérlők alkalmazásának egyik legfontosabb kérdése a felhasználói programok készítése. Már a General Motors által 1968-ban kiírt pályázatban szerepelt a felhasználóbarát, vezérléstechnikaorientált programozási nyelv. Programozási nyelven azt a szintaktikát, azaz formai szabálygyűjteményt értjük, amely segítségével a felhasználói program elkészíthető. A bitprocesszoros PLC-k esetén a programozási nyelv szabályai és a hardverstruktúra jellegzetessége között igen szoros kapcsolat volt. Az ilyen programozható vezérlők programmemóriája kizárólag csak a felhasználói programot tartalmazta, mivel a PLC egyetlen funkciója a vezérlési algoritmus biztosítása volt. A bájt-, ill. szóprocesszor felépítésű PLC-knél a szolgáltatás minőségi javulását részben a hardver, de igen nagy mértékben a szoftver biztosítja. Ez a szoftver a felhasználói programon túl számos további funkciót lát el.
3.1. A PLC-ben futó programok és feladataik A korszerű PLC-k szoftvere a funkció alapján alapszoftverre és felhasználói programcsoportra osztható. Az alapszoftver az állandó (rezidens), a felhasználói program pedig a változó részt képviseli. 3.1.1. Alapszoftver A PLC alapszoftverét − hasonlóan valamennyi mikroszámítógépes berendezéshez − az operációs rendszer biztosítja. A PLC alapszoftvere igen erősen gyártó-, ill. típusfüggő, így egyedi. Ennek ellenére megfogalmazhatók a következő közös funkciók, amelyek szinte valamennyi korszerű típusnál felfedezhetők. Az interpreter funkció a felhasználói program értelmezésére és végrehajtására alkalmas szoftver. Az interpreter a kódolt felhasználói programot utasításonként veszi elő, értelmezi és végrehajtja, ill. néhány típus esetén a felhasználói program a processzor utasításkészletére lefordítva hajtódik végre. A PLC nyelven megírt egyetlen utasítás az adott mikroprocesszor esetén rendszerint több gépi utasítással hajtódik végre. Státusszó-generálás funkció, amely szinte valamennyi mikroszámítógépes berendezésben megtalálható. A státusszó-generálás célja a processzor műveleteiről történő információszolgáltatás. A státusszó mint állapotinformáció igen jól használható a program belövésekor, hibakeresés vagy beüzemelés esetén. Az önteszt funkció a PLC egyes funkcióinak ellenőrzését végzi, különösen a biztonsági PLC-k alkalmazásakor nagy jelentőségű. Az önellenőrzött funkciók lehetnek hardver- (pl. tápfeszültség, watch-dog), ill. szoftverjellegűek. A kommunikációs vonalak kezelése a soros pont-pont, ill. hálózati kommunikációs funkciók ellátása. Napjainkban e funkció jelentősége a PLC-hálózatok, terepi buszok szerepének növekedésével rohamosan nő. Ember-gép kapcsolat terén a PLC egyik alapvető funkciója a kezelő és a PLC közötti kommunikáció biztosítása. Az ember-gép kapcsolat kialakításának hardver- és szoftverfeltételei vannak. A programfejlesztési funkció típustól függően lehet a PLC operációs rendszerének sajátossága, de lehet külön a fejlesztőrendszeré is. Ma már a programfejlesztési funkciót egyre inkább a személyi számítógépek veszik át.
42 Az előbbiek illusztrálására példa a 2. fejezetben vázolt 80C167 processzor alapú PLC alapszoftverének felépítése, amely a STEP-5, ill. STEP-7 nyelv sajátossága. A PLC operációs rendszere három fő szoftvermodultípust tartalmaz: szervezőblokkok (OB), programblokkok (PB) és adatblokkok (DB). Az alapszoftver tíz szervező szoftverblokkból épül fel, amelyek biztosítják: − OB1 a ciklikus működést; − OB2 a rendszer beállítását (set up); − OB5 és OB7 az újraindítási funkciókat; − OB9 a hibakezelést; − OB10, OB11, OB12 a három programmegszakítást; − OB18, OB19 az időzítések kezelését. Az OB1 szervezőblokk tartalmazza az interpretert és a felhasználói program végrehajtását biztosító executive részt. A felhasználói programok a PB blokkokban vannak és korlátozott számú alprogramot (szubrutin), valamint két adatblokkot kezelnek. Ezt szemlélteti a 3.1. ábra [18].
3.1. ábra. Egy PLC alapszoftverének felépítése
43 A PLC ún. hardverteszttel indul (memóriateszt, telepteszt stb.), majd az OB2 rendszerbeállító (system setup) funkció révén az OB5 vagy OB7 blokkon keresztül jut el az OB1 ciklikus üzemmódot biztosító szoftverblokkba. A be/ki memóriát az OB1 blokk végén a PE jel minden ciklus befejezésekor frissíti. A PLC-vel kapcsolatos hibakezelési funkciót az OB9 blokk látja el. A három megszakítási szintet az OB10...OB12 szoftverblokkok kezelik. A programmegszakítások egyike a soros kommunikációhoz van hozzárendelve. 3.1.2. Felhasználói programok A 3.1.1. pontban leírt alapszoftver a PLC-ben futó programok állandó része és minden azonos típusú programozható vezérlőben egyforma. Ezzel szemben a felhasználói programok a PLC programok változó részét jelentik és segítségükkel válik alkalmassá a PLC az adott vezérlési feladatra. A felhasználói programok speciális, vezérléstechnikai, ill. irányítástechnikai orientáltságú programnyelven íródnak. A felhasználói programokkal kapcsolatos, hogy a bitprocesszor alapú PLC-k esetén a hardverstruktúra és a program felépítése között igen szoros a kapcsolat, ezért interpreterre nem volt szükség. Az ilyen PLC utasítások programmemóriabeli elhelyezkedését szemlélteti a 3.2. ábra. Gyakran a mai nem bitszervezésű PLC-k felépítését is sematikusan és a programozási nyelvhez illeszkedően úgy ábrázolják, mintha bitprocesszor alapú lenne.
3.2. ábra. Utasítások elhelyezkedése a programmemóriában bitszervezésű PLC esetén A mai bájt-, ill. szóprocesszor alapú PLC-kben a felhasználói program felépítését az interpreter határozza meg, így az utasítások memóriabeli elhelyezése a 3.2. ábrán vázolttól jelentősen eltér. A bájt-, ill. szóprocesszor felépítésű programozható vezérlőkben a Boole jellegű műveletek végzése körülményesebb, ugyanis ezen processzorok 8, ill. 16 bites szavak között végeznek aritmetikai, logikai vagy adatmozgatási műveleteket. Példa: két bájt (A, B) közötti ÉS kapcsolata. 7 6 5 4 3 2 1 0 Bitpozíció a bájton belül A: 7Ch = 0 1 1 1 1 1 0 0 & & & & & & & & B: F7h = 1 1 1 1 0 1 1 1 A & B = 74h 0 1 1 1 0 1 0 0
44 A művelet eredménye az azonos bitpozícióban levő bitek ÉS kapcsolatából adódik. Bármely kiválasztott azonos bitpozícióban lévő két bit közötti ÉS kapcsolat eredményét további ÉS művelettel, ún. bitmaszkolással kaphatjuk: A & B: 74h maszk: 08h:
0 1 1 1 & & & & 0 0 0 0
0 1 0 0 & & & & 1 0 0 0
eredmény:
0
0
0
0
0
0
0
A választott bitpozícióhoz (3) tartozó maszk
0
A kapott eredmény 00h, ezért a zérusbit Z = 1, ellenkező esetben Z = 0, így a második ÉS művelet után a zérusbit negáltan mutatja a 3. bitek (A3 & B3) ÉS kapcsolatának eredményét. A nem azonos bitpozícióban lévő bitek közötti Boole-művelet előtt kellő számú léptetési műveletet kell végezni. Vannak olyan processzorok, amelyek speciális bitműveletekre képesek, de ezek is több lépésben végzik el a bitek közötti Boole-műveleteket. Az ilyen PLC-kben a bájt-, ill. szóműveletek könnyűek. Egy korszerű PLC-ben a 3.3. ábra szerint definiálhatók az operandusok.
3.3. ábra. Bit-, bájt-, ill. szó definiálása szóprocesszor alapú PLC-ben Hasonló a programozható vezérlőkben használatos be/ki vonalak címzése is. Amíg a bitszervezésű PLC-kben a be/ki vonalak bitenkénti címzése előnyös és természetes, addig az általános célú mikroszámítógépek esetén a be/ki portok címzése bájtonként, ill. szavanként lehetséges. Bájtcímzés esetén például a 38-es bemenet (bit) beolvasásához először meg kell határozni, hogy a 38-es bemenet melyik portcímen van (n ≥ 38/8), tehát az 5-ös című portot kell beolvasni, majd pedig a 6. bitet maszkolni: 39
38
37
36
35
34
33
32
Az előbbiek jól szemléltetik, hogy a második generációs PLC-kben a felhasználói programok memóriabeli elhelyezkedése és végrehajtása az adott mikroszámítógép felépítésétől, típusától és az alapszoftverétől (interpreter) függ. Az interpreter tehát egy közbenső szoftvereszköz a vezérléstechnikai nyelv és a PLC processzora között. Valamennyi felhasználói programnyelv a vezérléstechnikai (irányítástechnikai) feladatnak az interpreter számára érthető formába szervezéséhez szükséges szabályok összefoglalása. A bitcímzés a PLC nyelvek többségében megengedett, és a programozónak az utasítás végrehajtásának módjáról nem vagy csak speciális esetben kell tudnia.
3.2. PLC programnyelvek A PLC-k fejlődése során számos programozási nyelvet fejlesztettek ki. Ezek közös jellemzője az „ahány gyártó, annyiféle programnyelv” volt. Kezdetben a névkódon alapuló programozás volt domináló, ami a mikroprocesszoros CPU-k elterjedésével visszaszorult. Ugyancsak egyidős a PLC-vel a reléjellegű programnyelv is. Napjainkra a különböző felhasználói programnyelvek széles körét alkalmazzák, ami az egyes gyártók eszközei közötti kompatibilitást lehetetlenné teszi. Ezért egyre nagyobb igény jelentkezik úgy a gyártók, mint a felhasználók részéről egysé-
45 ges nemzetközi szabványokban rögzített felhasználói programnyelvek kifejlesztésére. Az IEC 1131-3 számú nemzetközi szabvány az egész világra egységesíteni kívánja a felhasználói programnyelveket és ezek jelöléseit. Ez a szabvány nem új programnyelveket hoz létre, hanem a korábbi, közös jellemvonású nyelveket igyekszik egységesíteni. A PLC programozási nyelvek fő jellemzője, hogy vezérléstechnikai (újabban irányítástechnikai) orientáltságúak. A történelmileg kialakult feladatleíró nyelvek szöveges vagy grafikus rendszerűek, így az IEC 1131 szabvány a PLC felhasználói programnyelveket két osztályba sorolja: szöveges rendszerű és grafikus szimbólumokat alkalmazó programnyelvek. A szöveges szimbólumokkal leírt vezérlési feladat rendszerint egy compiler (fordító) révén kerül a programmemóriába letöltésre. A szöveges rendszerű programnyelveknek két megvalósítási formáját engedélyezik. Az egyik a magas szintű programnyelvekkel (Pascal vagy C) támogatott strukturált felhasználói programnyelv, amelynek angol és német jelölése egyaránt ST (angol: Structured Text, német: Strukturerter Text). Ez esetben a vezérlési feladatot megvalósító felhasználói program leírása hasonlít a Pascal vagy C nyelven megírt program szintaktikájához. E módszer célja, hogy a magas szintű nyelvet ismerők képesek legyenek PLC program készítésére. Ennek ellenére ez a programozási nyelv a PLC technikában eddig nem terjedt el, de egyre népszerűbb. A másik szöveges programnyelv az utasításlistás felhasználói programnyelv, amely jelölése angolul Instruction List, IL, németül Anweisungsliste, AWL. Ez a programnyelv az assembly nyelvű programozásból alakult ki, és a bitszervezésű PLC-knél erősen kötődött a hardverstruktúrához. A grafikus szimbólumokkal leírt és megszerkesztett vezérlési feladat a fejlesztőrendszerben egy letöltőprogram (külön menüpont) révén tölthető le a PLC-be. A 1131-3 szabvány háromféle grafikus szimbólumot alkalmaz: létradiagramos, funkcióblokkos és sorrendi folyamatábrán alapuló programnyelvet. A szabvány a következő PLC nyelveket definiálja és ajánlja. PLC programnyelvek
Szöveges rendszerű nyelvek
Strukturált programnyelv (ST)
Utasításlistás programnyelv (IL)
Grafikus rendszerű nyelvek
Sorrendi folyamatábra (SFC) Funkcióblokk (FB)
Létradiagram (LD)
3.2.1. Strukturált programozási nyelv A strukturált programozási nyelv (ST) egy magas szintű nyelv a vezérlési és szabályozási funkciók leírására az IF...THEN, CASE, FOR, WHILE, REPEAT, stb. parancsok segítségével. A szabvány a 3.1. táblázat szerinti adattípusokat definiálja az ST nyelvhez.
46 3.1. táblázat. IEC adattípusok az ST nyelvhez IEC adattípusok Jelentés INT Egész szám (-32768-tól + 32767) SINT Rövid egész (-128-tól + 127) DINT Dupla egész (-231-től + 231-1) LINT Hosszú egész (-263-tól + 263-1 USINT Előjel nélküli rövid egész (0-255) UINT Előjel nélküli egész (0-216-1) UDINT Előjel nélküli dupla egész (0-232-1) ULINT Előjel nélküli hosszú egész (0-264-1) REAL Valós vagy lebegőpontos szám LREAL Hosszú valós szám (-10-308-tól + ... TIME (d, h, m , s, ms) Időérték megadása (nap, óra, perc, másodperc) DATE Naptári dátum TIME-OF-DAY (vagy TOD) Időmegadás DATE-AND-TIME (vagy DT) A nap dátuma és időpontja STRING Karakterekből álló szöveges információ BOOL Kétértékű (0,1) változó BYTE 8 bites bináris string WORD 16 bites bináris string DWORD 32 bites bináris string LWORD 64 bites bináris string F-EDGE Felfutó él R-EDGE Lefutó él ANY Tetszőleges változó Az IEC ajánlás megengedi a memóriahelyek (RAM) közvetlen címzését. Erre a célra a % karakter használatos. A memória rendszerint három fő részre van osztva: a bemenetekhez rendelt RAM (I), a kimenetekhez rendelt RAM (Q) és a belső funkciókhoz (MERKER) rendelt RAM (M). A memóriába írandó adat lehet bit (X), bájt (B), szó (W) és dupla szó (D) hosszúságú. Például a % I X 22 a bemeneti RAM 22-es bitjét jelenti. Globális változók, amelyek egy programhoz vannak deklarálva, míg a lokális változók egy funkcióblokkon belül vannak deklarálva. Az IEC szabványos kulcsszavait a 3.2. táblázatban adtuk meg.
3.2. táblázat. IEC szabványos kulcsszavak Kulcsszó ACTION/END - ACTION
Leírás Akció kezdetének (start) és végének (end) deklarálása. Használt rövidítések: N nem változik S set (beírás) R reset (törlés) L korlátozott idejű akció D késleltetett akció P impulzus jellegű akció SD tárolt és késleltetett akció DS késleltetett és tárolt akció SL korlátozott ideig tárolt akció
47 ARRAY OF AT CASE OF/ELSE/END_CASE CONFIGURATION/END_CONFIGURATION CONSTANT
EN/END EXIT FOR/TO/BY/DO/END_FOR FUNCTION/END_FUNCTION FUNCTION_BLOCK/END_FUNCTION_BLOCK IF/THEN/ELSIF/ELSE/END_IF INITIAL_STEP/END_STEP PROGRAM/END/_PROGRAM REPEAT/UNTIL_END_REPEAT RETAIN
RETURN STEP/END STEP TASK TRANSITION/FROM/TO/END_TRANSITION TYPE/END_TYPE VAR/END_VAR VAR_INPUT/END_VAR VAR_IN_OUT/END_VAR VAR_OUTPUT/END_VAR VAR_EXTERNAL/END_VAR VAR_GLOBAL/END_VAR WHILE/DO/END_WHILE WITH
Adattípus deklarálása Memóriahely hozzárendelése változóhoz. Például: CRI AT % QX400 CASE típusú struktúra deklarálása Konfigurációs fájl kezdetének és végének definiálása Konstans értékek deklarálása. Például − VAR CONSTANT − PI: REAL: = 3,14 − END_VAR Végrehajtás engedélyezése létradiagramon Kilépés a hurokból Ciklusszervezés definiálása A függvényfunkció kezdetének és végének deklarálása. Például Y: = SIN(X)*SIN(X) Funkcióblokk kezdetének és végének deklarálása IF/THEN/ELSE struktúra definiálása Egy kezdeti lépés definiálása Egy program kezdetének és végének deklarálása Ismétlési funkció definiálása Egy változó értékének definiálása a PLC tápfeszültségének hibája után (power interrupt): − VAR_OT RETAIN − Status: INT − END_VAR Funkcióblokk (szubrutin) vége deklarálása Lépés kezdetének és végének deklarálása Taszk deklarálása Átmenet kezdetének és végének deklarálása Adattípus megváltozásának definiálása Belső változó beállításának deklarálása Bemeneti változó beállításának deklarálása Bemeneti és kimeneti változó beállításának deklarálása Kimeneti változó beállításának deklarálása Külső változó beállításának deklarálása Globális változó beállításának deklarálása, amelyet az összes elemmel lehet címezni a programon belül WHILE (AMÍG) struktúra definiálása Program- vagy funkcióblokk közötti kapcsolódáshoz használt kulcsszó
További fenntartott kulcsszavak: BOOL, INT, REAL, TRUE, FALSE, NOT, OR, AND, XOR, RS, TON, LD, ST, ADD, MUL, DIV, SIN, COS, stb. Például a bemeneti, kimeneti és belső változók definiálására vonatkozó programrészlet és a program szerkezeti felépítése ST nyelven.
48 PROGRAM_Programnév VAR_INPUT (*valamennyi bemeneti változó listája és adattípus deklarálása*) END_VAR VAR_OUTPUT (*valamennyi kimeneti változó listája és adattípus deklarálása*) END_VAR VAR (*valamennyi, a programban használt belső változó és funkcióblokk listája*) END_VAR (*a főprogram*) END_PROGRAM_BLOCK Az ST nyelven definiált funkcióblokk (szubrutin) más PLC nyelvekben is felhasználható (hívható), ha a hordozhatóság feltételei megvannak a két fejlesztőrendszer között. Funkcióblokk definiálása: FUNCTION_BLOCK_Funkciónév VAR_INPUT (*a funkcióblokk bemeneti változóinak listája és azok adattípusa*) END_VAR VAR_OUTPUT (*a funkcióblokk kimeneti változóinak listája és azok adattípusa*) END_VAR VAR (*belső változók deklarálása*) END_VAR (*a funkcióblokk algoritmusát realizáló alprogram*) END_FUNCTION_BLOCK Egy funkcióblokk (szubrutin) definiálása tehát a bemeneti, kimeneti és belső változók deklarálásából és az ismétlődő programrészből áll. Az operátorok közösek a modern magas szintű nyelvekben definiáltakkal: − aritmetikai műveletek (ADD, MUL, SUB, DIV); − összehasonlító műveletek (GT azaz >, GE azaz > =, EQ azaz =, LE azaz > =, LT vagy < és NE azaz < >); − bitműveletek (AND, OR, XOR, NOT); − a SIN, COS, TAN, SQRT és LOG funkciók szintén definiálva vannak. Példa az IF/THEN/ELSE struktúrára (HA/AKKOR/EGYÉBKÉNT) IF < (a Boole kifejezés igaz) > állapot ELSE < állapot > END_IF
49 Például CASE struktúra CASE < (egész kifejezés) > OF < lista > : < állapotok > < lista > : < állapotok > … ELSE < állapotok > END_CASE Az ST nyelv három megoldást biztosít a ciklusszervezésre: FOR...DO ciklusszervezés FOR < index > : = < start > TO < vég > BY < növelés > DO < állapotok > END_FOR WHILE...DO ciklus (AMIG struktúra) WHILE < (a Boole kifejezés igaz) > DO < állapotok > END_WHILE REPEAT...UNTIL ciklus (ISMÉTELD…AMIG) REPEAT < állapotok > UNTIL < (a Boole kifejezés hamis) > END_REPEAT Az ST programozási nyelv előnye a nagyfokú rugalmassága, de alkalmazása magas szintű nyelvi programozási ismereteket és gyakorlatot igényel. 3.2.2. Utasításlistás programozási nyelv Az utasításlistás programozási nyelv (IL) a PLC kialakulásával egyidős és a bitszervezésű programozható vezérlők esetén az utasításkészlet nagymértékben függött az adott feldolgozóegységtől (processzortól). Az ilyen felépítésű PLC-kben egy-egy utasítás a memória egy címén helyezkedett el. Az utasítások száma széles határok között változott. Gyártottak 8, 16, ill. 32 utasítást értelmező vezérlőket. A Motorola MC14500B típusú bitprocesszora 16 utasítást értelmezett. Napjainkban az általános célú processzorok esetén a PLC utasítások típusa kevésbé függ a CPUtól, azt a CPU és az alapszoftverben elhelyezett interpreter együtt határozzák meg. Az utasításlistás programnyelv felhasználói programvezérlési parancsok (utasítások) sorozatából áll. Egy-egy utasítás a műveleti (operációs) részből és az operandusrészből áll. A műveleti rész (utasítás) azt határozza meg, hogy a CPU-nak milyen műveletet kell végeznie. Az egyes műveleteket rendszerint az utasítás nevének rövidítésével jelölik (pl. OR, LD, stb.). Az operandusrész arra a kérdésre ad választ, hogy a műveleti részben definiált műveletet mivel kell elvégezni. Műveleti kód
Például
Művelet AND
Kiegészítés N
Operandus
Operandus I
Kiegészítés B
Paraméter 34
50 A példa szerint az utasítás a 34-es bemeneti (I) bit (B) negáltjának (N) ÉS kapcsolatát végzi az akkumulátorral. Mivel az IEC szabvány a német kulcsszavakat is engedélyezi, a fentiek értelmezéséhez a 2. fejezet PLC utasításformátumát mutatjuk be. Művelet
Operandus kiegészítés
U Und UN Und Nicht O Oder = Zuweisung S Setzen R Rücksetzen
B BY W
Operandus (abszolút)
Bit Byte Wort
Egy utasítás formátuma:
A E M T Z U
Ausgang Eingang MERKER Zeit Zähler B
E
Operandus (szimbolikus)
0.0... 0.0... 0.0... 0... 0...
15.7 23.7 191.7 127 63
1.4
Az előző programszó az operandust abszolút módon definiálja, de az adott PLC megengedi az operandusok szimbolikus megadását szöveges operandusokkal is. Ugyanennek a programszónak a megadása szimbolikus operandussal: U B START. Ez esetben a gép a START operandust az 1.4-es bemenettel azonosítja a felhasználó által megadott azonosítótábla alapján. Az IEC nemzetközi szabványtervezet az utasítások jelölésére az angol és a német megnevezések kezdőbetűit engedélyezi. Az IEC 1131-3 szabványban ajánlott utasításokat a 3.3. táblázat tartalmazza. 3.3. táblázat. IEC 1131 javasolt IL utasítások Sor- Utasítás Kiegészítés szám 1 LD N
Operandus típusa Bármely
2
ST
N
Bármely
3 4 5 6 7 8 9 10 11 12 13
S R AND OR XOR ADD SUB MUL DIV GT GE
N és ( ) N és ( ) N és ( ) () () () () () ()
Boole Boole Boole Boole Boole Bármely Bármely Bármely Bármely Bármely Bármely
14 15 16 17 18
EQ NE LE LT JMP
() () () () C,N
19 20 21
CAL RET )
C,N C,N
Bármely Bármely Bármely Bármely Címke (LABEL) Név
Leírás Operandus betöltése az akkumulátorba (Például LD % IX1) Akkumulátor tartalmának kivitele (Például ST % QX2) Operandus 1-be állítása Operandus törlése Logikai ÉS művelet Logikai VAGY művelet Logikai KIZÁRÓ VAGY művelet Összeadás Kivonás Szorzás Osztás Nagyobb, mint az összehasonlított operátor Nagyobb vagy egyenlő, mint az összehasonlított operátor Egyenlő az összehasonlított operátorral Nem egyenlő az összehasonlított operátorral Kisebb vagy egyenlő Kisebb, mint az összehasonlított operátor Ugrás a címkére Funkcióblokk (szubrutin) hívása Visszatérés a funkcióblokkból Zárójeles művelet zárása
51 Jelölések a táblázatban N NOT, ( ) a zárójel operandusok és műveletek kapcsolására ad lehetőséget, C feltétel (condition), az akkumulátor a PLC processzorának speciális regisztere. Természetesen az utasítások programmá szervezésére léteznek szintaktikai szabályok, de ezek PLC típustól is függhetnek. Az első és második szabály a kérdéses PLC „intelligenciájától” is függ, míg a többi szabály általánosnak tekinthető. Szintaktikai szabályok: 1. Egy kimenetre vonatkozó logikai függvény első változójának betöltése LD vagy LDN művelettel kezdődik. 2. A diszjunktív alakú logikai függvény egyes ÉS kapcsolatainak részeredményeit a MERKER memóriában kell tárolni és a VAGY műveleteket a MERKER bitek között kell elvégezni (ez az újabb típusoknál elmaradhat). 3. A programhurok kialakítását lehetőleg kerülni kell. 4. Az egymásba ágyazható szubrutinok számát a PLC stack-RAM területe korlátozhatja. 5. JMP utasítással (vagy más módon) a szubrutinterületre történő belépés programhibát okoz. 6. A szubrutinból a főprogramba történő visszatérést minden esetben biztosítani kell. 7. A program ciklikus végrehajtásához a kezdőcímre történő visszatérést biztosítani kell. Példa Boole jellegű műveletre: Y5 = I1 & 13 V I2 & I4 Utasításlistás program: LD ANDN ST LDN ANDN OR ST
I1 I3 M1 I2 I4 M1 Y5
Fontos, hogy az ANDN utasítás által végzett logikai művelet az operandus által meghatározott változó negáltjával végez ÉS műveletet, tehát nem azonos a NAND művelettel. Hasonlóan értelmezendő az ORN művelet is. Példa a zárójel alkalmazására és bájt jellegű műveletre: LD GT( ADD )
X BYTE A BYTE B BYTE
(Az X bájt betöltése az akkumulátorba) Tesztelés : X GT (A + B) vagy : X > (A + B)
Megjegyzés: − sok jelenleg gyártott PLC a 3.3. táblázatban leírttól eltérő utasításokat is értelmez és végrehajt; − amíg korábban a PLC utasítások szinte kizárólag a bitműveletekre korlátozódtak, a mai készülékeknél a bájt- ill. szóműveletek is természetesek; − napjainkban egyaránt találkozhatunk az utasítások számának csökkentésére irányuló törekvésekkel, illetve 100 utasításszám feletti típusokkal is; − az utasításlistás programozás során egyrészt a programozó hozhat létre funkcióblokkokat, másrészt használhat könyvtári funkcióblokkokat is.
52 Az utasításlistás programozási nyelv azoknak ajánlható, akiknek gépközeli programozási (pl. assembly nyelv) ismereteik vannak. 3.2.3. Létradiagramos programozási nyelv A létradiagramos programozási nyelv (Ladder Diagram, LD vagy LAD) az áramúttervből alakult ki, így a létradiagramok az áramúttervek szoftver megfelelői. A reléjellegű programozási nyelv kidolgozásának igénye már a General Motors pályázatban is szerepelt, de széles körű elterjedését csak a grafikai lehetőségekkel ellátott fejlesztőrendszerek eredményezték. Szükségességét főként a relés hálózatok tervezéséhez értő szakemberek könnyebb átképzése indokolta. A létradiagramos programozási nyelv alkalmazása az áramútterv bizonyos mértékű ismeretét feltételezi. 3.2.3.1. Áramútterv Az érintkezős vezérlések elvi rajzát általában áramutas rendszerben készítik. Ennek lényege, hogy a tápfeszültség párhuzamosan haladó két vezetéke közé rajzoljuk a működtetőérintkezők és a működtetett készülékek soros vagy vegyes kapcsolású láncait, lehetőleg a működésüknek megfelelő sorrendben. Ez az ábrázolási mód azzal jár, hogy az egy szerkezeti egységet alkotó elemek nem kerülnek egymás mellé. Az áramútrajzon tehát nem törekszünk a relé vagy mágneskapcsoló működtető elektromágnesének és a hozzá tartozó érintkezőknek, illetve a más módon működtetett kapcsolók együtt mozgó érintkezőinek egymás mellé rajzolására. Az áramútrajzon minden elem nyugalmi (raktári) állapotban van feltüntetve. Az áramköröket úgy kell csoportosítani, hogy a működési sorrendben egymást követő áramkörök lehetőleg a rajzon is kövessék egymást. A kapcsolóelemek összetartozásának felismerését a rajzjelek, valamint a betű- és számcsoportból álló tervjelek biztosítják. Rajzjelen az elem szimbolikus képét értjük. A tervjel a rajzjel mellé írt betű- és számcsoport, amely az elemet azonosítja. A tervjel első betűje a készüléknek a rajzjelben szimbolizált fajtájára utal (főnév). A második betű az elem rendeltetésére utal (melléknév vagy jelző). A harmadik betű a készüléknek a technológiai folyamattal való összefüggésére utal. Háromnál több betűből álló tervjelet nem alkalmaznak. Például: NB BE nyomógomb, KE előre (E) irány mágneskapcsolója (K). Az azonos betűjelű elemek további megkülönböztetéséül a betűkombinációkat számok egészítik ki: a 6. szivattyú motorja M6, a harmadik szivattyú motorjának mágneskapcsolója K3. A betűcsoport előtt akkor alkalmaznak számokat, ha egy villamos egységet felépítő elemek azon belül ismétlődnek: a 6. szivattyúmotor első indítófokozatának mágneskapcsolója: 1KJ6, a 6. szivattyú második indítófokozatának késleltetőreléje: 2RJ6. A betűk után kötőjellel írt szám a készülék érintkezőinek sorszámát jelöli: a 2RJ6 relé 4. érintkezője: 2RJ6-4. Egy rajzszámon belül (berendezésen belül) két különböző készüléknek még akkor sem lehet azonos tervjele, ha külön áramkörben vannak. A tervjelekben a tévedések elkerülésére az O és I betűt nem használják. A rajzjelek és tervjelek nincsenek szabványosítva, ezért főleg export és import készülékeknél más jelrendszerekkel is találkozunk. A 3.4. ábrán a fontosabb rajzjelek láthatók.
53
3.4. ábra. Az áramútterv fontosabb rajzjelei Az áramútrajz készítésének szabályai: − a működtető áramkörök áramútjait két függőleges egyenes vonal, az áramforrás két pólusa közötti vízszintes egyenes mentén ábrázoljuk. A háromfázisú váltakozó áramú rendszereket három függőleges egyenes közötti vízszintes egyenesek mentén ábrázoljuk úgy, hogy a bal oldalon két függőleges egyenes (R, S fázis), míg a jobb oldalon egy egyenes (T fázis) van; − a vízszintes vonalak, vagyis az áramutak kereszteződését kerülni kell. Egy-egy teljes áramutat legegyszerűbb vonalvezetéssel ábrázoljuk egy egyenes mentén úgy, hogy az áram útja követhető legyen; − az áramutakat lehetőleg a működtető feszültségek szerint kell csoportosítani; − a hatást kifejtő elem vagy szerv (mágneskapcsoló, ill. relé tekercse, jelzőlámpa stb.) egyik sarkát mindig közvetlenül kötjük be a jobb oldali függőleges egyenesbe (a földelt ágba). Ezzel a megoldással az esetlegesen fellépő földzárlat hatására hibás működtetés nem következik be; − az építőelemeket mindig nyugalmi, feszültségmentes helyzetükben, ill. kiindulási helyzetükben ábrázoljuk. Így pl. a végálláskapcsolók érintkezőit a működtető erőhatás nélküli alaphelyzetben, a reléket, mágneskapcsolókat elengedett, gerjesztés nélküli állapotban ábrázoljuk; − a készülékeket az előzőekben leírt módon tervjelekkel látjuk el; − az áramútrajz ágait gyakran megszámozzák és egy-egy készülék mellett feltüntetik, hogy záró-, ill. bontóérintkezője melyik áramút kapcsolásában vesz részt; − a kapcsolási funkciók könnyebb követésére szokás a relé, mágneskapcsoló mellé a funkciót feltüntetni; − az áramútrajz alapján történő szerelés megkönnyítésére feltüntetik a hozzávezetések csatlakozási pontjainak számát is. Ilyenkor villamos kapcsolási, ill. szerelési rajz nem szükséges. Az áramútrajz előnye a jó követhetőség. Hátránya, hogy a főáramkörök és a segédáramkörök külön rajzon vannak ábrázolva, az építőelemeket nem felépítési összefüggéseikben ábrázolja, továbbá az áramútrajz alapján történő huzalozás nagy gyakorlatot igényel. Ezért alkalmazzák az áramútrajz mellett a villamos kapcsolási rajzot. A kétféle ábrázolási mód összehasonlítását célozza a 3.5. ábra, amely a rövidre zárt forgórészű motor tartóáramkörös vezérlését mutatja.
54
3.5. ábra. Tartóáramkörös motorvezérlés villamos kapcsolási rajza (a) ill. áramútrajza (b) 3.2.3.1. Áramútterv Bár a létradiagramok (LD) az áramúttervek programozási megfelelői, lényeges különbség közöttük, hogy csak logikai egyenletek leírására szolgálnak, nem tartalmaznak speciális, és csak az érintkezős hálózatokra jellemző összevonásokat és elemei csak az adott PLC funkcionális szoftverelemei lehetnek. A létradiagramok főbb elemei: − kontaktusok; − huzalozás; − logikai kimenetek (Output, Flag, MERKER); − időzítők; − számlálók; − különleges elemek (pl. léptetőregiszter, PID blokk). Az IEC szabvány főbb LD grafikus szimbólumait a 3.4. táblázat tartalmazza. 3.4. táblázat. Létradiagram szimbólumai IEC Leírás grafikus szimbólumok —| |— Záró- (munka-) érintkező —|/|— Bontó- (nyugalmi) érintkező —|P|— 0 → 1 átmenetet adó érintkező —|N|— 1→ 0 átmenetet adó érintkező —( )— Tekercs —(/)— Negált működésű tekercs —(S)— RS FF beírótekercs —(R)— RS FF törlőtekercs —(M)— Tápfeszültség-kimaradáskor állapotát megtartó tekercs —(SM)— Tápfeszültség-kimaradáskor állapotát megőrző RS FF beírótekercs —(RM)— Tápfeszültség-kimaradásakor állapotát megőrző RS FF törlőtekercs —(P)— 0 → 1 élre működő (ON) tekercs —(N)— 1→ 0 élre működő (OFF) tekercs
55 A létradiagram szimbólumai az áramútterv rajzjeleiből alakultak ki. Fontos különbség, hogy a létradiagramon az egyes elemek csak a funkció, ill. viselkedés alapján vannak megkülönböztetve, hiszen a létradiagram szimbólumai nem valódi elemek (érintkezők, beavatkozók), hanem szoftverelemek. Ezért nincsenek megkülönböztetve, pl. a nyomógombok, a reléérintkezők vagy a termikus relé érintkezője, ill. a relé és a mágneskapcsoló. A létradiagram készítésének szabályai hasonlók az áramútterv készítésének szabályaihoz, kivéve a speciális hardvervonatkozásokat: − a létradiagramon 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 be; − az összetartozó működtető és működtetett elemeket azonos betűjellel látjuk el, több ilyen elem esetén számozást alkalmazunk; − a vezetékek kereszteződését kerülni kell; − az egyes áramutakat a sorrendi működés szerint ábrázoljuk; − a létradiagram egyes elemeit feszültségmentes állapotban ábrázoljuk; − a létradiagram egyes elemeihez további adatok is írhatók (pl. időzítésre vonatkozó konstans, számláló-határérték, stb.); − a speciális elemek (pl. számláló, időzítő, regiszter stb.) valamennyi működési funkciójáról gondoskodni kell (pl. számláló törlése, irány kijelölése, léptetése); − egy speciális funkció sohasem csatlakozhat közvetlenül a bal oldali referenciavezetékre, csak logikai feltételeken keresztül. A létradiagramos program készítésének lépései: 1. A bemeneti-kimeneti összerendelési táblázat elkészítése: Technológiai változó NB BE nyomógomb NK KI nyomógomb MK1 mágneskapcsoló
PLC-beli (szoftver) változó I11 (Input 11) I12 (Input 12) O22 stb. (Output 22)
2. A logikai egyenletek meghatározása. 3. A létradiagram megszerkesztése. 4. A program szimulációja. A létradiagramos programozási nyelv a következő esetekben ajánlatos: meglévő relés huzalozott vezérlés átalakítása PLC-s vezérlésre, relés rutinvezérlések PLC-s megvalósítása (pl. háromfázisú motorvezérlései) és érintkezős vezérlésekben járatos személyek részére. A létradiagram szemléltetésére a tartóáramkörös kapcsolás LD megfelelőjét a 3.5c ábrán rajzoltuk meg. A létradiagram a bájt-, ill. szóműveletek programozásánál is használható megfelelő funkcióblokkok beiktatásával.
3.5c ábra. Tartóáramkör létradiagramja
56 3.2.4. Funkcióblokkos programozási nyelv A funkcióblokk-diagram (Function Block Diagram, FBD) tulajdonképpen a huzalozott logikában az SSI, MSI áramköröknél használt szimbólumokból kialakított, erősen hardverorientált nyelv. Egy funkcióblokk bal oldalán a bemenetek, jobb oldalán a kimenetek vannak feltüntetve. A jelfolyam iránya az előző fokozat kimenetétől a következő fokozat bemenete felé halad (balról jobbra). Így az FBD szintaktikai szabályai a huzalozott, feszültséglogikájú hálózatok hardverkialakítási szabályaival egyeznek meg, néhány kivétellel (pl. belső terhelési viszonyok, FAN OUT, FAN IN). A fontosabb IEC szabványú funkcióblokkok a 3.5. táblázatban láthatók. 3.5. táblázat. IEC szabványos funkcióblokkok AND, azaz ÉS művelet I1 Y I2 (Y = I1 & ...I n ) & … In NAND, azaz NEM ÉS művelet I1 I2
&
…
Y
o
(Y = I & ...I ) 1 n
In OR azaz VAGY művelet I1 I2
Y
1
…
(Y = I V...I ) 1 1
In NOR azaz NEM VAGY művelet I1 I2
1
...
o
Y
(Y = I V ...I ) 1 n
In
SR FF SR S1
Q1
R RS FF RS S R1
Q1
Az SR FF egy latch, amelynél az S1 bemenetnek van prioritása (beírásra elsőbbséget biztosító SR FF). S1 Boole típusú beíróbemenet R Boole típusú törlőbemenet Q1 FF kimenet Törlésre elsőbbséget biztosító RS FF. S Boole típusú beíróbemenet R1 Boole típusú törlőbemenet Q1 FF kimenet (Az R, ill. S betűk cseréje a domináló bemenetre utal.)
57 0 → 1 átmenet detektor A Q kimenet 1-be íródik a CLK bemenet 0 → 1 átmenetekor. − CLK = Boole típusú CLOCK bemenet (0 → 1 átmenet hatásos) − Q = Boole típusú kimenet
R-TRIG CLK
Q
(Az R-TRIG a rising edge, felfutóélre utal.)
1 → 0 átmenet detektor A Q kimenet 1-be íródik a CLK bemenet 1 → 0 átmenetekor. − CLK Boole típusú CLOCK bemenet (1 → 0 átmenet hatásos) −Q Boole típusú kimenet
F-TRIG CLK
Q
A blokk kimenetén Q = 1 jelenik meg, ha a CLK1 bemeneten 0 → 1, vagy a CLK2 bemeneten 1 → 0 átmenet jelenik meg.
Kettős detektor EDGECHECK CLK1 CLK2
Q
CTU Q
R
CV
PV
CTD
LD PV
− CU −R − PV −Q − CV
számlálóbemenet (counter up input) törlőbemenet (reset input, BOOL) beállított érték (pre-set value, INT) kimenet (output, BOOL) a számláló aktuális értéke (current count value, INT).
A visszaszámláló a CD bemeneten megjelenő 0 → 1 átmenet hatására visszaszámol a PV értékétől 0-ig. A CPU kimenetre induláskor a PV érték íródik, majd a CD 0 → 1 átmenetekor dekrementálódik.
Visszaszámláló (Down-counter)
CD
− CLK1 Boole típusú CLOCK bemenet (1 → 0 átmenet hatásos) − CK2 Boole típusú CLOCK bemenet (0 → 1 átmenet hatásos) − Q Boole típusú kimenet Az előre számláló a CU bemeneten megjelenő 0 → 1 átmenet hatására a PV érték eléréséig előre számol, majd leáll.
Előreszámláló (Up-counter)
CU
(Az F-TRIG a falling edge, lefutóélre utal.)
Q CV
− CD számlálóbemenet, 0 → 1 (count down on rising edge input, BOOL) − LD a PV érték betöltésére szolgáló bemenet. Ha LD = 1, akkor − CV PV és Q = 0 − Q kimenet (output, BOOL) − CV aktuális számlálóérték (INT) − PV beállított érték (preset value, INT)
58 Előre-vissza számláló (Up-down counter) CTUD CU
QU
CD
QD
R
CV
Az előre-vissza számláló a CU, ill. CD bemeneteken megjelenő 0 → 1 átmenetek számlálja. Ha a számláló aktuális értéke eléri a 0-át, akkor a QD kimenet megy 1-be. Ha a számlált érték eléri a PV-t, akkor a QU kimenet megy 1-be. − CU 0 → 1 átmenetre billenő előreszámláló bemenet (BOOL) − CD 0 → 1 átmenetre billenő visszaszámláló bemenet (BOOL) − R törlés (BOOL) − LD a PV betöltése CV-be (BOOL) − PV beállított érték (INT) − QU előreszámlálás kimenete (BOOL) − QD visszaszámlálás kimenete (BOOL) − CV a számláló aktuális értéke (INT) Időzítőelem, amelynek kimenete 1-be billen a PT által meghatározott ideig.
LD PV Időzítő TP IN
Q
PT
ET
Bekapcsolási késleltetés (On delay timer) TON IN
Q
PT
ET
− IN az időzítő bemenet indítása (BOOL) − PT az impulzus hossza (TIME, INT) − Q kimenet (BOOL) − ET eltelt idő (TIME, INT) Monostabil multivibrátor, amely az IN bemeneten fellépő 0 → 1 átmenet hatására az ET értéke növekszik az eltelt idővel arányosan, amíg PT = ET áll elő. Ekkor a Q = 1-re vált. − IN timer start bemenete (BOOL) − PT beállított késleltetési idő (TIME, INT) − Q késleltetett kimenet (BOOL) − ET eltelt idő (TIME, INT)
Kikapcsolási késleltetés A Q kimeneten az 1 jel PT idővel később szűnik meg az IN bemenet (Off-delay timer) 1 → 0 átmenetéhez képest. TOF IN
Q
PT
ET
A valós idejű óra funkciója a dátum és az idő beolvasását biztosítja.
Valós idejű óra (Real-time clock) RTC EN PDT
− IN timer start (BOOL) − PT beállított késleltetési érték (TIME, INT) − Q késleltetett kimenet (BOOL) − ET eltelt idő (TIME, INT)
Q CDT
− EN engedélyező bemenet (BOOL) − PDT dátum és idő beállítása (DT) −Q kimenet (BOOL) − CDT aktuális dátum és idő (DATA_AND_TIME) A real-time óra blokk beállítása (inicializálása) az EN bemenetről történik a PDT értékre.
59 Az FBD programozási nyelv a feszültség logikájú logikai tervezésben jártas személyek részére ajánlható. Ilyen programozási nyelvet használnak például a Siemens, ill. a SAIA PLC-k programozásánál. A PLC programozási nyelvek közötti analógiákat az előre-vissza számláló ST nyelvű programjával szemléltetjük. IF ELSIF ELSIF
R LD CU
ELSIF
CD
THEN THEN AND THEN AND THEN
CV: = 0; CV: = LD; (CV < PV max) CV: = CV + 1; (CV > PV min) CV: = CV - 1
END - IF: QU: = (CV > = PV) QD: = (CV < = O) 3.2.5. Sorrendi folyamatábrás programozási nyelv Már a huzalozott vezérlések idején felmerült egy szoftverorientált vezérlési feladatleírási mód igénye, mivel az áramútrajz, ill. a logikai szimbólumos leírási módszerek erősen kötődtek egyegy megvalósítási módhoz. Kifejlesztették a Grafcet francia nemzeti szabványt. A PLC-k programozására használatos sorrendi folyamatábra (Sequential Flow Chart, SFC) tulajdonképpen a Grafcet továbbfejlesztése és a PLC-k programozásánál mindkettő használatos. 3.2.5.1. Grafcet A Grafcet [4, 12] feladatleírási módszert a számítástechnikában használt folyamatábra és a digitális technika jelölésrendszere alapján dolgozták ki. A működési tervek tartalmazzák a digitális technika szabványos jelöléseit, vagyis a logikai eszközök jele négyzet vagy téglalap alakú, a hatásvonal fentről lefelé, ill. balról jobbra halad. Az ettől eltérő haladási irányt nyíllal kell jelölni. A 3.6. ábra bemutat néhány, a szabvány által megengedett, a logikai áramköri ábrázolásokban nem szokványos, a működési tervekben gyakori jelölési módot. Látható, hogy a jel bármely oldalára együttesen is kerülhet be-, ill. kimenet, valamint a jelölésben össze lehet vonni azokat.
3.6. ábra. A vezérléstechnikában használatos, nem szokványos jelölések A számítógépes programok folyamatábra-készítésekor megszokott kapcsolójelek itt is alkalmazhatók, ha az áttekinthetőség megkívánja (3.7. ábra).
3.7. ábra. A számítástechnikából átvett kapcsolójelek A logikai áramkörökben ritkán alkalmazott, a vezérléstechnikában azonban sűrűn előforduló jelkésleltető tagok jelét és idődiagramját a 3.8. ábra mutatja.
60
3.8. ábra. Jelkésleltető tagok jelölése és értelmezése A működési tervek más szabványban nem alkalmazott jelölései és fogalmai: − az utasítás ebben a szabványban egy állapot megváltoztatására irányuló rendelkezés; − a lépés az irányítási rendszer összetartozó állapotait fogja össze. Lehetőséget ad az állapotok sorrendjének kijelölésére. A 3.9. ábra mutatja az utasítás grafikus jelét.
3.9. ábra. Az utasítás általános szimbóluma Az A mezőbe az utasítás fajtája kerül: −D
a késleltetett (önállóan nem használt);
−S
a tárolt;
− SD
a tárolt késleltetett;
− NS
a nem tárolt;
− NSD a nem tárolt és késleltetett; − SH
a tárolt, még energiakiesés idejében is;
−T
az időben korlátozott (önállóan nem használt);
− ST
a tárolt és időben korlátozott.
A B mezőbe az utasítás hatását írjuk be. Ha az utasítás hatása nem egyértelmű, akkor zárójelbe tesszük. A C mezőbe az utasításkimenet csatlakozási pontjának jelét írjuk, amire hivatkozva nem kell hatásvonallal odavezetni az utasítás kimenetét egy későbbi ábrarészlethez. A 3.10. ábrán látható, hogy az utasításnak több be-, ill. kimenete lehet. A bemenetek közül a betűvel jelöltek jelentése: F R
feltételbemenet, az utasítás végrehajtását akkor engedélyezi, ha értéke 1, törlőbemenet, amely az utasítás törlését eredményezi.
61 A kimenetek közül a betűvel jelölt jelentése: RC
ezen kimenet értéke akkor 1, ha a beavatkozószerv, amire az utasítás vonatkozott, olyan állapotban van, amit az utasítás előírt.
A nem jelölt kimenet akkor 1, ha az utasítás élő, végrehajtandó. Ez önmagában nem jelzi, hogy ténylegesen végrehajtódott-e. Az utasítások magyarázó ábráit a szabvány tartalmazza. Példa erre a 3.11. ábrán látható [4].
3.10. ábra. Utasításszimbólum (a) és vezérléstechnikai értelmezése (b) A 3.10. ábra egy keverőberendezés vezérlésének tárolt és időben korlátozott utasítását (ST) szemlélteti. Az utasítás E1 & E2 feltétel teljesülése esetén aktív, majd a késleltetési idő leteltével vagy a keverő Ki utasítás hatására, vagy külső törlés (R) hatására törlődik. A lépés kimeneti hatása csak E3 & E4 feltétel esetén aktiválódik. A b) ábra a funkciót realizáló huzalozott logikájú hálózatot mutatja be. Ha egyszerre több utasítást jelölünk ki, akkor lehetőség van ábrázolásuk tömörítésére a 3.12. ábra szerint.
62 A 3.11. ábra mutatja a lépés grafikus jelét, egy példát és a hozzá tartozó működést magyarázó leírást.
3.11. ábra. Lépésszimbólum (a, b) és vezérléstechnikai értelmezése (c) Az A mezőben áll a lépés sorszáma, amely szabadon választható. A B mezőben szöveg helyezhető el (pl. 1. Töltés). Egy lépést, ill. jelet akkor tárolunk ebben az egységben, ha a törlőbemenet kivételével az összes bemenete 1. A lépés vagy más néven ugrásjel bevitele után a kimenet értéke 1. Az i-edik lépést rendszerint az előző lépés elérése készíti elő és a további feltételek teljesülése esetén aktiválódik, ill. leggyakrabban a következő (i+1) lépés beírásával törlődik. Az R-rel jelölt bemenet törlőbemenet, ez megengedett, de csak speciális esetekben célszerű alkalmazni. A lépést emellett utasításokkal is ki lehet váltani, ill. oltani. Egyetlen lépéssel több utasítást is ki lehet adni (pl. 021 a 3.12. ábrán), de ugyanarra a beavatkozószervre vonatkozóan csak egyet. Ha sorszám kerül az utasítások C mezőjébe, úgy a számozás minden lépésnél újra kezdődik. Ha az utasítás a következő lépésre is hat, akkor egyszerűen csak a sorszámával; ha távolabbi lépésre hat, úgy a lépés és az utasítás sorszámával együtt hivatkozhatunk rá. A 3.12. ábra példaképpen bemutatja a számozási lehetőségeket [12].
63
3.12. ábra. Grafcet folyamatábra részlete Egy lépés kimenete több lépésben is folytatódhat, méghozzá kétféle módon. A 3.13a ábra esetén a 120 számú lépés törlődik, ha a 130, 131, 132 számú lépés közül bármelyik beíródik (VAGY elágazás). Ez a lehetőség például feltételtől függő ciklus szervezésére ad lehetőséget. A 3.13b ábrán látható esetben a 220 számú lépés törlődik, ha a 230, 231, 232 számú lépések egyidejűleg beíródnak. A 220 számú lépés törlése után már a 230, 231, 232 számú lépések közül is bármelyiket törölhetjük. Ez akkor használható előnyösen, amikor valamilyen művelet után a következő fázis több együttes feltételt kíván, amelyek maguk is utasításokat váltanak ki.
3.13. ábra. VAGY elágazás (a) és ÉS elágazás (b) jelölése Grafcet ábrán A Grafcet szabvány [12] főként a huzalozott logikához kötődik, de általános érvényűnek tekinthető. 3.2.5.2. Sorrendi folyamatábra
Az IEC 1131 szabvány szerinti sorrendi folyamatábra (SFC) igen hasonlít a Grafcet-hez. Az SFC i-edik sejtjét szemlélteti a 3.14. ábra.
64
3.14. ábra. A sorrendi folyamatábra általános sejtje A folyamatábrán a sorrendi hálózat egy-egy belső állapotát, az ezen állapotba kerülés feltételeit, valamint az állapothoz rendelt kimeneti eseményeket tüntetik fel. Ez a módszer az „1 az n”-ből típusú állapotkódolásból fejlődött ki. Ezt szemlélteti a 3.15. ábra.
3.15. ábra. A sorrendi folyamatábra hardvermegvalósítása Minden lépést (belső állapotot) egy RS FF reprezentál. Ha egy állapot előáll, akkor az előkészíti a következő állapotot és törli az előző állapotot realizáló FF-t. Az ábrán jól elkülönülnek az átmeneti feltételek, amelyek teljesülése esetén az előkészített FF bebillen és ezzel a következő lépés aktiválódik és az előző FF törlődik. A mai PLC-kben az RS flipflopokat (FF) a RAM memóriabitjei helyettesítik és az átmenetek feltételeinek meghatározását a CPU szoftverúton végzi. A 3.15. ábra szerinti modell csak az elágazást nem tartalmazó struktúra esetén használható. A korábbi ábrákon feltüntettük a következő állapotot előidéző feltételek mellett az előző állapot törlését is. Az n-ik lépés (MERKER) visszaállítását szemlélteti a 3.16. ábra.
65
3.16. ábra. Az n-ik lépés törlése az (n+1)-ik lépés elérésekor A törlési feltétel rendszerint a következő állapot (n+1) beírási feltétele, de elvileg további feltételei is lehetnek az n-ik lépés törlésének. Az n-ik lépés törlését csak az utóbbi esetben szokták feltüntetni. A folyamatábrás leírás esetén szigorú szabályok rögzítik az n-ik lépésről az n+1. lépésre történő előrehaladás rendjét. Egy átmenet átlépését jelentő előrehaladás akkor jöhet létre, ha az adott átmenet érvényes (elért) és a hozzá kapcsolódó átmeneti feltétel teljesül. Ezek együttes teljesülésekor az átlépés kötelező. Átlépéskor a PLC ciklusideje alatt az átmenetet követő lépés aktívvá válik és az átmenetet megelőző lépés inaktiválódik. Egy átmenet átlépésének megfelelő előrehaladást jól szemlélteti a 3.17. ábra [10, 12].
3.17. ábra. Az (n+1)-ik állapot elérésének változatai A 3.17a ábrán az átmenet nem érvényes, mert a 2. lépés még nem aktív, így a hozzá kapcsolódó feltétel logikai értéke közömbös. A 3.17b ábrán a 2. lépés aktív (•), az átmenet tehát elért, de nem léphető át, mert a hozzá kapcsolódó átmeneti feltétel a(b ∨ c) = 0. A 3.17c ábrán vázolt átmenet átléphető attól a pillanattól kezdve, hogy az a(b ∨ c) = 1 feltétel teljesül. Ez esetben az átmenet kötelező. A 3.17d ábra azt az esetet szemlélteti, amikor a 3. állapot aktiválása és a 2. állapot inaktiválása megtörtént és a 3. átmenet elért. Az előzőekben leírt átmenetek időben sorosan folyó események leírásánál fordulnak elő. A szabvány lehetőséget biztosít időben párhuzamosan folyó események leírására is. Ez VAGY, ill. ÉS jellegű elágazással oldható meg. A VAGY (a), ill. ÉS (b) elágazást szemlélteti a 3.18. ábra a hagyományos szimbólumokkal.
66
3.18. ábra. VAGY (a), ill. ÉS (b) elágazás jelölése hagyományos szimbólumokkal Az IEC szabványban a VAGY jellegű elágazás egyvonalas (3.19. ábra), az ÉS jellegű elágazás kétvonalas átmenettel van ábrázolva (3.20. ábra).
3.19. ábra. VAGY elágazás jelölése IEC szabvány szerint
67
3.20. ábra. ÉS elágazás jelölése IEC szabvány szerint Több lépés közötti, ÉS elágazással szinkronizált átmenetet mutat a 3.21. ábra [10, 12]. A 3.21a ábra szerinti helyzetben az átmenet nem jöhet létre, mert bár az 5., ill. 6. lépés aktív (•), de a 4. lépés nem. Ez ÉS jellegű átmenetnél az átmenet tiltását jelenti. Ilyenkor a (3) feltétel állapota közömbös. A 3.21b ábrán a 4., 5., 6. lépések aktívak, ezért az átmenet elért, de nem léphető át, mert a (3) feltétel nem teljesül. A 3.21c ábrán mindkét feltétel teljesül az átlépéshez, így az átlépés kötelező. A 3.21d ábra az átmenet bekövetkezése utáni állapotot szemlélteti. Az átlépés párhuzamosan megy végbe, amelynek eredményeként: − a 7., ill. 8. lépés aktiválódik; − a 4., 5., ill. 6. lépések inaktiválódnak (törlődnek); − a 7., 8. lépések elértté válnak.
3.21. ábra. Több lépés közötti ÉS elágazással szinkronizált átmenet szemléltetése VAGY jellegű elágazásnál egyidejűleg csak az egyik ágon folytatódhat a lépések közötti előrehaladás. Ezt úgy érik el, hogy minden ág belépésénél eltérő (kizáró) feltételeket definiálnak. Erre példa a 3.22. ábra [10, 12].
68
3.22. ábra. VAGY jellegű elágazás szemléltetése Az 5. lépésről mindig csak egyik ágra lehet továbblépni a teljesülő feltételektől függően. Tehát az 5. lépés után vagy a 6., vagy a 8., vagy a 9., vagy a 11., vagy a 13. lépés következik. A 14. lépésre bármely ágról át lehet lépni. A VAGY, ill. ÉS elágazások kombináltan is alkalmazhatóak a megfelelő szintaktikai előírások betartásával. Két speciális SFC struktúrát szemléltet a 3.23. ábra [10].
3.23. ábra. VAGY, ill. ÉS elágazás kombinálása A 3.23a ábrán vázolt folyamatábra különlegessége, hogy az egyik VAGY elágazás nem tartalmaz lépést, csak a továbblépés feltételét, d. A struktúra formailag helyes. A 3.23b ábrán egy ciklusszervezés látható. Ha a c feltétel nem teljesül, a d viszont igen, akkor az S31, S32 lépések ismétlődnek. A struktúra formálisan helyes, de a végtelen ciklus elkerülését biztosítani kell. Hibás struktúrájú SFC-t szemléltet a 3.24. ábra [10].
69
3.24. ábra. Hibás elágazások Mindkét ábrán látható, hogy a t2 feltétel nem teljesülése esetén az F lépés nem jöhet létre. A 3.24a ábrán az ÉS elágazás nélkül is megtörténhet a továbblépés, a 3.24b ábrán pedig a t2 nem teljesülése esetén nem történhet továbblépés a párhuzamos ágon a kettős ÉS elágazás miatt. Az SFC abban tér el az előzőkben ismertetett négyféle programozási nyelvtől (ST, IL, LD, FBD), hogy az SFC nem jelent a PLC-be közvetlenül betölthető programot. Az SFC-ből rendszerint az előző négy programozási nyelv valamelyikén megfogalmazott programot generálják. Az SFC igényli a legkevesebb speciális ismeretet a feladat megoldásához. Az SFC-vel leírt feladatok programozásához egyes gyártók a létradiagramos programozás keretében az ún. stepladder (STL), léptetőrelé funkciót vezették be. A 3.25. ábra az SFC (3.25a ábra) és az LD (3.25b ábra) közötti kapcsolatot szemlélteti [9]. Az 3.25. ábra szerint az S600 lépés az X400 bemenettel aktiválódik és az S601 lépéssel törlődik. Ehhez a lépéshez az Y430 kimenet van rendelve. A törlési funkciót megvalósító érintkezőket, hasonlóképpen az SFC szimbólumhoz, rendszerint nem tüntetik fel a létradiagramon.
70
3.25. ábra. Léptetőrelé (STL) funkció (a) az SFC-n és realizálása létradiagramon (b)
3.3. A PLC program végrehajtásának módjai A mai PLC-k olyan speciális mikroszámítógépek, amelyek programjukkal és speciális be/ki eszközeikkel az irányítási, főként vezérlési feladatok közvetlen végrehajtására alkalmasak. Napjainkban egyre népszerűbb a személyi számítógépek központi egységének használata PLC funkciókhoz. A PLC-k és a számítógépek között a négy legfontosabb különbség a következő: valós idejű működés, környezeti feltételek, programozási nyelvek és a programvégrehajtás módja. Valós idejű működés: a PLC-k valós idejű (real-time) operációs rendszerrel vannak ellátva, amelynek fő prioritása a be/ki eszköz állapotának lekezelése egy meghatározott válaszidő alatt. Környezeti feltételek: a PLC-ket ipari környezetben előforduló körülmények (hőmérséklet, páratartalom, zavarok, stb.) közötti működésre tervezték és kivitelezték. Programozási nyelvek: a PLC-k speciális, irányítástechnika-orientált nyelvezettel rendelkeznek. Programvégrehajtás módja: a PLC-k és a PC-k közötti alapvető különbség a programvégrehajtás. A számítógépek ma már a korszerű operációs rendszerek révén az ún. multitaszkos program-végrehajtási módot, míg a PLC-k a szekvenciális végrehajtási módot alkalmazzák. A programozható vezérlők fejlődése során háromféle utasításfeldolgozási móddal találkozhatunk: lépésorientált sorrendi, ciklikus és aciklikus működés. Lépésorientált sorrendi működés esetén a PLC csak a következő lépés kialakulásának feltételeit vizsgálja. Ilyen felépítésű PLC tehát nem vizsgálja ciklikusan az összes bemenetet. Az ilyen készülék esetén, ha például a következő sorrendi lépés (pl. 14.) feltétele az X 2 & X3 , akkor a 13. lépés teljesülése után a PLC csak az X2, X3 bemeneteket olvassa be és vár az ÉS kapcsolat teljesülésére. Az ilyen PLC-k ma már nem használatosak. A ciklikus működésű PLC-k a leggyakoribbak. Ez a program-végrehajtási forma valamenynyi folyamateseményt programozottan figyeli a program ciklikusan ismételt végrehajtásával. Ennek a feldolgozási módnak az az előnye, hogy egyszerűbb hardvert és szoftvert igényel, hátránya viszont, hogy a ciklusidő és a reakcióidő függ a felhasználói program hosszától és az utasítá-
71 sok típusától. A ciklikus szervezésű programnak két változata ismert: a lineáris és a strukturált programvégrehajtás. Lineáris végrehajtásúnak tekinthetők azok a PLC-k, amelyek vezérlésátadó utasításokat nem alkalmaznak, így a program utasításait növekményes, kötött sorrendben hajtják végre. Előnyük, hogy a válaszidők viszonylag könnyen megadhatók, hátrányuk, hogy bonyolult programok esetén igen megnő a letapogatási idő és nincs lehetőség az ismétlődések kihasználására. A strukturált szervezésű programok főprogramból és alprogrammodulokból (taszkok, szubrutinok) állnak. A programmodulok paraméterezhetők, többször is hívhatók és egymásba ágyazhatók. A strukturált szervezésű program felépítése a 3.26. ábrán látható.
3.26 ábra. Strukturált program felépítése A 3.26. ábrából kitűnik, hogy a program végrehajtása alapvetően ciklikus az első modulhívó utasításig. A strukturált ciklikus feldolgozású PLC-k előnye, hogy a modulok az ismétlődő programrészek egyszerű programozására adnak lehetőséget. Hátrányuk, hogy a programozásuk mélyebb programozási ismereteket igényel és a válaszidő meghatározása nehézkes. Ilyen feldolgozásra csak olyan PLC-k alkalmasak, amelyek utasításkészlete szubrutinhívást, megszakításkezelést, stb. tartalmaz. A strukturált ciklikus PLC-ket némely irodalomban aciklikus programvégrehajtású PLC-knek nevezik. 3.3.1. Ciklusidő A lineáris, ciklikus működésű PLC tehát az utasításokat ciklikusan egymás után hajtja végre. Az utolsó utasítás végrehajtása után visszatér a program elejére. A program egyszeri végrehajtási idejét nevezzük programletapogatási időnek (scan time) vagy ciklusidőnek (cycle time). Ez az idő függ a program méretétől és a processzor sebességétől. A ciklusidő tipikusan 1-5 ms/K, ahol K a programmemória 1024 rekeszenkénti mérete.
72 Az átlagos letapogatási idő rendszerint 10-50 ms között van a program hosszától függően. A ciklusidő mellett használatos a reakcióidő fogalma is. A PLC-k reakcióidejét a ciklusidőn kívül a be- és kimeneti jelkésleltetési idők befolyásolják. A maximális reakcióidő értéke a (3-1) képlet alapján határozható meg: (3-1) Tr max = 2Tc + T + T . bj kj ahol Tr max a maximális reakcióidő, Tc a PLC ciklusideje, T bemeneti jelkésleltetési bj idő, T kimeneti jelkésleltetési idő. A 2-es szorzó szerepe a 3.28. ábra alapján indokolható. kj A bemeneti jelkésleltetés a nagyfrekvenciás jelek szűrése, míg a kimeneti jelkésleltetés az induktív terhelések áramlökéseinek csillapítására alkalmazott RC szűrők miatt lép fel. A hálózatba szervezett PLC-k esetén még a hálózat adatforgalmához szükséges időt is figyelembe kell venni. A készülékek jelentős részénél a bemeneti jelkésleltetési idők tipikus értéke 2-3 ms, míg a kimeneti jelkésleltetési időké 1 ms. A bemeneti és kimeneti jelkésleltetés főként analóg jelfeldolgozás esetén növekedhet. A PLC ciklusideje meghatározza a PLC-vel feldolgozható jelek frekvenciáját. Ezt szemlélteti a 3.27. ábra.
3.27. ábra. Különböző frekvenciájú jelek feldolgozása és a mintavételezési frekvencia kapcsolata A 3.27a ábrán vázolt frekvenciájú jelek hibátlanul feldolgozhatók a PLC-vel, mert a jel frekvenciája jóval kisebb, mint a letapogatási frekvencia. A 3.27b ábrán a jel frekvenciája alig nagyobb, mint a PLC mintavételezési frekvenciája, így a két mintavételezés közötti időben egy impulzus elvész. A 3.27c ábrán a jel frekvenciája jóval nagyobb, mint a programletapogatási frekvencia. Az utóbbi két esetben a jelsorozat nem dolgozható fel hibátlanul. A leírtakból következik, hogy a számlálást egy bizonyos frekvencia felett rendszerint speciális számlálómodulokkal (counter) oldják meg. A folyamatos I/O kezelésű PLC-k (3.31. ábra) esetén lehetőség van a letapogatási frekvencia növelésére úgy, hogy az impulzusbemenet lekérdezését végző programrészt többször is beiktatjuk egy programcikluson belül. A bemeneteken történt jelváltozás és a kimeneteken megjelenő válasz közötti reagálási idő minimális (a) és maximális (b) értékét szemlélteti a 3.28. ábra.
73
3.28. ábra. A minimális (a) ill. maximális (b) reakcióidő szemléltetése Az előzőek illusztrálására a 2. fejezetben bevezetett 80C167 típusú mikroprocesszorral működő PLC jellemző adatainak értelmezése látható a 3.29. ábrán [18].
3.29. ábra. A ciklusidő, reakcióidő értelmezése egy konkrét típus esetén
74 A 80C167 típusú mikroprocesszorral működő PLC jellemző adatai: − ciklusidő/K < 0,5 ms; − minimális jelkondicionálási idő 3,8 ms; − maximális reakcióidő 4,6 ms. Az utóbbi két adat 1 K hosszúságú programra érvényes. A PLC-k központi processzorának sebességét az utóbbi időben sikerült jelentősen növelni. Ez lehetővé teszi, hogy azonos ciklusidő alatt mind több műveletet hajtson végre. A SIMATIC S7 PLC a 3.30. ábra szerinti funkciókat végzi egy programletapogatási ciklus alatt, a következő sorrendben: a bemenetek beolvasása, a program végrehajtása, a kommunikációs kérések kiszolgálása, az önteszt és más diagnosztikai funkciók ellátása és a kimenetek írása.
3.30. ábra. Ciklusidő értelmezése a SIMATIC S7 PLC-nél A programmegszakítások kiszolgálása nem része a ciklusidőnek, hanem eseményvezérelt módon (aciklikusan) hajtódik végre. A ciklusidő betartása a valós idejű működés szigorú feltétele. A ciklusidő állandó és változó részből tevődik össze. A változó részt vagy korlátozással látják el (pl. 3 db megszakításkérés, maximált idejű végrehajtással) vagy maga a PLC méri a ciklusidőt. Az OMRON CPM PLC családja például lehetőséget ad a ciklusidő határértékének bevitelére a set up funkcióban. Ennek révén az egyes perifériák kiszolgálási ideje, valamint a teljes ciklusidő beállítható és a túllépés lekezelhető (lásd a 9. fejezetben). 3.3.2. A be- és kimenetek kezelése A be-, ill. kimenetek feldolgozása rendszerint kétféle: folyamatos egyenkénti I/O kezeléssel, vagy blokkos I/O kezeléssel. A folyamatos I/O kezelés esetén az egyes be-, ill. kimenetek a program végrehajtása közben más-más időpillanatban kerülnek beolvasásra a PLC mintavételezési idejétől és a be/kimenetek programban elfoglalt helyétől függően. A módszer hátránya, hogy gyorsan változó jelek esetén egy mintavételezési cikluson belül ugyanazon változó két mintavételezés között értéket válthat, ami esetleg hibás működést okoz. A blokkos I/O kezelés esetén az I/O elemek kezelése egy közbenső I/O RAM közreműködésével történik. Az ilyen PLC-k működése két fázisra bontható: I/O kezelés, ill. programvégrehajtás. Ez esetben valamennyi be-, ill. kimenet mintavételezése egy időben történik. A kétféle I/O kezelési módot szemlélteti a 3.31. ábra [9].
75
3.31. ábra. A folyamatos (a), ill. blokkos (b) I/O kezelés időviszonyai Blokkos I/O kezelésnél a CPU és az I/O RAM közötti adatforgalom rendszerint egy I/O copy szubrutin révén valósul meg. Ezt szemlélteti a 3.32. ábra [9].
3.32. ábra. Az I/O másolás funkció illesztése a programba A kétféle I/O kezelés között lényeges különbség, hogy a 3.31b szerinti I/O kezelésnél garantáltan nem változnak a be-, ill. kimenetek egy program-végrehajtási ciklusban. Ha egy bemeneti jel megváltoztatja állapotát az I/O copy rutin után, akkor az csak a következő I/O copy műveletnél lesz felismerve és érvényesítve. Így a program-végrehajtási ciklusban a végrehajtandó logikai műveletek egy mintavételezett állapotra vonatkoznak. Ez a feltétel a folyamatos I/O kezelés esetén nem teljesül.
76 Gyorsan változó folyamatok esetén a blokkos feldolgozási mód ajánlott. A blokkos feldolgozású PLC végrehajtásának szemléltetésére a 3.5c ábrán bemutatott tartóáramkör létradiagramos program végrehajtását a 3.33. ábrán találjuk [9].
3.33. ábra. A 3.5c ábra szerinti létradiagramos program-végrehajtása
3.4. Programozási példák Ebben az alfejezetben az előzőekben leírtak szemléltetéséhez néhány gyakorló példát mutatunk be. Összetettebb és technológiai leírásokat is tartalmazó feladatokat a 6. fejezetben ismertetünk. 3.4.1. Létradiagramos és utasításlistás programozás A Boole jellegű vezérléstechnikai feladatok példájaként, a könnyű követhetőség céljából, csak néhány utasítást tartalmazó PLC-t választottunk. A példáknál használt PLC utasításkészlete: LD OUT AND OR ... | ORB ANB
Betöltés, ágkezdet Kivitel ÉS művelet, soros kapcsolás VAGY művelet, párhuzamos kapcsolás Kiegészítő operátor: invertálás művelet VAGY művelet párhuzamos ágkezdettel ÉS művelet soros ágkezdettel
A további utasításokat a típusfeladatoknál ismertetjük. Mivel az IEC szabványt még nem minden PLC-gyártó vette át (főként a korábbi készülékekben), ezért a szemlélet bővítése céljából az alkalmazott jelöléseket felváltva használjuk. A következő példák a választott PLC gépkönyve alapján készültek.
77 Bemenetek és kimenetek hozzárendelése: − bemenetek: X400...407; X410...X413, − kimenetek: Y430...Y437; Y500...Y507. 1. példa: VAGY (3.34a ábra), ill. ÉS (3.34b ábra) kapcsolat programozása
3.34. ábra. VAGY (a), ill. ÉS (b) kapcsolat programozása létradiagrammal és utasításlistával 2. példa: NOR, ill. NAND függvények programozása (3.35. ábra)
3.35. ábra. NOR (a), ill. NAND (b) kapcsolat programozása létradiagrammal és utasításlistával
78 3. példa: diszjunktív alakú függvény programozása A diszjunktív alakú függvények ÉS/VAGY felépítésűek, így a létradiagramon soros ágak párhuzamos kapcsolásából állnak. Példaként a kétváltozós ANTIVALENCIA (EXOR) létradiagramját rajzoltuk meg a 3.36. ábrán.
3.36. ábra. ANTIVALENCIA művelet létradiagrammal és utasításlistával A korábbi PLC-knél a diszjunktív alakú függvények programozásánál az egyes ágak részeredményeit a MERKER-ben kellett eltárolni. Ez most is így történik, csak automatikusan, ezért került a programba az ORB utasítás (OR Branch). A problémát az okozza, hogy a PLC-ben az utasítások végrehajtása mindig az akkumulátor és egy operandus között történik. Így egy soros jellegű feldolgozás részeredménye az akkumulátorban marad és a normál OR művelet BOOLE algebrailag hibát okoz. Az ANTIVALENCIA függvényre alkalmazva: LD ANI ORI AND OUT
X 400 X 401 X 400 X 401 Y 434
Ez a program az alábbi függvényt realizálja: Y430 = (X400 & X401 ) ∨ X400 ) & X401
ORB utasítás nélkül a helyes program: 0 1 2 3 4 5 6
LD ANI OUT LDI AND OR OUT
X400 X401 M100 részeredmény-tárolás a MERKER-ben X400 X401 M100 VAGY kapcsolat a részeredmény és a MERKER tartalma között Y430
A hibás programozás automatikus kiküszöbölését valósítja meg diszjunktív alakban az ORB, konjunktív alakban az ANB utasítás automatikus MERKER kezeléssel. 4. példa: MERKER memória használata segédreléként
A létradiagram lehetőséget biztosít a MERKER memória segédrelékénti alkalmazására. Öntartó segédrelé kapcsolását szemlélteti a 3.37. ábra.
79
3.37. ábra. Öntartó áramkör LD-on A kapcsolás felhasználható a tápfeszültség-kimaradás figyelésére és ettől függően a további ágak engedélyezésére. A másik alkalmazási lehetőség a közös hálózat kiemelése a 3.38. ábra szerint [9].
3.38. ábra. Közös áramkörrész kiemelésére használt MERKER-funkció Az M101 MERKER három ág által realizált hálózatot reprezentál és kontaktusa tetszőleges bemenettel sorba köthető, így jelentős programegyszerűsítés érhető el a közös rész kiemelésével. Harmadik alkalmazásként az állapotát tápfeszültség-kimaradáskor is megtartó funkciót szemléltet a 3.39. ábra [9]. Az M300 MERKER teleppel védett RAM-területen van elhelyezve.
3.39. ábra. Tápfeszültséghibától védett MERKER-funkció
80 5. példa: impulzusgenerátor programozása PLS utasítással
A 3.40a ábra 0 → 1 átmenetre indított, ill. a 3.40b ábra 1 → 0 átmenetre indított impulzus generálását szemlélteti, PLS funkció felhasználásával [15]. Az impulzus hossza egy program-végrehajtási ciklus (t scan ) . A fenti kapcsolást rendszerint számlálók, regiszterek léptetéséhez használják.
3.40. ábra. Egy impulzus generálása PLS funkció felhasználásával 6. példa: RS FF programozása
RS FF programozása látható a 3.41. ábrán. Az S, ill. R programágak nem közvetlenül követik egymást és a vezérlési feltételt is biztosítani kell. Egyes PLC-k beírásra, ill. törlésre elsőbbséget biztosító RS FF-ot is értelmeznek.
3.41. ábra. RS flipflop programozása létradiagramon
81 7. példa: időzítések programozása Impulzuskésleltetés programja (a) és idődiagramja (b) látható a 3.42. ábrán [9].
3.42. ábra. Késleltetés programozása létradiagrammal és utasításlistával Késleltetések összekapcsolására mutat példát a 3.43. ábra az idődiagram feltüntetésével.
3.43. ábra. Hosszú idejű késleltetés programozása a timerfunkciók összekapcsolásával A példában az X401 indítja az indításra késleltetett T450 timert, amely a maximális időre van programozva (999 s). A T450 kontaktusa indítja a T451 timert (501 s) az idődiagram szerint. Azért van szükség az időzítőelemek sorba kapcsolására, mert az igényelt késleltetési idő nagyobb egy elem maximális értékénél (1500 s > 999 s). Impulzusgenerátor programozására láthatunk példát a 3.44. ábrán két időzítőelem felhasználásával [15].
82
3.44. ábra. Impulzusgenerátor programozása A kapcsolás működése az idődiagram alapján követhető. A 3.45. ábra 0 → 1 monostabil multivibrátor programozását szemlélteti. A monostabil multivibrátort az X400-as bemenet indítja és a T450 timer valósítja meg. A példában az időzítés 8 s-ra van programozva [15].
3.45. ábra. 0 → 1 átmenetre billenő monostabil multivibrátor programozása A 3.46. ábra 1 → 0 átmenetre működő monostabil multivibrátort szemlélteti. Az X400 bemenet indítja az M100 MERKER-t, majd az X400 megszűntével indítja a T450 időzítőt. Az Y430 kimeneten, az idődiagramon bemutatott jelalak jelenik meg [15].
83
3.46. ábra. 1 → 0 átmenetre billenő monostabil multivibrátor programozása 8. példa: számlálási funkciók programozása
A számlálási funkciót létradiagramon a 3.47. ábra általános sémája szerint lehet programozni. A programban gondoskodni kell a számláló törléséről, valamint az impulzusbemenetről [9].
3.47. ábra. Számlálási funkció programozásának sémája létradiagramon Az ábrán a számláló (C460) törlését az X402 bemenet végzi. A számláló az X403 bemeneten megjelenő jelváltozásokat (M100) számlálja. A K8 a programozott számláló végértéke (8 impulzus). A C460 kimeneten a végérték elérésekor jelenik meg a jel, és ez működteti az Y430 kimenetet. Egy számláló konkrét programja látható a 3.48. ábrán. A számláló törlését az X406 végzi, ill. a végérték elérésekor (5) automatikusan törlődik (ismétlőszámláló). Az első két ág az X405 „jelformálását” végzi. A számláló az X405 bemeneten megjelenő jelváltozásokat számolja és minden ötödik impulzus után jelenik meg az Y430 kimeneten.
84
3.48. ábra. Előreszámláló programozása létradiagramon és utasításlistával Számlálók esetén ügyelni kell arra, hogy a tápfeszültség kiesése esetén visszatérő jel ne okozzon hibás működést (pl. törlés, felejtés). A számláló MERKEREI rendszerint a teleppel védett CMOS RAM területen vannak elhelyezve. A számláló törlését, ill. léptetését gyakran időzítőtagokkal kombinálják. A számlálómodulok az OUT kimenet felhasználásával bővíthetők. 9. példa: előre/hátra számláló programozása
Előre/hátra számláló létradiagramja látható a 3.49. ábrán. Az előre beállított érték betöltése a LOAD kontaktussal történik.
85
3.49. ábra. Előre/hátra számláló programja 10. példa: regiszterfunkció programozása
A léptetőregiszter programozása három feltételt igényel: a törlés (RST), a léptetés (SFT) és a kimenet (OUT) definiálását. A léptetőregiszter programozását szemlélteti a 3.50. ábra.
3.50. ábra. Léptetőregiszter-program általános sémája létradiagramon
86 Mint látható, a léptetőregisztert a MERKER memóriabitjei realizálják. Funkciók: RST regisztertörlés, SFT léptetés, OUT a kimenet aktiválása. Más PLC típusnál a kétirányú léptetés is lehetséges. Ilyenkor az iránykijelölésről is gondoskodni kell a programban. A regiszter tartalma az egyes MERKEREK tartalmának kimenetre kapcsolásával érhető el. A konkrét léptetőregiszterhez a MERKEREK (regiszterbitek) számát is definiálni kell. Nyolcbites léptetőregiszter LD szimbólumát szemlélteti a 3.51. ábra.
3.51. ábra. Nyolcbites léptetőregiszter sémája
87 11. példa: négybites léptetőregiszter IEC szimbólumokkal (3.52. ábra)
3.52. ábra. Négybites léptetőregiszter ábrázolása
88 12. példa: ugrási művelet programozása
A példabeli PLC a CJP és EJP utasítást definiálja az ugrási funkciók programozására. A CJP feltételes ugrás a CJP utasítás előtti érintkezőt, mint feltételt értékeli ki és ettől függően végzi el az ugrást. Ezt szemlélteti a 3.53. ábra a folyamatábra (b) és a létradiagram (c) feltüntetésével.
3.53. ábra. Ugrási művelet programjának sémája (a), a hagyományos folyamatábra (b) és létradiagramos megfelelője (c) A 3.53. ábrán a feltételes ugrás (Condition Jump) feltételét jelentő X412=1 esetén a program kihagyja a B programrészt és a C programrészt hajtja végre. Ellenkező esetben a B programrész kerül végrehajtásra. A feltételes ugróutasítást igen gyakran használják kézi, ill. automatikus üzemmód szétválasztására. Erre láthatunk példát a 3.54. ábrán. A kézi/automata átkapcsoló értékétől függően az Opció 1 vagy Opció 2 szerinti programrész hajtódik végre.
89
3.54. ábra. Kézi/automata átkapcsolás megvalósítása feltételes ugrással (CJP) létradiagramon
90 13. példa: adatkezelő utasítások
Tipikus adatkezelő utasítások láthatók a 3.55. ábrán. Az ábrából kitűnik, hogy a létradiagramon egy-egy adatkezelő művelet indítása egy külső vagy belső (MERKER) változóval történik [9, 15].
3.55. ábra. Tipikus adatkezelő utasítások jelölése létradiagramon S a forrás (source), D a cél (destination)
A műveletek: adatmozgatás, összehasonlítás (komparálás: <, >, =), összeadás és kivonás, valamint konverzió a számrendszerek között (BCD, bináris, oktális). Ezek a műveletek rendszerint szó jellegűek (INT). Példa lehet egy számláló értékének összehasonlítása a kapcsoló értékeivel. Az adatmozgatás létradiagramos szimbóluma a 3.56. ábrán látható [9, 15].
3.56. ábra. Adatmozgatási funkció programozása létradiagramon
91 Amikor az X0 aktívvá válik, az S forrásregiszter tartalma átkerül a D jelű célregiszterbe, azaz a D1 regiszter tartalma átkerül a D2 regiszterbe. Lehetséges adatmozgatási változatok:
Konstans a regiszterbe Regiszterből regiszterbe Timer/counterből regiszterbe Adatregiszter betöltése Adatregiszterből timerbe/counterbe Adatregiszterből kimenetre Adatregiszterből MERKERBE MERKERBŐL adatregiszterbe Timer/counter betöltése Bemeneti adat betöltése Adatregiszter → timer/counter Adatregiszter → kimenet Adatregiszter → MERKER MERKER adatregiszter
MOV K MOV Di MOV T vagy MOV X MOV D MOV D MOV D MOV M MOV T vagy C MOV X MOV D MOV D MOV D MOV M
D Dj C/D D T vagy C Y M D D D T vagy C Y M D
Megjegyzések: − egyes PLC-k további adatkezelő utasításokat is értelmeznek, mint például a táblázatkezelési funkció, amely igen előnyösen használható kombinációs hálózatok, kódátalakítók, kódkonverterek vagy adatmegjelenítők vezérléséhez; − a CJP, azaz a feltételes ugróutasítást értő PLC-k rendszerint a szubrutinhívó (CALL) utasítást is értelmezik. Ennek sémája látható a 3.57. ábrán.
3.57. ábra. Szubrutinhívás folyamata A szubrutinok (alprogramok) az ismétlődő programrészek esetén használhatók előnyösen. A szubrutinok a főprogramtól eltérő helyen vannak és a programból többször is hívhatók. A szubrutin végét a RET (return = visszatérés) utasítás zárja.
92 Ha a szubrutinhívás feltétele teljesül, akkor a program a szubrutin első utasításának végrehajtásával folytatódik, majd a RET utasítás hatására visszatér a főprogramba, és a szubrutinhívás utáni programrésszel folytatódik. A szubrutinok rendszerint egymásba ágyazhatók, azaz a szubrutinon belül újabb CALL utasítás szerepelhet. Az ilyen egymásba ágyazások száma rendszerint korlátozott. A szubrutinkezelés során a formai hibákra fokozottan kell ügyelni. A 3.57. ábrán a főprogram a 000h címtől az 1000h címen helyezkedik el. A 3. szubrutin az 1100 címen kezdődik és az 1150 címen fejeződik be (Return). A főprogramból kétszer történik a szubrutin hívása. A D400 regiszter arra utal, hogy a szubrutin az adatokat a D400 regiszterből vegye át. A szubrutinterületre csak szubrutinhívással lehet belépni. Véletlen belépéssel (pl. bekapcsolás esetén), ugrással történő belépéssel vagy lineáris növekményes úton történő belépéssel a szubrutinterületre a Return utasítás hatására a program „elszállhat”. 3.4.2. Programozás sorrendi folyamatábra alapján 14. példa: STL funkció
A léptetőrelé jellegű STL funkciót (stepladder) az SFC nyelven írott program realizálásához dolgozták ki (lásd a 3.2.5. pontban). Párhuzamos (OR) elágazás realizálása létradiagrammal (3.58. ábra) [9].
3.58. ábra. Párhuzamos (OR) elágazás realizálása létradiagrammal A párhuzamos elágazásra a szerelésautomatikából vett példa: tételezzünk fel egy szerelőszalagot, amelyen a munkadarab az S601 lépésben az Y531 révén két darabra vágódik. Az egyik darab az A ágon folytatja útját és az S602, S603 lépéseken definiált műveleteken megy keresztül. A másik munkadarab a B ágon S604 és S605 lépésekkel jelölt technológiai műveleteken megy keresztül, majd mindkét munkadarab az S606 lépés szerinti művelet végrehajtásával (Y536) folytatódik.
93 ÉS elágazás programozása STL funkcióval (3.59. ábra) [9].
3.59. ábra. ÉS elágazás programozása STL funkcióval 15. példa: programhurok (ciklus) programozása
Programhurok kialakítását szemlélteti a 3.60. ábra.
3.60. ábra. Programhurok kialakítása létradiagrammal
94 Az ismétlés (visszalépés) feltétele: S604 & C460 & X505. A kilépés feltétele: S604 & C460 & X504.
A 3.60. ábrán a létradiagramot is feltüntettük. Programhurok kialakításánál a végtelen ciklus létrejöttének elkerülését biztosítani kell.
3.5. PLC-programok készítésének algoritmusa Nagyobb és komplexebb vezérlési feladatok programját számítógépes grafikai segédlettel, szimulációs támogatással célszerű készíteni a 3.61. ábrán vázolt folyamatábra szerint. A komplex feladatot célszerű alfeladatokra bontani, ezeket egyenként tesztelni, majd az egyes programrészeket összefűzni, és ismét tesztelni.
95
3.61. ábra. Feladatmegoldás folyamatábrája A nagyon bonyolult, sok párhuzamosan futó eseményt kezelő és/vagy sok adatmozgást, adatkezelést, aritmetikai műveletet igénylő vezérlések létradiagramos leírása, ill. a programok ellenőrzése nehézkes. Ezek a feladatok a létradiagramos programozás korlátait jelentik. A gyártók ez ellen mind több beépített funkcióblokk használatával védekeznek.
96
3.6. Egy PLC komplett utasításkészlete Napjainkban a programozható vezérlők piacán egyaránt megtalálhatóak a néhány utasítást értelmező, ún. mikro-PLC-k, illetve a 100 fölötti utasítást értelmező PLC-k. Az előzőre példaként a 6. fejezetben a LOGO! típus szerepel. Utóbbira az OMRON CPM típusú vezérlő legfontosabb műszaki jellemzőit a 3.6. táblázat, utasításkészletét a 3.7. táblázat tartalmazza [17]. 3.6. táblázat. Az OMRON CPM típusú PLC legfontosabb műszaki jellemzői Jellemző CPU modulok CPU modulok CPU modulok 20 I/O ponttal 30 I/0 ponttal 40 I/O ponttal Vezérlési rendszer I/O vezérlési mód
CPU modulok 60 I/O ponttal
Tárolt programú vezérlés Ciklikus letapogatás, kimenetek írása ciklus végén, azonnali frissítési lehetőség programból Létradiagram 1 lépés utasításonként, egy utasítás 1-5 szó hosszúságú 14 alap, 105 speciális típus, 185 utasításváltozat Alaputasítás: 0,64 µs, speciális utasítás: 7,8 µs 4096 szó 20 pont 30 pont 40 pont 60 pont
Programozási nyelv Utasítások hossza Utasítások száma Utasítás-végrehajtási idő Memóriakapacitás Maximális I/O bővítőI/O kapaci- modul nélkül tás I/O bővítő- max. 80 pont max. 90 pont max. 100 pont max. 120 modullal pont Bemenetek bitjei IR00000 - IR00915. A nem használt I/O bitek munkaterületként alkalmazhatók. IR01000 - IR01915 Kimenetek bitjei Munkaterület 928 bit: IR02000 - IR04915 és IR20000 - IR22715 Speciális változók 448 bit: SR22800 - SR25515 (SR terület) Átmeneti tárolók 8 bit: (TR0 - TR7) (TR terület) Feszültségkimaradás ellen 320 bit: HR0000 - HR1915 (HR00 - HR19) védett terület (HR terület) Kiegészítő memória 384 bit. AR0000 - AR2315 (AR00 - AR23) (AR terület) Csatolómemória 256 bit: LR0000 - LR1515 (LR00 - LR15) (LR terület) Időzítők, számlálók 256 időzítő/számláló (TIM/CNT000- TIM/CNT255) 1 ms-os időzítők: TIMHH(--) 10 ms-os időzítők: TIMH(15) 100 ms-os időzítők: TIM 1s / 0,1 s-os időzítők: TIML(--) számlálók hátra irányban: CNT számlálók előre-hátra irányban: CNTR(12) Adatmemória Írható/olvasható: 2048 szó (DM0000 - DM2047)* Csak olvasható: 456 szó (DM6144 - DM6599) PLC beállítási terület: 56 szó (DM6600 - DM6655) A hibanaplózás a DM2000- DM2021 területen történik Interrupt bemenetek 4 külső interrupt (megosztva külső interrupt bemenetként, ill. gyors reagálású bemenetként) Intervallumidőzítő 1 (egyszer, ill. meghatározott időközönként végrehajtott megszakítások esetén)
97 Gyorsszámlálók Impulzuskimenet
Impulzusszinkronizálás Analóg beállító potenciométerek
Egy gyorsszámláló: 20 kHz-es egyfázisú és 5 kHz-es kétfázisú jelek számlálására. Számlálóbemenet: 1 db 2 pont (10 Hz -10 kHz között egyfázisú kimenet, irányvezérlés és felfutás/lefutás nélkül) 1 pont (10 Hz -10 kHz között irányvezérléssel és trapézfelfutássallefutással) 2 pont változtatható impulzusszélességgel Csak tranzisztoros kimenetek esetén! 1 pont (a kimenőfrekvencia a bejövő frekvencia többszöröse) Csak tranzisztoros kimenetek esetén! 2 db, beállítási tartomány: 0 - 200 (BCD)
3.7. táblázat. Az OMRON CPM típusú PLC utasításkészlete ALAPUTASÍTÁSOK Kód Utasítás --- LOAD --- LOAD NOT --- AND --- AND NOT ----------------00 01 02 03 04 05 11 13 14
OR OR NOT AND LOAD OR LOAD OUTPUT OUT NOT SET RESET NOP
Mnemonik LD LD NOT AND AND NOT
Leírás Logikai vonal indítása záróérintkezővel Logikai vonal indítása bontóérintkezővel Logikai ÉS kapcsolat (Az előzővel sorba kötött záróérintkező) Logikai ÉS NEM kapcsolat (Az előzővel sorba kötött bontóérintkező) Logikai VAGY kapcsolat Logikai VAGY NEM kapcsolat Logikai blokkok közötti ÉS kapcsolat (zárójelezés) Logikai blokkok közötti VAGY kapcsolat (zárójelezés) Kimenet, a logikai függvény eredménye Kimenet, a logikai függvény eredményének negáltja A bit "1" állapotba kényszerítése A bit "0" állapotba kényszerítése Nem történik semmi, a CPU ezt az utasítást átugorja
OR OR NOT AND LD OR LD OUT OUT NOT SET RSET NO OPERATION END END Program vége INTERLOCK IL Hatására az IL parancs feltételének nem teljesülése esetén kikapcsolja az IL és az ILC parancsok között programozott kimeneteket INTERLOCK ILC Az IL parancs törlése CLEAR JUMP JMP Feltételes ugrás. A JUMP parancs feltételének teljesülése esetén a JMP és a JME parancsok közt programozott kimenetek "befagynak" JUMP END JME Feltételes ugrás vége KEEP KEEP Tartórelé (bistabil flipflop) DIFFERENTI DIFU Felfutóélre 1 ciklusidő hosszúságú impulzus előállítása -ATE UP DIFFERENTI DIFD Lefutóélre 1 ciklusidő hosszúságú impulzus előállítása ATE DOWN
98 IDŐZÍTŐ UTASÍTÁSOK Kód Utasítás --- COUNTER 12 REVERSIBLE COUNTER --- TIMER 15 HIGH-SPEED TIMER 61 MODE CONTROL --- LONG TIMER
Mnemonik Leírás CNT Számláló (lefelé számlál) CNTR Számláló inkrementáló- és dekrementáló- (fel, le) bemenettel TIM Meghúzáskésleltetés jellegű időzítés TIMH Nagy felbontású (0,01 s) meghúzáskésleltetés jellegű időzítés INI Gyorsszámlálók indítására, leállítására, pillanatértékük összehasonlítására vagy módosítására szolgáló parancs TIML Nagy intervallumú lefelé számláló időzítés 99,990 s tartományig --- VERY HIGH TIMHH Nagy sebességű lefelé számláló időzítés 1 ms-os felbonSPEED TIMER tással 62 HIGH-SPEED PRV A nagy sebességű gyorsszámláló pillanatnyi állapotát és COUNTER PV értékét olvassa ki READ 63 COMPARE CTBL A megadott gyorsszámláló pillanatértékét összehasonlítja TABLE LORD egy definiált táblázattal és az eredménytől függően végrehajtja a táblázatban definiált szubrutint
ÖSSZEHASONLÍTÓ (KOMPARÁLÓ-) UTASÍTÁSOK Kód Utasítás 20 COMPARE 60 68
85 -----
Mnemonik Leírás CMP Egy szó (csatorna) tartalmát vagy egy konstanst hasonlít össze egy másik szó tartalmával DOUBLE CMPL Két egymást követő szó tartalmát, mint 32 bites bináris COMPARE adatot hasonlítja össze két másik egymást követő szó tartalmával BLOCK BCMP Egy szó tartalmát összehasonlítja egy megadott címtől COMPARE kezdődően elhelyezett 16 alsó és felső határértéket tartalmazó táblázattal. Az összehasonlítás eredménye egy további megadott címen, mint 16-bites adat jelenik meg TABLE TCMP Egy szó tartalmát összehasonlítja 16 egymást követő szó COMPARE tartalmával AREA RANGE ZCP Ellenőrzi, hogy egy megadott szó tartalma, mint 16 bites COMPARE bináris szám, a megadott határértékek között van-e DOUBLE ZCPL Ellenőrzi, hogy két egymást követő szó tartalma, mint 32 AREA bites bináris szám, másik két-két szó tartalmával megadott RANGE határértékek között van-e COMPARE
99 ADATMOZGATÓ UTASÍTÁSOK Kód Utasítás Mnemonik Leírás 21 MOVE MOV Egy konstans vagy egy szó tartalmát egy másik szóba másolja 22 MOVE NOT MVN Egy konstans vagy egy szó tartalmának negáltját egy másik szóba másolja 70 BLOCK XFER Egy forráscímtől kezdődően megadott számú szó tartalmát TRANSFER egy megadott célcímnél kezdődő területre másolja 73 DATA EXCXCHG Két szó tartalmát felcseréli HANGE 71 BLOCK SET BSET Egy megadott szó tartalmával vagy egy konstanssal tölt fel egy kezdő és végcímmel definiált memóriaterületen minden szót 82 MOVE BIT MOVB Egy szó adott bitjét egy másik szó adott bitjébe másolja 83 MOVE DIGIT MOVD Egy szó adott digitjeinek (4 bit) tartalmát másolja át egy másik szó adott digitjeibe 80 SINGLE DIST Egy szó tartalmát egy másik szóba másolja. A célcím egy WORD szó címével és egy offset-tel van megadva. A célt a címéDISTRIBUTE nek és az offset-ként megadott szó tartalmának (vagy konstansnak) az összege adja 81 DATA COLCOLL Egy szó címével és az ehhez a címhez hozzáadandó offset LELT értékkel (a szó BCD értéke vagy konstans) definiált szó tartalmát másolja egy megadott címre LÉPTETŐUTASÍTÁSOK Kód Utasítás Mnemonik 10 SHIFT SFT REGISTER 84 REVERSIBLE SFTR SHIFT REGISTER 17 ASYNCHRO- ASFT NOUS SHIFT REGISTER 16 WORD SHIFT
WSFT
25 ARITHMETIC ASL SHIFT LEFT 26 ARITHMETIC ASR SHIFT RIGHT 27 ROTATE ROL LEFT 28 ROTATE RIGHT
ROR
74 ONE DIGIT SHIHT LEFT 75 ONE DIGIT SHIFT RIGHT
SLD SRD
Leírás 16 bites szavakból alkotott tetszőlegesen hosszú adat bitenkénti balra léptetése 16 bites szavakból alkotott tetszőlegesen hosszú adat bitenkénti balra vagy jobbra léptetése Egy kezdő és végcímmel definiált területen léptet. Az utasítás feltételének teljesülésekor azon szavak tartalmát, amelyek előtt lévő szavak tartalma 0, szavanként a kezdőcím felé lépteti (tömöríti). A többi szót változatlanul hagyja Egy definiált memóriaterület tartalmának 16-bites szavankénti balra léptetése A megadott szó tartalmának bitenkénti balra léptetése a carry flag-en keresztül A megadott szó tartalmának bitenkénti jobbra léptetése a carry flag-en keresztül Rotálás balra. A megadott szó 00-ás bitjébe a carry flag tartalmát írja, a szó tartalmát pedig bitenként balra lépteti és a 15-ös bit tartalma a carry flag -be kerül Rotálás jobbra. A megadott szó 15-ös bitjébe a carry flag tartalmát írja, a szó tartalmát pedig bitenként jobbra lépteti és a 00-ás bit tartalma a car flag-be kerül Egy definiált memóriaterület tartalmának digitenkénti (4 bitenkénti) balra léptetése Egy definiált memóriaterület tartalmának digitenkénti (4 bitenkénti) jobbra léptetése
100 ADATÁTALAKÍTÓ UTASÍTÁSOK Kód Utasítás 23 BCD TO BINARY 24 BINARY TO BCD 76 4 TO 16 DECODER 77 16 TO 4 DECODER 78 7-SEGMENT DECODER 86 ASCII CONVERT 58 DOUBLE BCD TO DOUBLE BINARY 59 DOUBLE BINARY TO DOUBLE BCD 66 SCALING --- ASCII TO HEXADECIMAL --- SECONDS TO HOURS --- 2'S COMPLEMENT --- SIGNED BINARY TO BCD SCALING --- BCD TO SIGNED BINARY SCALING --- HOURS TO SECONDS
Mnemonik Leírás BIN 4-digites BCD adatot bináris adattá alakít át BCD
16 bites bináris adatot 4-digites BCD adattá alakít át
MLPX
Bináris kódban lévő adatot 4 bitenként 16-ból 1-et kóddá alakít 16-ból 1-et kódban lévő adatot binárissá alakít
DMPX SDEC ASC BINL BCDL SCL HEX HMS NEG SCL2 SCL3 SEC
Egy szó adott digitjét (digitjeit) 7-szegmenses kijelzőkóddá alakít Egy szó adott digitjén (digitjein) lévő értéket 8-bites ASCII kódba konvertálja Két egymást követő szó tartalmát, mint BCD adatot fordít binárissá és helyez el két egymást követő szóban (csak CPM2A) Két egymást követő szó tartalmát, mint bináris adatot fordít BCD kódformára és helyez el két egymást követő szóban (csak CPM2A) 4-digites hexadecimális adat konverziója 4-digites BCD adattá az utasítás paramétereként megadott összefüggés szerint 16-bites ASCII adatot hexadecimálissá alakít Másodpercekben megadott időt átalakít óra, perc, másodpercre 4-digites (16 bites) bináris adat 2-es komplemensét teszi a megadott címre 4-digites előjeles hexadecimális adat lineáris konverziója egy meghatározott kezdő (minimum) értéktől adott meredekségű BCD kódba 4-digites BCD adat lineáris konverziója megadott paraméterek alapján 4-digites előjeles hexadecimális adattá Óra, perc, másodpercben megadott időt átszámolja másodpercbe
BCD ARITMETIKAI UTASÍTÁSOK Kód Utasítás 30 BCD ADD 54 DOUBLE BCD ADD 31 BCD SUBTRACT 55 DOUBLE BCD SUBTRACT 32 BCD MULTIPLY
Mnemonik Leírás ADD Két 4-digites BCD szó tartalmának vagy konstansnak és a carry flag-nek az összeadása ADDL Dupla hosszúságú (8-digites) adatok összeadása SUB SUBL MUL
Egy szó tartalmából (vagy konstansból) kivonja egy másik szó tartalmát (vagy konstanst) és a carry flag-et Mint SUB, de dupla hosszúságú értékekkel Két szó tartalmát, 4-digites BCD számot vagy konstanst összeszoroz
101 56 DOUBLE BCD MULTIPLY 33 BCD DIVIDE 57 DOUBLE BCD DIVIDE 40 SET CARRY 41 CLEAR CARRY 38 lNCREMENT 39 DECREMENT
MULL
Mint MUL, de dupla hosszúságú értékekkel
DIV DIVL
Egy szó tartalmát, mint 4-digites BCD számot vagy konstanst eloszt egy másik szó tartalmával vagy konstanssal Mint DIV, de dupla hosszúságú értékekkel
STC CLC INC DEC
A carry flag-et 1-be billenti A carry flag-et 0-ba billenti A megadott szó BCD tartalmát 1-gyel növeli A megadott szó BCD tartalmát 1-gyel csökkenti
BINÁRIS ARITMETIKAI UTASÍTÁSOK Kód Utasítás 50 BINARY ADD 51 BINARY SUBTRACT 52 BINARY MULTIPLY 53 BINARY DIVIDE
Mnemonik Leírás ADB Két szó tartalmának, mint 16 bites bináris számnak vagy konstansnak és a carry flag-nek az összeadása SBB Egy szó tartalmából, mint 16 bites bináris számból (vagy konstansból) kivonja egy másik szó tartalmát (vagy konstanst) és a carry flag-et MLB Két szó tartalmát, mint 16 bites bináris számot vagy konstanst összeszoroz DVB Egy szó tartalmát, mint 16 bites bináris számot vagy konstanst eloszt egy másik szó tartalmával vagy konstanssal
LOGIKAI UTASÍTÁSOK Kód Utasítás 34 LOGICAL AND 35 LOGICAL OR 36 EXCLUSIVE OR 37 EXCLUSIVE NOR 29 COMPLEMENT
Mnemonik Leírás ANDW Két szó közötti bitenkénti logikai ÉS kapcsolat ORW Két szó közötti bitenkénti logikai VAGY kapcsolat XORW Két szó közötti bitenkénti logikai KIZÁRÓ VAGY kapcsolat XNRV Két szó közötti bitenkénti logikai KIZÁRÓ VAGY NEM kapcsolat COM Megadott szó bitenkénti negálása
SZUBRUTINKEZELŐ ÉS INTERRUPT UTASÍTÁSOK Kód Utasítás 91 SUBRUTINE ENTER 92 SUBRUTINE ENTRY 93 SUBRUTINE RETURN 99 MACRO 89 INTERRUPT CONTROL 69 1NTERVAL TIMER
Mnemonik SBS Szubrutin hívása
Leírás
SBN
Szubrutin kezdetének címkéje
RET
Szubrutin végének a címkéje
MCRO
Meghívja és végrehajtja a definiált szubrutint, helyettesítve benne a bemeneti és kimeneti szó címeit, a parancs címeként megadottakkal lnterrupt vezérlőparancs. I/O interrupt bitek maszkolása, maszkolásuk törlése Az ütemezett interrupt végrehajtását kezelő intervallum időzítő vezérlése
INT STIM
102 STEP (LÉPÉS) PARANCSOK Kód Utasítás 08 STEP DEFINE
09 STEP START
Mnemonik Leírás STEP Lépés kezdetének és a megelőző lépés végének jelzése, ha a STEP utasítás vezérlőbittel együtt van megadva. Az utolsó lépés végének jelzése, ha az utasítás vezérlőbit nélkül van megadva SNXT Indítja a vezérlőbittel megadott lépést, és leállítja annak a lépésnek a végrehajtását, amelyen belül a parancs elhelyezkedik
SPECIÁLIS MŰVELETEK Kód Utasítás 46 MESSAGE 67 BIT COUNTER 06 FAILURE ALARM 07 SEVERE FAILURE ALARM 97 I/O REFRESH 64 SPEED PUT
Mnemonik Leírás MSG 8 szó (16 bit/szó) hosszúságú ASCII adatot (16 karakter) olvas a memóriából és kijelzi azt, mint üzenetet a programozókonzolon vagy más perifériaeszközön BCNT Egy meghatározott memóriaterületen megszámolja az "1" állapotban lévő biteket FAL Hibajelzés létrehozása a programfutás leállítása nélkül FALS
Hibajelzés létrehozása a programfutás azonnali leállításával
IORF
A megadott című I/O szavaknak a ciklustól független frissítése Adott frekvenciájú impulzusok kiadása (10 Hz -50 kHZ között l0 Hz lépéssel). A művelet végrehajtása közben változtatható a frekvencia. Csak tranzisztoros kimenetű CPU esetén Adott számú impulzus kiadása a megadott frekvencián. A művelet végrehajtása nem állítható meg (csak tranzisztoros kimenetű CPU esetén) A kimenő frekvenciaváltozás sebességének (fel/lefutás) beállítása az impulzuskimeneten Egy meghatározott szó hexadecimális tartalmának paraméterként megadott cikluson keresztüli átlagértékét számítja ki Host Link paranccsal átvitt adatok ellenőrzéséhez az ellenőrző összeg kiszámítása A legnagyobb értékű adat megkeresése egy adott adatterületen A legkisebb értékű adat megkeresése egy adott adatterületen Az utasításhoz adott paramétereknek megfelelő PID szabályozást hajt végre Az impulzuskimeneten kiküldendő impulzusok kitöltési tényezőjének módosítása (0% - 99%) Egy, a megadottal egyező adat keresése meghatározott címtartományban Kiszámítja egy megadott memóriaterületen tárolt adatok
OUT- SPED
65 SET PULSES
PULS
--- ACCELERATION CONTROL --- AVERAGE VALUE
ACC
--- FCS CALCULATE --- FIND MAXIMUM --- FIND MINIMUM --- PID CONTROL
FCS
PID
--- PWM OUTPUT
PWM
AVG
MAX MIN
--- DATA SEARCH SRCH --- SUM
SUM
103 CALCULATE --- SYNCHRONIZED PULSE CONTROL
összegét Egy adott bejövő impulzust megszoroz egy konstanssal és a kimeneten megjeleníti
SYNC
KOMMUNIKÁCIÓ Kód Utasítás 47 RECEIVE 48 TRANSMIT --- CHANGE RS-232C SETUP
Mnemonik Leírás RXD Adatfogadás a kommunikációs porton keresztül TXD Adatküldés a kommunikációs porton keresztül STUP A megadott port paramétereit állítja át
Külön figyelmet érdemel a 185 utasításváltozat. Valamennyi utasításnak létradiagramszimbóluma is létezik. Példaként a MUL utasítás és értelmezése látható a 3.62. ábrán [17].
3.62. ábra. A MUL utasítás létraszimbóluma és funkciója A MUL (32) parancs hatására az Md és Mr csatornák BCD értelmezésű értékének szorzatát képezi, és az eredményt az R+1 és R csatornákra helyezi. Md
X
Mr
=
R+1
R
Az alábbi példában a 013 csatorna BCD értékét szorozzuk meg a DM0005 csatorna BCD értékével, a szorzatot a HR08 és HR07 csatornákra kapjuk. Md: 013 3
3
5
X 6
Mr: DM0005 0
0
2
5
=
HR08 0
0
0
HR07 8
3
9
0
0
104 Irodalomjegyzék
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18]
Ajtonyi I.: Vezérléstechnika I. Budapest, Tankönyvkiadó, 1980. Ajtonyi I.: Vezérléstechnika példatár Budapest, Tankönyvkiadó, 1980. Ajtonyi I.: Digitális rendszerek. Miskolc, Egyetemi Kiadó, 1998. Neszveda J.: Irányítástechnika IV. Budapest, KKMF, 1995. DIN 40719 szabvány. Ajtonyi I.: Vezérléstechnika II. Budapest, Tankönyvkiadó, 1985. Demmel L., Molnár T., Török B., Vágvölgyi G.: Programozható logikájú vezérlések Budapest, Mérnöktovábbképző Intézet, 1989. E. A. Parr: Programmable Controllers - An Engineer's Guide Newness, 1996. Ian G. Warnock: Programmable Controllers Operation and Application. Prentice Hall International, 1988. IEC-1131/I-IV. szabvány, 1992. A. J. Crispin: Programmable Logic Controllers McGraw-Hill Companies, 1997. Tverdota M., Harkay T.: Villamos vezérléstechnika. Budapest, KKMF, 1998. SIEMENS: LOGO! kézikönyv, 1999. Keresztesi K.: VLC, a megbízható PC alapú vezérlő. Magyar Elektronika, 1999/10. Mitsubishi: PLC Users Manual, 1990. SIEMENS: SIMATIC S7-200 Programmable Controller System Manual, 1999. OMRON: CPM PLC Felhasználói kézikönyv, 1999. BOSCH: PLC gépkönyv, 1997.
105
4. A PLC-K KOMMUNIKÁCIÓS RENDSZERE A programozható vezérlők üzemszerűen számos információforrással állnak kapcsolatban. A leggyakrabban a PLC és technológiai folyamat, PLC és PLC, PLC és számítógép, PLC és kezelő, valamint PLC és periféria közötti kommunikációra van igény. A PLC és a technológiai folyamat közötti kommunikáció általában párhuzamos formában zajlik, kivéve a terepi buszrendszerek által kezelt be- és kimeneteket (lásd a 4.6. alfejezetben). A párhuzamosan kezelt jelek lehetnek: − kétállapotú be/kimenetek; − analóg be/kimenetek; − frekvencia (impulzus) be/kimenetek. A PLC és PLC, a PLC és PC, a PLC és kezelő, valamint a PLC és periféria közötti kommunikáció rendszerint soros formában történik. Soros adatátvitel esetén az adatok bitenként, a kiegészítő, ellenőrző jelekkel együtt, időben egymás után rendszerint egy vezetéken (érpáron) kerülnek továbbításra. Az információt a feszültség vagy az áram szintje, ill. jelátmenete képviselheti. A 4.1. ábra szerinti soros adatátvitelnél a 0 szintet 0 V, az 1 szintet 6 V képviseli, amely min. egy bitideig tart. A soros átvitelnek számos jellemzője és szabványa van (RS 232, RS 485 stb.).
4.1. ábra. Soros adatátviteli formátum Soros adatátvitel a kommunikációban részt vevő adók és vevők számától függően alapvetően két pont között (pont-pont kommunikáció), ill. több pont között történhet. Pont-pont közötti kommunikáció esetén két egység között folyik az adatátvitel egy vagy mindkét irányban. A több pont közötti (multi-point) kommunikáció napjainkban szinte kizárólag hálózati jellegű, amely jellemzője, hogy kettőnél több egység (adó, ill. vevő) között egy speciális architektúrájú átviteli közegen keresztül történik az adatátvitel. A jelenlegi informatikai hálózatok a hálózat által áthidalt távolságok alapján távolsági hálózatokra, ill. lokális hálózatokra bonthatók. A távolsági hálózatok (Wide Area Network, WAN) rendszerint a nyilvános távközlési berendezéseket veszik igénybe és nagy távolságú, földrészek közötti kommunikációt valósítanak meg. A lokális hálózatok (Local Area Network, LAN) kis és közepes kiterjedésű földrajzi területen elhelyezkedő, független eszközök közötti egyenrangú kommunikációt valósítanak meg. A hálózati elemeket három csoportba sorolhatjuk: a kommunikációs állomásokra, az állomásokat összekapcsoló kábelrendszerre és a kiegészítő hálózati elemekre. A hálózati állomásoknak megfelelően intelligens szoftverrel kell rendelkezniük ahhoz, hogy kezelni tudják a hálózat számára szükséges kommunikációs és vezérlési funkciókat. A soros kommunikáció jelentősége napjainkban felértékelődik. A PLC programjának jelentős részét a kommunikációra vonatkozó programrész teszi ki, amely elkészítése a konkrét PLC hardver- és szoftveradottságain túl sokrétű, a kommunikációra vonatkozó általános és specifikus informatikai ismereteket igényel. A 4.2. ábrán a PLC-k alkalmazása látható többszintű informatikai rendszerben.
106
4.2. ábra. PLC-k többszintű informatikai rendszerben
4.1. Soros adatátvitel Ismert, hogy az információ feldolgozása párhuzamos, továbbítása soros formában előnyös. Ezért a soros adatátvitelnél meg kell oldani az adatok párhuzamos/soros átalakítását, az adatok és az üzenet szinkronizálását, majd az adatok soros/párhuzamos visszaalakítását, valamint az egyes bitek/bájtok értelmezését, ill. az átvitel ellenőrzését. A soros adatátvitel kidolgozásához és programozásához az átviteli sebesség, a fizikai jellemzők, a kódolási eljárások, a szinkronizálás módja és az átvitel szabályrendszere (protokoll) ismerete szükséges. 4.1.1. Átviteli sebesség Az átviteli sebességet az időegységenként átvitt bitek számával adják meg, mértékegysége a bit/s vagy bps, azaz a baud. Gyakran a bruttó, ill. nettó adatátviteli sebesség fogalmával is találkozhatunk. A bruttó adatátviteli sebesség a hasznos adatokon túl az adminisztrációs adatokat is figyelembe veszi, míg a nettó átviteli sebesség csak a hasznos adatok átvitelére vonatkozik és értéke a kódolástól függően az előzőtől 10-30 %-kal kisebb. Jellemző adatátviteli sebességek és alkalmazások: ∼ 1 Kbit/s ∼ 10-100 Kbit/s
pl. PC-perifériák (nyomtató), pl. irányítástechnikai hálózatok (PROFIBUS),
107 ∼ 1 Mbit/s …10 Mbit/s ∼ 100 Mbit/s …1Gbit/s
pl. alapsávú LAN (PC-hálózatok), pl. széles sávú LAN (képátvitel).
4.1.2. Fizikai jellemzők A soros adatátvitel fizikai jellemzői az átviteli közegek, az átviteli módok és az adatátvitel iránya. A soros adatátvitelre rendszerint a következőket alkalmazzák: sodrott érpár, koaxiális kábel, fénykábel és elektromágneses hullám. 4.1.2.1. Átviteli közegek
A soros adatátvitel vezetékes vagy vezeték nélküli átviteli közegen keresztül lehetséges. A vezetékes átvitel fizikai közege lehet elektromos kábel, ill. fénykábel. A soros adatátvitelnél használatos nagyfrekvenciás jelátvitel szempontjából az elektromos vezeték hullámellenállásának ismerete fontos. Ennek meghatározása a következő. Nagyfrekvenciás jeleknél a nem túl hosszú vezetékek ohmos ellenállását elhanyagolhatjuk, így a vezeték induktivitásának energiája megegyezik a kapacitás energiájával, vagyis 1 2 1 2 Li = Cu . (4-1) 2 2 Ezt az egyenletet u/i-re megoldva ellenállást, azaz ohm mértékegységű eredményt kapunk. Ezt az ellenállást hullámellenállásnak nevezzük és Zh-val jelöljük.
L' (4-2) C' ahol Zh a hullámellenállás, L’ az egységnyi hosszú vezeték induktivitása, C’ az egységnyi hosszú vezeték kapacitása. Zh =
A jelátvitelre használatos vezetékek hullámimpedenciája 50…300 Ω közötti. Az állóhullámmentes jelátvitelhez a nagyfrekvenciás vezetékeket hullámellenállással azonos értékű ohmos ellenállással kell lezárni. Ezt illesztett lezárásnak nevezzük. Reflexiómentes jelátvitelhez illesztett lezárásra van szükség. Minél inkább eltér a lezáró impedencia a hullámimpedenciától, annál nagyobb a reflexiók amplitúdója és fázisa miatti jeltorzulás. A jelátvitelre használatos vezetékek lehetnek: sodrott érpár, koaxiális kábel, fénykábel és vezeték nélküli átvitel. A sodrott (csavart) érpár (twisted pair) két szigetelt, összecsavart rézhuzalból áll (4.3a ábra). Rendszerint több sodrott érpárt fognak össze közös védőburkolatba, amit sodrott érpárkötegnek neveznek. Az épületekben lévő távbeszélő hálózatok sodrott érpárkötegből készülnek. Miután ezek a kábelek már többnyire rendelkezésre állnak, lokális hálózatokban is igen elterjedtek. Néhány mai, hagyományos távbeszélőkábelt alkalmazó lokális hálózati eszköz eléri a 10, sőt a 100 Mbps adatátviteli sebességet, de a legtöbb sodrott érpáras megoldás ennél sokkal kisebb sebességre alkalmazható. Nagyobb teljesítményű lokális hálózatokban a sodrott érpárkötegnek jobb minőségű, védőburkolattal ellátott változatát alkalmazzák, amit árnyékolt sodrott érpárkötegnek neveznek. Ez a kábeltípus kevésbé érzékeny az elektromos zavarokra és megbízhatóbb, nagy távolságú, nagy sebességű átvitelre képes, ugyanakkor jelentős hátránya az érpárok közötti áthallás. A koaxiális kábel (coax cable) szerkezeti felépítése a 4.3b ábrán látható. A koaxiális kábel rézhuzalból áll, amit szigetelőanyag vesz körül, és ezt átöleli egy árnyékolóköpeny, ami lehet fonott huzalháló (harisnya), vagy szilárd, fémes anyag (fólia). Az árnyékolóköpenyt szigetelőből készült védőburkolat borítja. A koaxiális kábel kevésbé érzékeny az elektromos
108 zavarokra és az áthallásra, mint a sodrott érpár, és maximum 100 Mbps adatsebesség érhető el vele. Hátrányuk a nagyobb fektetési költség.
4.3. ábra. Sodrott érpár (a) és koaxiális kábel (b) felépítése Még olyan hálózatokhoz is, amelyek a 100 Mbps sebességnél jóval kisebb sebességre képes sodrott érpárt is használhatnák, sokszor a koaxiális kábelt alkalmazzák. A koaxiális kábelek a televíziós technikában már régóta elterjedtek. A lokális hálózatokban ettől eltérő koaxiális kábel is szokásos. A koaxiális kábelek aszimmetrikus kábelek. Fénykábel (fiber-optic cable) belső felépítése és méretei láthatók a 4.4. ábrán. A fényvezető eszközöket felhasználhatják információ továbbítására, ha a fénysugarakat adatjelekkel modulálják. A fénykábel érből áll, amely hajszálvékony, optikailag átlátszó anyagból készül és olyan burkolatból, amely az eret koncentrikusan veszi körül, és az érnél kisebb optikai sűrűségű. Mivel a burkolat törésmutatója kisebb az érnél, az érben haladó fénysugár nem tud kilépni, így a burkolatról teljesen visszaverődik. A fénykábelek rendkívül nagy sávszélességűek. Az 565 Mbps átviteli sebesség a kereskedelmi forgalomban kapható rendszereknél megszokott, de már van 200 000 Mbps sebességet elérő rendszer is. A fénykábel másik nagy előnye, hogy nem érzékeny az elektromos és mágneses zavarokra, tömege kisebb a koaxiális kábelnél, de sokkal drágább is. Különösen a fektetési költsége jelentős. A kábelvégek, csatlakozók kialakítása speciális szerszámokat és szakértelmet igényel. Ugyancsak költségesek a kábelrendszerek átviteli tulajdonságait vizsgáló mérőműszerek is. Újabban az üvegszálat műanyagszállal helyettesítik, ami olcsóbb, de az átviteli tulajdonságai rosszabbak.
109
4.4. ábra. Szilárd (a) és laza (b) burkolatú fényvezető szál felépítése és méretei Vezeték nélküli átvitel: a levegő, ill. az elektromágneses hullám is átviteli közeg. Ezt használja például a rádió- és tévéműsorszórás, valamint a mobiltelefónia. Nagy előnye az, hogy nem kell kiépíteni az átviteli utat, viszont az átvitel során előfordulhatnak zavarok. Ennek ellenére, pl. szervizalkalmazások esetén a vezeték nélküli átvitel nagyon érdekes alternatívája az időigényes és ezért drága helyszíni kiszállásnak. Igen nagy távolságú rendszereknél (pl. olajkutak, gázkutak stb.) a mikrohullámú, esetleg műholdas átvitelt is használják. A jövőben a vezeték nélküli átvitel jelentőségének növekedése várható. Napjainkban a MOTOROLA forgalmaz olyan rendszert, amelynél a PLC és PLC, ill. PLC és I/O közötti kommunikáció vezeték nélkül valósul meg. Igen gyakori igény a PLC-vel, sőt távadóval szemben az SMS üzenetküldés vagy a WAP bázisú Internet-hozzáférés. 4.1.2.2. Átviteli módok
Két eljárás használatos a jelek fizikai kommunikációs közegen való átvitelére: az alapsávú és a széles sávú átviteli mód. Az alapsávú átviteli mód a digitális jelátvitelt, a széles sávú átviteli mód az analóg jelátviteli eljárásokat használja. Alapsávú átvitel esetén az adatjeleket diszkrét elektromos, ill. fényimpulzusok formájában viszik át. Az ilyen átvitelnél az adó az adatimpulzusokat közvetlenül a kommunikációs csatornán át továbbítja, a vevő pedig ezeket detektálja. Mivel az adatimpulzusok a kommunikációs csatornán (fizikai közegen) haladnak, azon torzulást szenvednek. Így a csatorna végén megjelenő jel formája és nagysága már nem az eredeti. Ha a vonal túl hosszú, akkor a vett jel túl gyenge lehet, vagy ha az átviteli sebesség túl nagy, akkor a vett jel felismerhetetlenné válhat. Ezen problémák leküzdésére jelismétlő egységeket (repeater) alkalmaznak, amelyek helyreállítják a jelet és megszüntetik a csatornában keletkezett zajt. Alapsávú átvitel esetén a zaj és a zavar általában nem okoz gondot, kivéve, ha a zavar annyira elrontja a jelet, hogy a 0-ás bit 1-ként értelmezhető (vagy fordítva). Az alapsávú átviteli módnál a csatorna kapacitását egyetlen adatjel továbbítására használják. Az alapsávú átviteli módot használó csatornán több eszköz is osztozhat az időosztásos vezérlés segítségével. Az időosztásos (Time-Divison Multiplexing, TDM) eljárás esetén a kommunikációs eszközök felváltva adnak úgy, hogy egy időben csak egy eszköz ad. A különböző eszközöktől származó adatok az átviteli csatornán egymást követik. A széles sávú átviteli módra az analóg átvitel a jellemző, amelynél folytonos jeleket alkalmaznak. A jelek elektromágneses vivőhullámok segítségével haladnak át az átviteli közegen. A vivőhullámú jelet rendszerint az alábbi jellemzőkkel adják meg: amplitúdó, frekvencia, fázis. Széles sávú átvitelnél az adatjelet egy hordozójelre (vivő) ültetik rá, mégpedig úgy, hogy a vivőhullám három jellemzőjének valamelyikét egy adatjelnek megfelelően változtat-
110 ják, azaz modulálják. Ennek megfelelően van amplitúdómoduláció, frekvenciamoduláció, ill. fázismoduláció. Amplitúdómoduláció (AM) esetén a 0, ill. 1 értéket a nagyfrekvenciás vivő két különböző amplitúdóértéke reprezentálja. Frekvenciamoduláció (FM, ill. FSK: Frequency Shift Key) esetén a 0, ill. 1 adatbitet a vivőhullám kétféle frekvenciaértéke testesíti meg. Fázismodulációnál a 0, ill. 1 bit értékét a vivőhullám kétféle fázishelyzete jelenti. A vivőfrekvencia modulálását, ill. demodulálását ún. modemek végzik. Analóg átvitel esetén a fizikai jelátvivő közegtől függően a jel csillapítást szenved. Ezt megfelelő távolságban elhelyezett erősítőkkel kompenzálják. Az erősítő a jellel együtt a zajokat is erősíti, így a megfelelő jel/zaj viszony biztosítása a távolság növekedésével egyre nehezebb. Az analóg jelátvivő csatorna egyik fontos mértékegysége a sávszélesség, ami a csatornán átvitt legmagasabb és legalacsonyabb frekvencia különbsége. A csatorna sávszélessége és az adatátviteli sebesség között közvetlen összefüggés van. Minél magasabb a vivőjel frekvenciája, annál nagyobb az információhordozó kapacitás. A csatornakapacitás jellemzésére bevezetett baud a másodpercenkénti jelváltozást jelenti a vonalon, ami többnyire megegyezik a bitsebességgel, de ez nem kizárólagos. Ezért a bit/s fejezi ki egyértelműen az információátvitel sebességét. Analóg átvitelnél gyakran több részre, csatornákra osztják a fizikai közeg által rendelkezésre álló sávszélességet. Ebben az esetben frekvencia multiplexnek (Frequency Divison Multiplexing, FDM) nevezett eljárással több átvitel valósítható meg egyszerre a különböző csatornákon (vivőfrekvencián) keresztül. Széles sávú átvitelnél a csatornákat gyakran eltérő módon használják ki, például egyes csatornákon csak adatokat, másokon jeleket (videojel) visznek át egyidejűleg, vagy az állomás egy csatornát adásra, egy másik csatornát vételre használ. 4.1.2.3. Az adatátvitel iránya
Az adatátvitel további jellemzője az egy időben történő átvitel iránya. Így megkülönböztetünk szimplex, fél duplex és duplex átvitelt. Szimplex átvitel esetén az adatáramlás egyirányú. Fél duplex (half duplex) átvitelnél az adattovábbítás mindkét irányban lehetséges, de egy időben csak az egyik irányban. Duplex (full duplex) üzemmódban, egy időben mindkét irányban lehet adatokat továbbítani. A fél duplex üzemmódhoz 2-, a duplex üzemmódhoz 4-vezetékes kapcsolatra van szükség. 4.1.3. Kódolási eljárások
Az egymással kommunikáló állomások a kommunikációs csatornán keresztül továbbított bináris adatok megfeleltetésére számos, különböző kódolási formát használhatnak. A leggyakoribb kódolási eljárások: − RS 232C kódolás; − nullára komplementáló differenciális kódolás; − Manchester-kódolás; − differenciált Manchester-kódolás. RS 232C kódolás: lassú adatátvitelre leggyakrabban közönséges távközlési csatornát használnak, amelyet az RS 232C szabványban definiáltak, és amit az Electronic Industry Association (EIA) publikált. Az RS 232C átvitelnél az 1 bitértéknek az egy bitperiódusig tartó negatív feszültségszint felel meg, a 0 bitértéknek a pozitív feszültségszint (4.5. ábra). E kódo-
111 lási mód előnye az egyszerűség, de hátránya, hogy sok egymás utáni azonos bitérték esetén (0 vagy 1) a bitidők elcsúszása hibás dekódolást okozhat.
4.5. ábra. RS 232C kódolás Nullára komplementáló differenciális kódolás: sok nagy bonyolultságú (nagy teljesítményű) vonalvezérlő eljárás, mint amilyen az IBM SDLC (Synchronous Data Link Control) eljárás, gyakran használ az előzőtől sokkal összetettebb kódolási módot. A nullára komplementáló differenciális kódolásban (NRZI) a bitperiódusban egy pozitív vagy negatív feszültség polaritásváltása megfelel a 0 bitértéknek. Ha nincs a bitperiódus ideje alatt polaritásváltás, akkor az 1 bitértéket jelent (4.6. ábra).
4.6. ábra. Nullára komplementáló differenciális kódolás (NRZI) Manchester-kódolás: elektromos szempontból sok lokális hálózati megvalósításban kívánatos, hogy a pozitívból negatívba való átmenet és a negatívból pozitívba való polaritásváltás előre látható szabályossággal kövesse egymást. A Manchester-kódolás kívánt számú átmenetet tesz lehetővé, és elterjedt lokális hálózatokban. A Manchester-kódolás jellegzetes formájában a következő: 1 bitértéknek felel meg, amikor a bitidő feléig a feszültségszint negatív és a bitidő felétől pozitív, 0 bitértéket jelent, amikor a bitidő feléig a feszültségszint pozitív, és a bitidő felétől negatív. Így a Manchester-kódolás esetén (4.7. ábra) minden bitperiódusban polaritásváltás történik. Manchester-kódolás esetén azok a bitidők, amelyekben a jel vagy pozitív, vagy negatív marad egy teljes bitperiódus idejére jelezhetik a blokk kezdetét, vagy a blokk végét.
4.7. ábra. Manchester-kódolás A Manchester-kódolás egyik formáját, amit differenciális Manchester-kódolásnak nevezünk (4.8. ábra), jó néhány lokális hálózat felhasznál. Ennél a kódolásnál is, mint a hagyományos Manchester-kódolásnál, minden bitperiódusban polaritásváltás történik. Azonban a változás jellege függ attól, milyen értékű volt az előző bit; 0, vagy 1. A bitérték 1 értéket fog felvenni, ha nem változik a polaritás az előző bitperiódus végén, de változik a bitperiódus közepén, és 0 bitértéket azonosít, ha a bitperiódusnak mind az elején, mind a közepén polaritásváltás történik. Ezzel a kódolással a pozitív feszültségszintről negatív feszültségszintre történő átmenet 0 bitértéket is és 1 bitértéket is jelenthet, az előző bitperiódus végének ál-
112 lapotától függően. A bit értékét az határozza meg, hogy ilyenkor van-e polaritásváltás, vagy nincs. Ha a bitidő elején nincs polaritásváltás, az 1, ha van, akkor 0 bitértéket jelez.
4.8. ábra. Differenciális Manchester-kódolás 4.1.4. Szinkronizálás
Két digitális eszköz közötti kommunikációnál azon időtartam ismeretére van szükség, amelynek segítségével azonosítani lehet minden elküldött jelet. Ezt az időtartamot bitperiódusnak vagy bitidőnek nevezik. Egy hibátlanul elküldött adatsorozatról a vevőnek fel kell ismernie az adatsorozatot, és azonosítani kell az egyes bitekhez tartozó jelrészleteket. Ehhez kétféle eljárás ismert: az aszinkron, ill. szinkron eljárás. Aszinkron átvitel esetén a karaktereket START- ill. STOP-bitek határolják, ezért START/STOP átvitelnek is nevezik. Általában minden karakter 10-11 bitből tevődik össze (4.9. ábra): −1 START-bit; − 8 adatbit (ASCII kód esetén, de ez eltérő is lehet, pl. a telexkód 5 bites); − paritásbit; − 1-2 STOP-bitből.
4.9. ábra. Aszinkron átvitel LSB, Least Significant Bit (legkisebb helyiértékű bit), MSB, Most Significant Bit (legnagyobb helyiértékű bit)
A kód egy startbittel kezdődik, ez jelöli a kód kezdetét. Ezt követi nyolc biten az információ, majd egy paritásbit. A kód végét a stopbit jelzi. Az aszinkron adatátviteli eljárásoknál a startbit és a stopbit határolja az egyes kódokat. A telegramkód tehát 8 adatbit esetén összesen 11 bitből áll. Ez a viszony, valamint a telegram felépítéséből adódó viszony fontos, az átvitel hatékonyságára utaló mennyiség. A START/STOP bitek miatt a jelsorozat eléggé redundáns, mivel információtartalom szempontjából felesleges biteket tartalmaz. Ugyanakkor a vevőoldalon nincs szinkronizálva a vétel és emiatt a nagyobb sebességű (> 9600 bps) átvitel nem biztonságos. Az aszinkron soros átvitel szabványos átviteli sebességei: 110, 300, 600, 1200, 2400, 9600, 19200 bps. Aszinkron átvitel esetén tehát karakterszinkronizáció történik a karaktert megelőző START-, ill. követő STOP-bitek révén. Szinkron adatátvitelnél az egymást követő jelek ütemezetten, szinkronizáltan követik egymást. Az adatok átvitele blokkos formában történik, amelyeket blokkszinkronizáló bitekkel egészítenek ki. Ezt a formát keretnek (frame) nevezik. A 4.10. ábrán a keret két tipikus formája látható: a karakteres, ill. a bináris adattovábbítás blokkja.
113 Az átvitel egyik formája a karakterorientált protokoll (Character Oriented Protocol, COP), amely főként a szöveges információ átvitele esetén előnyös, de adatok továbbítására körülményes. Adatok átviteléhez a bitorientált protokollt (Bit Oriented Protocol, BOP) használják. Ilyen például a HDLC (High-level Data Link Protocol). Szinkron átvitelnél a redundancia alacsonyabb, de a kapcsolódó hardver bonyolultabb. Az alkalmazható adatátviteli sebesség magasabb, mint az aszinkron átvitelnél. Tipikusak a 4800 bit/s feletti értékek. Szinkron átvitelnél igen előnyös a Manchester-kódolás, amely minden adatbithez jelváltozást rendel, így a vevőnek egyszerű a szinkront fenntartania.
4.10. ábra. Karakterorientált (a) és bitorientált (b) protokoll 4.1.5. Protokoll
A kommunikációban részt vevő eszközök között átvitt információ vezérlőinformációból (bitek, ill. bájtok), hasznos információból és adatellenőrző információból áll. Az információfeldolgozó egységnek a vett adatok feldolgozásához ismernie kell az egyes bitek, ill. bájtok funkcióit. Az átvitt üzenetek (telegramok) felépítésének szabályait és értelmezési módját protokollnak nevezik. Számos szabványos protokoll ismeretes, melyek közül kettő a 4.10. ábrán látható. A pont-pont összeköttetés, ill. a hálózati kommunikáció protokolljai a vezérlőinformációban térnek el egymástól (lásd a 4.3. alfejezetben). A telegram egy keretbe foglalt üzenet, amely keret rendszerint három részből áll: a fejrész (header), az adattest (data unit), az adatellenőrző rész (trailer). Fejrész (header) kezdőpont-határoló cím(ek) vezérlőinformáció
Adattest (data unit) nettó hasznos adatok
Adatellenőrző rész (trailer) ellenőrző információ
A header tartalmazza a célcímet (annak a résztvevőnek a címét, amelynek az üzenet szól) és a vezérlőinformációt. A vezérlőinformáció tartalmazhatja például a telegram hosszát és/vagy a telegram típusát. Az adattestben (Data Unit) lévő információk ettől a vezérlőinformációtól függően eltérő hosszúságúak lehetnek, ill. mást és mást jelenthetnek. A Data Unit tartalmazza az üzenetet. Az üzenet hossza lehet telegramtípusonként fix, vagy a fejrészben lévő hosszadattal megadott módon változó.
114 A trailer ellenőrző információt tartalmaz. A küldő a megelőző telegramelemekből egy adott algoritmus szerint kiszámít egy értéket (ellenőrző kódot), és ezt írja be a trailerbe. A vevő a vett telegramelemekből ugyanazon algoritmus alapján maga is kiszámítja az ellenőrző kódot, és ezt összehasonlítja a küldőtől kapottal. Ezek a telegramrészek maguk is telegramkódokból állnak, amelyek felépítése szintén rögzített. Az ellenőrző információ képzését a következő alfejezetben ismertetjük. 4.1.6. Adatvédelmi módszerek
A soros átvitel során az átviteli csatornán a villamos zavarok miatt hibás átvitel történhet. Ez ellen különböző adatvédelmi (hibafelismerő és -javító) módszerekkel védekeznek. Az adatátviteli védelmi módszerek közül fontosak: − keresztparitás (Vertical Redundancy Check, VRC), − hosszparitás (Longitudinal Redundancy Check, LRC); − kombinált paritás (VRC/LRC); − ciklikus redundanciakód (Cyclic Redundancy Check, CRC). 4.1.6.1. Keresztparitásos ellenőrzés
Az átvitt adatok védelmének legismertebb módja a keresztparitás. Ez lehet páros vagy páratlan paritás. Mindkét esetben az adatbiteket egy paritásbittel egészítjük ki. Az adatbitekben és a paritásbitben lévő 1-esek számának páros paritás esetén párosnak, páratlan paritás esetén páratlannak kell lennie. Ha tehát páros keresztparitás használata esetén az adatbitek közül három bit 1-es, akkor a paritásbitbe 1-est kell írni, hogy a paritás (az egyesek száma) páros legyen (4.11. ábra).
4.11. ábra. Keresztparitásos ellenőrzés (VRC)
115 4.1.6.2. Hosszparitásos ellenőrzés
A hosszparitást a keresztparitáshoz hasonlóan képezzük. Ugyanúgy megkülönböztetjük a páros és a páratlan hosszparitást. A hosszparitást azonban a keresztparitással szemben nem egyetlen kódszóra, hanem több telegramkód azonos helyiértékű bitjeire képezzük. Így annyi paritásbitet kapunk, ahány adatbit van, és ezeket a paritásbiteket egyetlen ellenőrző kódba foglaljuk össze, amit blokkellenőrző kódnak (Framed Check Sequence, FCS) neveznek (4.12. ábra). A XOR művelet az egymás fölötti azonos pozíciójú bitek paritásbit-generálására utal.
4.12. ábra. Hosszparitásos ellenőrzés (LRC) 4.1.6.3. Kombinált paritásos ellenőrzés
A fentebb leírt két eljárás (VRC/LRC) kombinálása a kombinált paritás. Ennek során mindkét módszert egyidejűleg alkalmazzuk, azaz minden egyes kódra kiszámítunk egy paritásbitet és kiszámítunk egy paritáskódot a teljes blokkra is (4.13. ábra). Hibás átvitel esetén, amennyiben egy hiba történt, a sor-oszlop keresztpont adja a hiba helyét.
116
4.13. ábra. Kombinált paritásos ellenőrzés (VRC/LRC) 4.1.6.4. Ciklikus redundancia ellenőrzése
A paritásos elven alapuló hibaellenőrzés előnye az egyszerűsége, de nagy hátránya a megbízhatósága, ill. alkalmazási korlátozottsága. A két Hamming-távolságot biztosító paritásos módszer a kereszthibák esetén nem nyújt védettséget. A ciklikus redundancia ellenőrzése mintegy 1000-szer nagyobb védettséget biztosít. A CRC-kódot az adó képezi az üzenet előre rögzített bitképe alapján, a vevő pedig a vett üzenetből állítja elő szigorúan azonos szabályok alapján, három lépésben. A CRC hibafelfedő módszer első lépéseként az ellenőrizendő bitsorozatból egy, a legnagyobb helyiértékeknek megfelelő fokszámú polinomot képeznek úgy, hogy ennek együtthatóit az eredeti üzenetbitek adják: M(x)=bk−1 xk−1+bk−2 xk−2+…+b1 x+b0
(4-3)
Az így polinommá alakított M(x) üzenetet r helyiértékkel eltolják (balra léptetik), ami egy xr-nel történő szorzást jelent, aminek hatására a polinom az xrM(x) alakot veszi fel. Harmadik lépésként az xrM(x) alakú polinomot egy, az egész rendszer résztvevői által ismert r-ed fokú, ún. generátorpolinommal elosztják, a modulo-2 szabályoknak megfelelően. Feltételezve, hogy a generátorpolinom G(x)=gr xr + gr−1 xr−1 +…+ g1 x + g0
(4-4)
alakú, tehát az osztás eredménye: xr M(x)/G(x)=P(x) + R(x)/G(x),
(4-5)
ahol P(x) az osztható rész, míg R(x) a maradék. A következő lépésben az eredeti üzenetből képzett r helyiértékkel eltolt polinomból ezt a maradékot kivonják és az így kapott polinom T(x) együtthatóit küldik el a CRC-mezőbe. xr M(x) – R(x) = T(x)
(4-6)
117 A CRC-mezőbe küldött T(x)-nek megfelelő bitsorozat tehát ugyanúgy megérkezik a vevőhöz, mint az üzenet többi része. A vevőoldali procedúra nagyon hasonló az adóoldalihoz. Tételezzük fel, hogy az elküldött bitsorozat az átviteli úton sérül és a vevőhöz egy eltérő változat érkezik, vagyis: T(x) → T(x) + E(x) alakúra változik, ahol E(x) a hiba. Amennyiben a vevő által is ismert generátorpolinommal az üzenetet elosztjuk: [T(x) + E(x)]/G(x) = P(x) +E(x)/G(x),
(4-7)
vagyis az osztás eredménye E(x) miatt maradékot tartalmaz, tehát hiba lépett fel az átvitelkor. A generátorpolinommal történő osztás csak akkor ad maradék nélküli eredményt, ha az eredeti üzenet érkezett a vevőhöz. Feltáratlan hiba akkor maradhat az üzenetben, ha E(x) véletlenül maradék nélkül osztható G(x)-szel. A feltáratlan hibák valószínűségi értéke csökken, ha a generátorpolinomot nagyon gondosan választják meg. A generátorpolinom szinte minden esetben tartalmaz egy (x+1) szorzótagot, ami a paritásvizsgálatot teszi lehetővé. Mivel az M(x), ill. G(x) egyaránt bináris formában kerül feldolgozásra, így a CRC képzése egyszerű logikai műveletekkel, pl. léptetőregiszterekkel és EXOR műveletekkel könnyen és gyorsan elvégezhető.
4.2. RS típusú kommunikációs szabványok Az EIA által a gépi kommunikációra kidolgozott RS szabványok egy része a pont-pont közötti, másik része a hálózati kommunikáció hardverfeltételeit definiálja. Pont-pont közötti kommunikáció rendszerint PC és PLC, PLC és PLC, PLC és MMI, ill. PLC és periféria közötti adatforgalom lebonyolításához használatos. Erre a célra leginkább az RS 232, esetleg az RS 422/485, ill. a CENTRONICS (párhuzamos) interfészt alkalmazzák. 4.2.1. RS 232C szabvány szerinti adatátvitel
A pont-pont közötti kommunikációhoz rendszerint az 1969-ben az EIA által kidolgozott és valószínűleg a legszélesebb körben használt RS 232C szabványt használják. A szabvány a kommunikációban részt vevő két eszköz közötti csatlakozás (Data Terminal Equipment, DTE és Data Communication Equipment, DCE) mechanikai, elektromos és funkcionális jellemzőit definiálja, ezért gyakran hardverprotokollnak is nevezik. Az RS 232C tipikus feszültségértékei: Jel típusa Logikai állapot Adatjel 0 (szünet) 1 (jel) Vezérlőjel 0 (ki) 1 (be)
Feszültségtartomány + 3 V…+ 15 V − 15 V…− 3 V − 15 V…− 3 V + 3 V…+ 15 V
Névleges érték +7V −7V −7V +7V
Az RS 232C szabvány szerinti kommunikáció főbb műszaki jellemzői: – átviteli sebesség: 75, 300, 600, 1200, 4800, 9600, 19 000 bit/s, – a maximális átviteli távolság feszültségkimenet esetén kb. 15 m, áramkimenet esetén néhány 100 m, az átviteli sebességtől függően. Az RS 232C szabványú csatoló két végberendezés bitsoros összekötését valósítja meg és megfelelő kialakításban szimplex, fél duplex vagy duplex átvitelre egyaránt alkalmas.
118 A csatolás a szabvány szerint 25 pólusú csatlakozót igényel, de valamennyi vezetékfunkciót csak ritkán hasznosítják. Van 3…9 vezetékes megoldás, amihez 9 pólusú csatlakozó szükséges. A leggyakorib interfészjelek: TD RD RTS CTS DSR DTR
Transmit Data Receive Data Request to Send Clear to Send Data Set Ready Data Terminal Ready
Adatátadás (adatjel →) Adatátvétel (adatjel ←) Adáskérés (vezérlőjel →) Adásra kész (vezérlőjel ←) Adatberendezés kész (vezérlőjel ←) Adatberendezés kész (vezérlőjel →)
Az RS 232C szerinti soros kommunikáció [23] rendszerint a CPU soros UART egységén valósul meg úgy, hogy ennek TTL szintű jeleit ún. EIA meghajtókkal és szintáttevőkkel alakítják RS 232C szintre és vissza. Ezt szemlélteti a 4.14. ábra a 25, ill. 9 pólusú csatlakozó bekötésével. Bár az ábrán a két funkciót külön csipek valósítják meg, napjainkban rendszerint egy lapkán kerül kivitelezésre.
4.14. ábra. RS 232C interfész Az RS 232C szabványú kommunikáció speciális hardvermegoldása a 20 mA-es áramhurok. Az áramköri kialakításnak megfelelően a logikai 1-et a 20 mA áram, a 0-át pedig a 0 mA reprezentálja. Az áramhurkos átvitel 100 m-nél nagyobb távolságokra is használható. RS 232C átvitelnél az információ továbbítása az adatvezetékeken, soros formában, ún. kézfogásos (hand-shaking) módon a vezérlőbitek által irányítva történik. Kétirányú adatátvitel adat- és vezérlővezetékeinek összeköttetését szemlélteti a 4.15. ábra.
119
4.15. ábra. Az RS 232C csatlakozás bekötése Egyirányú átvitel az adó és vevő között vezérlőbitek nélkül, két vezetéken is megoldható. Erre példa az ún. XON/XOFF, ill. a BSC protokoll. A XON/XOFF protokoll esetén a XOFF-kód az adattovábbítás leállítására, a XON-kód az adattovábbítás indítására szolgál. Amikor a vevő puffermemóriája megtelt, akkor a vevő az adatvonalon küld egy XOFF jelet (03 hex.) és ezzel jelzi az adónak, hogy leállítja az adatátvitelt. Ennek vételekor az adatküldő eszköz leállítja az adatok továbbítását és vár a XON parancsra (01 hex.), amellyel a vevő jelzi, hogy kész az adatok fogadására. Látható, hogy ilyenkor csak a két adatvezetékre (és a jelföldre) van szükség, az adatátvitel egyirányú. A XON/XOFF protokoll esetén a küldött blokkhossz tetszőleges lehet (4.16. ábra).
120
4.16. ábra. A XON/XOFF protokoll A BSC (Binary Synchronous Communication) protokoll esetén az adatkapcsolat három fázisa: felkérési fázis, adatátadási és lekapcsolódási fázis. A BSC protokollt meghatározott hosszúságú (pl. nyomtatásnál 80 karakter) adatcsomag továbbítására fejlesztették ki. Az adni kívánó állomás ENQ-jellel kérdez rá (enquiry rákérdezést jelent) a vevő vételkészségére. A vevő ezt a DLE 0 karaktersorozattal nyugtázza. Ha ez a nyugtázójel nem érkezik meg, akkor az adó egy adott várakozási idő után újabb ENQ-jelet küld ki. Ha a vevő adatvételre kész állapotban volt (DLE 0), akkor az adó egy STX (Start of Text) karaktert küld és elkezdődik az adatátadási fázis (4.17. ábra).
121 A szöveg végét az ETX (End of Text) kóddal jelzi az adó a vevő felé. Ezután egy blokkellenőrző karaktert (BCC) küld az adó a vevőnek, amelynek hatására blokkellenőrzés kezdődik (pl. VRC, LRC stb.). Ha az adó elküldött és vevő által kiszámított blokkellenőrző karakter azonos, akkor ezt a vevő DLE 1 karakterekkel jelzi vissza, aminek vételekor az adó EOT karakterrel zárja az adatkapcsolatot.
4.17. ábra. Adatkapcsolat BSC protokoll esetén A két pont közötti soros kommunikáció sajátos módja a telefonvonalas adatátvitel. A telefonvonal sávszélessége 30…3300 Hz, azaz hangfrekvenciás tartomány, az átviteli csatorna analóg átviteli eljárást használ, ezért az átvinni kívánt digitális információt analóg jellé kell alakítani. Ezt az átalakítást végzi el az adóban a modulátor, a vevőben a demodulátor. A modulátor/demodulátor egységet modemnek nevezik. A modemes adatátvitelt a 4.18. ábra szemlélteti.
4.18. ábra. Soros adatátvitel modemmel RS 232C interfész és modem összekötése Siemens S7 elemekkel a 4.19. ábrán látható.
4.19. ábra. RS 232C egység és modem összekapcsolása Széles sávú átvitel esetén a vivőfrekvencia a VHF-tartományba esik, amihez rádiófrekvenciás (RF) modemeket használnak.
122 RS 232C esetén az ajánlott átviteli sebesség az átviteli távolság függvényében: Típus RS 232C
Távolság (m) 10 100 1000 100 300 2000
20 mA-os áramhurok
Max. sebesség (bps) 10000 1000 10000 10000 1000
4.2.2. RS 422/485 szabvány szerinti adatátvitel
Az RS 232C típusú adatátvitel az átviteli sebesség és a távolság szempontjából előnytelen és csak alacsony sebesség és kis átviteli távolság esetén használatos. Ezen javít az RS 422, ill. RS 485 szabvány szerinti adatátvitel. E két szabvány az átviteli paraméterek javulását nagyrészt a szimmetrikus jelátvitel révén éri el. Az RS 422/485 típusú átvitel jelalakjait [15] a 4.20. ábra szemlélteti a SAIA PLC jelöléseivel.
4.20. ábra. RS 422/485 átvitel jelalakjai Tipikus feszültségértékek: VOZ = 0,9 Vmin…1,7 Vmax VOH = 2 Vmin (terhelten)…5 Vmax (terhelés nélkül) VOL = −2 V…−5 V RS 422 jelek specifikációja: Jel típusa Adatjel Vezérlőjel
Logikai állapot 0 (szünet) 1 (jel) 0 (Ki) 1 (Be)
Polaritás TX pozitív → /TX /TX pozitív → TX /RTS pozitív → RTS RTS pozitív → /RTS
Az RS 422 szabvány szerinti átvitel kettőnél több pont közötti kommunikációt is lehetővé tesz. Az OMRON PLC-knél szokásos RS 422 interfész kapcsolását szemlélteti a 4.21. ábra . Az ábra bal oldalán az RS 232C, jobb oldalán az RS 422 vezetékek láthatók a cég jelöléseivel. A be-, ill. kimenetek egymástól optoleválasztóval vannak elkülönítve [16].
123
4.21. ábra. RS 422 interfész áramköri felépítése Ajánlott távolság- és sebességértékek az RS 422 szerinti átvitel esetén: Távolság (m) Sebesség (bps) 10 1000 000 100 100000 1000 10000 Az RS 485 szerinti jelek specifikációja: Jel típusa Adatjel
Logikai állapot 0 (szünet) 1 (jel)
Polaritás RX-TX pozitív → /RX-/TX /RX-/TX pozitív → RX-TX
Az RS 485 szabványú interfész kétvezetékes busz specifikációját határozza meg több pont közötti, ún. party-line vagy multidrop hálózati kommunikációhoz. Az RS 485 szerinti kéteres, sodrott érpárú vezetéken többnyire master-slave típusú buszhozzáférés van. A 4.21. ábra szerinti áramkör az SW1, SW2 kapcsolókkal RS 485 szerinti kétvezetékes sínné alakítható. Tetszőleges kommunikációs egységhez RS 485 szerinti sín differenciálerősítőből felépített vonalmeghajtóval is kialakítható a 4.22a ábra szerint.
124
4.22. ábra. Az RS 485 szabványú sín előállítása (a) és RS 485 szabványú PLC hálózat kialakítása (b) A SAIA PLC RS-485 szabványú kimeneteinek sodrott érpáras összekapcsolását a 4.22b ábra szemlélteti az ajánlott véglezáró ellenállásokkal, a maximális távolság és eszközszám feltüntetésével. Az RS 485 szabvány szimmetrikus jelátvitelt biztosít sodrott érpárral. A vonalon az információt feszültségimpulzusok hordozzák, ezért az átviteli sebesség növelésével növekszik a feszültségugrások felharmonikus tartalma. Így nagyon fontos kérdéssé válik az elektromágneses összeférhetőség (Electromagnetic Compatibility, EMC). Nagyfrekvenciás technikában minden kábelt hullámellenállással kell lezárni a vonalon terjedő jel visszaverődésének megakadályozására. Az ellenállásérték rendszerint 120…400 Ω közötti, a kábeltől függően. Alacsony átviteli sebességnél (max néhány Kbps) a véglezáró ellenállások elmaradhatnak. A külső térből érkező elektromágneses zavarok esetén mindkét buszvonalra azonos nagyságú és előjelű zavarójel szuperponálódik. A vevők differenciálerősítős bemenetűek, ezért a szuperponált zavarójelek a különbségképzéskor kiesnek. A pont-pont közötti adatátvitelre az RS 232C és részben az RS-422 szerinti interfész ajánlatos. Az RS-485 szerinti interfész kifejezetten a hálózati kommunikációt támogatja.
125 Igen gyakran van szükség a különböző RS szabványú interfészek közötti átjárhatóságra. Erre számos cég kínál kész megoldásokat. Így pl. a Phoenix Contact univerzális moduljai biztosítják az átjárást az RS 232C, RS 422, RS 485, TTY típusú soros átvitelek között. DIP kapcsolókkal választható ki például az RS 485 2 vezetékes fél duplex, RS 485 4 vezetékes full duplex és az RS 422 4 vezetékes pont-pont közötti összeköttetés 4,8 Kbit/s-tól 115,2 Kbit/s-ig terjedő átviteli sebességtartományban automatikus adás/vétel átkapcsolással. Néhány alkalmazási példa látható a 4.23. ábrán [17]: a) ábra: a PC RS 232C soros portjának csatlakoztatása valamely PLC RS 485 soros bemenetére; b) ábra: két RS 232C interfésszel rendelkező távoli egység (PLC) összekapcsolása két RS 232/422 konverterrel. Az áthidalható távolság 1200 m; c) ábra: a PC RS 232C interfészének összekapcsolása több, szintén RS 232C interfésszel rendelkező PLC-vel; d) ábra: az iparban gyakran van szükség galvanikus leválasztású, túlfeszültség-védelemmel (pl. villámvédelem) ellátott interfészekre is.
4.23. ábra. Adatvonali interfészek közötti összeköttetések
126 A háromféle RS-interfész főbb jellemzőit a 4.1. táblázatban foglaltuk össze. Mindhárom szabvány hardverajánlásokat és előírásokat tartalmaz. A pont-pont közötti kommunikációban bájtsoros párhuzamos interfész is használatos (pl. CENTRONICS). ELŐÍRÁS EIA Állomásszám Távolság (max.) Átviteli sebesség (tip.) Mechanikai követelmény Vázlat
1. VÁLTOZAT RS 232C 1+1 10 m 9,8 kbit/s
4.1. táblázat. RS-interfész főbb jellemzői 2. VÁLTOZAT 3. VÁLTOZAT RS 422 RS 485 1+10 1+32 1000 m 5000 m 100 kbit/s 100 kbit/s
25/9 pólusú csat- 4 pólusú csatlakozó lakozó
1
2 pólusú csatlakozó
1
1
...
1 1
2
10
... 1
2
4.3. Hálózati kommunikáció Bár a pont-pont közötti kommunikációnak vannak tipikus alkalmazási területei, napjainkban a több pont közötti kommunikáció igénye növekszik. Több PLC közötti kommunikáció módszerei a következők: − több soros vonal révén kialakított pont-pont kapcsolat (4.24a ábra); − PLC-hálózat (4.24b ábra); − ETHERNET-hálózat (4.24c ábra); − adatgyűjtő számítógép (4.25. ábra). A 4.24a ábra szerinti megoldás korlátozott kommunikációra alkalmas. Ezért látják el a PLC-ket egynél több RS 232C szabványú interfésszel. A megoldás hátránya az alacsony átviteli sebesség és a kis távolság. A 4.24b ábrán látható PLC-hálózat a leggyakoribb kommunikációs módszer a több PLC közötti információs kapcsolat kialakításához. Tekintettel az ETHERNET-hálózat világméretű elterjedésére és az ebből eredő előnyökre, különösen a nagy távolságú, ill. nagy adatmennyiségeket igénylő kommunikáció esetén célszerű alkalmazni. Minden perspektivikus PLC-nek van ETHERNET-hálózati csatolója, bár újabban a távközléstechnikában az ISDN-hálózat is terjed.
32
127
4.24. ábra. Több PLC közötti kommunikáció lehetőségei A 4.25. ábra szerinti adatgyűjtő számítógép és PLC-k közötti, főként egyirányú adatkapcsolat ma már elavult. A megoldást csak rendszertechnikai okból mutatjuk be.
4.25. ábra. Adatgyűjtő kommunikáció
128 Az irányítástechnika kommunikációs hálózatainak előnyei: - jelentősen kisebb kábelköltségek; - kisebb méretű kapcsolószekrények; - kisebb mennyiségű járulékos, hagyományos technika (pl. sorozatkapcsok); - kisebb telepítési és ráfordítási költségek (bérköltségek); - kisebb szervizköltségek; - nagyobb üzembiztonság és teljesítmény; - rugalmas módosítási lehetőség. Az irányítástechnika hálózatai a lokális hálózatokból fejlődtek ki, ezért tárgyalásukhoz általános hálózati ismeretek (LAN) és speciális hálózati ismeretek szükségesek. A hálózatok adatátvitele soros, ezért a 4.1. alfejezetben leírtak a hálózatokra is érvényesek. A LAN-ok felépítésének elemzéséhez szükséges alapfogalmak: az átviteli közeg, az átviteli mód, a hálózati topológia és a hozzáférési mód. Átviteli közeg: sodrott érpár, koaxiális kábel, fénykábel. Az átviteli mód: arról tájékoztat, miként alkalmazzák összeköttetésre az átviteli (fizikai) közeget. A leggyakoribb az alapsávú, ill. széles sávú átvitel. A hálózati topológia: a kábelezés alakjára utal, megmutatja a hálózati összeköttetés rendszerét. A leggyakoribb hálózati topológiák (struktúrák) a 4.3.1. szakaszban találhatók. A hozzáférési mód: annak a módszerét írja le, hogy mikor melyik kommunikáló állomás kap vezérlést az átviteli közeghez való hozzáférésre. A lokális hálózatra kapcsolt eszközök ugyanazon kábelrendszeren osztoznak, ezáltal összekapcsolódnak és lehetőséget kapnak az adatátvitelre. Általában a lokális hálózat egy időben csak egyetlen adatállomás adatküldését teszi lehetővé. Ezért szükség van olyan módszerekre, amelyek megteremtik a lehetőségét annak, hogy melyik állomás kap erre jogot. Ezt a módszert nevezik hozzáférés-vezérlési módnak. A hálózati kommunikációhoz a protokoll fogalmát a következők szerint kell kibővíteni. Hálózati kommunikáció esetén a kommunikációprotokoll a szabályok gyűjteménye a következő főbb területeken. Keretezés (framing): meghatározza, hogy melyik bitcsoport jelent egy karaktert és mely karaktercsoport tartozik az üzenethez. Hibakezelés (error control): hibaérzékelés-paritás (parity), VRC vagy CRC segítségével a hibátlan üzenet elfogadása stb. Sorrendvezérlés (sequence control): üzenetek számozása a megkettőzés vagy az elvesztés elkerülése érdekében. Átlátszóság (transparency): az előbbi funkciókat megvalósító vezérlőkarakterekkel megegyező bitelrendezésű információ átvitele anélkül, hogy ezeket a vevőállomás vezérlőkarakterként értelmezné. Vonalvezérlés (line control): fél duplex vagy többpontos összeköttetés esetén annak a meghatározása, hogy melyik állomás adjon és melyik vegyen. Speciális esetek (special cases): eldönti, hogy mi történjen, ha nincs adnivaló adat. Időtúllépés vezérlése (timeout control): eldönti, hogy mi történjen, ha az üzenetfolyam megszakad.
129 Indításvezérlés (startup control): az üzemen kívül lévő rendszerben az átviteli folyamat megindítása. 4.3.1. Hálózati topológiák
Minden lokális hálózat közös tulajdonsága, hogy az állomásnak nevezett eszközöknek hozzá kell férniük az egyetlen fizikai átviteli eszközhöz (kábelhez). Az átviteli közeghez való hozzáférést számos módszer vezérli. A hozzáférés-vezérlési módszer magában foglalja az alkalmazott hálózati topológiát. A hálózati topológia az eszközök fizikai elrendezésére és azok kábeles összekötésére vonatkozik. A LAN-ok topológiái: a csillag, a busz, a fa és a gyűrű típusú. a) A csillagtopológia
A csillag- (star-) topológia lelke egy központi vezérlő, amely mindegyik csomóponttal közvetlen összeköttetésben áll. Minden átvitel az egyik állomástól a másik állomás felé áthalad a központi vezérlőn (4.26. ábra). A központi vezérlő szerepét rendszerint számítógép látja el, és felelős a kommunikáció vezérléséért. A központi vezérlő hozza létre a kapcsolatot két csomópont között, majd ezt követően a két állomás között úgy cserélődhetnek az adatok, mintha közvetlenül kapcsolódtak volna egymáshoz.
4.26. ábra. Csillagtopológiájú hálózat A csillagtopológia előnye, hogy a központi vezérlő (számítógép) által bonyolított kommunikáció viszonylag egyszerű. Hátránya, hogy a központi vezérlő kiesése esetén a rendszer lebénul, a kábelezési költség viszonylag magas és a központi számítógép terhelése nagy, mivel rajta keresztül zajlik az állomások egymás közötti kommunikációja is. Csillagtopológiát régóta használnak a telefonközpontokban, ahol az automata hívású alközpont (PBX) működik központi vezérlőként. Vannak olyan csillagtopológiák is, mint a hópehelystruktúra, ahol egy állomás, az alapcsillag felépítésben önálló csillag, amihez újabb csillagalállomások csatlakoznak. A csillagtopológiában a jeleket ún. csillagcsatolók erősítik. b) Busztopológia
A busztopológia esetén valamennyi állomás közvetlenül egy közös kommunikációs csatornához kapcsolódik (4.27. ábra). A csatornán a jelek üzenetek formájában haladnak. Minden áthaladó üzenetet minden állomás vesz. Az állomásoknak az üzenethez tartozó cím alapján kell eldönteniük, hogy az üzenetet elfogadják és feldolgozzák, vagy elvetik. A buszon bármelyik állomás kommunikálhat, bármelyik másikkal. Egyidejűleg csak egy állomás végezhet adást, ezért buszhozzáférést szabályozó eljárásra van szükség, amely szabályozza a busz forgalmát. Busztopológiájú hálózat esetén például a master-slave hozzáférésmód terjedt el az RS 485 szabvány szerint.
130
4.27. ábra. Busztopológiájú hálózat felépítése A topológia logikai és nem topográfiai kategória. A 4.28. ábrán bemutatunk egy busztopológiájú hálózatot, amely fatopográfia szerinti felépítése ellenére busz- (sín-) topológia, mivel elvileg bármelyik állomás bármely másikkal közvetlenül kommunikálhat.
4.28. ábra. Módosított busztopológiájú hálózat felépítése c) Fatopológia
A fatopológiájú hálózat a busztopológiából származtatható. Az adatforgalom irányított: az adatok rendszerint a fejállomás felé haladnak és innen kerülnek vissza a résztvevő állomásokra. A széles sávú hálózatokat többnyire fatopológiában alakítják ki, ahol az adó- és a vételi csatornát elválasztják külön vezeték vagy frekvencia formájában. A fatopológia tipikus alkalmazási területe a lokális hálózatok terén az épületinstallációs hálózatok (EIB). d) Gyűrű- (ring-) topológia
A gyűrűtopológia felépítése a 4.29. ábrán látható. Ebben a rendszerben egy gyűrűvé záródó átviteli közeggel kapcsolódnak össze az állomások. A gyűrűn végigvonuló jelek üzenet formájúak. Az üzeneteket minden állomás egymás után veszi. A busztopológiához hasonlóan az egyes állomások az üzenetek címei alapján döntik el, melyik üzenetet kell fogadniuk és feldolgozniuk. Gyűrűstruktúránál tehát minden állomás része az átviteli útnak. Az üzenetek egyszer mennek körbe a gyűrűn, állomásról állomásra. Mindegyik állomás megvizsgálja, hogy neki szólnak-e az üzenet adatai. Ha igen, akkor beolvassa a saját adattárába. A busztopológiával ellentétben, miután az üzenet vétele megtörtént, mindegyik állomásismétlő egységként működik, felfrissítve az eredeti jelerősséget. Az újabb résztvevők becsatlakoztatásánál, ill. a gyűrűből való kiiktatásánál a gyűrű zártságát mindig biztosítani kell. Ezt többnyire relés
131 kapcsolással oldják meg. A gyűrűtopológia esetén az üzenetek forgalmazását szabályozó eljárásra van szükség. Ilyen például az IBM Token Ring hozzáférési módja. A terepi buszok közül az INTERBUS S használ gyűrűtopológiát.
4.29. ábra. Gyűrűtopológiájú hálózat felépítése 4.3.2. Átvitelvezérlési (buszhozzáférési) eljárások
A hálózati kommunikáció esetén egy vezetékrendszerre több állomás kapcsolódik, ezért a hibátlan adatkapcsolathoz szükség van az átvitelt vezérlő eljárásra. Ezt átvitelvezérlési eljárásnak vagy buszhozzáférési eljárásnak nevezik. Ezen adatáramlás során a szabályozás nélküli információk egymásra íródnak, megsemmisíthetnék egymást az ún. sínkonfliktus következtében. A buszhozzáférési eljárás azokat a szabályokat jelenti, amelyek megadják, mikor és mennyi ideig használhatja egy állomás az adatcsatornát. A hálózati adatforgalom esetén fel kell készülni arra, hogy egyidejűleg több résztvevő kíván adatokat küldeni, azaz a buszhoz adóként hozzáférni, és ezt az átvitelvezérlési eljárásnak zavarok nélkül kell lebonyolítania. Azt is biztosítani kell, hogy az összes résztvevő megkaphassa a hozzáférési jogot meghatározott időközönként. Ez különösen fontos az irányítástechnika hálózatai esetén a valós idejű adatfeldolgozás céljából. A hozzáférés-vezérlési módok a következő típusú átvitelvezérlésssel működnek: − véletlen vezérlés esetén egyik állomásnak sincs szüksége megkülönböztetett engedélyhez üzenete továbbításához. Egy állomás mielőtt elküldené a kívánt üzenetet, ellenőrizheti, szabad-e az átviteli közeg; − osztott vezérlés esetén csupán egyetlen állomásnak van joga egy adott időn belüli adatátvitelre, és ez a jog állomásról állomásra halad tovább; − központosított vezérlés esetén egy kitüntetett állomás vezérli a hálózati belépéseket, a többi állomásnak pedig figyelnie kell, mikor kapnak engedélyt adattovábbításra a vezérlőállomástól. A fenti módszerek mindegyike különféle előnyökkel rendelkezik. Például a központosított vezérlés előnyei: − az állomások tevékenységei között kevesebb a koordinálási feladat; − nagyobb a rendszer szabadsági foka, mivel minden állomáshoz elsődleges, vagy szavatolt hozzáférés rendelhető; − az állomások csatlakoztatásához igen egyszerű interfészre (hardver) van szükség. A központosított vezérlési módszer hátránya, hogy a központi vezérlési ponton a legsűrűbb az igénybevétel, ami csökkentheti a hatékonyságot. A lokális hálózatok gyártói a következő hozzáférés-vezérlési módszereket dolgozták ki.
132 Véletlen átvitelvezérlési módszerek: ütközést jelző vivőérzékeléses, többszörös hozzáférés (CSMA/CD), réselt gyűrű, regiszterbeszúrás. Osztott átvitelvezérlési módszerek: − vezérjel-továbbításos: vezérjelgyűrű, vezérjelbusz, − ütközést elkerülő vivőérzékeléses: többszörös hozzáférés (CSMA/CA). Központosított vezérlési módszerek: lekérdezéses, vonalkapcsolásos, időosztásos többszörös hozzáférés (TDMA). A felsorolt eljárások közül három fontosabbra épülnek a lokális hálózati szabványok (IEE 802) és ezeket alkalmazza a legtöbb LAN-megvalósítás. Ezekhez tartozik az ütközést jelző, vivőérzékeléses, többszörös hozzáférés (CSMA/CD), pl. az ETHERNET; a vezérjelgyűrű, amelyre épül a legtöbb IBM lokális hálózati architektúra és a vezérjelbusz, amely a General Motors MAP hálózatának alapja. Az állomások számától, az üzenet hosszától, a csatorna sebességétől, a hálózat topológiájától és az alkalmazási igényektől függ, hogy melyik hozzáférési mód a leghatékonyabb. 4.3.2.1. CSMA/CD hozzáférési mód
A Carrier Sense Multiple Access with Collision Detection elnevezés magyarul ütközést jelző vivőérzékeléses, többszörös hozzáférési módot jelent. A CSMA/CD hozzáférési módszert már régóta használják, főként a busz- vagy a fatopológiájú lokális hálózatokban és ezt alkalmazzák az ETHERNET-ben is. A CSMA/CD hozzáférési módszer előírásait az IEE 802 tartalmazza. A buszhozzáférési módszerek gyakran a közúti forgalom példáihoz hasonlók. A körforgalom az elektronikus busz, a torkolatok a különböző résztvevők, a jármű pedig a küldendő adatcsomag. A torkolatban ki kell várni, amíg a körforgalom üres lesz (Carrier Sense), utána elindul a jármű, hogy bejusson egy másik torkolatba. Előfordulhat, hogy az üres körforgalomba egyidejűleg két jármű akar bejutni (Multiple Access). Az ekkor fellépő ütközést a rendszer felismeri (Collision Detection), és visszahívja a járműveket. Ezután egy véletlenszerű, és a valószínűség-számítás elmélete szerint a két torkolatra eltérő várakozási idő után új indítási kísérlet történik. A CSMA/CD rendszerben mielőtt egy állomás adatokat küldene, először belehallgat az átviteli közegbe, hogy megállapítsa, van-e olyan állomás, amelyik éppen üzenetet küld. Amennyiben az átviteli közeg csendes, azaz egyik állomás sem ad, úgy a hallgatózó állomás elküldi az üzenetét. A vivőérzékelés (Carrier Sense) tehát azt jelenti, hogy az állomás az adás előtt belehallgat az adathálózat tartalmába. Amikor üzenetküldési folyamat zajlik, az üzenet a hálózat mindegyik állomásához eljut. Az üzenet megérkezésekor valamennyi hallgató állomás megállapítja az üzenethez tartozó címet. Ha ez a cím a saját címével megegyezik, az állomás az üzenetet átveszi és feldolgozza. CSMA/CD hozzáférési eljárás esetén a következő három eset lehetséges: − az adni kívánó résztvevő belehallgat az adathálózat forgalmába, és ha egy másik résztvevő éppen ad, akkor a hálózat foglaltnak minősül, és az adni kívánó résztvevő a vivőt figyelve vár a szabaddá válásig. Ha ugyanezt egyszerre több adni kívánó résztvevő teszi, akkor nagy valószínűséggel egyszerre kezdenek adni a szabaddá vált hálózaton, azaz többen akarnak hozzáférni (Multiple Access, többszörös hozzáférés); − ha a hálózat szabad, akkor egy rövid adásidő (néhány ms) áll rendelkezésre. Az adást minden résztvevő venni tudja, de csak a megcímzett résztvevő olvassa be.
133 − ha egyszerre több résztvevő akar a hálózaton adni, akkor ez adatütközéshez (collosion) vezet. Ezt az ütközést minden állomás felismeri, leállítja az adást és egy állomásonkénti véletlenszám-generátor által meghatározott idő leteltével újabb adás kezdődik. Így az egyes résztvevőknek statisztikus átlagban közel azonos adási lehetőségük van. Az eljárás hátránya, hogy adott esetben előre nem lehet tudni a várakozási (kiszolgálási) idő mértékét. A CSMA/CD eljárás a véletlen eljárás kategóriájába tartozik, ezért valós idejű (real-time) alkalmazásokhoz nem ajánlott. A CSMA/CD módszer nagy előnye, hogy kis forgalom esetén a buszhozzáférés rendkívül gyors. 4.3.2.2. Osztott hozzáférési módok
Osztott átvitelvezérlésű hozzáférés esetén a hálózat mindegyik állomása ugyanolyan mértékben vesz részt az átviteli közeghez való hozzáférés vezérlésében. Két ilyen módszert alkalmaz az osztott eljárás: a vezérjel-továbbítás (Token Passing) és az ütközést elkerülő vivőérzékeléses többszörös hozzáférés (Carrier Sense Multiple Access With Collision Avoidance, CSMA/CA) módszereket. A Token Passing hozzáférési mód az ún. token (zseton) adogatásán alapul. A token egy rövid üzenetet (bitmintát) jelent, amely az adási jogosultságot hordozza. Amelyik résztvevőnél van a token, az adhat. Adás után a résztvevő köteles a tokent a következő résztvevő felé továbbítani. Ha nem kíván adni, akkor továbbküldi a tokent a következő résztvevőnek. Az utolsó résztvevő után ismét az első kerül sorra. Ha egyik résztvevő sem kíván adni, akkor a token körbejár. A tokenadogatásos eljárásnak a hálózat topológiájához igazodóan két változata létezik, a Token Ring a gyűrű-, ill. a Token Bus a busztopológiájú hálózatokhoz. A Vezérjelgyűrűs (Token Ring) hozzáférési mód a gyűrűtopológiájú hálózatok leggyakoribb hozzáférési módszere (4.30. ábra).
4.30. ábra. Token Ring hozzáférési mód Ezt a hozzáférési módot legelterjedtebben az IBM cég használja. A zseton az adási jogosultságot hordozza, a gyűrű mentén körbejár. Ha a vezérjeleket hordozó token szabad értékű, akkor ezt az állomás úgy értékeli, hogy üzenetet adhat. Ekkor az állomás elküldi az üzenetét, és foglaltra állítja a vezérjelet (tokent) és hozzáteszi a foglaltra állított vezérjelet az üzenethez. A foglalt vezérlőjellel kiegészített üzenet a gyűrűn állomásról állomásra körbejár. Az üzenetet mindegyik állomás veszi, lemásolja és továbbküldi. Amikor az üzenet a küldő állomáshoz jut vissza, az törli az üzenetet, és szabadra állítja a vezérjelet, majd továbbküldi és a folyamat kezdődik elölről. A Token Ring hozzáférési mód előnye, hogy a gyűrű valamennyi állomásának biztosítja a lehetőséget az üzenetadásra adott időn belül és a hibás továbbítás detektálásáról is
134 gondoskodnak. Lehetőség van az egyes állomások prioritásának programozására. Hátránya, hogy bonyolult a vezérjel feldolgozása és felügyelete. A Token Bus hozzáférési mód a Token Passing módszer (vezérjel-továbbítás) alkalmazása busztopológiájú hálózatokra (4.31. ábra).
4.31. ábra. Token Bus hozzáférési mód a logikai gyűrűvel Ez a módszer különösen az üzemi, vállalati, gyári lokális hálózatokban terjedt el. A Token Bus módszer alapja a General Motors MAP protokollja. A Token Bus hozzáférési mód is token, azaz vezérjel-továbbításos módszer. Szemben a gyűrűvel, ahol a sorrendet a körkörös csatlakozás meghatározza, a busz esetén csak logikai gyűrű van. Ehhez egy lista tartozik, amely meghatározza az állomások sorrendjét, tehát a zseton egy listával definiált gyűrű mentén halad. A gyűrűn belül a folyamat ugyanaz, mint a Token Ring esetén, de az üzenet nem állomásról állomásra jut tovább, hanem a buszon keresztül közvetlenül a célállomásra kerül. A résztvevők csak egy-egy rövid adási intervallumra (pl. 10 ms) vehetik igénybe a hálózatot. Példaként 100 aktív résztvevőnél 100⋅10 ms = 1 s időközönként minden résztvevő sorra kerül. Ha nem akar minden résztvevő adni, akkor a token gyakrabban kerül az adni kívánó állomásokhoz. Ugyanakkor token nélkül a hálózat működésképtelen. Ezért a tokenszervezésű hálózatokban meg kell akadályozni a token elvesztését, ami akkor állhat elő, ha az éppen a tokent birtokoló állomást lekapcsoljuk a hálózatról. Hasonlóképpen a hálózatra kapcsolt új állomás sem indíthat el egy tokent, mert ekkor két token lenne a hálózaton, és így az adatátvitel megsérülne (adatütközés). A Token Bus eljárást az üvegszálas adathálózatokhoz is alkalmazzák. Példaként az S7-200 PLC token forgatási idejét szemléltetjük más-más baud sebesség esetén 9,6 kbaud: Átküldött bájtok száma 1 16
2 állomás esetén 0,3 s 0,33 s
5 állomás esetén 0,74 s 0,83 s
10 állomás esetén 1,48 s 1,65 s
19,2 kbaud: Átküldött bájtok száma 1 8 16
2 állomás esetén 0,15 s 0,16 s 0,17 s
5 állomás esetén 0,37 s 0,39 s 0,5 s
10 állomás esetén 0,74 s 0,78 s 0,83 s
187,5 kbaud: Átküldött bájtok száma 1 8 16
2 állomás esetén 8,68 ms 9,5 ms 10,33 ms
5 állomás esetén 21,71 ms 23,76 ms 25,81 ms
10 állomás esetén 43,41 ms 47,52 ms 51,63 ms
135 CSMA/CA hozzáférési vezérlési mód az osztott hozzáférési módszer ütközést elkerülő, vivőérzékeléses többszörös hozzáférés néven ismert. Az alapelv ugyanaz, mint a CSMA/CD esetén, de ez az eljárás másképpen reagál az ütközésekre. A CA (Collision Avoidance), az ütközéselkerülés rövidítése. Míg a CSMA/CD megengedi az ütközést, a CSMA/CA az ütközést felismeri, és a kevésbé fontos üzenetet küldő adó abbahagyja az adást, míg a fontosabb üzenetet küldő folytatja. Ez azért lehetséges, mert a fellépő ütközés nem semmisíti meg az üzeneteket. A hatékonyabb hozzáférési módszer tehát a CSMA/CA, mivel nincs kényszervárakozás az ismételt adási kísérlet előtt. Erre a hozzáférési módra példa a CAN busz. 4.3.2.3. Központosított vezérlésű buszhozzáférési módszerek
Ezt a hozzáférési eljárást a távolsági (WAN-), ill. a helyi (LAN-) hálózatokhoz egyaránt használják. Utóbbira példa néhány, az irányítástechnikában használatos terepi hálózat. A központi vezérlésű hozzáférési vezérlési módszerek közé tartozik a lekérdezéses, a vonalkapcsolásos és az időosztásos (TDMA) eljárás, amelyek közül a PLC-hálózatokban elterjedt lekérdezéses módszert ismertetjük. Lekérdezéses (polling) eljárás esetén a főállomás (master-mester) sorban egymásután mindegyik mellékállomáshoz (slave-szolga) olyan üzenetet küld, amelyből megtudhatja, akarnak-e üzenetet küldeni. Ha a lekérdezett állomásnak van üzenete, akkor azt elküldi a főállomáshoz, amelyik továbbítja azt ahhoz az állomáshoz, amelyiknek a címét az üzenet tartalmazta. Ha a lekérdezett állomásnak nincs továbbítandó üzenete, akkor nemleges választ küld a master lekérdezésére. Amikor a főállomás befejezte az alállomással való párbeszédet, akkor a lekérdezési lista alapján a következő alállomást kérdezi le. A gyártó cégek katalógusaiban ezt a buszvezérlési eljárást master-slave módszernek nevezik (4.32a ábra).
136
4.32. ábra. Master-slave hozzáférési mód (a) és tranzakciója (b) Az alállomásokhoz különböző prioritási szintek rendelhetők, amivel a lekérdezés gyakorisága növelhető. A módszer előnye, hogy a mellékállomások a legegyszerűbb illesztő áramkörrel rendelkeznek. Hátránya, hogy a főállomás bonyolult és kiesése esetén a hálózat működése megszűnik. Hátránya az átviteli sebesség szempontjából, hogy az üzeneteket kétszer kell elküldeni: először a küldő alállomástól a főállomáshoz, onnan pedig a címzett másik alállomáshoz. Ez a módszer a csillagstruktúrájú és a buszstruktúrájú hálózatokra jellemző. A 4.32b ábra szemléletesen mutatja a mester és a szolga közötti kommunikáció folyamatát egy hat fázisból álló művelet kapcsán. 4.3.2.4. Hibrid hozzáférési eljárások
Multi-master hozzáférési eljárásnak nevezzük, amikor két hozzáférési eljárást összekapcsolnak. Ez a hibrid hozzáférési eljárás. A Token Passing és a master-slave eljárás egyesítése növeli a két módszer előnyeit és csökkenti hátrányait. A résztvevők lehetnek aktív vagy passzív résztvevők. A passzív résztvevők csak slave-ként működhetnek, ezért zsetont (token) nem kapnak. Az aktív résztvevők a logikai Token Ring gyűrűn vannak, és akár master, akár slave üzemmódban működhetnek (4.33. ábra).
137
4.33. ábra. Multi-master hozzáférési mód Master/Slave összesítőkeretnek nevezzük a master-slave eljárás speciális formáját: a gyűrűstruktúra és az összesítőkeret összekapcsolását. Az eddig ismertetett eljárásoknál mindig a vevő kapott üzenetet, amelyre üzenettel válaszolt. Az összesítőkeret különlegessége, hogy az összes üzenetet egyetlen üzenetben foglalja össze. Ezáltal az eljárás jelentősen hatékonyabb, mint a külön-külön üzenetekkel dolgozó eljárások. Az eljárás menete a következő: a master kiküldi az üzenetét (1. fázis), azaz elküldi az első készülékre a gyűrűn, majd addig „tolja” tovább, amíg az üzenet fejrésze a gyűrű mentén vissza nem érkezik hozzá (2. fázis). Most minden üzenet ott van a kívánt vevőknél. A slave-ek kiolvassák az adatokat, beírják az új üzeneteket (3. fázis), majd a master ismét addig tolja az üzenetkeretet, amíg az új üzenet teljes egésze meg nem érkezik (4. fázis). A működést a 4.34. ábra szemlélteti [8].
4.34. ábra. Master-slave összesítőkeret 4.3.3. Hálózati architektúrák
A hálózati architektúra meghatározza azokat a szabványokat (protokollokat, üzenetformátumokat), amelyek révén a hálózati összeférhetőség, azaz kompatibilitás biztosítható. A hálózati architektúrák főbb közös jellemzői [12]:
− összekapcsolhatóság, amely biztosítja, hogy sokféle hardver és szoftvertermék kapcsolódhasson egy egységesített hálózati rendszerbe, − modularitás, amely lehetővé teszi a gyártmányok (hardver és szoftver) használatát a különféle hálózati eszközökben, − egyszerű bevezethetőség; − egyszerű használhatóság; − megbízhatóság, amely hibafelismerési és javítási lehetőséget biztosít;
138
− egyszerű módosíthatóság; − rétegszemlélet. A rétegszemlélet a hálózati architektúra feladatainak csoportosítása. Egy adott réteg felelős egy specifikus funkcióhalmazért. A hálózati architektúrát úgy definiálhatjuk, hogy az a rétegek közötti felületek, ill. interfészek által nyújtott szolgáltatások összessége. Egy hálózati architektúra rétegek közötti kapcsolatait a 4.35. ábrán mutatjuk be. E szerint az interfészek két típusát különböztetjük meg. Az egyik típus az adott állomáson belül létezik a rétegek között. Az ilyen típusú interfészt az ábrán függőleges nyilak jelzik. Ha egy állomáson adatfeldolgozási folyamat zajlik, akkor az adat az egyik rétegből fel vagy le a másik rétegbe jut. Amennyiben egy hálózati eszköz üzenetküldést kezdeményez, az üzenet a legmagasabb rétegből indul, és lefelé haladva jut el a legalacsonyabb rétegig, ahol azután a fizikai átviteli közeg révén továbbítódik. Üzenet fogadásakor a fizikai rétegtől jut el felfelé a legmagasabb rétegig. Különféle protokollok és adatformátumok definiálják azt a folyamatot, amelyet minden réteg végrehajt. Az interfészek másik típusa a különböző csomópontok ugyanazon rétegei között létezik, amelyek a 4.35. ábrán vízszintes vonalakkal vannak jelölve [12].
4.35. ábra. A hálózati architektúra interfészfunkciói a rétegek között A rétegszemlélet előnyei: az egyszerű módosíthatóság és a sokféleség, azaz a széles körű felhasználhatóság. A különböző gyártók, ill. nemzetközi szervezetek számos szabványos hálózati architektúrát definiáltak, mint például az OSI-, az IBM cég SNA-, vagy IEE 802 modellje. Az ISO nemzetközi szervezet dolgozta ki a nyílt rendszerek összekapcsolásának referenciamodelljét (Open Systems Interconnection, OSI). Az OSI modell a rendszerek közötti összeköttetés megteremtésére vonatkozik, a rétegszemléleten alapul, és az elvégzendő funkciókat hét rétegben valósítja meg (4.36. ábra) [12]. .
139
4.36. ábra. ISO-OSI hétrétegű referenciamodellje 1. A fizikai vagy bitátviteli réteg (Physical Layer) definiálja a fizikai csatoló mechanikai, elektromos és funkcionális paramétereit (átviteli sebesség, karakterhossz, feszültségszint, közeg stb.). 2. Az adatkapcsolati réteg (Data Link Layer) nem csak az átvitelt biztosítja, hanem meghatározza a telegramszerkezetet, a hozzáférési eljárást, a résztvevők címzését és az adatáramlás vezérlését is. Ez a réteg foglalkozik az adatkeretek hibamentes átvitelével. 3. A hálózati réteg (Network Layer) kezeli az útválasztást (routing), a hálózati kapcsolatok multiplexelését és az adatfolyam kezelését, valamint felelős a két felhasználó közötti hálózati összeköttetésért, annak fenntartásáért és megszüntetéséért. 4. A szállítási (továbbítási vagy átviteli) réteg (Transport Layer) biztosítja a hibafelismerést és -javítást, valamint az üzenetismétlés eljárásait, az adatok tömörítését, valamint felelős a két felhasználó között az előre egyeztetett minőségű adatátvitelért. 5. Az együttműködési réteg (Session Layer) definiálja a kapcsolat felépítésének és lebontásának eszközeit. Itt történik a párbeszédvezérlés és az adatcsere-irányítás. E réteg elsődleges feladata, hogy a váltott adás- és vételkapcsolatnak megfelelően vezérelje a felhasználók adásvételét. Ezért némely irodalomban kommunikációvezérlő rétegnek nevezik. 6. A megjelenítési réteg (Presentation Layer) definiálja a konvertálási és formátumillesztési szabályokat, amelyek lehetővé teszik az adatok helyes értelmezését. Ez jelenthet karakterkód-fordítást, adatátalakítást, adatzsugorítást vagy -nyújtást. 7. Az alkalmazói réteg (Application Layer) csatolófelület a felhasználó és a hálózat között. Ebben definiálják a hálózati szolgáltatásokat, pl. a fájlátvitelt. 4.3.4. A hálózatok összekapcsolásának elemei
Az egyes hálózatokat többféleképpen össze lehet kapcsolni, melyek révén bonyolult rendszerek alakíthatók ki. Az összekapcsoláshoz zavartalan adatforgalmat megvalósító elemekre, eszközökre van szükség. Ilyenek: a jelismétlő, hálózati híd, útválasztó (forgalomirányító) és az átjáró. Az összekötés módszereit annak alapján különböztetjük meg, hogy az OSI-modell rétegprotokolljai azonosak-e az összekapcsolt hálózatokban (4.2. táblázat).
140 4.2. táblázat. Hálózati összekötő típusai és az OSI-rétegek kapcsolata
Jelismétlő Híd Útválasztó Átjáró
Fizikai réteg Ugyanaz Különböző Különböző Különböző
Protokollok Adatkapcsolati réteg Ugyanaz Ugyanaz Különböző Különböző
Hálózati vagy magasabb réteg Ugyanaz Ugyanaz Ugyanaz Különböző
A jelismétlőket (Repeater) nem eltérő hálózatok összekötésére, hanem hálózati szegmensek összekapcsolásához használják nagyobb (több állomást kezelő) hálózatok létrehozása céljából. A jelismétlő feladata, hogy az üzenetet fogadja, majd az eredeti szinten helyreállítva, regenerálva újraadja. A hálózati specifikációban a távolságtól és az állomások számától függően írják elő repeater-ek használatát, de az egymás után kötött jelismétlők számát is korlátozzák. Jelismétlőket főként a busztopológiájú hálózatokhoz használnak. Gyűrűtopológiájú hálózat működése során minden állomás jelismétlő is, ezért külön repeater-ekre nincs szükség. Jelismétlők alkalmazásánál mindkét hálózati szegmensnek ugyanolyan típusúnak kell lennie. Minden rétegszinten ugyanazon protokollokat kell használni. A hálózati híd (Bridge) közbeiktatásával fizikailag eltérő hálózatokat is össze lehet kapcsolni. Ez az összeköttetés-típus az üzeneteket egy kis időre a hálózati hídban tárolja, és utána átküldi a másik hálózatba. A híd az OSI-modellen, az adatkapcsolati szinten működik (4.37. ábra) [12]. Látható, hogy hálózati hídkapcsolat esetén az összeköttetésnél a hálózatok fizikai rétegszinten különböző protokollokat alkalmaznak, de az adatkapcsolati rétegen ugyanazt. Például a CSMA/CD széles sávú, koaxiális kábelen keresztüli átviteli hálózatot össze lehet kapcsolni hálózati híddal egy CSMA/CD alapsávú, sodrott érpáros átviteli hálózattal.
4.37. ábra. Hálózati hídkapcsolat OSI-modellel
141 A hálózati híd funkcióját rendszerint megfelelően konfigurált és szoftverrel ellátott számítógép látja el. Az útvonalválasztó (forgalomirányító) (Router) a híddal szemben saját címmel rendelkezik, funkciójában a hálózati hídhoz hasonlít. Az útvonalválasztó funkcióit az OSI-modellen a hálózati réteg működteti. Hálózati átjárók (zsilipek - gateway) biztosítják a legnagyobb rugalmasságot a hálózati összeköttetésben, mivel két teljesen eltérő hálózat összekapcsolására alkalmasak. Eltérő hálózati architektúrák esetén a protokollok különbözhetnek bármely vagy valamennyi rétegen. Az átjáró feladata a két architektúra közötti összes átalakítás elvégzése: üzenetformátum, cím- és protokollátalakítás. 4.3.5. Irányítástechnikai hálózatok
Az irányítástechnikában bizonyos rendszerbonyolultság felett a háromszintű informatikai rendszer terjedt el. Ez a hármas tagozódás a feldolgozási igényekhez igazodik. Az alsó szinten történik az érzékelők jelének valós idejű feldolgozása, ill. a beavatkozók jelének kiadása. Ezzel a funkcióval kapcsolatos információk átvitelére az érzékelő, beavatkozó terepi buszokat használják (eszközszint, device level). Középső szinten (automatizálási szint, control level), a PLC-k, CNC-k, digitális szabályozók stb. közötti kommunikáció zajlik, szintén terepi buszrendszeren. A felső szinten a termeléssel, gyártással kapcsolatos információfeldolgozás folyik, amihez a munkaállomások, számítógépek, stb. közötti nagy mennyiségű információ gyors és nagy távolságú átvitelére alkalmas ETHERNET-hálózatot használnak (információs szint). Ezen a szinten a valós idejű feldolgozás igénye nem merül fel. Az előbbieket szemléltetik a Siemens, ill. Allen Bradley megoldásai. Felső szint: Középső szint: Alsó szint:
Siemens ETHERNET PROFIBUS ASI
Allen Bradley ETHERNET CONTROLNET DEVICENET
4.4. ETHERNET-hálózat Az ETHERNET a legjobban elterjedt irodai hálózat, amelyet ma már az irányítástechnikai rendszerekben is használnak a hierarchia legmagasabb fokán a nagy adatmennyiségek, mint pl. PLC-programok, receptúrák átvitelére, ill. távdiagnosztikai feladatok megoldására. Amíg korábban a csatolást külön számítógéppel oldották meg, ma már a PLC-be csatlakoztatható ETHERNET-interfészt forgalmaznak. Az ETHERNET az IEE 802.3 szabványban definiált CSMA/CD buszhozzáférésen alapul, de az adatkapcsolati réteg feletti szoftverréteget megbízórétegnek (Client Layer) nevezik. Az ETHERNET-architektúra referenciamodelljét a 4.38. ábra szemlélteti [12]. A megbízóréteg csomagoknak nevezett adatblokkal működik. A megbízóréteg a hálózaton való átvitel érdekében a csomagokat átadja az adatkapcsolati rétegnek.
142
4.38. ábra. Az ETHERNET referenciamodellje Az adatkapcsolati réteg a következő funkciókat látja el: adatok beágyazása/feltárása, kapcsolat szervezése, adatkódolás, dekódolás, csatorna-hozzáférés. Az adatkapcsolati réteg által végrehajtott adatbeágyazási és -feltárási funkciók megfelelő formátumú keretet állítanak elő a hálózaton. Az ETHERNET átviteli keretformátuma (4.39. ábra) és funkciói: előtag: 7 bájt SFD (keretkezdet-kijelölő): 1 bájt − címmező: célcím 6 bájt, forráscím 6 bájt; − típusmező: 2 bájt (a hasznos adatok hossza); − adatmező: min. 72 bájt, max. 1526 bájt; − keretellenőrző: 4 bájt (CRC ciklikus hibaellenőrzés).
4.39. ábra. Az ETHERNET keretformátuma
143 Az ETHERNET Manchester-kódoló és dekódoló eljárást használ (lásd a 4.1. alfejezetet). Ezt a kódolási módszert a CSMA/CD szabvány definiálja. E kódolásnál minden biten van jelátmenet: 1-es értékű bitet 0 → 1 átmenet, 0-ás értékű bitet 1 → 0 átmenet jelenti. A jelátmenet szinkronizálja az adatátvitelt. Az adatkódoló funkció ülteti be az előtagot a keretbe. A dekódoló az előtagot eltávolítja, még mielőtt a keret átkerülne az adatkapcsolati réteghez. Az ETHERNET-specifikációban az adatkapcsolati és fizikai rétegkódoló/dekódoló funkcióit vezérlőkártyán integrálják, amit a hálózati eszközbe (PC, PLC) építenek. Ez a kártya adó-vevő egységgel és speciális kábellel kapcsolódik a koaxiális kábelcsatlakozóhoz (4.40. ábra) [16]. Az adó-vevő rendszerint ún. vámpírcsatlakozóval kapcsolódik a koaxiális kábelhez. A koaxiális kábel hossza ún. vastag ETHERNET esetén max. 500 m és 100 résztvevő csatlakozható a kábelre jelismétlő nélkül. A vékony ETHERNET-kábel hossza 250 m lehet.
4.40. ábra. Tipikus ETHERNET-implementáció A legelterjedtebb ETHERNET-implementáció 10 Mbps adatsebességű alapsávú adatátvitelt használ koaxiális kábellel, de sodrott érpárú és fénykábeles is lehet. A PLC rendszer ETHERNET-hálózatának alkalmazási példái: − távprogramozás és monitorozás: a 4.41. ábra [16] szerint a rendszer valamennyi PLC-jének távprogramozása és monitorozása megoldható;
4.41. ábra. PLC-k távprogramozása ETHERNET-hálózattal − mail-szolgáltatás: a 4.42. ábra [16] szerint a PLC e-mail üzenetet küld hiba detektálásakor vagy időegységenként;
144
4.42. ábra. Mail szolgáltatás − PLC-PLC közötti üzenetváltás (4.43. ábra) [16];
4.43. ábra. PLC-PLC közötti üzenetváltás ETHERNET-hálózattal − fájlátvitel (4.44. ábra) [16] valósítható meg a PLC-memória és a PC memóriája között.
4.44. ábra. Fájlátvitel PLC és PC között ETHERNET-hálózattal
4.5. Terepi buszrendszerek A folyamatirányító rendszerek feladataiból adódóan az információtovábbítási követelmények eltérnek az ügyviteli, irodai célú hálózatokétól. Az ilyen rendszerekben ún. terepi buszrendszereket (field buses), magyarul: terepbuszokat alkalmaznak. A terepi buszrendszerek követelményei: − pontosan kiszámítható, viszonylag rövid válaszidőkre van szükség a valós idejű működés céljából, ezért a véletlenszerű buszhozzáférési módok nem használhatók; − nagyfokú zavarvédettséget kell biztosítani mostoha ipari körülmények között is, amit speciális kábelezéssel és alacsonyabb adatátviteli sebességgel érnek el; − az adatforgalomat közepes, ill. rövid adatblokkok átvitelére kell optimálizálni. Kezdetben ún. gyártóspecifikus terepi buszok terjedtek el. A szabványosítás első lépését a Bit Bus rendszer jelentette (Intel), amelyet sok cég átvett. 1985-ben kezdődött meg a folyamatirányítási, gyártásautomatizálási célú LAN szabványok kidolgozása. 1991-ben az MMS- (Manufacturing Message Specification) szabvány mind a szakaszos, mind a folyamatos gyártási folyamatokra a berendezések és a számítástechnikai eszközök közötti hálózati kommunikáció ISO/OSI hétrétegű modelljének kereteit szabja meg.
145 A korszerű folyamatirányító lokális hálózatok szabványai biztosítják az MMS valamely részhalmazával a kompatibilitást, pl. a korszerű DCS-rendszerek kommunikációs szabványa is MMS. A különböző érdekek és teljesítménykategóriák miatt több szabvány született. A szabványosítási munka az idők során számos buszrendszert eredményezett. A felhasználási célt illetően a terepi buszok két jól elkülönülő funkciójú csoportja alakult ki. Az egyik a nagyobb adatmennyiségek mozgatására alkalmas és rendszerint az irányítóeszközök (PLC-k, számítógépek, CNC-k, stb.) közötti kommunikációt biztosító buszrendszerek, mint pl. PROFIBUS, FOUNDATION FIELDBUS, CONTROL NET stb. A terepi buszok másik csoportját az érzékelők és beavatkozók közötti, néhány bájtnyi adatforgalmat biztosító hálózatok alkotják, amelyek a hagyományos PLC struktúrát is megváltoztatják. Ezek közé tartozik az ASI, az INTERBUS, a DEVICE NET stb. (lásd a 4.6. alfejezetben). Az üzenetek azonosítási módszere alapján a terepi buszok forrás/cél jellegű hálózatok (Source/Destination Networks) és előállító/felhasználó jellegű hálózatok (Producer/Costumer Networks) csoportjába sorolhatók. A forrás/cél jellegű hálózatok az üzeneteket a címük, míg az előállító/felhasználó szerintiek a tartalmuk alapján azonosítják. Forrás/cél jellegű hálózatok jellemzése
Előnyei: a diagnosztika, az explicit és I/O üzenetek továbbítása és az átviteli teljesítmény. Diagnosztika: a hálózatok kényelmes lehetőséget biztosítanak az eszközök diagnosztizálására. Eszköz-hibakeresés, a hibakód kiolvasása, adattábla-felújítás mind lényeges feladatok, amelyeket úgy kell elvégezni, hogy ne befolyásolják a valós idejű I/O vezérlőadatokat, amelyeket más eszközök cserélnek ki egymás között. Az explicit és I/O üzenetek nagyon sokrétűek, adatmezők protokollinformációval és utasítással az elvégzendő szolgáltatáshoz. Explicit üzenetek szolgálnak programok letöltésére és kiolvasására, eszközkonfigurációk módosítására, adatgyűjtésre, trendre és diagnosztikai funkciókra. Ezen üzenettípusok nagyon változók mind méretben, mind frekvenciában. Az I/O üzenetek implicit természetűek. Az adatmező csupán valós idejű I/O vezérlőadatot tartalmaz. Az adat jelentése előre meghatározott, így az eszköz adatfeldolgozási ideje minimális. A forrás/cél típusú hálózatoknál különálló hálózatokat használnak a két üzenettípus nagyon különböző követelményeinek kielégítésére. Az Allen-Bradley DH + /RIO és a Siemens Profibus FMS és a Profibus DP a példák ezen szituációk megoldására. Átviteli teljesítmény: végső soron az alkalmazás megkövetelt átviteli teljesítménye határozza meg, hogy milyen hálózati modell szükséges. Az átviteli teljesítmény azt a sebességet jelenti, amivel a bemeneti adat eljut minden olyan leágazáshoz, ahol szükség van rá, és a kapott kimeneti adat eljut a megfelelő eszközökhöz. A pontos meghatározáshoz szükséges az átviteli sebesség, a protokollhatékonyság és a hálózati modell vagy az átvitel módja. A Baud sebességet használják leggyakrabban a teljesítőképesség mérésére, de a mai hálózatoknál ez a legmegtévesztőbb, és a legkevésbé fontos a három jellemző közül. A csomagban lévő adatbájtok aránya az összes bájthoz viszonyítva adja a protokoll hatékonyságát. Ez nem annyira fontos, mint a használt átviteli mód (hálózati modell).
146 Ma számos fejlesztésű hálózat áll rendelkezésre: Data Highway Plus, Remote I/O, Profibus FMS, Profibus DP, Interbus-S, ASI, Modbus Plus, GeniusLan, Lonworks. Ezen hálózati opciók mindegyike forrás/cél típusú hálózati modell (4.45. ábra) [21]. Ezt a modellt használják, pl. a Master/Slave és Peer to Peer (egyenrangú) hálózatok is.
4.45. ábra. Forrás/cél típusú hálózati adatmodell A Master/Slave modell megvalósításában a forrásmező általában hiányzik, hiszen a rendszerben egy mester van, így ő a forrás, és minden válasz hozzá fut be. Ez a modell egyszerre kizárólag két eszköz közötti kommunikációt képes biztosítani. Tipikus alkalmazási területe a valós idejű vezérlőadatok cseréje (I/O messaging). A közvetlen (Peer to Peer) hálózat több rugalmasságot nyújt a felhasználóknak, hiszen a legtöbb ilyen hálózat explicit üzeneteket használ. A PC alapú programozás, a vezérlők és az MMI (MMI, Man-Machine Interface) ember-gép interfészeszközök konfigurálása is explicit üzeneteket igényelnek. Látható, hogy a forrás/cél típusú hálózatok többször küldik el ugyanazt az információt, ha több eszköznek is arra van szüksége. Így hosszú ideig ugyanannak az adatnak a továbbításával terhelik a hálózatot. Olyan hálózatok esetén, ahol nagy az adatforgalom és több eszköz kapcsolódik össze, ez a modell nem előnyös. Ezért dolgozták ki az előállító/felhasználó típusú hálózatot, amelyben az üzeneteket a tartalmuk azonosítja (4.46. ábra) [21]. Ha az eszköz adatot igényel, az felismeri annak azonosítóját és elveszi magának.
4.46. ábra. Előállító/felhasználó típusú hálózati adatmodell Előállító/felhasználó típusú hálózatok jellemzése
Ez a modell az azonos idejű felhasználás lehetőségét nyújtja a felhasználóknak. A tartalmával azonosított egyetlen forrásból származó adatot több eszköz egyidejűleg felhasználhatja. Az eszközök pontosabban szinkronizálhatók, hatásosabb a sávszélesség felhasználása. Az adatforrásnak csak egyszer kell az információt előállítania. Új eszközök csatlakoztathatók a hálózathoz anélkül, hogy növelnék a forgalmat a vezetéken. Az egyidejű felhasználás nem lehetséges a forrás/cél típusú hálózatokban. Producer/Costumer (előállító/felhasználó) típusú multicast rendszer (azonos idejű felhasználás) látható a 4.47. ábrán.
4.47. ábra. Előállító/felhasználó típusú multicast rendszer (azonos idejű felhasználás)
147 Az előállító/felhasználó modell két új hatásos I/O triggerelést tesz lehetővé a hagyományos lekérdezés mellett. Az I/O adatokat egyidejűleg olvassa mindkét vezérlő és a HMI eszköz is. Az 1. vezérlősebesség beállító információja eljut mindhárom hajtáshoz és a HMI eszközökhöz is. Állapotváltozásos (eseménybázisú) adat-előállítás. A csomópontok csak akkor hoznak létre adatot, ha az adat változik. Nincs hálózatlekérdezési cikluskésleltetés: az adat egyidejűleg továbbítódik minden felhasználóhoz, ha az változik. Ciklikusan egy működésjel áll elő, hogy a felhasználó meg tudja különböztetni azt az eszközt, amely nem változtatta állapotát. Az állapotváltozás jelzése nagymértékben csökkenti a hálózat forgalmát és a csomópontok terhelését. Ciklikus (időalapú) adat-előállítás. A ciklikus adat-előállítást azon eszközök végzik, amelyek a felhasználó által definiált ismétlődési sebességgel állítanak elő adatokat. Az adatfrissítés az eszköznek és az alkalmazásnak megfelelő sebességű. Például egy érzékelő jelének mintavételezése és adatszolgáltatása pontos időintervallumonként történhet, ami jobban megfelel a PID-szabályozásnak. Az előzőek alapján beláthatók az előállító/felhasználó hálózati modell előnyei. Ezt a modellt alkalmazzák a CONTROLNET és DEVICENET elnevezésű Allen-Bradley hálózatok, továbbá a Foundation Fieldbus és a CAN bus is. 4.5.1. Gyártóspecifikus buszrendszerek
A 80-as években a gyártók arra törekedtek, hogy PLC-jüket saját hálózattal lássák el. Néhány gyártó buszrendszerét a 4.3. táblázatban adtuk meg. 4.3.táblázat. Gyártóspecifikus PLC-hálózatok Gyártó Mitsubishi Omron Toshiba Siemens
Allen Bradley GEC Industrial Controls Gould Electronics General Electric Satt Control Square D Texas Instruments Klöckner Moeller
Hálózat Melsec-NET Sysmac Toshline - F10 Toshline - 30 Sinec H1 (Ethernet) Sinec L2 (Profibus) Sinec S1 (ASI bus) Data Highway (plus) Starnet Coronet Modbus GE NET Factory LAN Combi SY/NET TIWAY Suco-NET
Előnyük: a PLC-vel való szoros integráltság. Ha egy moduláris rendszerbe további buszcsatlakozókat csatlakoztatunk, akkor ezek a ciklusok többnyire nincsenek szinkronban. Hátrányuk: a rendszer zártsága, hiszen más gyártó terméke csak nagy nehézségek árán illeszthető a rendszerbe.
148 A gyártóspecifikus buszrendszerekre példaként a Klöckner Moeller cég SUCOnet K típusú terepi buszának műszaki adatait a 4.4. táblázatban foglaltuk össze. 4.4.táblázat. A SUCOnet K/K1 műszaki adatai SUCOnet K1
SUCOnet K Buszhozzáférési eljárás Master/slave Adatátviteli sebesség, kBaud 187,5/375 187,5 Topológia Busz Telegramszerkezet változó hosszúságú állandó hosszúságú Buszhossz 600 m 187,5 kBaud esetén 300 m 600 m (jelismétlő nélkül) 375 kBaud esetén (jelismétlő nélkül) Buszrésztvevők száma max. 31 jelismétlő nélkül (a master PLC-től függően) Átviteli mód RS 485 Átviteli közeg árnyékolt, sodrott érpár Átvitelihiba-védelem CRC kombinált paritás A terepibusz-típusok között találhatók gyártóspecifikus típusok, de napjainkban több gyártó is használja, és szabványosítása folyamatban van. 4.5.2. MODBUS
A MODBUS protokollt eredetileg a MODICON PLC-k kommunikációjának biztosításához fejlesztették ki. Egyszerűsége és megbízhatósága miatt számos PLC-gyártó, sőt műszergyártó cég alkalmazza. A MODBUS protokoll a master-slave elv alapján működik. A kapcsolat kezdeményezésének joga a master-t illeti meg. A master egy kérdés- vagy egy parancscsomagot küld a slave számára. A címzettet egy címbájt tartalma jelöli ki. Ez azt jelenti, hogy elméletileg 256 berendezés (0…255) azonosítására van lehetőség egy MODBUS hálózaton. A 0 címnek kitüntetett szerepe van. Amennyiben a master valamennyi slave számára üzenetet akar küldeni (ún. körözvényüzenet), pl. a dátum és az idő szinkronizálása érdekében, akkor ezen speciális cím megadásával elegendő egyetlen csomagot a vonalra helyezni. Azt mindegyik slave értelmezi, és végrehajtja a csomag parancsát. A master által kiadott csomag következő logikai része egy 1 bájt terjedelmű parancskód, azaz elméletileg 256 különböző parancskód értelmezésére nyílik lehetőség. A MODBUS-protokoll szerint a parancskód legmagasabb helyértékű bitjeinek kitüntetett szerepe van (lásd később), ezért a parancskódok csak a 0…127 tartományban változhatnak. A definiált parancskódok egy része a MODICON PLC programfejlesztésének van fenntartva. Vannak olyan parancsok, amelyek a technológiai állapotot tükröző, ill. befolyásoló objektumok állapotának olvasására és írására szolgálnak. A MODICON PLC-k (így a MODBUS is) négyféle objektumcsoportot különböztet meg: kétállapotú (bites) bemenetek, kétállapotú (bites) kimenetek, regiszterbemenetek és regiszterkimenetek A kétállapotú (bites) bemenetek a PLC fizikai bemeneteire kapcsolt jelzéseket jelentik. Egy-egy jelzés (bit értéke) azt tükrözi, hogy egy technológiai objektum két lehetséges állapota közül melyik az aktuális (pl. egy kemenceajtó zárt vagy nyitott). Ezeket az objektumokat a master csak olvashatja. A kétállapotú (bites) kimenetek részben a PLC fizikai kimeneteinek, részben a PLC memóriájában leképezett bites változóinak (merkerek) állapotát tükrözik. Ezt az objektumcsoportot a master írhatja és olvashatja.
149 Regiszterbemenetek. Egy-egy regiszter tartalma egy 16 bites szám. Értékük, pl. egy analógcsatorna A/D konverziójának eredményétől, vagy pl. egy hardveres számláló tartalmától függ. Általában egy-egy regiszter a PLC egy-egy hardveregységéhez (A/D csatorna, számláló stb.) rendelődik. Ezen regiszterek értelemszerűen csak olvashatók a master számára. Regiszterkimenetek. A 16 bites regiszterek tartalmát a master írhatja és olvashatja is. Egy-egy regiszter tartalma megszabhatja, pl. egy analóg kimenet nagyságát (a PLC egyik D/A konverterének felhasználásával), de a PLC értelmezheti a regiszterben lévő számot, pl. mint egy időzítés nagyságát, vagy egy analóg jel maximumának értékeként is. Más-más funkciókód rendelődik a bites be- és kimenet olvasásához, a bites kimenet írásához, ill. a regiszterváltozók kezeléséhez. Minden egyes objektumcsoportban egy-egy konkrét bemenetre/kimenetre egy-egy 16 bites számmal hivatkozhatunk az első elemre a 0, a második elemre az 1 stb. számokkal. A master kommunikációs csomagja a funkciókódot követően az olvasni/írni kívánt objektum kezdő címét tartalmazza két bájton. Vannak olyan funkciók, ahol csak egyetlen objektum olvasását vagy írását kérjük, de általában az előzőleg megadott kezdőcímtől a megadott két bájt objektumot kívánjuk olvasni vagy írni. Ezért a csomag következő két bájtja általában (bizonyos funkcióknál) ezt a darabszámot tartalmazza. Az egyidejűleg olvasandó/írandó objektumok darabszáma korlátos, mivel az adatokat tartalmazó csomagterület hossza legfeljebb 255 bájt. Ha a master olvasást kezdeményez, akkor logikailag minden adott a csomagban a parancs végrehajtásához, így a csomag ellenőrző számmal kiegészítve elküldhető a slave-nek. Ha a master írást kezdeményez, akkor a csomagba még az adatok területének bájtban mért hossza kerül megadásra egy bájton, és ezt követik az adatok. Bites változók írásakor egyetlen adatbájt nyolc objektum értékét tartalmazza. Például 16 bites objektum együttes írásakor a szükséges adatterület 2 bájt. Ha az írandó bites objektumok darabszáma nem osztható 8-cal, akkor az utolsó adatbájt nincs teljesen kihasználva. 12 bites objektum írásakor az első adatbájtot teljesen, míg a második adatbájt alsó helyértékű négy bitjét kell feltölteni. Egy regiszterváltozó tartalmát két bájton (alacsony, magas helyértékű sorrendben) kell megadni. Az íráscsomagot is a csomagellenőrző szám zárja le. A master olvasást kezdeményező csomagjának szerkezete: − slave-cím 1 bájt; − funkciókód 1 bájt; − objektumkezdőcím 2 bájt (magas, alacsony helyiérték sorrendben); − olvasandó objektumok darabszáma 2 bájt (magas, alacsony helyiérték sorrendben); − csomagellenőrző szám. Az írást kezdeményező csomag szerkezete: − slave-cím 1 bájt; − funkciókód 1 bájt; − objektumkezdőcím 2 bájt (magas, alacsony helyérték sorrendben); − írandó objektumok darabszáma 2 bájt (magas, alacsony helyiérték sorrendben); − az adatok hossza bájt-ban 1 bájt; − az adatok; − csomagellenőrző szám. Ez a csomag ASCII vagy RTU formában kerülhet a soros vonalra.
150 Az ASCII protokoll azt jelenti, hogy a csomag minden egyes bájtja két hexadecimális ASCII kódra konvertálódik, és ez kerül a vonalra. Ebben az esetben a csomag kezdetét egy kettőspont mutatja, a CR (Carriage Return, kocsi vissza) és az LF (Line Feed, soremelés) karakterek határozzák meg. Ebben az esetben a csomagellenőrző számot LRC-nek (longitudinális redundanciakód) nevezik, terjedelme 1 bájt, és a csomagot alkotó bájtok tartalmának öszszegéből képezhető. A csomag vételekor ellenőrizni kell, hogy (a csomagkezdő és -termináló karaktereken kívül) a vett karakterek csak hexadecimális (0…9 és A…F) karakterek lehetnek, ill. a vett karakterekből képzett LRC-nek egyeznie kell a vett LRC-vel. Az RTU (Remote Terminal Unit) protokoll kódfüggetlen átvitelt jelent. A csomag bájtjai minden konverzió nélkül kiadásra kerülnek a soros vonalon. Sem csomagkezdő, sem csomagtermináló karakter nincs. A vonalon mindenféle (0…255) tartalmú bájt lehet. Ahhoz, hogy az ASCII protokollal közel azonos valószínűséggel felismerjük az átviteli hibákat, egy jóval bonyolultabb algoritmussal képezett 2 bájt terjedelmű CRC-nek (ciklikus redundanciakód) az alkalmazása szükséges csomagellenőrző számként, mivel a csomag karaktereinek előszűrése nem lehetséges. A vett csomag helyességének ellenőrzése csak a CRC egyezősége alapján lehetséges. Az alábbi C nyelvű szubrutin az LRC, ill. a CRC képzését mutatja be. /****** * CRC (RTU), vagy LRC (ASCII) képzése * átadott paraméterek: * adat: a továbbítandó vagy vett csomag bináris tartalma * lng : a csomag hossza (bájtban) * visszatérési érték: * CRC (16 biten) ha az átvitel RTU, ill. LRC (8 biten) ha az átvitel ASCII ******/ static int crc(adat,lng) char* adat; int lng; { int i,j,jelzo; unsigned int check; unsigned char *ch; if(modbus_mod = = MODBUS_RTU){ /* crc képzés */ check=0xffff; ch=(unsigned char*)✓ for(i=0; i < lng; i++){ *ch=*ch ^ *(adat+i); for(j=0; j < 8; j++){ jelzo=check & 0x0001; check=check >> 1; if(jelzo){ check=check ^ 0xa001; } } } return(check); } else if(modbus_mod == MODBUS_ASCII){ /* lrc képzése */
151 check=0; for(i=0; i < lng; i++){ check=check+*(adat+i); } check=-check & 0x00ff; return(check); } } A master kezdeményező csomagjára a címzett slave-nek reagálnia kell, és egy timeout időn belül válaszcsomagot kell küldenie. A time-out idő értéke MODICON PLC-k esetén a konfiguráláskor paraméterezhető, néhány tíz ms nagyságú általában. Olvasási parancsra a válaszcsomag szerkezete: − a slave címe 1 bájt; − a vett funkciókód visszatükrözése 1 bájt (amennyiben az olvasási funkció nem hajtható végre, mert az olvasandó címtartomány illegális) a visszatükrözött funkciókód legmagasabb bitje 1 értékű (és ilyenkor nincs adat); − a csomagban lévő adatbájtok darabszáma 1 bájt; − adatok; − CRC vagy LRC. Írási parancsra a slave által adott válaszcsomag szerkezete: − a slave címe 1 bájt; − a vett funkciókód visszatükrözése 1 bájt (amennyiben az írási funkció nem hajtható végre, mert pl. az írandó címtartomány illegális, a visszatükrözött funkciókód legmagasabb bitje 1 értékű); − a kezdőcím 2 bájt (magas, alacsony helyérték sorrendben); − az írt objektumok darabszáma 2 bájt (magas, alacsony helyérték sorrendben); − CRC vagy LRC. A MODBUS kommunikáció RS 232C (pont-pont kapcsolat) vagy RS 485 (busz) soros vonalán zajlik. A hálózat jellemzője, hogy időben egyetlen állandó master van a rendszerben. Ez tipikusan egy PC, amely sorban egymás után kérdezi a felfűzött slave-ket (PLCberendezéseket). Ha az alkalmazott PLC-k nagy teljesítményűek, akkor rendszertechnikailag már nehezen tartható az egy master-es kialakítás. Ekkor a MODBUS PLUS kommunikáció szükséges, ami nagy sebességű soros vonalon zsetonadogatásos (token passing) technikával lehetővé teszi a hálózatban több master jelenlétét. A MODBUS PLUS kommunikáció csak hardveres támogatással (MODBUS PLUS csatolókártya) képzelhető el. Az alkalmazott PLC-k teljesítménye is minimális értéket kell meghaladjon. Ez MODICON esetén a MODICON 145 típust jelenti. A protokoll központi része a korábbiakban leírtakkal azonos. A MODBUS protokoll nem kizárólag a MODICON PLC-k esetén alkalmazható. Számos más PLC-gyártó leképezte ezt a kommunikációs protokollt. Tipikusan az intelligens mérőeszközök többségével (pl. gázelemzők, hozamszámító művek stb.) a MODBUS protokoll alapján lehet kommunikálni. 4.5.3. PROFIBUS
A PROcess FIeld BUS, röviden PROFIBUS az első szabványosított terepi buszok egyike, amely 1987-ben német ipari szabványként indult és 1996-ban vált nemzetközi szabvánnyá. A
152 PROFIBUS a forrás/cél típusú hálózatok csoportjába tartozik és hibrid (token passing, master-slave, multimaster) típusú buszhozzáférési eljárást használ. A PROFIBUS PC-s munkaállomásokat, PLC-ket, folyamatirányító számítógépeket, adatgyűjtőket összefoglaló hálózatként használatos az RS 485-nek megfelelő kialakításban. A PROFIBUS-hálózat busztopológiájú, maximálisan négy szegmensből állhat, amelyeket jelismétlők kapcsolnak egymáshoz. A szegmensek maximális hossza függ a választott átviteli sebességtől. Egy-egy szegmensbe legfeljebb 32 készülék csatlakoztatható, beleértve a repeater-eket is. A négy szegmensből álló PROFIBUS-hálózat így 127 készüléket tartalmazhat. A PROFIBUS-hálózatra legfeljebb 32 master kapcsolható. A hálózati adatforgalom kezdeményezője mindig a master. Több master esetén egymást váltva töltik be a hálózati adatforgalmat kezdeményező szerepet. A hálózat üzembe helyezésekor kell meghatározni, hogy milyen sorrendben és mennyi ideig tölti be egy-egy master a kezdeményező szerepet. A PROFIBUS-hálózatnak három különböző célú változata terjedt el. Ezek: PROFIBUS DP, PROFIBUS PA és PROFIBUS FMS. Mindhárom változat protokollja az ISO/OSI modell 1es, ill. 2-es rétegéhez illeszkedik, a 3...7 rétegeket nem használja (kivéve FMS). A 2-es Data Link réteghez három speciális PROFIBUS-réteg csatlakozik, amely biztosítja a felhasználóval a kapcsolatot. A PROFIBUS DP (PROFIBUS for Distributed Processing) a nagy adatmennyiségek átvitelére és a terepi készülékekkel való gyors adatcserére optimalizált terepi busz szabványa, amely az ISO/OSI modell 1-es és 2-es rétege szerint van fejlesztve. A fizikai réteg az RS 485 szabvány szerinti kialakítású. A további három rétege megegyezik a PA-változattal. A PROFIBUS PA (PROFIBUS for Process Automation) szabványt a veszélyes ipari hálózatok kialakítására dolgozták ki és főként a vegyiparban, energiaiparban terjedt el. Fontos jellemzője, hogy kéterű kábelt használnak mind a tápellátásra, mind a jelátvitelre az IEC 1158-2 szabvány szerint (4.48. ábra) [18].
4.48. ábra. PROFIBUS PA busz kialakítása A PROFIBUS PA Manchester-kódolást alkalmaz. Az 1-es, 2-es réteg az IEC interfész miatt nem azonos a DP, ill. FMS változatával. Az IEC-szabvány négyféle kábelt ajánl a PAhoz: árnyékolt csavart érpár, egy vagy több csavart érpár árnyékolással, árnyékolatlan csavart érpár és árnyékolt nem csavart érpár. A PROFIBUS FMS (PROFIBUS for Fieldbus Message Specification) tipikusan a gyártásközi üzenetek váltására kidolgozott szabvány, amely rugalmas adatmódosítást tesz lehetővé és közepes mennyiségű adatok hatékony kezelését biztosítja ciklikusan vagy eseményvezérelt módon. Az FMS-változat az ISO/OSI modell 1-es, 2-es és 7-es rétege szerint van tervezve. A DP és az FMS ugyanezt a fizikai réteget (RS 485), ill. adatkapcsolati réteget
153 (Fieldbus Data Link, FDL), valamint ugyanazt az árnyékolt sodrott érpárból álló kábelt használhatja. A PROFIBUS buszrendszerét rendszerint 9 pólusú csatlakozóval alakítják ki. Az egyes PROFIBUS-változatok fő jellemzőit a 4.5. táblázatban [18] foglaltuk össze. 4.5.táblázat. PROFIBUS-változatok Típus PROFIBUS DP PROFIBUS PA PROFIBUS FMS PROFIBUS DP
Nemzetközi Alkalmazás szabvány EN 50170 nagy sebességű adatkommunikáció EN 50170 kommunikáció veszélyes ipari környezetben EN 50170 rugalmas üzenetváltások Max. adat válaszidő 244 bájt 1 ms (12 Mbps sebesség esetén)
PROFIBUS PA
244 bájt
PROFIBUS FMS
244 bájt
100 ms (31, 25 Kbps sebesség esetén) 60 ms (1,5 Mbps sebesség esetén)
Tipikus állomások
Állomások száma
analóg és digitális esz- 127 közök, távoli I/O-k távadók, szelepek, sza- 31 bályozók programozóeszközök, 127 PC-k, PLC-k távolság átviteli közeg max. 90 km árnyékolt, sodrott kábel vagy fénykábel 1,9 km/szegmens árnyékolt, kéteres sodrott kábel max. 90 km
árnyékolt, sodrott kábel vagy fénykábel
Siemens S7-400 eszközökből felépített PROFIBUS-hálózatot mutat be a 4.49. ábra. Az informatikai rendszer felső szintjén a mérnöki állomások vannak, amelyek az ipari ETHERNET-re kapcsolódnak. A PROFIBUS DP buszrendszert az S7-400 PLC-ben elhelyezett mastermodul állítja elő. A PROFIBUS DP buszra további PLC-k és más vezérlő-, szabályozóeszközök csatlakozhatnak.
4.49. ábra. PROFIBUS-hálózat (Siemens)
154 A 4.49. ábrán a HART protokoll szerinti csatlakozási felületet is berajzoltuk. A HART (Highway Addressable Remote Transducer) a PROFIBUS-tól független szabvány, amelynél egy paraméter-beállításra és diagnosztikára használható digitális jelet modulálnak a 4…20 mA-es szabványos áramjelre. A mérési adatok tényleges átvitele analóg, a 4…20 mA-es áramjel formájában. Megfelelő HART-multiplexereket és kapukat (gateway) használva lehetőség van egy magasabb szintű buszrendszerhez való csatlakozásra. A PROFIBUS-rendszer speciális csatolóelemei: − DP/PA átjáró: a 45,45 Kbps sebességű DP és a 31,25 Kbps sebességű PA változat közötti átjáró; − OBT: optikai buszterminál; − OLM: optikai vonalcsatoló modul. A PROFIBUS-hálózat kialakítható tisztán elektromos kábelezéssel, tisztán optikai kábelezéssel vagy vegyes (optikai/elektromos) kábelezéssel. Ez utóbbi célt szolgálják az OBT, ill. OLM csatolómodulok. Siemens eszközökkel felépített vegyes kábelezésű PROFIBUSrendszert szemléltet a 4.50. ábra [14], amely szerint az egyes állomások elektromos kábelezéssel kapcsolódnak az OLM modulokra. Az optikai kábellel az összeköttetést biztosítják. Vegyes kábelezéssel busz-, ill. csillagtopológia egyaránt kialakítható.
4.50. ábra. Vegyes kábelezésű PROFIBUS hálózat 4.5.3.1. PROFIBUS keretformátuma
A referenciamodell 2-es rétege szerint definiált keretformátumokat a 4.51. ábra [18] mutatja. Átvitel során a következő hibákat lehet detektálni: − karakterformátum-hiba (paritáshiba, kerethiba stb.); − protokollhiba; − start- és véghatároló-hiba; − keretellenőrző bájthiba; − telegramhosszhiba. Hibás telegramdetektáláskor a vétel automatikusan megismétlődik.
155
4.51. ábra. PROFIBUS telegramformátumok Jelölések: L SC SD1 és SD4 LE DA SA FC Data Unit FCS ED
információ hossza (Length of the Information Field) nyugtázókarakter (Single Character) startbájt (Start Delimiter) információs mező bájtjainak száma (Length Bájt) célhelycímbájt (Destination Address) forráscímbájt (Source Address) vezérlőbájt az üzenet felhasználásához (Frame Control) adattest keretellenőrző bájt (Frame Check Sequence) záróbájt (End Delimiter)
4.5.3.2. PROFIBUS kommunikációs kapcsolata
Egy PROFIBUS-hálózat esetén már a konfiguráláskor meg kell adni, hogy mely résztvevők fognak egymással adatot cserélni. Ezt kommunikációs kapcsolatokkal (összeköttetésekkel) lehet definiálni, amelyek bekerülnek minden egyes résztvevő kommunikációs kapcsolati táblájába (KLB). Alapvetően megkülönböztetünk kapcsolatfelépítéses és kapcsolatfelépítés nélküli kommunikációt. A minden résztvevőnek (broadcast) és a résztvevők egy csoportjának (multicast) szóló üzenetek jelentik a kapcsolatfelépítés nélküli kommunikációt, amelynél az üzenet küldője nem kap nyugtázást arról, hogy üzenete a vevőhöz megérkezett-e. A két résztvevő közötti kommunikáció mindig kapcsolatfelépítéses, ilyenkor az adatcsere előtt fel kell építeni a kapcsolatot. A kapcsolat két partnere lehet két master (aktív résztvevő) vagy egy master és egy slave (passzív résztvevő). Az adatforgalom lehet ciklikus vagy aciklikus kezdeményezésű (4.52. ábra).
156
4.52. ábra. PROFIBUS kapcsolatfelépítéses és kapcsolatfelépítés nélküli kommunikációja A 4.52. ábra szerint kapcsolatfelépítéses kommunikáció esetén master-master kapcsolat nem ciklikusan, hanem eseményvezérelten jön létre, míg a master-slave közötti kapcsolatfelvétel ciklikus és nem ciklikus is lehet. A kapcsolatfelépítéses kommunikáció mindig azonos: kapcsolat felépítése, adatcsere és a kapcsolat felbontása. A folyamat megvalósításához a kommunikáció kapcsolati táblájában definiálni kell pl. a megszólítandó résztvevő címét vagy a kapcsolat típusát. 4.5.3.3. Kommunikációs objektumok és szolgáltatások
A PROFIBUS-nál a kommunikációs objektumok az adatcsere alapjai. Mindegyik résztvevő egy objektumlistát vezet kommunikációs objektumairól. Ez a lista tartalmazza minden egyes objektum típusát, címét és hosszát, az adattípust, a jelszót és a hozzáférési jogokat. Az objektumlistát a kommunikációs partner lekérdezheti. Így egy résztvevő a saját meglévő objektumlistáján kívül kap minden egyes kommunikációs partnertől egy távoli objektumlistát. A PROFIBUS a kommunikációhoz szolgáltatásokat bocsát rendelkezésre; ezeket a felhasználó kommunikációs feladatainak elvégzéséhez elindíthatja. A szolgáltatásoknak két típusa van: felhasználói szolgáltatások és kezelési szolgáltatások. Tipikus felhasználói szolgáltatás a Read szolgáltatás, amellyel ki lehet olvasni egy partner valamelyik változóját. Kezelési szolgáltatásra példa a Get-OV szolgáltatás, amivel le lehet kérdezni egy kommunikációs partner objektumlistáját. 4.5.3.4. A PROFIBUS konfigurálása
A kommunikáció indításához először is konfiguráljuk a PROFIBUS-résztvevőket a COM PROFIBUS-szoftver segítségével. Ennek során meghatározzuk, milyen adatokat kell kicserélni, ki cserél adatot kivel, hogyan történik az adatcsere és milyen hozzáférések engedélyezettek, ill. tiltottak.
157 A konfigurálóban kell megadni az olyan buszparamétereket, mint pl. az átviteli sebesség, a címek vagy a token ciklusideje. Sok paraméter automatikusan is létrehozható. A konfigurálás befejezése után következik a program bevitele. A szoftver igen kényelmessé teszi a kommunikációt két PROFIBUS résztvevője között. A kényelmetlen és időigényes programozás helyett egyszerűen a szoftvermodult kell paraméterezni. Ezekkel az eszközökkel viszonylag egyszerűen lehet konfigurálni egy komplex hálózatot. A nem PROFIBUS kompatíbilis eszközök buszhoz illesztésére számos speciális csip áll rendelkezésre. A hálózat konfigurálásához a Siemens cég a NETPRO grafikus konfigurátort fejlesztette ki. 4.5.4. Foundation Fieldbus
A Foundation Fieldbus [19] mintegy 150 irányítástechnikai vállalat 1996. évi alapítványa által definiált előállító/felhasználó típusú terepi buszt jelenti. Kifejlesztése során alapvető szempont volt egy olyan egységes rendszer definiálása, amelyben problémamentesen összekapcsolhatók a különböző gyártók termékei. A Foundation Fieldbus széles körű támogatottságát garantálja, hogy a kialakításában részt vállaló több mint 120 cég a világ folyamatirányítási piacának 80 %-át mondhatja magáénak. A résztvevő vállalatok maguk alakítják ki a saját termékük illesztéséhez szükséges interfészeket. A Foundation Fieldbus esetén minden eszköz magában hordozza a vele kapcsolatos adatfeldolgozási műveletekhez szükséges processzorteljesítményt és memóriát, így a rendszer bővítése egyszerűen az új eszköz csatlakoztatásából áll. A központi egységek feladata csak az emberi kezelőfelület biztosítása, és a magas szintű folyamatirányítás (pl. költségoptimalizáló szabályozás vagy receptúrakezelés) koordinálása. Kevesebb feladat kevesebb helyet igényel, így eltűnik a központi műszerterem. A Foundation Fieldbus intelligens egységekre épül, ahol a vezérlési, szabályozási algoritmusok elosztottan közvetlenül az I/O eszközökön folynak és a központi egységek feladata az osztottan folyó feldolgozás irányítása és szervezése. A Foundation Fieldbus a második generációs DCS rendszerek kialakítását támogatja. 4.5.4.1. A Foundation Fieldbus H1 technikája
A busz adatátviteli közege: árnyékolt, sodrott érpár. Az eszközök közvetlenül a fieldbus-tól kapják a feszültséget. Az egyenáramú tápfeszültség értéke 9-től 32 V-ig terjedhet. A H1 fieldbus-nál lehetőség van szétágazás (fa) és leágazás (T) kiépítésére. (A főkábel mindkét végén RC-tagból álló lezárások vannak.) A kábelezés összes hossza nem haladhatja meg az 1900 métert. A vezeték hosszát úgy kapjuk meg, hogy összeadjuk a gerincvezeték hosszát és az összes leágazás hosszát. Amenynyiben a leágazás hosszáról dönteni lehet, akkor annál jobb, minél rövidebb. A leágazás hoszszát korlátozza a leágazások száma és a leágazásokhoz kapcsolódó eszközök száma. A 4.6. táblázat összefoglalja a leágazás maximális megengedett hosszát a szegmensben lévő leágazások számának függvényében. 4.6. táblázat. A leágazások maximális hossza az FF Bus esetén Eszközök száma Leágazás maximális hossza 25-32 1m 19-24 30 m 15-18 60 m 13-14 90 m 1-12 120 m
158 4.5.4.2. Jeltovábbítás a H1 Fieldbus-on
Az adatkapcsolati réteg (Data Link Layer, DLL) szabályozza az üzenettovábbítást a fieldbuson. A DLL determinisztikus, centralizált buszütemezővel (aktív kapcsolatütemező, Link Active Scheduler, LAS) irányítja a hozzáférést a fieldbus-hoz. A DLL specifikáció három eszköztípust határoz meg: alapeszközök, amelyek nem lehetnek aktív kapcsolatütemezők (LAS), kapcsolatvezérlő (Link Master) eszközök, amelyek aktív kapcsolatütemezővé (LAS) válhatnak és hidak (bridges), amelyekkel több fieldbusszegmens összekapcsolható, nagyobb hálózatok hozhatók létre. Ütemezett kommunikáció: az aktív kapcsolatütemező osztja szét az adattovábbítási időt, így a ciklikusan leolvasásra kerülő valamennyi eszköz adatpufferjének tartalma továbbítódik. Amikor elérkezik az az időpont, hogy egy eszköz puffertárának tartalmát továbbítani kell, a LAS kiad egy adatkérő (Compel Data, CD) üzenetet az eszköz felé. A CD vételekor az eszköz a puffertárában lévő adatokat kiadja vagy közli a fieldbusra csatlakozó összes eszköz felé. Azokat az eszközöket, amelyek konfigurálásuk alapján fogadják az adatokat, előfizetőknek nevezik. Az ütemezett adattovábbítást jellemzően arra használjuk, hogy a fieldbus-ra csatlakozó eszközök között rendszeresen és ciklikusan továbbítsuk az adatokat. Nem ütemezett kommunikáció: a fieldbus-ra csatlakozó összes eszköznek lehetősége van arra, hogy az ütemezett üzenetek továbbításai közötti időben nem ütemezett üzeneteket küldjenek. A LAS egy vezérjel-továbbítási (pass token, PT) üzenet kiadásával engedélyezi azt, hogy egy eszköz használja a fieldbus-t. Amikor az eszköz megkapja a vezérjelet, addig továbbíthatja az üzeneteit, amíg be nem fejezte, vagy amíg le nem telik a maximális vezérjeltartási idő. Üzenet küldhető egyetlen pontnak vagy több pontnak (multicast). 4.5.4.3. Az aktív kapcsolatütemező működése
Az aktív kapcsolatütemező (LAS) működése az élő lista karbantartásából, a CD-ütemezéséből (adatkérés-ütemezés, lásd előbb), a vezérjel-továbbításából és a LAS-redundancia kezeléséből áll. Élő lista karbantartása A vezérjelre (PT) megfelelően reagáló valamennyi eszköz listáját nevezik élő listának. A fieldbus-ra bármikor új eszközöket csatlakoztathatnak az új eszköz listába vételéhez. A LAS időnként kiküld keresőjeleket (Probe Note, PN) azokra a címekre, amelyek nem szerepelnek az élő listában. Amennyiben az eszköz jelen van az adott címen, s veszi a keresőjelet, akkor azonnal válaszol egy válaszjellel (Probe Response, PR). Ha az eszköz válaszjelet küld, akkor a LAS hozzáírja az eszközt az élő listához, s ezt azzal jelzi, hogy az eszközöknek kiküld egy eszközbeállítási (Node Activation, NA) üzenetet. Amikor az élő listában szereplő valamennyi eszköznek kiküldte a vezérjelet, a ciklus befejezése után a LAS-nak legalább egy címet meg kell néznie. Az eszköz addig az élő listában marad, amíg megfelelően reagál a LAS által kiküldött vezérjelekre. A LAS akkor távolít el egy eszközt az élő listából, ha az eszköz egymás után háromszor vagy nem használja a vezérjelet, vagy azonnal visszaküldi azt a LAS-nak. Amikor az élő listába bekerül vagy onnan kikerül egy eszköz, akkor a LAS az összes eszközt értesíti az élő listában bekövetkezett változásokról. Ezzel minden eszköznek lesz az aktuális élő listáról másolata.
159 Adatkapcsolati időszinkronizálás: a LAS időnként kiküld egy időszinkronizáló (Time Distribution, TD) üzenetet a fieldbus-ra, hogy valamennyi eszközben azonos legyen a rendszeridő. Ez azért fontos, mert mind a fieldbus-on végbemenő ütemezett kommunikációk, mind a felhasználói alkalmazásban a funkcióblokkok ütemezett végrehajtásának ez az alapja. Vezérjel-továbbítás: a LAS az élő listában szereplő valamennyi eszköznek kiküld egy vezérjel-továbbító (Pass Token, PT) üzenetet. Az eszköz akkor továbbíthat nem ütemezett üzeneteket, amikor megkapja ezt a vezérjelet. LAS-redundancia: egy fieldbus-nak több kapcsolatvezérlője (LAS) is lehet. Amennyiben az aktuális LAS meghibásodik, akkor a következő kapcsolatvezérlő lesz a LAS, és a fieldbus tovább működik. A fieldbus a LAS meghibásodás esetén is üzemképes marad. 4.5.4.4. Virtual Communication Relationships
A Virtual Communication Relationships (VCR) a gyorstárcsázáshoz hasonló, memóriával rendelkező telefonkészülék. Egy nemzetközi hívás lebonyolításánál sok számjegyet kell tárcsázni, a nemzetközi hívás kódját, az ország kódját, a város kódját, valamint a telefonszámot. Ezt az információt csak egyszer kell beírni, majd hozzá kell rendelni a gyorstárcsázó számot. Ezután már csak ezt a számot kell beütni, és a készülék végrehajtja a hívást. Hasonló konfigurálás után csak a VCR-számra van szükség ahhoz, hogy az eszköz a másik eszközzel kommunikálni tudjon a fieldbus-on. A VCR-eknek az alábbi típusai vannak. Kliens/szerver VCR Amikor egy eszköz vezérjelet (PT) kap a LAS-tól, üzenetkérést küldhet a fieldbus-ra csatlakozó valamelyik másik eszköznek. Az üzenetkérő eszközt kliensnek, a kérést fogadó eszközt szervernek nevezik. A szerver akkor küldi el a válaszát, amikor a LAS-tól megkapja a vezérjelet (PT). A kliens/szerver VCR típust használják a kezelő által kezdeményezett kérések továbbítására (alapérték-változtatás, hangolási paraméterek elérése és megváltoztatása, alarmnyugtázás, eszközinformációk feltöltése és letöltése). Jelentésterjesztő VCR Amikor egy eseményjelentéssel vagy trendjelentéssel rendelkező eszköz a LAS-tól megkapja a vezérjelet (PT), akkor üzenetét elküldi a virtuális kommunikációs kapcsolatához (VCR) rendelt csoportcímre. A jelentést minden olyan eszköz megkapja, amelyet úgy konfiguráltak, hogy figyeljen az adott VCR-re. A jelentésterjesztő VCR típust a fieldbus-ra csatlakozó eszközök tipikusan arra használják, hogy alarmjelzéseket küldenek a kezelőpultoknak. Közlő/előfizető VCR A közlő/előfizető VCR típust egy eszköz felől több eszköz felé irányuló pufferelt kommunikációra használjuk. Amikor egy eszközhöz adatkérés (CD) érkezik, az eszköz kiadja vagy közli üzenetét a fieldbus-ra csatlakozó összes eszközzel. Előfizetőknek nevezzük azokat az eszközöket, amelyek venni kívánják a közölt üzenetet. A CD a LAS-ban ütemezhető, de az előfizetők nem ütemezett módon is küldhetnek adatkérő üzenetet. A VCR paramétere határozza meg, melyik módszert használjuk. A közlő/előfizető VCR típus segítségével a terepi eszközök ciklikusan és ütemezett módon közzéteszik a felhasználói alkalmazás funkcióblokk-bemenetét és kimeneteit (például technológiai változó, azaz a mért érték PV és primer kimenet, OUT a fieldbus-on).
160 4.5.4.5. Felhasználói alkalmazásblokkok
A Foundation Fieldbus a következő szabványos felhasználóblokkokat határozta meg: erőforrásblokk, funkcióblokk és jelátalakító blokkok. Erőforrásblokk Az erőforrásblokk a fieldbus-ra csatlakozó eszköz jellemzőit írja le (eszköz neve, gyártója és gyártási száma, stb.). Minden eszközben csak egy erőforrásblokk van. Funkcióblokk A funkcióblokkok (FB) határozzák meg a folyamatirányító rendszer viselkedését. A funkcióblokkok bemeneti és kimeneti paraméterei összekapcsolhatók a fieldbus-on. Az egyes funkcióblokkok végrehajtása pontosan ütemezett. Minden fieldbus több funkcióblokkot tartalmazhat. A Foundation Fieldbus az alapszabályozáshoz a 10 szabványos funkcióblokkot definiál: Funkcióblokkok neve Analóg bemenet Analóg kimenet Erősítés Szabályozóválasztó Diszkrét bemenet Diszkrét kimenet Kézi töltő Arányos/differenciáló Arányos/integráló/differenciáló Arány
Jele AI AO B CS DI DO ML PD PID RA
A fejlett szabályozásokhoz további 19 szabályozási funkcióblokkot definiál a szabvány. Így egy teljes szabályozókör felépíthető egyetlen távadóval és egy szabályozószeleppel a Foundation Fieldbusra kapcsolva. Jelátalakító blokkok A jelátalakító blokkok leválasztják a funkcióblokkokat az érzékelő- vagy a beavatkozóhardver leolvasásához szükséges helyi bemeneti/kimeneti funkciókról. Tartalmazzák az érzékelő típusa, méréstartománya vagy a kalibrálás dátuma adatokat. Rendszerint minden bemeneti vagy kimeneti funkcióblokkhoz egy jelátalakító blokk tartozik. A trendelemek (Trend Objects) teszik lehetővé a funkcióblokk paramétereinek helyi trendképzését, amihez hozzáférhetnek a központi számítógépek és más eszközök. A figyelmeztető elemek (Alert Objects) lehetővé teszik az alarmok és események jelzését a fieldbus-on. A látványelemek (View Objects) a blokkparaméterek halmazainak előre meghatározott csoportjai, amelyek felhasználhatók az ember/gép kapcsolatban. A funkcióblokk-specifikáció minden blokktípushoz négy képet definiál. Funkcióblokk-szinkronizálás A funkcióblokkokat pontosan meghatározott időközönként és meghatározott sorrendben kell végrehajtani ahhoz, hogy a folyamatirányító rendszer megfelelően működjön. A rendszerkezelés szinkronizálja a funkcióblokkok végrehajtását és a funkcióblokk-paraméterek továbbítását a fieldbus-on.
161 A rendszerkezelés más fontos rendszerjellemzőket is kezel, pl. a rendszeridő szinkronizálását az összes eszköz között, az automatikus átkapcsolást egy tartalék időközlőre, az eszközcímek automatikus felosztását, valamint a fieldbus-on lévő paraméternevek vagy tervjelek keresését. A Foundation Fieldbus funkciója a rendszeróra szinkronizálása. Ennek következtében az eszközök időbélyeggel tudják ellátni az adatokat a fieldbus-hálózat valamennyi pontján. Amennyiben a fieldbus-on van tartalék rendszeridőközlő, akkor a tartalékközlő aktivizálódik, ha az addig működő időközlő meghibásodik. 4.5.4.6. A Foundation Fieldbus speciális szolgáltatásai
A Foundation Fieldbus speciális szolgáltatásai: eszközcímkiosztás, tervjelkereső szolgáltatás, eszközleírások, eszközleíró tokenizálás, kompatibilitás. Eszközcímkiosztás A fieldbus-ra csatlakozó valamennyi eszköznek rendelkeznie kell egy megkülönböztető hálózatcímmel és egy fizikaieszköz-azonosítóval ahhoz, hogy a fieldbus megfelelően működjön. A rendszerkezelővel automatikasan végrehajtható a hálózati címek kiosztása, így nincs szükség a címbeálló kapcsolókra. Egy új eszköz a következők szerint kap új hálózati címet: − a konfigurálóeszközön keresztül az új eszköz kap egy fizikaieszköz-azonosítót, offline módon a műhelyben, de jellemzően online módon a fieldbus-on keresztül, alapértelmezett hálózati címek alapján; − az alapértelmezett hálózati címek használatakor a rendszerkezelő bekéri az eszköz fizikai azonosítóját. A rendszerkezelő a fizikaieszköz-azonosító alapján keresi meg az új hálózati címet egy konfigurációs táblázatban. Majd speciális címbeállító üzenetet küld az eszköznek, aminek hatására az eszköz az új hálózati címre kerül; − ugyanez a folyamat megismétlődik minden olyan eszközre, amely alapértelmezett címen lép a hálózatba. Tervjelkereső szolgáltatás A központi rendszerek és hordozható karbantartó eszközök működéséhez szükséges a tervjelkeresés, amely az eszközöket vagy változókat kutatja. A tervjelkeresésre felszólító üzenet a fieldbus-ra csatlakozó összes interfészeszközhöz eljut. Amikor az üzenet beérkezik, minden interfész megnézi terepi eszközei között a keresett tervjelet, teljes útvonal-információt küld, ha a tervjelet megtalálja. Az útvonal ismeretében a központi rendszer vagy a karbantartó eszköz hozzáférhet az adott tervjel adataihoz. Eszközleírások A fieldbus-ra csatlakoztatható eszközök fontos követelménye a kompatibilitás. Eléréséhez az eszközleíró (Device Description, DD) technikát alkalmazzák. A DD-k a személyi számítógép (PC) meghajtóihoz hasonlók, amelyekkel a számítógép különböző nyomtatókat és más eszközöket működtet. Bármilyen fieldbus-kompatibilis folyamatirányító rendszer vagy központi számítógép használni tudja az eszközt, ha rendelkezik az eszköz DD-jével.
162 Eszközleíró tokenizálás A DD megírásához szabványos programozási nyelvet használhatnak, amelyet eszközleíró nyelvnek neveznek (Device Description Language, DDL). A Foundation Fieldbus (FF) az összes szabványos funkcióblokkhoz és jelátalakító blokkhoz ad DD-ket. Az eszközszállítók eszközeikhez kiegészítő DD-t készítenek, amit speciális jellemzőkkel, pl. kalibrálási és diagnosztikai eljárásokkal egészítenek ki. A Foundation Fieldbus a szabványos DD-ket egy CD-ROM-on forgalmazza. A felhasználó a kiegészítő DD-t vagy az eszköz szállítójától, vagy a Foundation Fieldbus-tól szerezheti be. A kiegészítő DD-k közvetlenül kiolvashatók az eszközből is a fieldbus-on keresztül, amennyiben az eszköz támogatja a feltöltési szolgáltatásokat. A Foundation Fieldbus egyik úttörő alkalmazója a Fisher Rosemount (Delta V rendszer). Kompatibilitás Minden gyártó minden eszközkompatibilitási tesztjéről jelentést küld a Foundation Fieldbus számára. A jelentésben szerepelnek az eszközben lévő általános, funkcióblokk-, jelátalakító blokk- és gyártóspecifikus paraméterek. Az eszközleírás beolvasásával bármilyen központi rendszer együtt tud működni az eszközben szereplő összes paraméterrel. A Foundation Fieldbus a PROFIBUS-os rendszerekkel szemben egyetlen változatban készül, tehát gyártófüggetlen. Ma már a Foundation Fieldbus illesztője egyetlen csipen integrált eszköz, amely beépíthető a terepi mérő- és távadó eszközökbe. A Foundation Fieldbus első ízben valósítja meg az elosztott automatizálás és az elosztott információkezelés elvét, ezáltal megteremti a feltételét a DCS-rendszerek második generációjának kialakításához. A Foundation Fieldbus-t a Fisher Roseomunt dolgozta ki elsőként, és erre építette a PlantWeb architektúrát. A PlantWeb architektúra Foundation Fieldbus topológiáját a 4.53. ábra szemlélteti.
4.53. ábra. PlantWeb architektúra Foundation Fieldbus topológiával A rendszer 36 fieldbus-szegmenset képes kezelni, szegmensként max. 16 eszközzel. A PlantWeb architektúra Foundation Fieldbus nyitott irányítórendszer (Open Control System), amelyhez minden gyártó csatlakoztathatja termékét. A Foundation Fieldbus másik fejlesztési iránya a H1 jelű, elsősorban terepi műszerek kommunikációját szolgáló busz mellett a nagyobb adatátviteli sebességet igénylő alkalmazásokat kiszolgáló terepi busz kifejlesztése, amelynek alapja a 100 Mbps sebességű, ún. High Speed Ethernet. Az előzőekből látható, hogy a FF nem kifejezetten a PLC-khez, hanem a DCS-rendszerekhez kifejlesztett terepi buszrendszer.
163
4.6. Terepi szenzorbuszrendszerek A terepi szenzorbuszrendszerek az érzékelők jeleinek hálózati kezelésére, valamint a beavatkozók jelének hálózaton történő kiadására szolgálnak. Átalakítják a hagyományos PLC-k struktúráját, a nagyszámú be/ki modulok helyett egy hálózati kártya kerül a PLC-be, az érzékelők és beavatkozók közvetlenül a buszra csatlakoznak (4.54. ábra). Az érzékelő-beavatkozó jellegű buszok előnyei: nagymértékű kábelmegtakarítás és a nagyobb zavarvédettség. Fizikai átviteli közegként csavart érpár, koaxiális kábel és optikai kábel használatos. Egyes megoldásokban a tápfeszültséget is a buszkábelen továbbítják, sőt vannak olyan megoldások is, amelyek a 230 V-os hálózatot használják adatátviteli közegként. Utóbbi csak korlátozott frekvenciatartományban használatos, ami kis adatátviteli sebességet tesz lehetővé.
4.54. ábra. Hagyományos (a), ill. busz jellegű I/O kezelés (b) A be/ki jelek kezelése kétféle: a központi kezelésű, ill. az elosztott vezérlésű. A központi kezelés esetén a PLC-ben masterkártya van, amely a be/ki eszközökről a buszon érkező jeleket a PLC számára feldolgozhatóvá alakítja. A PLC-ben futó vezérlés nem látja, hogy az adatok a buszon kerültek oda. Ilyen feldolgozáshoz master-slave és multimaster hálózat egyaránt használatos. Az elosztott feldolgozási mód esetén az adatfeldolgozás vagy annak egy része az I/O eszközökön történik. Ily módon minden egység elvégzi a maga részfeladatát, adott esetben beavatkozik a folyamatba, és a hálózaton csak azokat az adatokat küldi tovább, amelyek más részfeladathoz is szükségesek. Az érzékelő/beavatkozó jellegű terepi buszok protokollhatékonysága szerint közlekedő adatokat két nagy csoportba lehet sorolni: be- és kimeneti adatok, ill. paraméterek. A beés kimeneti adatforgalom jellemzői: 1-2 bit-től néhány bájtnyi adatmennyiség és előírt frekvenciájú mintavételezés. A paraméterbeállításokkal kapcsolatos adatforgalom rendszerint az intelligens egységek beállítására szolgál (pl. határértékek), és többnyire 10…100 bájtnyi adatforgalmat jelent. Ezen adatok átvitele nem időkritikus. Az érzékelő/beavatkozó típusú terepi buszrendszerek megfelelő protokolljának kiválasztása fontos szempont a részben ellentétes igények miatt. A két leggyakrabban használt átviteli protokoll a következő.
164 Az üzenetátviteli protokollt leginkább a master-slave buszhozzáférésnél használják. A 4.55. ábra szemléletesen mutatja a master által kiadott lekérdezések és az erre adott slave válaszok, valamint a master által küldött parancsok és az erre adott slave nyugtázások időbeni lefolyását egy ciklusidőn belül.
4.55. ábra. Üzenetorientált átvitel időviszonyai Függetlenül az átvitt hasznos adat mennyiségétől (1 bit …10 Kbájt), a kommunikáció lebonyolításához szükséges adatokat (cím, CRC stb.) mindig elküldik. A nagyméretű, paraméter jellegű adatok átvitele is egyetlen ciklus alatt történik. Belátható, hogy a slave egységek számának növelésével nő a ciklusidő. Annak érdekében, hogy az üzenetorientált protokollal biztosítani lehessen a szükséges átviteli sebességet, meg kell növelni az órajel frekvenciáját, ami újabb problémákat vethet fel, például nő a zavarérzékenység. Az összegzőkeret típusú protokoll a hálózatba kötött összes elem adatát egyetlen nagy keretbe egyesíti. A protokollhoz tartozó ún. fejléc-információ minden ciklusban csak egyszer küld el. Az adatátvitel hatásfoka közel független a modulok számának növekedésétől, ezért optimális megoldás a nagyszámú, de igen rövid üzenetekkel dolgozó hálózaton. A ciklusidő könnyen számítható és tartható (4.56. ábra). A módszer hátránya, hogy a nagyobb adatblokkot igénylő paraméterek továbbítására nem előnyös.
4.56. ábra. Összegzőkeret-protokoll időviszonyai
165 4.6.1. INTERBUS
Az INTERBUS rendszert a Phoenix Contact cég fejlesztette ki, és 1993-ban DIN 12258 számon megjelent az INTERBUS S nemzetközi szabvány [22]. Az INTERBUS S főbb műszaki adatai a 4.7. táblázatban találhatók. 4.7. táblázat. INTERBUS S műszaki adatai Buszhozzáférési eljárás Adatátviteli sebesség Topológia Telegramszerkezet Buszhossz Buszrésztvevők száma Átviteli mód Átviteli közeg Átviteli hibavédelem
master-slave 500 kBaud gyűrű összesítőkeret Loop-Back szó, Data Unit, hibaellenőrző kód, vezérlőkód max. 12,8 km max. 200 m két buszkapocs között max. 256 RS 422 (ill. 2 x RS 485) árnyékolt, sodrott érpár, fénykábel CRC
Az INTERBUS gyűrűtopológiájú hálózat, de a hálózaton belül algyűrűket is létre lehet hozni a terminálmodulokkal. Bármely két modul között szabadon lehet választani az átviteli közeget. Az INTERBUS erőssége az összegzőkeret típusú protokollból következő nagy adatátviteli hatékonyság és a kiszámítható ciklusidő. Az INTERBUS hálózat gyűrűként van kialakítva és az üzenet minden egyes résztvevőn áthalad. A hálózat nagyméretű léptetőregiszterként képzelhető el úgy, hogy a regiszter egyik fele a masterben, másik fele elosztva a slave-ekben van. A slave-enkénti regiszterek mérete az eszköz funkciójától függ. A master és az egyes elemek regisztereinek összekapcsolásából áll össze a gyűrűstruktúra. A masterregiszter (memória) igénye megegyezik az összes modul adatainak összegével. A bemeneti, ill. kimeneti adatok a modulok (slave-k) fizikai sorrendjében követik egymást (4.57. ábra).
4.57. ábra. INTERBUS léptetőregiszter Minden ciklus a fejléccel kezdődik (Loop Back Word, LBW) és a master folyamatosan lépteti az adatokat egyik modultól a következőig, amíg a fejléc vissza nem érkezik a master-be. Ekkor a kimeneti adatok a megfelelő slave-eknél vannak, és azok beolvassák. Ugyanakkor a slave-ok beírják bemeneti adataikat az összesítőkeretbe, majd a master ismét
166 addig tolja körbe az összesítőkeretet, amíg a Loop Back szó alapján fel nem ismeri, hogy a teljes INTERBUS telegramot áttolta a tolóregiszter megfelelő részébe. Ezután a PLCfeldolgozási művelete következik, amelynek végén a master beállítja a kimeneti értékeket, és a ciklus kezdődik elölről. Az INTERBUS telegram felépítése a 4.58a ábra szerinti. A nagyobb adatmennyiséget igénylő paraméterátvitel jelentősen növeli a telegram hosszát. A paraméterblokk átvitele nem időkritikus, ezért átvitele több ciklus alatt is megtörténhet. Ezt szemlélteti a 4.58b ábra. Ily módon a ciklusidő nem növekszik és nagyobb adatblokkok átvitele is lehetséges viszonylag alacsony órajel-frekvencia mellett, ami zavarvédelmi szempontból előnyös.
4.58. ábra. INTERBUS keretformátuma Az INTERBUS S konfigurálásakor először meg kell nevezni a csatlakoztatott résztvevőket. A szabványosítás ellenére az InterBus S kezelése egyszerű, mert szinte minden buszparaméter rögzített, és a tiszta I/O adatcseréhez nincs szükség szolgáltatásokra, szemben pl. a PROFIBUS-szal. Egy tipikus INTERBUS-kialakítást szemléltet a 4.59. ábra (Phoenix Contact).
4.59. ábra. Jellegzetes INTERBUS-kialakítása
167 Az INTERBUS masteregysége lehet egy PC, vagy egy Phoenix Contact modul, de lehet szinte valamennyi PLC-gyártó cég INTERBUS csatolómodulja. Az INTERBUS nem kifejezetten érzékelő-beavatkozó busz, hiszen intelligens (smart) modulokat is tartalmaz, amelyek az elosztott adatfeldolgozást is lehetővé teszik. Az INTERBUS-nak saját érzékelő-beavatkozó busza van (Sensor Loop). Az érzékelőhurok egyszerű buszkapocs segítségével építhető be egy meglévő INTERBUS rendszerbe külön master nélkül sodrott érpárral. A Sensor Loop esetén a telegramban egy további buszkapocs jelenik meg, és az érzékelők hasznos adatai a telegramban lesznek. Az érzékelőhurok elemeinek információja az összesítőkeretet egy résztvevővel növeli. A 4.59. ábra szemléletesen mutatja a gyűrűtopológiájú INTERBUS-hálózatot és a Sensor Loop kialakítását. Az INTERBUS alapú vezérlés és kommunikáció programozását a PC-n futtatható PC WORX szoftver támogatja, amely három fő funkciót lát el: − INTERBUS-konfigurálás; − IEC 1131 szabványú programozás; − folyamatvizualizálás. 4.6.2. ASI-busz
Az ASI-busz tipikus beavatkozó-érzékelő (Actuator Sensor Interface) busz, amely kéteres vezetéken biztosítja a jelek kétirányú továbbítását, sőt ezen a vezetéken történik a tápfeszültség-ellátás is. Az ASI-busz 60, főként PLC-ket gyártó cég által támogatott szabvány. Az ASIbusz technológiájának filozófiai alapja az, hogy a PLC-PLC összeköttetések szintjéről az érzékelő- és beavatkozóelemek fizikai szintjére hozza le a kommunikációt. Ehhez egyrészt a buszra csatlakoztatható érzékelők és beavatkozók szükségesek, másrészt a PLC-be kell beépíteni azokat a funkciókat, amelyek a buszra csatlakozó elemek kezelését végzik. Ez tehát egy master-slave rendszer, ahol a PLC-be épített (ill. programozott) master lekérdezi a slave-ket. 31 slave csatlakoztatható egyetlen master-re, amit 5 ms alatt lekérdez a rendszer. 4.6.2.1. Az ASI-csip
Dr. Madarász László megjelent cikksorozata [1] alapján a rendszer jellemzői a következők. Az ASI-busz fizikai közege speciális kéteres kábel. Különlegessége az aszimmetrikus profil (csak egy alkalmasan kiképzett csatlakozóba helyezhető), a nagy rugalmasság, ill. a speciális szigetelőanyag. A „vámpírcsatlakozó” felhelyezése után is megőrzi IP67-es védettségét, sőt a csatlakozó eltávolítása után is visszanyeri ezt a védettséget. A kéteres kábel szállítja a tápfeszültséget és leválasztó áramkör segítségével ez adja a PLC-kben lévő master-nek az információt. Az ASI-busz fizikailag egy integrált csip (4.60. ábra). Egyelőre az ASI-busz a kétállapotú jelek kezelésére alkalmas, az analóg interfészeket kezelő csipek fejlesztése folyik.
168
4.60. ábra. ASI-csip felépítése Az ASI kábelen lévő feszültségből az ASI-csip tápegység áramköre állítja elő a szenzorok, aktuátorok működéséhez szükséges 24 V-os feszültséget (a tényleges tartomány 19...26 V), amelynek legnagyobb terhelése 35 mA. A kiegészítő 5 V-os tápfeszültség a saját belső elektronika működéséhez szükséges. Az ASI-csip 4 bitet fogadhat a master-től és 4 bitet tud visszaküldeni. Információt küldhet a master számára a belső állapotáról és beállítóparamétereket fogadhat a master-től. A csipben egy tápellátás-hiba-logika gondoskodik a hibamentes információkezelésről. A védő áramkör a termikus és túláramvédelmen kívül ún. Jabber-Inhibit (fecsegést kizáró) kapcsolási részletet is tartalmaz. Ez a slave-et leválasztja az ASI rendszerről, ha valamiért folyamatos adás alakul ki, a meghibásodott egység nem zavarja a rendszer működését. Az ASI-csipben lévő vezérlőegység dekódolja a master felhívását és generálja a slave válaszát, ami a buszvezetékre kerül. Ha adatfelhívás zajlik, a masterből érkezett adatokat érvényesíti, mint kimenő adatokat, és a slave által érzékelt bemenő adatokat a slave válaszába szerkesztve küldi azokat a masterhez. Az ASI-csip négy adatpontját a csatolómodul, ill. a szenzor, aktuátor gyártásakor konfigurálják bemenetként vagy kimenetként. Az ASI rendszerben 16 bemenet/kimenet konfigurációt definiáltak, csak ezek valamelyike használható. A 16 lehetőséget a 4.8. táblázat mutatja be. 4.8. táblázat. Az ASI-csip bemenet/kimenet konfigurálása Be-/kimeneti kód 0 1 2 3 4 5 6
D0 Bemenet Bemenet Bemenet Bemenet Bemenet Bemenet Bemenet
Az adatpontok szerepe D1 D2 Bemenet Bemenet Bemenet Bemenet Bemenet Bemenet Bemenet Kimenet Bemenet Kétirányú Kimenet Kimenet Kétirányú Kétirányú
D3 Bemenet Kimenet Kétirányú Kimenet Kétirányú Kimenet Kétirányú
169 7 8 9 A B C D E F
Kétirányú Kimenet Kimenet Kimenet Kimenet Kimenet Kimenet Kimenet Háromállapotú
Kétirányú Kimenet Kimenet Kimenet Kimenet Kimenet Bemenet Kétirányú Háromállapotú
Kétirányú Kimenet Kimenet Kimenet Bemenet Kétirányú Bemenet Kétirányú Háromállapotú
Kétirányú Kimenet Bemenet Kétirányú Bemenet Kétirányú Bemenet Kétirányú Háromállapotú
A táblázatból úgy tűnhet, hogy egyes konfigurációk többször is előfordulnak, így pl. a 3 és a B jelű bemenet/kimenet kód egyaránt két bemenetet és két kimenetet jelent. Mégsem azonos értékű ez a két eset, ugyanis a D0 jellege döntő az egység minősítésében, ez adja meg a slave funkcióját. Ha a D0 bemenet, a slave ézékelő, ha pedig a D0 kimenet, a slave beavatkozó. Az F kódolás azt jelenti, hogy nincs megkötött konfiguráció. A lehetséges ASIegységeket profiljelzések formájában jellemzik az ASI rendszer kialakítói. A profiljelzés célja, hogy egységes, gyártófüggetlen készülékazonosítási rendszer jöjjön létre. A profiljelzés a slave-ben rögzített adat, a master-be a bekapcsolása után lefutó üzembevételi fázis során küldi a slave. Az ASI-csip paraméterek beállítását is lehetővé teszi (négy biten). A paraméterek standard értékét a master nem felejtő tárolóban őrzi, a rendszer újraindításakor az értékeket tölti be a slave egységeibe. A paraméterkezelés révén lehetséges pl. a szenzor kapcsolójelénél polaritást váltani, mérési tartományt módosítani, kapcsolási tulajdonságokat változtatni. A paraméterezés az ASI rendszerben újabb lényeges előnyökkel jár: − egyazon készülék (pl. szenzor) nagyszámú különféle paraméterezéssel használható, a készülék általános célú lehet, amit a paraméterezéssel lehet speciálissá tenni; − az ASI rendszer üzeme közben, ha szükséges, bármikor váltható az egységek paraméterezése. Ez például érzékelőcserénél előnyös. Minden slave címezhető, hogy a master egyedileg tudjon velük kommunikálni. A címzési tartomány: 1...31. Egy ASI-csatolómodul, egy intelligens szenzor mindig önálló címmel rendelkezik. Az ASI-csiphez kapcsolódó EEPROM-ban őrződik a cím, így tápfeszültség nélkül sem vész el, de szükség esetén átcímezhető. A cím az ASI rendszerbe szabályosan bekötött eszközzel beállítható a címzőfelhívással. Az ASI-kábelre csatlakoztatás előtt is beállítható a cím. Kifejezetten erre a célra gyártják az ASI címzőkészülékét. Ehhez közvetlenül csatlakoztatják a slave-egységet, s a készülék nyomógombjain lehet billentyűzni a kívánt címet. További címzési lehetőség a programozó- és szervizkészülék (PRG). A PRG is alkalmas az ASI rendszertől független címbeállításra, de az ASI-kábelre csatlakoztatva ez a készülék képes a master működését szimulálni, s így is címezhetnek vele (egyébként a készülék különféle slave-működéseket is szimulál). Az ASI-busz világszabvány, amely minden gyártó számára nyitott. Az ASIC áramkörön alapuló ASI csipet vagy az érzékelőkbe vagy a csatlakozóba építik. A rendszer konfigurálása a PLC fejlesztőrendszerrel egyszerű: definiálni kell a csatlakoztatott elemeket. A továbbiakban a beépített önteszt ellenőrzi a rendszer működését. Az ASI-csippel nem rendelkező elemek is csatlakoztathatók a rendszerhez úgy, hogy a passzív csatlakozót beépített ASI-csipet tartalmazó aktív csatlakozóval kell kiváltani, amely illeszti az adott érzékelőt az ASI-buszos hálózatra. Ezzel bármely gyártó érzékelő- vagy beavatkozóelemei alkalmazhatók a hálózathoz. A rendszer fejlesztői gondoltak arra is, hogy nem mindig elegendő a kisáramú igénybevételre méretezett „sárga” kábel alkalmazása. Mo-
170 torindító relék, mágneskapcsolók esetén a „fekete” kábelt kell használni. A „piros” kábel pedig a 230 V-os hálózathoz alkalmas. 4.6.2.2. Az ASI kódolástechnikája
Az ASI rendszerben az információ sorosan közlekedik, egy időben csak egy irányban (fél duplex), vagy a master-től a slave felé, vagy fordított irányban. Az adatbiteket Manchesterkódban kezeli a rendszer. E kódolás jellegzetessége, hogy az egyes bitek időtartama kötött. A 0 bitet a bitidő közepén kialakított lefutóél reprezentálja, az 1-et a bitidő közepénél lévő felfutóél. A megoldás előnye, hogy minden egyes bit átvitelekor (legalább) egy jelszintváltás van, az egymás utáni azonos bitek is jól felismerhetők. A kódot fogadó egységnél az időzítésekre kell csak ügyelni, ismerni kell a bitidők időpontját. A 4.61a ábrán egy adatbitsorozat és Manchaster-kódja látható. Az információadó a Manchester-kód 1 szintjénél jelentős áramot vesz fel a tápegységből, a 0 szintnél kikapcsol, az adó tápárama jeleníti meg a kódot. Az ASI-vezetéken a tápegység kialakításának köszönhetően pozitív és negatív feszültségimpulzusok formájában jelenik meg a kód (4.61b ábra) [1].
4.61. ábra. ASI kódolástechnika (a) és jelalakok (b)
171 A buszvezetékek jelsorozatát alternatív impulzusmodulációnak (Alternative PulseModulation, APM) hívják. A vevőben komparátorok állítják vissza a Manchester-kódot, amit logikai áramkörök értékelnek, s végül így áll elő az adó által kiküldött eredeti bitsorozat. Az adónál a tápáram két szintje 0 mA, ill. 60 mA (a tényleges áramérték 55...68 mA közötti lehet), a feszültségimpulzusok amplitúdója kb. 2 V. A bitidő kötött: 6 µs. A bitidő közepén alakul ki a vevő bemenetén a pozitív vagy negatív feszültségimpulzus (az információs bit értékének megfelelően). Ha két azonos értékű bit követi egymást, a bithatáron is megjelenik egy további (ellenkező előjelű) impulzus. Az ASI rendszer jelkábelvégeit nem kell speciális lezáróelemekkel lezárni, a hierarchiától függően a rendszerben nagyszámú szabad kábelvég is lehet. A rendszerben a csatolásmentesítést a tápegységben lévő RL-tagok valósítják meg. A rendszer különböző pontjainak vevőbemenetein különböző értékű lesz a feszültségimpulzus, de az ASI-egységek erre fel vannak készítve, ilyen körülmények között is hibátlanul működnek. A hibamentes, zavarérzéketlen működés alapfeltétele a teljes szimmetria. A hiányzó árnyékolás miatt a vezetékbe becsatolódó zavarok a szimmetria miatt azonos fázisú zavarként jelennek meg, így nem befolyásolják a működést. Az ASI-egységek fejlesztése és gyártása során különösen nagy hangsúlyt kell fektetni a tökéletes szimmetria biztosítására. A termékek vizsgálata során csak azok az egységek kapják meg az ASI-termék jelzésviselésének jogát, amelyek az igen szigorú szimmetriakövetelményeket is kielégítik az egyéb paraméterek teljesítése mellett. 4.6.2.3. ASI üzenetformátuma és kommunikációja
Az ASI üzenetformátumát a 4.62. ábra mutatja [2].
4.62. ábra. ASI üzenetformátum Jelölések: ST SB A0...A4 I0...I4 PB EB
startbit, 0 értékkel a masterfelhívás kezdetét jelzi vezérlőbit, 0 értéke esetén adatátvitel (adatfelhívás) vagy paraméterátvitel (paraméterfelhívás) indul, 1 értéke parancsátvitelt (parancsfelhívást) jelöl cím (5 bit), a megszólított slave kiválasztására szolgál 00h: null cím, a gyári új, beállítatlan ASI slave kijelölésére 01 h...1 Fh: az ASI slave cím (1...31d) információ (5 bit) paritásbit, ha az 1-ek száma páros (a START- és ENDE-bit nélkül), ez a bit 0, egyébként 1 értékű ENDE-bit, a masterfelhívás végét jelzi (0 értékű). A slave válaszbitjeinek szerepe megegyezik a masterfelhívásban szereplő azonos jelű bitekével, a válaszban nincs cím, nincs vezérlőbit és az információ mérete is kisebb (4 bit, 10...13).
A 14 bites masterfelhívás tartalmazza a címet, ami a slave-eszközt kiválasztja. A megcímzett slave válasza 18...30 µs szünet után érkezik és 7 bitből áll.
172 Az ASI rendszerben definiált legfontosabb masterfelhívások: címzőfelhívás, parancsfelhívás, paraméterfelhívás és adatfelhívás. A gyári új slave a 00h címre reagál. A címzőfelhívás szolgál az ASI-kábelre csatlakoztatott új egység üzemi címének beállítására (a cím beállítható az ASI rendszeren kívül is a címzőkészülékekkel vagy a programozó- és szervizkészülékekkel, PSG). Ha már minden slave rendelkezik az üzemi címével, az ASI-kommunikáció üzemszerűvé válik. Jellemzője, hogy ciklikus. A Master minden ciklusban, sorban megszólítja (egyegy adatfelhívással, ennek felépítését láttuk a 4.62. ábrán) a rendszerben szereplő valamennyi slave-egységet, és fogadja azok válaszát. A ciklus végén egy paraméterfelhívás és egy diagnózisfelhívás következik, s ezek után a ciklus újraindul (4.63. ábra) [2]. Komplett kiépítés esetén a teljes ciklus időigénye 5 ms.
4.63. ábra. A master-slave közötti ciklikus kommunikáció ütemezése A master-slave közötti kommunikáció időviszonyait a 4.64. ábra [1] szemlélteti.
4.64. ábra. ASI kommunikáció időzítése A master tárolt táblázatból ismeri a rendszerben szereplő slave-ek címét és jellegét. Ha egy adatfelhívás válasz nélkül marad, a master ezt felismeri, és megismétli a felhívást. Ha másodszorra sem érkezik válasz, a master továbblép a ciklusban, de megjegyzi az eseménye-
173 ket. Még további két ciklusban fog a választ nem küldő slave-vel próbálkozni a master (kétszer-kétszer), így tehát összesen hatszor hívja fel a hibás egységet. Ha hatszor válasz nélkül marad a felhívás, az adott slave adatait a master törli a táblázatból. Az adatkommunikáció biztonsága a kódolási eljárás következtében igen jó, az impulzusok jelalakja, időzítése számos olyan kötöttséget tartalmaz, amit a vevő ellenőrizni tud. A hamis jeleket ki lehet szűrni, a protokoll pedig paritásbitet is lehetővé tesz. Ha mindezen intézkedések ellenére hibás információ érkezik, a vevő a hibát felismeri, s az információt nem használja fel. Ilyen esetben az adatátvitel ismétlése kérhető. Végül a rendszer maradó hibája igen alacsony értékre szorítható. Az ASI a DIN 19244 szabvány szerint a legnagyobb adatintegritási osztályba tartozik. Az ASI-kommunikáció az üzembe helyezési fázissal indul, ami a master bekapcsolásakor automatikusan megkezdődik. A master az összes lehetséges ASI-címet sorban lekérdezi, és válaszra vár. Ha egy megcímzett slave válaszol, a paramétereit a master behelyezi egy belső táblázatba. A slave a profiladat beküldésével válaszol, a táblázatban tehát a felismert címek és a slave jellegét megmutató profiladatok vannak. A slave profilja számérték, ami a slave jellegét írja le. Ha a táblázat elkészült, a master áttér az üzemszerű ciklusokra. Az indulás előtt a felhasználó egy tervezett slave-táblázatot is elhelyezhet a masterben. Az üzembe helyezési fázis során ekkor is felépíti a valódi helyzetnek megfelelő táblázatot a master, majd a két táblát összehasonlítja. Ha eltérést talál, indulási hibajelzést küld a felsőbb szintű vezérlőegységnek. Ciklusonként egy paraméterfelhívásra van lehetőség, egy slave címére. A paraméterfelhívással, pl. a működési tartomány beállítható, a kapcsolási küszöbérték változtatható. A diagnózisfelhívásban olyan címeket kérdez le a master, amelyek nem szerepelnek a belső táblázatban. Ha az ASI rendszerhez működés közben csatlakoztatnak egy slave-elemet (amelynek beállított címe van), e ciklusok egyikére reagálni fog. Mivel a ciklus időtartama legfeljebb 5 ms, legkésőbb 150 ms (azaz 30 ciklus) múlva a master már beírhatja az új eszközt a táblázatába. 4.6.2.4. ASI kábele és tápegysége
A rendszer csatlakozóit úgy alakították ki, hogy a két részből álló csatlakozó csak az ASIbusz speciális profilú kábelét tudja fogadni (4.65. ábra) [1].
4.65. ábra. ASI-kábel
174 Az elektromos csatlakozást a különleges érintkezők adják, amelyek átszúrva a kábel szigetelőköpenyét tűikkel stabil elektromos kontaktust teremtenek, miközben megóvják a rendszer védettségét. A csatlakozót eltávolítva a kábel újra visszanyeri védettségét. Az ASI-kábel jellemzői: − nem árnyékolt, nem sodrott kéteres lapos kábel; − gyors csatlakoztatás, vámpírcsatlakozók; − aszimmetrikus profil a polaritáscsere meggátolásához; − vezeték-keresztmetszet: 2⋅1,5 mm2; − ajánlott hossz: 20, 50 és 100 méter; − sárga kábel: adatátvitel; 24 V táplálás az érzékelőknek és a beavatkozóknak; − fekete kábel: külön 24 V DC tápfeszültség; − piros kábel: 230 V kiegészítő tápfeszültség. Az ASI-busz szimmetrikus egyenfeszültségű tápegységének vázlata a 4.66. ábrán látható [1].
4.66. ábra. ASI tápegység A tápegység védővezetékét a technológiai műszerezés védőföldelésével kell összekötni, minimum 1,5 mm2 keresztmetszetű vezetékkel. A kiegészítő tápfeszültség (a fekete kábelen át) 24 V egyenfeszültség. A gyártók különféle terhelhetőségű ASI tápegységeket kínálnak (a maximális terhelőáram értéke 2,2 A...7 A közötti). Az ASI tápegység bemeneti oldala lehet 24 V egyenfeszültség vagy 230 V hálózati feszültség. Az ASI tápegység a hálózat bármely pontján becsatlakoztatható, de az a legmegfelelőbb, ha a legnagyobb fogyasztású eszköz közelében kapcsolják az ASI-kábelre. 4.6.2.5. Az ASI rendszer elemei
Az ASI rendszer főbb elemei: − ASI-master, amely végzi a kommunikációt a slave-k és a master között, és egyidejűleg küldi az információt a vezérlőegység vagy magasabb rendű buszrendszerek felé (PROFIBUS, Interbus stb.); − ASI tápegységmodul, amely a buszfeszültséget állítja elő és a slave-k adatleválasztásáról is gondoskodik; − ASI-slave-ek, intelligens szenzorok (pl. induktív és kapacitív közelítéskapcsolók, otptoelektronikai érzékelők, áramlásérzékelők stb.), − bemeneti-kimeneti egységek (slave-ek). Az ASI rendszer ún. egymaster-es rendszer (Single-Master System), azaz ASI érpárokon csak egyetlen master szerepű eszköz lehet. Ez hívja meg a ciklikus működés során egymás után az egyes slave-egységeket, és fogadja azok válaszát. A master az összes csatlakoztatott slave-elemet képes 5 ms alatt lekérdezni, azaz a master, ill. slave oldali adatok 5 msonként aktualizálódnak a működés során. A master felügyeli az ASI-kábelen a feszültségeket és az átvitt adatokat. Felismeri az átviteli hibákat éppúgy, mint egy slave-kiesést, ezeket az
175 eseményeket képes jelenteni a fölérendelt irányítási szintű eszközöknek. Normál üzem közben megengedett egy slave eltávolítása vagy cseréje, új slave-egység beiktatása. A változásokat a master automatikusan követi s a pillanatnyi rendszerkonfigurációnak megfelelően működik. Az ASI-master két fő része a processzormodul és az analóg egység. A gyártók különféle megoldásokat ajánlanak a master felépítésére, így a felhasználó minden esetben az igényének leginkább megfelelő masterváltozatot integrálhatja a rendszerébe. A processzormodulban általában egy hatékony, általános célú mikrovezérlő a CPU (többnyire a 8051 mikrovezérlő család valamelyik tagja). A processzoregység feladata, hogy létrehozza az ASI rendszer és a fölérendelt irányítási szint közötti illesztést. Néhány proceszszormodulban különálló, gyors mikrovezérlőre bízzák az adatok párhuzamos-soros konverzióját, pl. egy Microcsip PIC 16C5x mikrovezérlőre. Az analóg egység végzi el az ASI-vezeték és a processzormodul közötti illesztési feladatokat. Vételkor a kötött bitidő, adatfelépítés, szabványos protokoll és a nagy biztonságot adó kódolás kihasználásával az analóg egység igen megbízhatóan dekódolja a vett jeleket, és logikai jelekké alakítja azokat. Adáskor a processzormodul digitális jeleiből az analóg egység állítja elő az ASI-kábelre kijutó jeleket. Az ASI-master leggyakoribb kialakítási lehetőségeit a 4.67. ábra foglalja össze.
4.67. ábra. ASI-master kialakításai Lehetséges master kialakítások: − PLC kiegészítő egységként kialakított master; − magasabb irányítási szintet alkotó buszrendszerhez illesztőegységként kialakított master (pl. Profibus, Interbus, VME bus lehet a fölérendelt szinten); − személyi számítógépbe helyezhető, bővítőkártyaként kialakított master; − RS 232C szabványos soros vonalhoz illesztőegységként kialakított master. 4.6.2.6. Az ASI rendszer építési változatai
Az alapelrendezésben minden slave párhuzamosan rákapcsolódik két csatlakozópontjával az ASI-kábel két erére. Ez az alapépítési forma is változtatható. A szokásos kialakításokat a 4.68. ábra szemlélteti. A leggyakoribb topológiák a csillag, a vonal és a fa.
176
4.68. ábra. ASI-slave felépítési topológiái Az alapelrendezés jellemzője, hogy minden ASI-résztvevő + pontja galvanikusan öszsze van kötve egymással, hasonlóképpen az összes résztvevő − pontja is. Látható, hogy a master, a tápegység és a slave-elemek a kábelrendszer bármely pontján csatlakoztathatók. Az alapelrendezés egyetlen komoly megkötése: az ASI-kábel összes hossza nem haladhatja meg a 100 m-t. Kiterjedtebb rendszer esetén ismétlő- (repeater-) egységet kell beiktatni az ASI rendszerbe (4.69. ábra).
4.69. ábra. ASI-hálózat kialakítása repeaterrel Az ismétlő képes arra, hogy összekapcsoljon két ASI kábelrendszert. Az egyik kábelen megjelenő adatokat érzékeli, felerősíti és a másik kábelrendszerre kiadja. Logikai értelemben az ismétlővel összekapcsolt kábelrendszerek egyetlen ASI rendszerként működnek, áramkörileg azonban az egyes ASI-szegmensek galvanikusan függetlenek egymástól. Ez a magyarázata annak, hogy minden önálló ASI kábelszegmensre saját ASI tápegységet kell telepíteni (master továbbra is csak egyetlen lehet a teljes rendszerben). Egy ASI rendszerben akár több ismétlő is lehet, de a master és bármely slave között legfeljebb két ismétlőegység szerepelhet. Az ismétlőkkel erősített rendszerben az ASI-kábel teljes hosszúsága 300 m lehet.
177 Lehetőség van a slave-egységek összevonásával digitalizált analóg érték átvitelére is az ASI-slave-k összekapcsolásával. Az ASI-busz leginkább a szerelésautomatizálás és a mechatronika terén terjedt el. Az ASI-busz nyitott rendszer, amelyhez máig 60 ország csatlakozott. Az egyik vezető vállalat a Groupe Schneider, amely új érzékelőit, kapcsolóeszközeit már az ASI-buszos technológiához gyártja. Az ASI-busz nagy alkalmazója a Siemens, amely a háromszintű informatikai rendszerének alsó szintjén használja az ASI-buszt. A PROFIBUS DP-hez DP/ASI csatolóval illesztett Siemens ASI rendszert mutat a 4.70. ábra, amelyen láthatunk példát az ASI csip nélküli és a csipes megoldására is. Az ASI modulok védettsége IP 67.
4.70. ábra. Kétszintű Siemens (PROFIBUS, ASI) rendszer felépítése 4.6.3. CAN Bus
A CAN a Control Area Network rövidítése, kifejlesztése a Bosch és Intel cégek együttműködésének eredménye [8, 13, 25]. A CAN Bus kidolgozásánál az autóipari alkalmazásból eredően az alábbi célkitűzéseket fogalmazták meg: − az adatátviteli sebesség 5 Kbps…1 Mbps közötti legyen, − a rendszer legyen képes rendkívül üzembiztos és hibamentes átvitelre, − az üzenetátvitel adattartalma legyen optimális arra a minimális adatmennyiségre, amely az autóipari érzékelők, beavatkozók kezelésére elegendő (0…8 bájt), − a rendszer könnyen felépíthető és kezelhető legyen, az üzenetprotokollt kialakító elektronikai modulok tömeggyártásra alkalmasak legyenek, − a buszkiépítés, az állomások csatlakoztatása egyszerű legyen. Az adatátviteli sebesség meghatározásához a hathengeres motor 6000 n/min fordulata előgyújtási szögének két gyújtószikra közötti idejét (~ 3,3 ms) vették a valós idejű működtetés alapvető követelményének. Az eredetileg autós felhasználásra tervezett CAN egyre jobban terjed ipari alkalmazásokban. A CAN-lapkákat a járművekben igen nagy számban használják, ezért a lapkaár alacsony. A CAN Bus főbb műszaki adatait a 4.9. táblázat [8] tartalmazza.
178 4.9. táblázat. A CAN busz műszaki adatai Buszhozzáférési eljárás Adatátviteli sebesség Topológia Telegramszerkezet Buszhossz Buszrésztvevők száma Átviteli mód Átviteli közeg Átviteli hibavédelem
CSMA/CA 5 Kbps...1 Mbps busz Azonosító, vezérlőkód, Data Unit, hibaellenőrző kód, végkód 40 m (átlagos, kábeltől és átviteli sebességtől függ) 30 (a kiviteltől függ) ISO 11898 szerinti (NRZ) árnyékolt vagy árnyékolatlan sodrott érpár CRC
A CAN nem résztvevő-orientáltan (azaz címekkel), hanem üzenetorientáltan működik, vagyis az előállító/felhasználó típusú buszok csoportjába tartozik. Ha egy résztvevő adatokat akar küldeni, összeállítja és azonosítóval látja el a telegramot. Az azonosító csak egyszer létezik, ezért ha egy résztvevő felismeri azt a buszon, egyértelműen tudja, hogy mely adatok következnek. Így a busz minden résztvevője az azonosító alapján el tudja dönteni, hogy akarja-e venni az üzenetet, függetlenül attól, hogy ki küldi. CAN rendszerben tehát az adatok az azonosító révén tartalom szerinti címzéssel jutnak el a megfelelő vevőhöz. Minden vevőnek kellő „intelligenciával” kell rendelkeznie az adatok azonosításához. A CAN rendszerben az információ kódolása NRZ (Non Return to Zero) módszerű, tehát az egymás után következő 1-es bitértékek között a feszültségszint nem esik vissza nullára. Ennek előnye, hogy egy bit átviteléhez egy bitidő szükséges, viszont a bitszinkronizáció nehézkesebb, mint a minden bit átvitelénél átmenetet biztosító kódok esetén. Üzenetorientáltsága és a hozzáférési eljárás következtében a CAN különösen hasznos eseményvezérelt alkalmazásokban. A CAN 2.0.B szabvány szerinti üzenetkeretei: − normál üzenetkeret (4.71a ábra); − kibővített üzenetkeret (4.71b ábra); − kéréses üzenetkeret (4.71c ábra); − hibaüzenetkeret (4.71d ábra); − túlterheltség-üzenetkeret (4.71e ábra).
179
4.71. ábra. Üzenetkeretek bitfunkciói a CAN rendszerben
180 4.6.3.1. A CAN üzenetkeretek bit- és bájtfunkciói
A CAN üzenetkeretek bitmezőinek felosztása: SOF (1 bit), arbitrációs mező (12 vagy 32 bit), ellenőrző mező (6 bit), adatmező (0…8 bájt), CRC-mező (16 bit), nyugtázómező (2 bit), EOF mező (7 bit). START-bit (SOF, Start of Frame) A START-bit szerepe egyrészt a CAN résztvevők saját órajeleinek szinkronizálása, másrészt az üzenet indítása az első domináns (0) bit révén. A buszvonal alaphelyzetben magas (1) szinten van és amennyiben valamelyik résztvevő használni kívánja, azzal kezdi az adást, hogy a vonalat alacsony, azaz 0 szintre húzza. Ez a feszültségszint-változás (1 → 0 átmenet) azt eredményezi, hogy a többi résztvevő saját órajelét szinkronizálja az éppen adó egységéhez. Erre szükség van, mert az átviteli sebességhez szükséges órajelet minden résztvevő saját kvarcoszcillátora állítja elő, így ezeket szinkronizálni kell. Ahány jelátmenet van az üzenetben, annyiszor történik meg a résztvevők órajelének szinkronizálása. A mindenkori adó által a buszvonalra ültetett üzenet (bitfolyam) leolvasásához alapkövetelmény, hogy a vevő a saját órajeléből pontosan akkor képezze az olvasóimpulzust, amikor az egységnyi bitérték a bemenetén megjelenik (4.72. ábra).
4.72. ábra. NRZ kód mintavételezése A szinkronizálást a CAN-csip BTL (Bus Timing Logic) időzítőlogikája végzi úgy, hogy akár egyetlen bitidőn belül képes az olvasási idő beállítására. Az ún. kemény szinkronizálás a START-bit lefutóélére indul és üzenetolvasás közben is folyamatos utószinkronizálás történik, figyelemmel a vevőket összeköthető kábel jelterjedési idejére. Az NRZ-kód az egymás utáni azonos bitek esetén nem nyújt jelátmenetet, ezért a szinkronizálás biztosítására vezették be a bitbeültetési szabályt. A START-bit feladata a domináns bit előállítása. Ha a buszvonal szintje 1-es (recesszív), akkor mindig átírható 0-ra, de fordítva nem. Ennek az elvnek a felhasználásával valósíthatók meg a különféle jelzések (pl. adásigény, átviteli hiba) a rendszerben, hiszen elég a buszvonalat bármikor egy vagy több ütemnyi időre átírni 0-ra. Az átírást fizikailag a buszvonalat recesszív szinten tartó ellenállásosztóra kapcsolódó tranzisztorok végzik (4.73. ábra).
181
4.73. ábra. A buszvonal áramköri kialakítása ARBITRATION (döntési) bitmező CAN rendszerben a buszhasználat jogosultságának eldöntésére és az adatok azonosítására szolgál a START-bitet követő arbitrációs bitmező. E mezőben található 11 + 1 bit (CAN 2.0.A) vagy 11 + 2 + 18 + 1 (CAN 2.0.B). Mindenkori 2-es számrendszerbeni értéke dönti el a buszhozzáférést úgy, hogy minél kisebb ez a számérték, annál nagyobb a buszhozzáférési prioritás. A tényleges arbitrációs bitek száma CAN 2.0. A esetén 11, CAN 2.0.B esetén 29. A CAN rendszerben nincsenek elsőbbséget élvező résztvevők, hanem az üzenetek tartalma között van prioritás, így mindig a magasabb prioritású üzenet kerül a vonalra. Mivel a domináns jel a 0, ezért a legmagasabb üzenet arbitrációs bitsorozatának számszerű értéke lesz a legkisebb a 2-es számrendszerben. Így az ilyen üzenetet adó résztvevő fogja alacsony szintre húzni a buszvonalat. Ehhez az üzenethez rendelt arbitrációs mező ugyanis a többi buszhozzáférést biztosító kezdeményezővel összehasonlítva a legtöbb domináns bitet tartalmazza a legmagasabb helyiértékeken. Az üzenetek prioritási sorrendjét a rendszertervezőnek kell meghatároznia és ennek megfelelően programoznia. Egy újabb állomás rendszerbe iktatásánál a prioritási sorrendet át kell programozni, kivéve amikor ez adja a legalacsonyabb prioritású üzenetet vagy csak vevőként fog üzemelni. Az üzenetek fontossági sorrendjének összeállítását és az arbitrációs kód meghatározását mutatja a 4.10. táblázat egy autóipari példán [25]. Arbitrációs bitek sorszáma Mérőhelyüzenetek fontossági sorrendje 1. Motor 2. Hajtáslánc 3. Fékrendszer 4. Hűtés 5. Világítás 6. Ajtók 7. Szélvédőmosás/törlés 8. Műszerfal
4.10. táblázat. Arbitrációs mező prioritásának meghatározása 11 10 9 8 7 6 5 4 3 2 1
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
X X X X X X X X
X X X X X X X X
X X X X X X X X
X X X X X X X X
X X X X X X X X
X X X X X X X X
X X X X X X X X
X X X X X X X X
A táblázat bitkiosztása szerint a magasabb helyiértékű (itt sorszámú) bitek közül minél több domináns, annál fontosabb az üzenet, így annál magasabb prioritást élvez. Az X tetsző-
182 leges bitértékre utal. A többi buszvonalat használni igyekvő adó is folyamatosan összehasonlítja a busz pillanatnyi feszültségszintjét és a saját adását. Az első ötbitnyi időben mindhárom állomás ad jelet a vonalra. Amint valamelyik azt érzékeli, hogy az általa kiadott arbitrációs kód alacsonyabb prioritású, mint a buszon még adásjogért versenyzők bármelyikének kódja (azaz 1-est igyekezett a vonalra felvinni és mégis 0-át érzékel), akkor visszalép és a továbbiakban már csak mint vevő figyel, hátha neki (is) szól az üzenet. Az ütközést elkerülő (CSMA/CA) buszhozzáférési eljárás biztosítja azt az alapfeltételt, hogy csak egyetlen üzenet lehet egy időben a buszvonalon. A buszhozzáférési jogosultság eldöntésének folyamatát három adni kívánó állomás esetében a 4.74. ábra szemlélteti.
4.74. ábra. Ütköztetés szemléltetése a CAN-buszon A 4.74. ábrán megfigyelhető, hogy a különböző arbitrációs kódok esetén a legmagasabb prioritású üzenet (3. állomás) jelenik meg a buszvonalon. Az ábra szemléletesen mutatja, hogy a busz recesszív bitje mindig átírható dominánsra, de fordítva ez nem lehet. Elsőként a 2. állomás vált át adásról vételre az 5. bitidőben, majd az 1. a 2. bit idején. A vevők minden üzenetet vesznek, de csak a beérkezett üzenet nyugtázása után kezdik megvizsgálni, hogy nekik szól-e az üzenet az arbitrációs mező alapján. Ehhez a vevőknek kell rendelkezniük az ehhez a döntéshez szükséges „intelligenciával”, amit úgy érnek el, hogy az egyes vevők memóriájába a rendszertervező beprogramozza azon üzenetek vagy üzenetcsoportok kódját, amelyet a vevőnek el kell fogadnia. Így a címzés indirekt formájú. Egyetlen esetben történhetne sínkonfliktus két, a buszt használni igyekvő résztvevő között, ha mindketten ugyanazt az arbitrációs bitsorozatot ültetik a vonalra. Ez a határeset azért fordulhat elő, mert a rendszerben nem csak adatokat lehet egy üzenetben küldeni, hanem adatkérést (Remote Frame) is végre lehet hajtani. Az adatkérő üzenetkeret (4.71c ábra) bitfunkcióiból kiderül, hogy az adatmező hiányzik, hiszen adatkérésről van szó. Ha az egyik résztvevő éppen megkezdi azon adatok adását, amelyet egy másik résztvevő egyidejűleg kér, akkor az arbitrációs mezők azonossága miatt nem dönthető el, hogy ki jogosult a busz használatára. A döntést az arbitrációs mezőt lezáró RTR-bit (Remote Transmission Request, adatátviteli kérelem) hozza meg, hiszen adás esetén ez domináns (0), míg a kérelem esetén recesszív (1) értékű. Tehát az adatküldőé lesz a buszhasználati jog, így sínkonfliktus nem lép fel. A CAN 2.0.A rendszer normál üzenetkeretének (4.71a ábra) 11 arbitrációs bitje összesen 2048 azonosítókódot (identifier) tesz lehetővé, de ebből csak 2032 realizálható, tehát enynyiféle üzenet kapcsolódhat a buszvonalra. Nagyobb rendszer kialakítását biztosítja a CAN 2.0.B szabvány üzenetkerete, amelynél az arbitrációs bitek száma 29, ami elvileg 536 870 912 különféle üzenet továbbítását biztosítja. Ilyen nagyszámú üzenet esetén fennáll annak a veszélye, hogy az alacsony prioritásúak csak igen ritkán (szélső esetben sohasem) kapnának buszhasználati jogot, ami a rendszert lebéníthatja.
183 A kibővített üzenetkeret az első 11 azonosítóbit után SRR (Substitute Remote Request, adatkéréspótló) bitet tartalmaz, amely a normál üzenetkeret RTR bitjét helyettesíti, de értéke mindig recesszív (1). A következő IDE bit (Identifier Extension, kibővítésazonosító) értéke egyértelműen mutatja, hogy normál (IDE domináns), vagy kibővített (IDE recesszív) üzenetformátumról van szó. A kibővített arbitrációs mező a normál keretben hasonlóan itt is RTR bittel zárul. Az SRR bit jelentősége, hogy segítségével egy közös buszvonalon mindkét üzenetfajta (normál, ill. kibővített) egyidejűleg használható megfelelő hardver- és szoftverfeltételek mellett. Az SRR bit csak akkor írható át dominánsra, ha a buszvonalért versengő használó az első 11 arbitrációs bit alapján a legmagasabb prioritású, ráadásul éppen adatközlő üzenetet akar küldeni. A verseny ebben a pillanatban eldől, hiszen az SSR bit domináns értéket vesz fel és ezzel úgy az alap-, mint a kibővített módot használó további résztvevők kiesnek a buszvonal megszerzéséért folytatott küzdelemből, vagyis erre az üzenetre már csak vevők lehetnek. Amennyiben a fentiek szerint látszatra adásjogot nyert állomás csupán adatkérő üzenetet szeretne küldeni, akkor a buszvonal használatáért folyó verseny még nem dőlt el, mert az SRR bit marad recesszív, a következő IDE bit értéke pedig megmutatja, hogy az arbitrációs mező és ezzel együtt a verseny folytatódik-e a CAN 2.0.B kibővített formátumát használó állomások között. Ha a kibővített formátumot használó résztvevő versenyben maradt, mert első 11 azonosítóbitje megegyezett a normál rendszerbeli versenytársáéval, még mindig nem biztos, hogy az adásjogot is megszerezte. Csak akkor nyeri el a buszhasználati jogot, ha adatokat akar küldeni (RTR domináns), de ha adatkérést kísérel meg (RTR recesszív), akkor az alaprendszer adatkérése a győztes. A leírtakból kiderül, hogy a kettős üzemmódban mindig az alapváltozat (CAN 2.0.A) üzenetei élveznek feltétlen prioritást a bővített változattal szemben. CONTROL (ellenőrző) bitmező A CONTROL bitmezőben elhelyezkedő 6 bit tartalmazza a rendszerkódot, valamint azt az összegkódot, amelyet az üzenetben soron következő adatmezőben található adatbájtok képeznek. Mivel a CAN rendszerben 0-8 bájt között változhat az adatmező kitöltöttsége, ezért az adathossz előzetes megadására 4 bit elegendő. A maradék 2 bit közül az első (IDE) domináns 0 értéke azt tudatja a résztvevőkkel, hogy a CAN 2.0.A rendszerben használt 11 bites arbitrációs formáról van szó, míg ennek recesszív értéke (1) a kibővített 29 bites CAN 2.0.B rendszer üzenetére utal. A második bit (r0) fenntartott (rezervált) bit, amely a továbbfejlesztéseknél jelentősek, értékük domináns, azaz 0. A CONTROL-mező a hibafelismerésben is fontos szerepet játszik, hiszen közli a vevővel, hogy hány bájtot tartalmaz az üzenet. Ha a vett üzenet adatbájtszáma eltér a CONTROL-mezőben megadott értéktől, akkor az átvitel közben hiba történt. DATA (adat-) bitmező Az üzenet következő mezeje az adatmező. Ebben bájtokban össszefogott adatbitek találhatók úgy, hogy a bájtok száma 0-tól 8-ig rugalmasan változhat. A változó hosszúságú adatmező az egész üzenet hosszát is megváltoztatja, hiszen az adatkérés 0 adatbájtot tartalmaz, így az ilyen üzenet lényegesen (éppen 64 bitidővel) rövidebb, mint a teljes, 8 adatbájtot kihasználó adattovábbítás. Az üzenetek átviteléhez szükséges idő változik az adatmező hosszának függvényében. CRC (hibafelfedő) bitmező A következő 15 + 1 bitet tartalmazó mező a ciklikus redundancia vizsgálatához szükséges kódot (CRC) tartalmazza. A CRC-kód képzéséről a 4.1.6.4. szakaszban volt szó. A CAN rendszerben alkalmazott CRC segítségével H = 6 Hamming távolság érhető el. Számítások szerint a maradék hiba valószínűsége hv = 2-15, azaz ~3·10-5. Gyakorlatilag ez azt
184 jelenti, hogy átlagos átviteli sebesség és üzenethossz esetén egy gépjármű teljes üzemi élettartama alatt az adott hibavalószínűség mellett kb. 300 a fel nem ismert hibás üzenetek száma, holott ennyi idő alatt megközelíthetőleg 10 000 000 üzenet átvitelére kerül sor. CAN-busz esetén a hibavizsgálat a következő: az adó a buszra kijuttatott üzenetből, míg a vevők a kapott üzenetből szigorúan azonos szabályok alapján 15 bitből álló CRC-kódot képeznek. Amennyiben a küldött és a vett értékekből számított CRC-kód megegyezik, a vétel hibátlan volt, ha nem, akkor hibajelzést kell generálni. ACKNOWLEDGEMENT (nyugtázó) bitmező A nyugtázómező 1 + 1 bitből áll és arra szolgál, hogy a vett üzenet hibás vagy hibátlan voltát visszajelezze az üzenetet küldőnek. A két, eredetileg recesszív bit közül jelzőfunkciója csak az elsőnek van. Mivel az adó által kiküldött üzenetet minden vevő figyeli és ha bármelyik hibátlannak találja, akkor ezt az első (ACK, Slot) bitet 1-es értékről átírja 0-ra, azaz dominánsra. Így az adó figyeli saját adását, azonnal észleli, hogy legalább egy vevő hibátlannak itélte az adott üzenetet. Hibás üzenet esetén a vevő recesszív állapotban hagyja az ACK, Slot bitet, amiről az adó felismeri, hogy egyetlen vevőhöz sem jutott el kifogástalan üzenet, így azt meg kell ismételni. A második bit mindig recesszív és csupán a nyugtázómező végét jelzi. EOF (End of Frame, keret üzenet/vége) bitmező A CAN rendszerbeli üzenet keretformátuma egy üzenet vége mezővel záródik, ami 7 recesszív bitet (1) tartalmaz. Erről ismeri fel a vevő, hogy az üzenet véget ért. A következő üzenet megkezdéséig az előző üzenetet vevő egységeknek egy megadott idő szükséges a feldolgozáshoz, de legalábbis az adatok eltárolásához. A minimálisan szükséges idő három bitidő, amit egy közbenső (Interframe Space) mező biztosít. A következő üzenet kezdetéig lényegesen több idő is eltelhet, hiszen ez a mindenkori résztvevők üzenetküldési aktivitásától függ. Az EOF-mezőben a bitbeültetési szabályt nem érvényesítik. A bitbeültetési szabály az egymást követő, azonos értékű bitek maximált számával függ össze. A CAN rendszer tervezői kikötötték, hogy egy adatkérő vagy adatküldő üzenetben a START-bit és a CRC-mező vége közötti bitsorozatban egymás után legfeljebb öt azonos bitérték fordulhat elő. Ez az igény elsősorban azért fogalmazódott meg, mert az NRZ bitkódolás miatt az egymás után következő azonos bitértékek esetén nincs meredek feszültségváltozás, ezért nincs a bitátvitel közben szinkronizálás, így előbb-utóbb hiba léphet fel az üzenet beolvasásakor a vevőnek az adóhoz viszonyított órajel elcsúszása miatt. A bitbeültetési szabály alapján, ha az üzenet öt egymást követő recesszív (1), vagy domináns (0) bitet tartalmaz függetlenül attól, hogy folytatásként milyen bit következne, az adó egy ellentétes bitértéket iktat be. Ezt a beiktatott bitet a vevők értékeléskor kidobják a bitsorozatból, de erről a beiktatott bitről tudják, hogy a két üzenetfajta (adatközlő vagy adatkérő) valamelyike van a buszvonalon. A bitbeültetési szabály fennhatósága a két eddigi üzenetfajtánál a START-bittől kezdődően a CRC-mező záróbitjéig terjed. 4.6.3.2. CAN-üzenetek
ERROR (hiba-) üzenet
A hibaüzenet (4.71d ábra) az egész rendszer működésére hat. Amennyiben legalább egy vevő „menetközben” felismeri a továbbított üzenet hibás voltát, akkor leadja a hibaüzenetet. Az üzenet hibajelzéssel kezdődik (Error Flag), ami hat domináns bit buszra jutását jelenti. Minden vevő azonnal felismeri, hogy az ún. „bitbeültetési” szabály sérült, hiszen legfeljebb öt azonos bit követheti egymást a szigorú előírások szerint.
185 Amennyiben más vevők is „egyetértenek” a hibajelzéssel, akkor beültetnek még egy hibajelzést az üzenetbe, ezért a hibaüzenet minimum hat és maximum 12 domináns bitet tartalmazhat, majd nyolc recesszív bittel zárul. Ez a hibaüzenet vége, ami szintén kivétel a bitbeültetési szabály alól. A hibajelzés (6-12 domináns bit) megjelenésekor az üzenetet minden vevő automatikusan elveti, azaz érvénytelen üzenetként kezeli. Célszerű megjegyezni, hogy az üzenetet adó is küldhet hibaüzenetet, hiszen az adás alatt saját kiadott bitsorozatát is folyamatosan hasonlítja össze a buszon lévővel (monitoring üzem), és eltérés esetén azonnal hibaüzenetet küld. OVERLOAD (túlterheltség-) üzenet Ez az üzenet (4.71e ábra) összesen két bitmezőből áll: a túlterheltség-jelző és az üzenet vége bitsorozatból. Ilyen üzenet két esetben jelenhet meg a buszon, ha valamelyik vevő feldolgozóprocesszora még egy kis időt „kér” a korábban kapott adatok kezeléséhez, vagyis nincs még kész új üzenet vételére, vagy ha az üzenetkeretek közötti szünetidőt (Interframe Space) biztosító három recesszív bit valamelyike helyett domináns bitet észlel. A túlterheltség-üzenet a következő üzenet buszra helyezését gátolja. A túlterheltséget jelző üzenet a hibajelzéshez hasonlóan hat domináns bitet juttat a buszra, majd ezt az üzenetet is nyolc recesszív bit zárja. A túlterheltség-üzenetet az Interframe Space első recesszív bitjének átírásával kezdi az egyik résztvevő, mire a többi, érzékelve a szünetidőben fellépő domináns bitet, leadja saját túlterheltség-üzenetét is, ami így összesen hét domináns bitre növekszik, majd az üzenet végét jelző nyolc recesszív bit jelenik meg, amelyekre nem érvényes a bitbeültetési szabály. A túlterheltség-üzenet domináns bitjei nem írják át az üzenet maradék részét, így nem is teszik azt használhatatlanná, hiszen a túlterheltségjelzés csak az üzenetek között fenntartott „pihenési” időben indítható. A CAN rendszer kiváló hibafelismerő képességgel rendelkezik, jóllehet olyan alkalmazásokra szánták, ahol rendkívül magas zavarszintek is előfordulnak. Tételezzük fel, hogy a CAN-buszon 500 Kbit/s a bitátviteli sebesség. Olyan a környezet (rendkívül erősen zavart), hogy 0,7 másodpercként fellép egyedi bithiba. Amennyiben a rendszer napi nyolc órát „dolgozna” és mindezt évente 365 napon keresztül tenné, akkor kereken 1000 évig tartó üzemidő alatt léphetne fel egyetlen olyan hiba, amit a rendszer nem ismerne fel. A hibakezelés megoldása olyan, hogy a hibás üzenetek nem vezethetnek hamisításhoz, hiszen nem is kerülnek feldolgozásra [25]. 4.6.3.3. Hibák felismerése a CAN rendszerben
Bithiba felismerése A bithiba felismerési hatóköre a Start-bitre, majd a Control-mező kezdőbitjétől a CRC-mező záróbitjéig terjed ki. Az arbitrációs mező azért kivétel, mert itt éppen a felismert bithiba „tudatja” az adni szándékozóval, hogy magasabb prioritású üzenet kerül a buszra, mint az övé, de ezért nem kell hibaüzenetet leadni. A rendszer működésekor az összes résztvevő figyeli a buszon lévő adást, még az éppen üzenetet adó is, tehát azonnal felismeri, ha az általa adni kívánt bitérték helyett annak ellenkezője jelenik meg. Ekkor megszakítja adását és végrehajtja a szükséges hibakezelő rutint. Bitbeültetési hiba felismerése Amennyiben bármelyik résztvevő ezen szabály sérülését észleli, azonnal tudja, hogy adatátviteli hiba történt, tehát a felismerés pillanatában hibakezelő rutinra vált.
186 CRC-hiba felismerése A CRC-hiba felismerési hatóköre a Start-bittől az adatmező záróbitjéig tart. Amennyiben a CRC-mezőben elküldött ellenőrző összeg és az üzenetvevő által számított vizsgálóösszeg nem egyezik, a vevő hibakezelő rutinra vált. ACK-hiba felismerése Amikor az üzenetadó azt tapasztalja, hogy a recesszív bitként küldött ACK-Slot bitet egyetlen vevő sem írta át dominánsra, vagyis minden vevő hibásnak ítélte, akkor átvált a hibakezelő rutinra. Formai hiba felismerése A rendszerben küldhető üzenetek szigorú formai előírásoknak tesznek eleget. Így például a CRC- és az ACK-mezők záróbitje és bármelyik üzenet végét jelző mező bitsorozata mindig recesszív. Ha akár csak egyetlen domináns bit is észlelhető, az egyértelműen átviteli hibát jelez. A formai hiba felismerése a hibakezelő rutint kiváltja. Amennyiben a hibaüzenet egyetlen vevő részéről folyamatosan ismétlődik, ami automatikusan kiváltja az adó állandó üzenetismétlését is (a szabályok szerint a hibaüzenet megjelenése után 31 bitidővel később), akkor ez a vevő statisztikai elemzés alapján saját hibaüzenetét letiltja (error passive), mert meghibásodása valószínűsíthető, de a helyesnek ítélt üzeneteket továbbra is visszaigazolja, vagyis a rendszer többi eleme normálisan működhet tovább. Amennyiben a meghibásodás súlyosabb, akkor a sérült állomás képes önmagát lekapcsolni a buszról és teljes passzivitásra (bus passive) váltani. 4.6.3.4. Működési kritériumok, alkalmazási megfontolások
A CAN-szabvány kétféle sebességű változata terjedt el: − kis sebességű CAN rendszer 5…125 Kbps; − nagy sebességű CAN rendszer 0,5…1 Mbps. Az első CAN integrált áramkört (AN 82526) az Intel cég fejlesztette ki. A CAN integrált áramkörök funkció szerint két csoportra oszthatók, CAN controller-ek és CAN transceiver-ek. A CAN controller a CAN protokollal kapcsolatos műveleteket végzi a beérkező és a kiküldött adatokon. A CAN transceiver a controller adatait alakítja a buszhoz és viszont. A CAN controller az alábbi feladatokat látja el. Adatküldés A mikrovezérlőktől kapott adatbájtok, arbitrációs mező, kontrollmező és az RTR bit mint elengedhetetlenül szükséges alapadatok ismeretében megtörténik a CRC-mező adatainak kiszámítása, az üzenet keretformába rendezése, a buszvonal „megszerzése”, az adatok elküldése, a monitoringüzem ellátása és a hibák kezelése és szükség esetén az üzenet ismétlése stb. Üzenetvétel Üzenetvételnél a következő müveletek hajtódnak végre: a szinkronizálási folyamat fenntartása, az akceptanciavizsgálat (BasicCAN vagy FullCAN változattól függően a mikrovezérlőt jobban vagy kevésbé terhelve) elvégzése, a kontrollvizsgálat lefolytatása, a CRC-vizsgálat és ellenőrzés elvégzése, a vett adatok továbbítása a mikrovezérlőhöz stb. A kétvezetékes CAN-busz egy CAN H és CAN L vezetékből áll. A két vezeték rendszerint bifiláris, azaz ellensodrott árnyékolatlan vagy árnyékolt kivitelű. A CAN-jelek zavarvédettségét az ellenfázisú jelek, a bifiláris kábelezés növeli. A CAN IC vevő bemenete diffe-
187 renciálerősítős kialakítású, tehát működtetéséhez szimmetrikus (ellenfázisú) jelet igényel. A CAN H és CAN L vezetékek feszültségviszonyait a 4.75. ábra szemlélteti.
4.75. ábra. CAN buszvonal feszültségszintjei A CAN H és CAN L buszvonalak közötti feszültségkülönbség értéke: − recesszív (1) bit átvitelekor 0V (max. 0,5 V), mivel mindkét vonal 2,5 V-on van, − domináns (0) bit átvitelekor 2 V (min. 0,9), mivel a H vonal 3,5 V, az L vonal 1,5 Von van. A leírtak alapján a CAN transceiver feladatai: − vételkor a buszvonalakon érkező üzenetbiteket kell áttennie a controller által értelmezhető TTL szintre (0…+ 5 V), − adáskor a controller TTL szintű kimenőjeleit kell átalakítani a 4.75. ábra szerinti CAN H és CAN L szintekre. Ezt szemlélteti a 4.76. ábra, ahol d a domináns, r a recesszív bitre utal.
4.76. ábra. CAN transceiver funkciója A vonali feszültségértékek tipikusak, de nem kötelezően előírtak. Például a 24 V-os táplálású haszonjárműveknél magas jelszintű transceiver-eket alkalmaznak, amelyeknél a vonalak közötti feszültségkülönbség az 1-es szint esetén 9 V, míg a 0 bitérték esetén 24 V. A magas jelszintű kialakítás alacsonyabb bitsebességet tesz lehetővé a jelfelfutás okozta elektromágneses zajok miatt, ugyanakkor nagyobb zajvédettséget biztosít. A transceiver-ek döntő többsége akkor is működőképes marad, ha egy másik egység kimenete vagy akár saját vonalmeghajtó tranzisztorainak valamelyike zárlatossá válik. A CAN-szabvány igen szigorú előírásokat tartalmaz a buszkábelre. A maximális kábelhossz megadásánál nagyon fontos a jelterjedési idő. Az adó által kiadott domináns és recesszív bit a jelterjedési időt figyelembe véve különböző késéssel érkezik az egyes alállomásokhoz. Fontos, hogy az így kialakuló legnagyobb időkésés nem érheti el a mindenkori bitidő felét, hiszen az üzenet visszaigazolása ugyanazzal az időkéséssel jelenik meg a vevőtől az adóhoz. A
188 CAN-hálózat kialakításánál a buszvonalhossz mellett a leágazáshossz is fontos. A leágazások reflexiós pontok, amelyek további csillapításokat és jelterjedési időnövekedést okoznak. Ezért a leágazókábelek hosszúságát is maximálják (4.77. ábra). Például 2 Kbps adatátviteli sebesség mellett a leágazókábelek egyenkénti hossza legfeljebb 2 m lehet, de ennél nagyobb sebességeknél már csak 0,3 m. A leágazások teljes hossza egyik esetben sem haladhatja meg a 30 métert [25].
4.77. ábra. Leágazásos állomáscsatlakoztatás CAN-busz esetén A CAN-processzorok közül a Microchip MCP 2510 CAN vezérlő felépítését mutatjuk be vázlatosan. Az áramkör blokkvázlata a 4.78. ábra szerinti [13]. Az eszköz fő részei: a CAN protokollvezérlő (protocol engine), a vezérlőrész és az SPI protokoll-interfészblokk.
4.78. ábra. MCP 2510 CAN vezérlő vázlata A CAN protokollvezérlő kezeli a CAN-busz hozzáférési folyamatát, valamint az üzenetek vételét és adását. Ennek a része a CSMA/CA típusú buszhozzáférés-vezérlőlogika. A vezérlőegység főként a megszakításkezelést biztosítja, míg az SPI interfész (soros perifériaillesztő) révén tart kapcsolatot a külvilággal. Több mikrovezérlőből álló CAN rendszer látható a 4.79. ábrán [13].
189
4.79. ábra. MCP 2510 CAN rendszer felépítése Az ábrából kitűnik, hogy a CAN-busz főként mikrovezérlővel kombinált egységeket képes kezelni. A jövőben a CAN-busz nagy mérvű elterjedése várható. Erre utal a CANprotokolltól eltérő, 1995-ben elfogadott CAN-open szabvány.
4.7. Rb-s terek hálózatai A robbanásveszélyes (Rb-s vagy Ex-es) környezetben a villamos berendezések csak különleges védettség mellett üzemeltethetők. Az Rb-s terek műszerezése speciális ismereteket és eszközöket igényel. A megfelelő robbanás elleni védelmet különleges szerkezeti megoldással (pl. túlnyomásos szellőzés, túlnyomás alatti védelem, nyomásálló tokozás, stb.), másrészt gyújtószikramentes védelemmel oldják meg. A gyújtószikramentes védelem alkalmazása védi az áramkört a robbanást előidéző energia keletkezésével szemben. A villamos áramkör akkor gyújtószikramentes, ha a környezetében lévő robbanásképes elegy gyújtását sem normál, sem üzemzavari állapotban az áramkörből származó kisüléssel (szikraképződés), vagy az áramkör elemeinek melegedésével előidézni nem tudja. Az irányítástechnika, méréstechnika területén a leggyakrabban a Zener-gátas védelmet használják, amely biztosítja, hogy az áramkörben az energiaszint üzemszerűen mindig a gyújtószikramentes határ alatt maradjon. Javítható a védelem a tápegység galvanikus leválasztásával. A gyújtószikramentes védelem követelményeinek a villamos készülékek vezetékezésének is meg kell felelni. Ezért is jelentősek az Rb-s terek terepi buszai. A hálózaton megengedett teljesítmény függ a terepi eszközöktől és a kábelezéstől. A FISCO (Fieldbus Intrinsically Safe Concept) a következő határadatokat adja meg: − a II. B. csoportra
Uo = 15 V-nál,
Io < 280 mA;
− a II. C. csoportra
Uo = 15 V-nál,
Io < 128 mA.
Ezen energiakorlát miatt egy-egy buszszegmensre 4…8 (max. 10) résztvevő (érzékelő/beavatkozó) csatlakozhat. Emiatt a redundáns rendszer kialakítása nehézkes.
190 Kifejlesztették a robbanásveszélyes térben alkalmazható Remote I/O egységeket, amelyek az Rb-s buszra csatlakoznak és az Rb-s térben működhetnek. Ily módon max. 128 eszköz csatlakoztatható (pl. TURK Excom). Rb-s terek esetén a következő terepi buszok használatosak: a PROFIBUS PA, speciális terepi buszok és a FOUNDATION FIELDBUS. A Siemens PCS 7 rendszer alkalmazását mutatja a 4.80. ábra Rb-s terekben. A rendszer hagyományos, ill. a PROFIBUS PA buszra alapozott megoldást, sőt Rb-s terekben használható operátorpanelt is tartalmaz.
4.80. ábra. Rb-s terek műszerezése PROFIBUS PA hálózattal A Foundation Fieldbus H1 a gyújtószikramentességet is támogatja. Ilyenkor egy szikragátat kell elhelyezni a biztonságos területen lévő tápegység és a veszélyzónában lévő gyújrószikramentes eszközök közé. A jelforrás ± 10 mA-es áramlökésjelet ad 31,25 kbit/s sebességen, 50 ohm-os terhelőlezárásra, ami csúcstól csúcsig 1 V-nak felel meg a fogadónál. Rb-s területeken alkalmazható a Sensoplex rendszer, ami a TURK cég saját buszrendszere, amelyet az autóiparral együttműködve fejlesztettek ki főként hegesztő robotrendszerek számára. A Sensoplex 2 rendszert ajánlják az Rb-s területek számára. Az állomásokat (bus-stop) kiegészítő biztonsági intézkedések nélkül lehet felszerelni a veszélyeztetett külső területeken. Áramellátásra és kommunikációra koaxiális kábel szolgál. Ily módon maximálisan 256 érzékelő és beavatkozó érhető el 5 ms-os ciklusidővel a masterállomásról. A Sensoplex rendszer PLC-hez illesztése a megfelelő master-stationon keresztül történik a 4.81. ábra szerint.
191
4.81. ábra. TURK master-station csatlakoztatása PLC-hez, ill. a be/ki modulokhoz Néhány PLC, amelyekhez rendelkezésre áll a megfelelő master-station: Siemens, Allen Bradley, Klöckner-Moeller, GEC, MODICON, PROFIBUS DP, Device NET. Foundation Fieldbus rendszer konfigurációt szemléltet a 4.82. ábra TURK bus-station elemekkel [24].
4.82. ábra. Foundation Fieldbus rendszerkonfiguráció TURK-elemekkel A rendszer elemei: 4 port FF Hub, 6 port FF Hub, 1 méteres kábel a vezérlőtől a Hubhoz, 1 méteres kábel a Hub-ok között, véglezáró ellenállás. Sensoplex 2 rendszer kialakítása látható a 4.83. ábrán Rb-s térbeni hálózathoz.
192 A rendszer elemei: DeviceNet és Sensoplex 2 közötti átjáró (gateway), Sensoplex 2 gyújtószikramentes egység, 8 bemenetű gyújtószikramentes bemeneti egység, 8 bemenetű gyújtószikramentes kimeneti egység, gyújtószikramentes lezáróegység.
4.83. ábra. DeviceNet Sensoplex elemekkel kialakított hálózat Rb-s terek műszerezéséhez
193 Irodalomjegyzék [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25]
Madarász L.: Az ASI egy kétvezetékes, aktuátorszenzor BUSZ rendszer (1-4 rész). ELEKTROnet, 1996/6...1997/1. Kőműves G.: Az ASI busz technológiája. ELEKTROnet, 1998/5. COBRA CONTROL Kft.: Számítógépes ipari mérés és vezérlés a FieldPointTM rendszerrel. ELEKTROnet, 1998/4. Darvas I.: Épületinstalláció Siemens instabus EIB-rendszerrel. ELEKTROnet, 1996/3. Ian G. Warnock: Programmable Controllers Operation and Application. Prentice Hall International, 1988. K. Clements, J. W. Jeffcoat: The PLC Workbook. Newness, 1996. Demmel L., Molnár T., Török B., Vágvölgyi G.: Programozható logikájú vezérlések. Budapest, Mérnöktovábbképző Intézet, 1989. KLÖCKNER MOELLER: Automatizálási rendszerek hálózatba kapcsolása. Budapest, 1996. Ivanyos L.: Lokális hálózatok a folyamatirányításban. ELEKTROnet, 1995/1. Telkes Z.: Az irányítások generációs tulajdonságai (3. rész). ELEKTROnet, 1997/1. Dányi D.: Hálózati szabályozás. Mérés és automatika, 1989/4. J. Martin, K. Chapman: Lokális hálózatok. Budapest, Novotrade Kiadó, 1992. MICROCHIP: MCP 2510 Data Sheet, 1999. SIEMENS: S7 PLC Data Book, 1996. SAIA: Process Control Devices PCD2 Series, 1993. OMRON: CPM PLC Felhasználói kézikönyv, 1999. PHOENIX CONTACT Catalog, 1997. J. Weigmann, G. Kilian: Decentralization with PROFIBUS-DP. SIEMENS, 2000. Füle S.: Foundation Fieldbus. Magyar Elektronika, 1998/12. Nagy Á.: Terepi buszok kialakulása és alkalmazása. Magyar Elektronika, 1999/1-2. Bakos S., Kuklis Z.: A hálózati modellek új nemzedéke. Magyar Elektronika, 1999/1-2. Székely K.: Interbus S - a nyitott buszrendszer. Magyar Elektronika, 1999/11. J. Labrosse: Embedded System Building Blocks. McGraw-Hill Companies, 1992. TURK katalógus, 1995. Csúri Gy.: Intelligens, decentralizált adatkommunikációs rendszer alkalmazása gépjárművekben. Autószaki füzetek (Elektronika).
194
5. ÚJABB HARDVER- ÉS SZOFTVERMEGOLDÁSOK A mai programozható vezérlők a CPU-n, a memóriákon és a kétállapotú be/kimeneteken kívül számos további hardver- és szoftverelemet tartalmaznak, amivel összetettebb feladatokat oldanak meg. A PLC-k moduláris és kompakt kivitelben készülnek. A moduláris felépítésű vezérlőkben az azonos funkciójú hardvereket egy-egy cserélhető kártyán helyezik el és ezeket a hátlapon levő párhuzamos buszrendszerre csatlakoztatják (5.1. ábra). A be/kivezetékek csatlakoztatása rendszerint a homloklapon történik. Valamennyi moduláris PLC tartalmaz központi feldolgozó- (CPU-) modult, digitális bemeneti, digitális kimeneti modult, kommunikációs modult és tápegységet. A kompakt PLC-k ezeket a hardvereket rendszerint egy lapra szerelten, nehezen cserélhető módon tartalmazzák.
5.1. ábra. Moduláris (rack) rendszerű PLC felépítése
5.1. Analóg be/kimenetek kezelése Az analóg jelek feldolgozásán a jel digitalizálását, beolvasását, feldolgozását és analóg jellé történő visszaalakítását értjük. Ma már mindez alapvető elvárás a programozható vezérlőkkel szemben.
195 5.1.1. Analóg bemeneti modulok A fizikai paramétereket mérő távadók szabványos tartományú (pl. 4...20 mA, 0...20 mA, 0...10 V) jelet állítanak elő. Ezen analóg jelek megfelelő előkészítés (erősítés, szűrés) után analóg/digitális átalakítóval (ADC) digitális jelekké (adatokká) alakíthatók. Az ADC-k a jel digitalizálása során kvantálási (felbontási) és mintavételezési műveletet végeznek. Legfontosabb műszaki jellemzőik a felbontás, pontosság, konvertálási idő. A kvantálásra példaként vizsgáljuk meg a 0 és + 10 V közötti jel átalakítását 8, ill. 10 bites felbontású ADC-vel: − 8 bites felbontás esetén: 10 V/256 = 39,1 mV/osztás; − 10 bites felbontás esetén: 10 V/1024 = 9,76 mV/osztás. Az analóg/digitális átalakítás többféle módon végezhető el. Leggyakrabban az ún. kettős integrálású, a sorozatos közelítésű, ill. a párhuzamos működésű ADC-ket alkalmazzák. A kettős integrálású megoldás előnye a nagy zavarvédettség, hátránya a viszonylag hosszú konvertálási idő miatt elérhető alacsony mintavételezési frekvencia (~ 10-20 konverzió/mp). Az utóbbi két típust a rövid konvertálási idő (~ µs), és a magas mintavételezési frekvencia jellemzi. Az ADC-k működhetnek folyamatos, ill. indított üzemmódban. A folyamatos üzemű átalakító ciklikusan, rendszerint valamilyen időalapról vezérelve digitalizálja az analóg jelet. Az indított üzemű ADC a PLC-től kapott indítójel (START) hatására kezdi a konverziót, majd annak befejeztét (READY) visszajelzi. Ekkor a digitalizált érték beolvasható a PLC központi egységébe. Az ADC-k rendszerint analóg multiplexerrel és több analóg csatornával vannak ellátva. Nem szabványos értékű, különböző jeltartományú analóg bemenőjelek esetén szükség lehet a jel erősítésére programozható erősítővel. Az ADC bemenetén az analóg jel mintavételezésének idején gondoskodni kell a jel viszonylagos állandóságáról és szűréséről. Előbbit rendszerint ún. mintavételező-tartó áramkörrel (Sample/Hold, S/H), utóbbit aluláteresztő RC-szűrővel oldják meg. Nyolccsatornás analóg bemeneti modul látható az 5.2. ábrán [12].
5.2. ábra. Nyolccsatornás analóg bemeneti modul Az 5.2. ábra szerinti PLC címtartománya révén két analóg bemeneti modul, azaz 16 csatorna lekezelésére képes az 5.3. ábrán látható írási és olvasási kódokkal [12].
196
5.3. ábra. Analóg bemeneti modul írása (a) és olvasása (b) Az ADC-t kezelő programnak a csatorna címzését, az ADC indítását, majd a konvertálási idő leteltével (BUSY ) a digitalizált érték beolvasását kell tartalmaznia. Az adatokat a program által kijelölt és e célra fenntartott memóriába olvassák be. Az analóg bemeneti modul biztonságos működésének felügyelete, kezelése további szolgáltatásokat igényel, pl. a bemeneti vonalszakadás észlelését, a jeltartományváltás lehetőségét, minimum-maximum érték tárolását és figyelését, határérték-túllépés jelzését stb, amit rendszerint saját mikroszámítógéppel vezérelt analóg modullal oldanak meg. Egy ilyen mikroszámítógéppel vezérelt analóg bemeneti modul blokkvázlatát mutatja az 5.4. ábra [8].
5.4. ábra. Mikroszámítógéppel vezérelt analóg bemeneti modul Az 5.4. ábra szerint a 16 bites ADC kimenete optoleválasztóval kapcsolódik a belső CPU-ra. A modul feszültségellátását DC/DC konverter végzi. Az analóg bemeneti modul és a PLC közötti kommunikáció a két CPU között párhuzamos sínen történik. Az analóg bemeneti modult egyrészt a rendszer beüzemelésekor, másrészt a bekapcsolásakor kell inicializálni. Az ADC hitelesítését, az offset- és erősítésértékek beállítását a modul előlapján levő kezelőszervekkel végzik. A szoftver jellegű inicializálás a megfelelő adatmozgató utasításokkal vagy létradiagrammal történhet.
197 A mikroszámítógépes vezérlésű analóg bemeneti modulokat rendszerint az analóg kimeneti modulokkal építik egybe, így az analóg jelek kezelése során a mikroszámítógép funkciói gazdaságosan kihasználhatók. Az analóg jelfeldolgozás szempontjából a decentralizált megoldás a legelőnyösebb, mert az analóg jel digitalizálása a keletkezés helyén történik, így az analóg jeltovábbítás elmarad. 5.1.2. Analóg kimeneti jelek kezelése Az analóg működésű beavatkozók, regisztrálók működtetéséhez szabványos jeltartományú analóg jelekre van szükség. Ehhez a PLC-ben feldolgozott adatokat analóg jellé kell alakítani digitális/analóg átalakítóval (DAC). A digitális/analóg átalakítók a digitális (rendszerint bináris kódú) információt 4...20 mA, 0...20 mA, 0...10 V stb. jeltartományú analóg jellé alakítják. A digitális/analóg átalakítók legfontosabb műszaki jellemzői az OMRON CPM PLC adatai alapján: − csatornák száma: 1...8; − kimeneti analóg jeltartomány: 0...20 mA, 4...20 mA, 0...5 V, 0...10 V, −10...10 V; − kimeneti impedancia: Ω nagyságrendű; − bemeneti adat hossza: 8...16 bit; − konvertálási idő: µs...ms nagyságrendű/csatorna. A PLC párhuzamos buszára csatlakoztatható DAC-modul látható az 5.5. ábrán [12].
5.5. ábra. Analóg kimeneti modul blokkvázlata Az 5.5. ábrán vázolt DAC-modul négycsatornás, a bináris adatokat közvetlenül a PLC párhuzamos buszáról, míg a vezérlő- és címinformációt interfészen keresztül kapja. A kimenő analóg jel típusának kiválasztása hardveresen ún. jumperekkel állítható be. Az egyes csatornákat a 0...3 címbitek címzik. A konverzió indítása szoftveres, a megfelelő bit 1-be állításával (5.6. ábra) [12]. A DAC kiviteli művelet két lépése: a DAC-csatorna (max. 2 x 4) címének, majd az analóg jelet reprezentáló 8 bites adat kiadása.
198
5.6. ábra. A DAC-modul címzése Az 5.6. ábra szerinti DAC-modul adatai: analóg jeltartomány (választható): bináris adathossz: D/A konvertálási idő: terhelőimpedancia:
0...10 V, 0...20 mA, 4...20 mA, 8 bit, < 5 µs, 0...10 V esetén ≥ 3 kΩ , 0...20 mA esetén 0...500 Ω , 4...20 mA esetén 0...500 Ω.
Az analóg kimeneti modul szoftverének kezelése az átalakítandó adatbájt (szó) megfelelő kimeneti címre küldését és a D/A konverzió vezérlőbitjének az aktiválását igényli. Az analóg kimeneti modul működése, felügyelete és kezelése során az előzőekben leírt minimális igényeken túli szolgáltatásokra is szükség van, például a kimeneti jeltartomány váltása, az erősítés és offset szoftveres beállítása, működési és adatátviteli hibák figyelése, diagnosztizálása stb. Az igények kielégítésére az analóg kimeneti modult saját mikroszámítógéppel látják el. Egy ilyen modul igen hasonlít az 5.4. ábrán vázolt analóg modulhoz a konverter értelemszerű cseréjével. A két modul hasonló felépítése indokolja a két egység összevonását. Az analóg kimenetek kezelése terepi buszon történő hálózati adatátvitellel is megvalósítható, ahol az analóg jeltovábbítás elmarad, a D/A konverzió a beavatkozónál történik. 5.1.3. Analóg be/ki modulok
A saját mikroszámítógép által vezérelt és felügyelt ADC- ill. DAC-egységek működése sokkal megbízhatóbb és a két funkció közös modulon történő kialakítása műszaki és gazdasági szempontból előnyösebb. Az OMRON CPM típusú PLC-k analóg be/kimeneti moduljának adatait az 5.1. táblázat tartalmazza [8]. 5.1. táblázat. Analóg be/kimeneti modulok adatai Feszültség be/kimenet Áram be/ kimenet Bemenetek száma 2 Bemeneti jeltartomány 0 - 10 VDC / 1 - 5 VDC 4 - 20 mA Maximális névleges bemeneti jel ± 15 V ± 30 mA Bemeneti impedancia Min. 1 MΩ 250 Ω Felbontás 1/256 Pontosság A teljes skála 1,0 %-a A/D konverziós adat 8 bit, bináris Kimenetek száma 1 Jellemző
Analóg bemenetek
199 Kimenetek száma Kimeneti jeltartomány Maximális kimeneti áram Felbontás Pontosság A/D konverziós adat Konverziós idő Leválasztás
1 05 -mA 10 VDC / - 10 - + 10 VDC 4- -- -20 mA 1/256 (- 10 - + 10 VDC beállítása esetén 1/512) A teljes skála 1,0 %-a 8 bit, bináris Max. 10 ms egységenként Optikai leválasztás az I/O sorkapcsok és a PLC-jelek között. Nincs leválasztás az egyes analóg jelek között
A különböző bemeneti analóg jeltartományok és a hozzájuk kapcsolódó digitális értékek kapcsolatát az 5.7. ábra szemlélteti [8].
5.7. ábra. Bemeneti analóg és digitális értékek összerendelése A kimeneti digitális és analóg értékek összerendelés az 5.8. ábrán látható [8].
200
5.8. ábra. Kimeneti digitális (a) és analóg (b) értékek összerendelése Az analóg be/kimeneti egységek írása és olvasása MOV utasításokkal történik a forráscímek, ill. célhelycímek megfelelő hozzárendelésével létradiagrammal. Egy ilyen ADC-, ill. DAC-kezelő létradiagramos programot szemléltet az 5.9. ábra [8]. Az ADC-t a mérés előtt inicializálni kell, a tartománykód kiküldésével. A tartománykód az analóg jeltartományt kódolja. Az FF04 például a 0...10 V-os jeltartomány kódja.
201
5.9. ábra. Analóg jelkezelést végző létradiagram Az analóg be/kimenetek kábelezését árnyékolt sodrott érpárral végzik az 5.10. ábra szerint [8].
202
5.10. ábra. Analóg be/kimenetek kábelezése
5.2. A PLC szabályozási funkciója Az előző pontban leírt analóg bemeneti és kimeneti modullal és megfelelő szoftverrel a PLC szabályozási feladat ellátására képes az 5.11. ábrán vázoltak szerint.
203
5.11. ábra. Szabályozási kör kialakítása PLC-vel A legtöbb programozható vezérlőben a PID-szabályozó algoritmus utasítását definiálják. A PID szabályozó az (5-1) szerinti egyenlet alapján képezi a Y(t) kimenőjelet. t de (5-1) +K Y (t ) = K c * e + K i ∫ edt + Y kezd d dt o
ahol Y(t) a kimenőjel időfüggvénye, Kc erősítés, e hibajel (az angol irodalomban az alapjelet SP-vel, Setpoint, az ellenőrző jelet PV-vel, Process Variable jelölik, így a hibajel e = SP − PV), Ki az integrálótag erősítési tényezője, Ykezd a kimenőjel kezdeti értéke, Kd a differenciálótag erősítési tényezője. A szabályozás mintavételes jellege miatt az (5-1) egyenlet az (5-2) szerint alakul.
(
n Y = K e + K ∑ e +Y + K e −e i i kezd d n n c n n −1 i
)
(5-2)
ahol Yn a szabályozási kör kimenőjele az n-edik mintavételezéskor, Kc erősítés, en a hibajel értéke az n-edik mintavételezésnél, Ki az integrálótag erősítéstényezője, Ykezd a kimenőjel kezdeti értéke, Kd a differenciálótag erősítési tényezője, en−1a hibajel értéke az előző (n−1edik) mintavételezésnél. A Siemens S7 típusú PLC az
Y = YP + YI + YD n n n n algoritmus szerint képezi a kimenőjelet, ahol:
(
)
YP = K SP − PV – arányos rész, n n c n YI = K T / T SP − PV + YX – integráló rész, n c s i n n YD = K T / T PV − PV – differenciáló rész. n c d s n −1 n
(
(
)
)
(5-3)
(5-4) (5-5) (5-6)
204 ahol Kc erősítés, Ts a mintavételezési idő, Ti az integrálási idő, SPn az alapjel értéke az n-edik mintavételezésnél, PVn az ellenőrző jel értéke az n-edik mintavételezésnél, YX az integráló tag értéke az n−1-edik mintavételezésnél, Td differenciálási idő, SPn−1 az alapjel értéke az n−1-edik mintavételezésnél, PVn−1 az ellenőrző jel értéke az előző (n−1-edik) mintavételezéskor, Ez a kilenc adat (9⋅4 = 36 bájt) szükséges a PID-utasítás végrehajtásához. Az ellenőrző jel (PV) és az alapjel (SP) értéke a mérnöki egységekben eltérő lehet. Például hőmérséklet-szabályozás esetén az alapjel értéke 642 oC, az ellenőrző jel feszültség (mV, V) dimenziójú. Ilyen esetben a PID-utasítás hívása előtt az SP- és PV-értékek normalizálásáról gondoskodni kell. A PID-utasítás az (5-3) szerinti algoritmust hajtja végre a 36 bájtos memóriában tárolt adatokon. A PID-utasítás feltételezi, hogy az előző értékek az ún. LOOP-táblában rendelkezésre állnak, például az analóg bemeneti modulról beolvasott adat a LOOP-tábla megfelelő rekeszeibe került. Fentiek alapján a PID-szabályozó programját az alábbiak szerint készíthetjük el: − a LOOP-táblába betöltjük a szükséges adatokat; − végrehajtunk egy PID-utasítást; − az eredményt megfelelő analóg kimeneti egységre juttatjuk. A programban gondoskodni kell arról is, hogy a PID funkcióblokkot aktiváló logikai feltétel a szabályozási művelet idején állandóan teljesüljön, különben a szabályozási funkció leáll! A PID-utasítás biztosítja, hogy a végrehajtás logikai feltételének bekapcsolása a kimeneten ne okozzon ugrásszerű változást, ami a szabályozott rendszerben kedvezőtlen hatásokat váltana ki. Az S7-200 PLC-ben a PID-utasítás egyszeri végrehajtási ideje 750...1000 µs.
5.3. Impulzuskimeneti funkciók A PLC-k impulzuskimeneti funkciói a frekvenciabemenetű eszközök (például a léptetőmotor) vezérlésére szolgálnak. Az impulzuskimeneti funkció hardverfeltétele általában a kétállapotú tranzisztoros kimenet, szoftverfeltétele pedig a kiadandó frekvencia előállítását biztosító utasításokból felépített program. Az impulzuskimeneteken többféle működési mód állítható be, például: − egyfázisú impulzuskimenet azonos frekvenciával; − impulzuskimenet a frekvencia fel- és lefutási meredekségének megadásával; − változtatható kitöltési tényezőjű impulzuskimenet (PWM, impulzusszélességmoduláció). Az impulzuskimenetek egyedi és folyamatos üzemmódban használhatók. Egyedi módban a PLC a programban meghatározott számú és frekvenciájú impulzust küld. A kimenetre küldendő impulzusok száma megadható abszolút és relatív értékként. Léptetőmotoros pozícionálás esetén az abszolút érték megadásakor a koordináta-rendszer 0 értékéhez viszonyított, míg a relatív érték megadásakor a pillanatnyi helyzethez viszonyított kívánt elmozdulásnak megfelelő impulzusszámot adjuk meg. Kifejezetten sokoldalú impulzuskimeneti funkciókat megvalósító utasításokkal rendelkeznek az OMRON PLC-k. Egyfázisú impulzuskimenet felfutási és lefutási meredekség meg-
205 adása nélküli használatát segítik a PULSE (65), SPED (64), INI (61), PRV (62) utasítások (lásd a 3.7. táblázatot). Ezen utasításokkal az alábbi funkciók teljesülnek: − a kimeneti impulzusok számának megadása (PULS); − a kimeneti frekvencia megadása, ill. megváltoztatása (SPED); − az impulzuskimenet pillanatértékének megváltoztatása (INI); − az impulzuskimenet leállítása (INI); − az impulzuskimenet értékének beolvasása (PRV). Az impulzuskimenetek működését szemlélteti a következő két példa. Az első példában a PLC 005 bemenetére érkező indítójel hatására a 200-as impulzuskimenet által vezérelt léptetőmotorra 100 impulzust juttat 60 Hz frekvenciával (5.12. ábra) [8].
5.12. ábra. Léptetőmotoros pozícionálás diagramja A szükséges beállítások az utasítás memóriaterületén: DM 6629
0 Relatív koordináta-rendszer
DM 6642
0
0
0 Bármilyen impulzus szinkronizációtól eltérő beállítása
DM 0000
0
1
0
DM 0001
0
0
0
0
0 Impulzusok száma: 100
A léptetőmotor vezérlőprogramja az 5.13. ábra szerinti [8].
5.13. ábra. Léptetőmotoros pozícionálás létradiagramja
206 A második példában a kétirányú léptetőmotoros pozícionálás diagramját mutatjuk be (5.14. ábra) [8].
5.14. ábra. Kétirányú léptetőmotoros pozícionálás Az előző példákban a léptetőmotor sebessége állandó volt az állandó frekvenciának (60 Hz) megfelelően. Pozícionálási feladatoknál a minimális pozícionálási idő eléréséhez a sebesség, közvetve pedig a frekvencia változtatására van szükség. Ezt a korábbi utasításokon túl az ACC-utasítás felhasználásával lehet elérni. A változó sebességű léptetőmotoros pozícionáló diagramját szemlélteti az 5.15. ábra. A 005-ös bemenetre érkező jel hatására a PLC 1000 impulzust küld ki az impulzuskimenetre 10 ms-onkénti 10 Hz-es fel- és lefutási meredekséggel, 200 Hz-es induló és végső frekvenciával.
5.15. ábra. Pozícionálás változó frekvenciával Szükséges beállítások az utasítások memóriaterületén: DM 6629
0 Relatív koordináta-rendszer
DM 6642
0
0
Bármilyen impulzus szinkronizációtól eltérő beállítása
DM 0000
1
0
0
DM 0001
0
0
0
0 Impulzusok száma: 1000
DM 0010
0
0
0
1 Meredekség: 10 Hz/10 ms
DM 0011
0
0
5
0 Célfrekvencia: 500 Hz
0
207
DM 0022
0
0
2
0 Kezdő frekvencia: 200 Hz
A leírt feladatot megvalósító program létradiagramja az 5.16. ábrán látható [8].
5.16. ábra. Az 5.15. ábra szerinti feladat létradiagramja Változó kitöltési tényezőjű impulzussorozat generálását a PWM-utasítással érhetjük el (lásd a 3.7. táblázatot).
5.4. Számlálási funkciók A számlálási funkció programozását a 3. fejezetben érintőlegesen bemutattuk. Tekintettel e funkció igen frekventált vezérléstechnikai alkalmazására, a következőkben a számlálással részletesen foglalkozunk. A számlálási funkciót a következő módon oldják meg: a) a PLC e célú utasításainak a programba iktatásával; b) megszakításbemenetre kapcsolt impulzusok esetén a kiszolgálórutin végrehajtásával; c) a PLC e célra kialakított sajátos hardvere és utasítása révén; d) a PLC-től független, de azzal kommunikációs kapcsolatban lévő hardverszámlálómodul felhasználásával. Az a) megoldás semmilyen járulékos hardvert nem igényel. Hátránya, hogy ily módon csak a PLC letapogatási frekvenciájánál alacsonyabb frekvenciájú impulzusok számlálása végezhető el hibamentesen. Ez gyakorlatilag néhány Hz (~ < 100) frekvenciát jelent. A b) megoldás csak az interrupt funkcióval ellátott PLC-k esetén használható, viszont a letapogatási frekvenciánál magasabb frekvenciájú impulzusok számlálását is lehetővé teszi. A c) változat egy-egy PLC-nél alkalmazott, rendszerint megszakítással, járulékos hardverrel és a kapcsolódó utasítással kombinált megoldás. A legmagasabb frekvenciájú impulzusok számlálását a d) szerinti megoldásban valósíthatjuk meg, különösen, ha több csatorna impulzusainak számlálása a feladat. Kétirányú számlálást végző modul látható az 5.17. ábrán. A számlálómodult leggyakrabban a PLCsínhez illesztik.
208
5.17. ábra. Előre-hátra számláló modul illesztése PLC-hez A számláló a 90o-os fáziseltérésű impulzusokat az inkrementális jeladó után lévő iránylogikától kapja. Az ábrán vázolt modul a kétirányú számláláson túl a gépipari pozícionálási feladatokat is megoldja és az ún. lekapcsolókörös pozícionáláshoz szükséges komparálási műveleteket is ellátja. A számláló kezelése bájt- vagy szószervezésű be/kiviteli műveletekkel történik. A gyakorlatban az analóg be/kimeneti modulokhoz hasonlóan a külön számlálómodulokat is mikroszámítógépes felügyelettel és kommunikációval látják el, amelyekkel a modul további funkciókat láthat el. Az OMRON CPM sorozatú PLC-k ún. gyorsszámláló funkciót definiálnak, amely az 5.18. ábra szerinti négyféle módban programozható [8]. A gyorsszámláló az irányfüggő számlálási módban az inkrementális jeladó közvetlen feldolgozására alkalmas. A gyorsszámláló a PLC által beolvasható, törölhető, ill. a számláló a programtól függően (pl. értéktúllépés) megszakítást kezdeményezhet.
209
5.18. ábra. A gyorsszámláló üzemmódjai A Siemens S7 sorozatú PLC-k három blokkot definiálnak a program számlálási műveletéhez: CTU, CTD és CTUD, azaz előre, vissza és kétirányú számlálás. Ezen műveletek a CU-, ill. CD-bemeneteken megjelenő impulzusok átmeneteit számolják. Az ettől eltérő funkciójú számlálásra az ún. High Speed Counter (HSC-) utasítás ajánlatos. A HSC-utasítás a számlálási módot definiáló HDF-utasítással együtt használatos. A számlálási módok közül néhányat bemutatunk. A hagyományos előre/hátra számlálást szemlélteti az 5.19. ábra [9]. A számláló a beállított érték elérésekor automatikusan irányt vált.
210
5.19. ábra. Előre/hátra számláló: MOD1 Az 5.20. ábra szerinti megoldásban a számlált és beállított érték megegyezésekor megszakítást kezdeményez, de tovább számol. Az irányváltást külső vezérlés idézi elő [9].
5.20. ábra. Előre/hátra számláló: MOD3 Az inkrementális jeladóról érkező jelek kétféle feldolgozásához az 5.21. ábrán az ún. egyszeres felbontású számlálót láthatjuk, mivel számlálás csak az A jel 0 → 1 (előre), ill. 1 → 0 (vissza) átmenetekor történik [9].
5.21. ábra. Kétfázisú impulzusok feldolgozása egyszeres felbontással
211 Négyszeres felbontású inkrementális jelfeldolgozást biztosít a 9-es mód, mivel a számláló mindkét jeladó 0→1 és 1→0 átmeneteit számlálja (5.22. ábra). E módszerrel négyszeres felbontás érhető el, ezért ez a megoldás a gépiparban igen gyakori [9].
5.22. ábra. Kétfázisú impulzusok irányfüggő feldolgozása négyszeres felbontással
5.5. Kétállapotú be-/kimeneti eszközök csatlakoztatása PLC-hez A kétállapotú bemeneti, ill. kimeneti eszközök (érzékelők és beavatkozók) csatlakoztatása a PLC-hez az optoleválasztású be-, ill. kimeneti fokozaton keresztül történik. 5.5.1. Kétállapotú jeladók csatlakoztatása
Az irányítandó gépek, berendezések állapotáról érzékelők informálnak. Az információ lehet analóg vagy digitális. Az érzékelők bemenőjele rendszerint valamilyen nem villamos mennyiség (nyomás, hőmérséklet, elmozdulás, stb.), amit az érzékelő valamilyen közvetett fizikai jellemző megváltoztatásával (induktív, kapacitív, stb.) villamos jellé alakít. A vezérléstechnikában többnyire a kétállapotú jeladók (végálláskapcsolók, nyomáskapcsolók stb.) illesztésére van szükség [4]. A kétállapotú jeladók lehetnek érintkezős és érintkezőmentes kivitelűek. 5.5.1.1. Érintkezős bemeneti eszközök
Ebbe a csoportba tartoznak a mikrokapcsolók és a mikrokapcsolóval felépített határérték-, ill. véghelyzetkapcsolók (nyomás, hőmérséklet, elmozdulás stb.). A mikrokapcsolók rugós felépítésű mechanikus kapcsolók, rendszerint robosztus műanyag vagy fröccsöntött házban. A mikrokapcsolókat többnyire morze- (váltó-) érintkezővel gyártják, a közös pontot COM felirat jelöli. A mikrokapcsolók nagy védettséggel (IP 66, IP 67) és nagyon sokféle kialakítási formában kaphatók. A mikrokapcsolók főbb technikai adatai: mechanikai élettartam, engedélyezett hőmérsékleti tartomány, kapcsolási gyakoriság, kapcsolási sebesség, az érintkezők átmeneti és szigetelési ellenállása, tömege, védettségi osztálya, ütési és vibrációs szilárdsága.
212 Az érintkezőkimenetű jeladók csatlakoztatása a PLC optoleválasztású bemenetéhez az 5.23. ábra szerint ajánlatos [4].
5.23. ábra. Érintkezőkimenetű jeladók csatlakoztatása a PLC-hez egyenfeszültségű működtetéssel Az érintkezőkimenetű jeladók egyen és váltakozó segédfeszültségekkel egyaránt alkalmazhatók, de a PLC bemeneti fokozatát ennek megfelelően kell kiválasztani. 5.5.1.2. Érintkező nélküli jeladók
Ebbe a csoportba a gépipari automatizálásban igen gyakori közelítéskapcsolók tartoznak, amelyek induktív, kapacitív, ill. ultrahangos átalakítás elvén működnek. Induktív közelítéskapcsolók Ezek az eszközök működésükhöz fél ferrit fazékmagos tekerccsel kialakított LC-oszcillátort tartalmaznak, amelynek a mágneses erővonalai a levegőn keresztül záródnak. Ha az érzékelő aktív felületét jelentő ferrittekercshez fémes tárggyal közelítenek, akkor az megváltoztatja az oszcillátor jellemzőjét (rendszerint a rezgés amplitúdóját). A változó amplitúdójú jel a megfelelő triggeráramkörön keresztül kimeneti erősítőre kerül, amely hiszterézises kétállapotú jelet szolgáltat (5.24. ábra). A hiszterézisre az átváltás megbízható, zavarmentes megoldása miatt van szükség.
5.24. ábra. Az induktív közelítéskapcsolók tömbvázlata Az egyenfeszültséggel működtetett induktív közelítéskapcsolók három- és négyvezetékes formákban, p-n-p és n-p-n tranzisztoros kimenetekkel készülnek. A váltakozó áramú közelítéskapcsolók kétvezetékes kialakításúak.
213 A p-n-p tranzisztoros kimenetű induktív közelítéskapcsolók felépítését és a PLC bemeneti csatornájához csatlakoztatását szemlélteti az 5.25. ábra [4].
5.25. ábra. A p-n-p tranzisztoros kimenetű közelítéskapcsoló kapcsolata a PLC-vel Az n-p-n tranzisztoros kimenetű induktív közelítéskapcsoló kialakítását és a PLC bemeneti csatornájához kapcsolását szemlélteti az 5.26. ábra [4].
5.26. ábra. Az n-p-n tranzisztoros kimenetű közelítéskapcsoló kapcsolata a PLC-vel Induktív közelítéskapcsolók főbb műszaki adatai: − működtető tápfeszültség-tartomány DC esetén: 10...55 V, AC esetén 24...230 V; − tápáramfelvétel (pl. 24 V DC-nél 15 mA); − a DC tápfeszültség megengedett hullámossága (tipikus érték): < 15 %; − a közelítő tárgy anyagai: acél, sárgaréz, alumínium stb.; − max. kapcsolási frekvencia (tipikus érték): 2 KHz; − névleges kapcsolási távolság, amely a közelítő fémtárgy anyagától függhet; − kimeneti logikai feszültség értékei (tipikus érték): 0 V, ill. 24 Vdc; − kimeneti áram (tipikus érték): 130...200 mA; − engedélyezett környezeti hőmérséklet-tartomány (tipikus érték): − 25...70 oC; − védettség (tipikus): IP 67. A három- és négyvezetékes induktív közelítéskapcsolók szabványos jelölései az 5.27. ábrán láthatók [4], kivezetései szabványos színkóddal vannak ellátva.
214
5.27. ábra. Három- és négyvezetékes induktív közelítéskapcsolók szabványos jelölése a) p-n-p tranzisztoros kimenetű fémközelítésre záró, 3 kivezetéssel; b) p-n-p tranzisztoros kimenetű fémközelítésre nyitó, 3 kivezetéssel; c) p-n-p tranzisztoros kimenetű fémközelítésre nyitó/záró, 4 kivezetéssel; d) n-p-n tranzisztoros kimenetű fémközelítésre záró/nyitó, 3 kivezetéssel; e) n-p-n tranzisztoros kimenetű fémközelítésre egyszerre záró/nyitó, 4 kivezetéssel
Kapacitív elven működő közelítéskapcsolók A kapacitív közelítéskapcsolókat folyékony, porszerű és szemcsés (granulátum) anyaggal töltött tárolók, tartályok szintérzékelésére alkalmazzák. Az érzékelőknél egy tárgy (fémes, ill. nemfémes) kapacitása megváltozik, ha az érzékelő aktív felületéhez közelít. A kapacitásváltozás egy oszcillátort hoz rezgésbe. Az oszcillátor jele a demodulátoron és a triggeráramkörön keresztül a kimeneti erősítőre jut, amelynek a kimenőjele hiszterézises kétállapotú jel. E közelítéskapcsolók érzékenysége (kapcsolási távolsága) potenciométerrel állítható, kialakítási formái megegyeznek az induktív érzékelőkével. A kapacitív közelítéskapcsolók egyen-, ill. váltakozó feszültségről egyaránt működtethetők, de döntő többségük váltakozó feszültségről üzemel. A váltakozó feszültségről üzemelő kapacitív érzékelőket kétvezetékes kialakítási formában valósítják meg, amelyek jelölése és színkódja az 5.28. ábrán látható [4].
5.28. ábra. Váltakozó feszültségről üzemelő kapacitív jeladó felépítése
215 Az 5.28a ábrán váltakozó feszültségről üzemelő, a tárgy közelítésére záró, az 5.28b ábrán nyitó kapacitív közelítéskapcsoló látható. A váltakozó feszültségű kétvezetékes jeladók speciális egyenirányítót tartalmazó PLC-bemenetet igényelnek (5.29. ábra) [4].
5.29. ábra. Kapacitív jeladó csatlakoztatása PLC-hez A kapacitív közelítéskapcsolókra rendszerint ugyanazokat az adatokat adják meg a gyártók, mint az induktív jeladókra. Fotókapcsolók Kialakításuk szerint lehetnek direkt, ill. visszaverődéses típusok. A direkt üzemű fénysorompók külön-külön téglahasáb alakú házakban elhelyezett fényadóból és vevőkből állnak. Napjainkban túlnyomórészt a kevésbé zavarérzékeny infravörös sugarú fénysorompókat alkalmazzák, amelyek működési elvét az 5.30. ábra szemlélteti [4].
5.30. ábra. Az egyutas fénysorompó működési elve Az adóban lévő négyszöggenerátor az optika fókuszában elhelyezett fényadót működteti. A párhuzamosított infravörös fénysugarak a mozgó tárgy takarása nélkül a vevő optikai egységének gyújtópontjában levő fényérzékelő eszközre (pl. fényelem, fotodióda, fotótranzisztor) kerülnek, amely a fényt feszültséggé alakítja. Ez a feszültség triggeráramkörön keresztül egy kimeneti fokozatra kerül, amely hiszterézises kétállapotú jelet ad ki. A direkt üzemű fénysorompók leggyakrabban egyenfeszültséggel működnek, három-, ill. négyvezetékes kivitelűek és p-n-p, ill. n-p-n tranzisztoros kimenettel készülnek. Az infravörös fénysorompóba szűrőt is elhelyeznek, amely a látható fénytől az infravörös fényt leválasztja, ily módon kizárja az idegen fény által bekövetkező hibás kapcsolásokat. A visszaverődéses (retroreflex) fotókapcsolók optikai eszközök, amelyekben az adó és a vevő egy tokban van (5.31. ábra) [4].
216
5.31. ábra. Visszaverődéses rendszerű fotókapcsoló működési elve Az 5.31. ábrán láthatóan a visszaverődéses rendszerű fotókapcsolóknál a négyszögjellel működtetett fényadót az optikai tengelyen helyezik el. Az érzékelendő mozgó tárgyról vagy a rögzített reflektorról visszavert fénysugarakat a gyújtópontba (F) helyezett fényérzékelő alakítja feszültséggé. Ebből a feszültségből a jeladó hiszterézises kétállapotú kimenőjelet állít elő. A visszaverődéses rendszerű fotókapcsolók döntően egyenfeszültségről működnek három-, ill. négyvezetékes p-n-p, ill. n-p-n tranzisztoros kimenettel. A fotókapcsolók főbb műszaki adatai: − tápfeszültség-tartomány: 10...30 VDC; − tápfeszültség megengedett tűréstartománya: ± 10 %; − megengedett max. kimeneti áram (pl. < 200 mA); − max. kapcsolási frekvencia (tipikus érték): < 200 Hz; − megszólalási idő (pl. max. 0,5 s); − védettség (tipikus): IP 65...IP 67; − megengedett környezeti hőmérséklet-tartomány (tipikus érték): −25...55 oC; − geometriai méretek. A fotókapcsolók szabványos jelölését és színkódjait az 5.32. ábra mutatja be [4].
5.32. ábra. Fotókapcsolók szabványos jelölése és színkódja Az a ábrán p-n-p tranzisztoros kialakítású, az érzékelt tárgy esetén záró, a b ábrán n-pn tranzisztoros kialakítású, az érzékelt tárgy esetén nyitó fotókapcsoló látható.
217 5.5.2. Kimeneti eszközök és illesztésük
A PLC-k diszkrét kimeneti fokozatait kontaktus, tranzisztoros, tirisztoros, ill. triakos változatban készítik és ehhez kapcsolódnak a beavatkozószervek. A leggyakoribbak a mágneskapcsolók, ill. a pneumatikus szelepek. 5.5.2.1. Mágneskapcsolók
A mágneskapcsolók nagy élettartamú vezérléstechnikai eszközök (beavatkozószervek), amelyek fő- és segédérintkezőket működtetnek. A főérintkezők rendszerint villamos motorokat működtetnek. A mágneskapcsolók tekercsei egyen- és váltakozó feszültséggel működtethetők. Váltakozó feszültség esetén a szabványos érékek: 24, 42, 110, 230 és 400 V, míg egyenfeszültség esetén 24, 48, 60, 110 és 220 V. A mágneskapcsolók főérintkezői mindig záróérintkezők, a segédérintkezők megrendeléstől függően zárók és nyitók egyaránt lehetnek. A segédérintkezők az állapot indikálására és a tartóáramkör kialakítására szolgálnak. A mágneskapcsoló gyártói sínre szerelhető típusokat fejlesztettek ki, mint pl. a Klöckner Moeller cég DIL E típusa. A mágneskapcsolók rajztechnikai jelölése az 5.33a ábrán látható, míg a PLC kimenetéhez kapcsolását az 5.33b ábra szemlélteti. A nagy áramok megszakítására alkalmas mágneskapcsolókat különböző szikra-, ill. ívoltással látják el (például az érintkezőket olajban helyezik el).
5.33. ábra. Mágneskapcsoló jelölése (a) és illesztése a PLC-hez (b) Triakos kimeneti fokozatot szemléltet az 5.34. ábra.
218
5.34. ábra. Motorvezérlés triakos váltakozó áramú mágneskapcsolóval 5.5.2.2. Pneumatikus szelepek és munkahengerek
Főleg a gépipari automatizálásban, a mechatronikában és a szerelésautomatikában igen gyakran van szükség pneumatikus működtetésre. Ismeretes, hogy útszelepekkel a vezérlési függvények előállíthatók, de bizonyos bonyolultság esetén a vezérlési funkciók megvalósítását energiatakarékossági és ellenőrizhetőségi célból célszerű a PLC-k-re bízni. PLC-vel működtetett 5/2 útszelep és munkahenger összekapcsolása látható az 5.35. ábrán.
5.35. ábra. 5/2-es szelep működtetése PLC-hez Eszerint a munkahenger rúdja által működtetett SW1, SW2 kapcsolók a PLC bemenetére kapcsolódnak, majd a megfelelő program végrehajtása után a PLC Q1, Q2 kimenete (kontaktusa) révén működteti az 5/2-es szelep (ötútú és kétállapotú) Y1, Y2 tekercseit. Egyen-
219 feszültségű táplálás esetén a tekercsek tranzisztoros kimenettel működtethetők, de az induktív feszültséglökés ellen védő diódákról nem szabad megfeledkezni.
5.6. Az ember-gép kapcsolat eszközei Az ember-gép kapcsolat eszközei (Man-Machine Interface, MMI vagy Human-Machine Interface, HMI) a kezelő és a PLC közötti kommunikációt teszik lehetővé. Mivel a kapcsolattartás kétirányú, ezért megkülönböztetünk beviteli és kiviteli eszközöket. 5.6.1. Adatbeviteli eszközök és módok
A numerikus adatok bevitelére rendszerint a peremkerekes dekádkapcsoló (PDK), ill. a billentyűzet használatos. Adatbevitel peremkerekes dekádkapcsolóval Peremkerekes dekádkapcsolóval a numerikus adatok bevihetők párhuzamos, ill. multiplex módon. Párhuzamos bevitel esetén dekádonként négy bemeneti vonalra van szükség, így a nyolcdekádos adat bevitele 8⋅4 = 32 bemeneti vonalat igényel a PLC bemenetén. A párhuzamos bevitelt szemlélteti az 5.36. ábra négy dekád esetén.
5.36. ábra. Adatbevitel PDK párhuzamos módon Az ábrán a kapcsolók által leadott kódkombinációt is feltüntettük. A megoldás szerint minden bit kezelése külön-külön inputbitet igényel. Multiplex módú kezelés esetén szükség van a dekádcsoportok számával megegyező számú kimenetre (pl. 3) (5.37. ábra) és a kezelőszoftverre. Az ábrából látható, hogy 3⋅16 = 48 vonal beolvasására multiplex kezelés esetén 16 bemeneti vonalra van szükség. A diódák a káros visszahatások kiküszöböléséhez szükségesek. A program mintavételező jelet ad a megfelelő kimenetre, majd a bemeneti kódkombinációt beolvassa. A bemenetek multiplex kezelését rendszerint ciklusszervezéssel oldják meg.
220
5.37. ábra. Adatbevitel PDK-val multiplex módon Adatbevitel billentyűzettel Funkcióbillentyűzet hardver kialakítására példa az 5.38. ábrán látható.
5.38. ábra. Funkcióbillentyűzet multiplex kezelésének vázlata Az ábrából kitűnik, hogy a billentyűzetkezelés is multiplex. A 4⋅4 = 16 billentyű kezeléséhez négy kimeneti (STROBE) és négy bemeneti vonal szükséges. A billentyűzet funkciójának (funkció, ill. adat) felismerését a PLC szoftver biztosítja. Két funkció (CLR, Clear = törlés és ENT, Enter = betöltés) és a 10 számbillentyűzet feldolgozása az 5.39. folyamatábra szerint végezhető el.
221
5.39. ábra. Billentyűzetkezelés szoftverének folyamatábrája A billentyűzetkezelő programot megszakításkéréssel célszerű kezdeményezni. A nagy teljesítményű PLC-k ember-gép kapcsolatát rendszerint a számítógépek ASCII klaviatúrájával és alfanumerikus vagy grafikus display csatlakoztatásával oldják meg. Az ily módon kialakított MMI soros vonalakon kommunikál a PLC-vel pont-pont (RS 232C) vagy hálózati összeköttetéssel (lásd az 5.6.3. pontot). 5.6.2. Adatkiviteli eszközök és módok
Numerikus adatok megjelenítésére rendszerint hétszegmensű kijelzőket használnak. A kijelzők vezérelhetők párhuzamos, ill. multiplex módszerrel. A párhuzamos működtetés az 5.40. ábrán látható.
222
5.40. ábra. Hétszegmensű kijelzők párhuzamos vezérlése A négydekádos kijelző csatlakoztatása 4⋅4 = 16 kimeneti vonalat igényel a PLC-től. Az adatok rendszerint az e célra fenntartott memóriaterületről adatmozgató utasítással juttathatók a kijelzőre. A multiplex adatkezelés a kimenetek vezérlésénél is előnyös és gyakran a billentyűzet kezelésével kombinált. A kijelzőkarakter kódjait táblázatkezeléssel szoftver úton célszerű előállítani (szoftverdekódolás). 5.6.3. Interaktív terminálok
Az utóbbi időben egyre általánosabb, hogy a PLC-k helyi (technológia közeli) adatmegjelenítő és beviteli eszközei az ipari kivitelű terminálok. A nagy PLC-gyártók mindegyike gyártja az interaktív terminálokat is, amelyek alapvetően az adott PLC-típussal képesek együttműködni (kommunikálni). Az interaktív terminálok gyártmányválasztéka igen széles. Az egyszerűbb (olcsóbb) típusoknál, pl. 4 sorban és 20 oszlopban (egyszínű) alfanumerikus karaktereket jeleníthetünk meg. Az ilyen típusú eszközök csúcsmodellje napjainkban 640⋅480 képpontot tartalmazó színes képernyőt jelent. Adatbeviteli eszközként a választék a néhány gombot tartalmazó ipari billentyűzettől az érintésre vagy nyomásra érzékeny képernyőig terjed. A két véglet között számos közbenső teljesítményű eszköz van akár egyetlen gyártó típusválasztékában is. Az eszközök közös (gyártótól független) vonásai a következők. − A terminálok két nagy csoportja különíthető el: az alfanumerikus és a grafikus szimbólumok megjelenítésére alkalmas csoport. − A képernyőn frissítve megjelenő információk (szövegek, számok, grafikai objektumok színe stb.) a PLC aktuális változóinak (bites, bájtos, szavas) értékétől függnek. − Az interaktív terminálok soros kommunikációs vonalon (masterként) saját hatáskörben kérdezik ciklikusan a PLC változóinak az értékét. − Az interaktív terminál adatbeviteli eszközein (tasztatúra, érintésre érzékeny képernyő) a kezelő adatai soros kommunikációs vonalon keresztül a PLC változóiba íródnak. − Az interaktív terminálok programjának fejlesztése külső számítógépen (PC), a terminál gyártója által biztosított fejlesztőrendszerrel történhet. A terminálhasználat alapvető jellemzőinek bemutatása az OMRON 2000. évi gyártmányismertetője alapján történik. Az 5.41. ábrán a PLC és az interaktív terminálból álló rendszer elvi felépítése látható.
223
5.41. ábra. A PLC-ből és az interaktív terminálból kialakított rendszer elvi felépítése A PLC és az interaktív terminál közötti kommunikáció RS 232C vagy RS 422/485 soros vonalon zajlik. A kommunikációban a master szerepét a terminál játssza. Amennyiben RS 232C vonalon csatlakozunk (a pont-pont kapcsolat miatt), csak egyetlen terminál csatlakozhat a kérdéses PLC-hez. Ekkor az ún. NT 1:1 típusú kommunikációs protokollt alkalmazza az OMRON rendszer, ami időben állandó master jelenlétét feltételezi. Ha több terminált szeretnénk csatlakoztatni egy PLC-hez, akkor RS 422, vagy RS 485 kommunikációs vonalat kell kiépíteni a terminálok felfűzéséhez. Ekkor a protokollnak is alkalmasnak kell lennie több master kiszolgálására. Az OMRON rendszerben ezt a protokollt NT 1:N néven nevezik. Ezek a protokollok gyártmányspecifikusak, csak az OMRON PLC-ben alkalmazhatók. Néhány interaktív terminál opcionálisan nem csak a gyártó saját eszközeihez, hanem más gyártók PLC-típusaihoz is kapcsolható. Meglehetősen gyakori, hogy a terminálok a MODBUS protokoll alapján is képesek kommunikálni, ami azt jelenti, hogy egy ilyen berendezés a MODBUS kommunikációra képes és valamennyi PLC-típushoz alkalmazható (egymasteres rendszer kialakítására alkalmas). Napjainkban figyelhető meg az a törekvés, hogy egyre több gyártó a PROFIBUS protokollt alkalmazza mind a PLC, mind az interaktív terminál kommunikációs kapcsolatának a biztosítására, ami némi kompatibilitást jelent a különböző gyártók termékei között. Az 5.41. ábra alapján láthatjuk, hogy az interaktív terminálhoz különböző be- és kiviteli eszközök is csatlakoztathatók (vonalkódolvasó, nyomtató stb.). A legfontosabb adatbeviteli eszköz egy tasztatúra. Ez az ábrán azért nem látszik, mert az NT631C típusnál a képernyő érzékeny az érintésre, és így szoftveresen képezzük le a számunkra szükséges billentyűket, gombokat. Más típusoknál (pl. NT 11) ipari tasztatúra szolgál a kezelői adatbevitelre. Ezek a tasztatúrák néhány funkcióbillentyűt, ill. numerikus vagy
224 alfanumerikus billentyűzetet tartalmaznak. A funkcióbillentyűk megnyomása vagy nem megnyomása a PLC egy-egy bites változójának 1 vagy 0 értékében tükröződik. Ezek a billentyűk általában a képváltásra, más kezelői kezdeményezés közlésére vagy a numerikus (vagy alfanumerikus) billentyűk adatok (számok, szövegek) megadására szolgálnak. Az adatmegadást követően a terminál programja az előírt adatkonverziót elvégzi (pl. képez egy négyjegyű BCD számot a megadott számkarakterekből), és az értéket a PLC előírt változójába (változóiba) írja. Adatbevitelre más eszköz is elképzelhető. Az 5.41. ábra vonalkód-leolvasó mint adatbeviteli eszköz csatlakoztatását mutatja. A legfontosabb adatmegjelenítő eszköz a terminál (LCD) képernyője. Az alfanumerikus terminálok képernyőjén néhány sorban néhány tíz karakter íratható ki. Az NT 11S esetén négy sorban, soronként 20 karakter jeleníthető meg. Az NT 11S típusú terminál látszati képét az 5.42. ábra mutatja.
5.42. ábra. Az OMRON NT 11S típusú interaktív terminálja Az alfanumerikus képernyőn megjelenő objektumok három csoportba sorolhatók: − fix (időben állandó) szövegek; − a PLC változóinak (bites és szavas) értékétől függő számok és szövegek; − adatbeviteli mezők, ahol a kezelő által megadott karakterek jelennek meg, ill. konvertálás után beíródnak a PLC előre definiált változóiba. A grafikus terminálok felbontása, geometriai mérete is a feladatnak megfelelően választható. Az OMRON családon belül a 640⋅480 képpont a jelenleg legnagyobb felbontás. Mind monochrom, mind színes LCD képernyők választhatók. Értelemszerű, hogy az objektumok a grafikus szimbólumok csoportjával bővülnek: − fix (időben állandó) grafikus kép; − a PLC változóinak (bites, szavas) értékétől függő grafikus jellemzők megváltoztatása (pl. egy bites változó értékétől függően két különböző színnel megjelenített objektum vagy egy mért mennyiség megjelenítése oszlopdiagramon).
225 A grafikus szolgáltatások körébe sorolható, hogy általában lehetőség van a mért menynyiségek időbeli változásának (trendjének) megjelenítésére. Ez azt is jelenti, hogy az interaktív terminálnak el kell tárolnia adott gyakorisággal a mért mennyiségeket. A szolgáltatás minőségét nagymértékben befolyásolja a rendelkezésre álló adatmemória-kapacitás. Az interaktív terminálok többségéhez nyomtató is csatlakoztatható, mint azt az 5.41 ábra mutatja. Adattáblák, ill. eseménytáblák nyomtatása a feladatok többségénél szokásos igény. 5.6.4. Az interaktív terminálok programjának fejlesztése
A gyakorlatban az interaktív terminálok programjának létrehozása külső gépen (PC-n), a gyártó által biztosított fejlesztőrendszerrel történik. Az 5.41. ábrán látható PC szerepe tehát a terminál feladathoz igazodó (applikáció) programjának létrehozása. A fejlesztés elve az, hogy megadjuk az egyes (alfanumerikus, vagy grafikus) képernyők tartalmát és ezek frissülő részének frissítési módját (számok, szövegek, grafikus szimbólumok változtatása stb.), ill. adatkapcsolatait. A fejlesztés menetét szemlélteti az OMRON NT 11S interaktív terminálra fejlesztett applikáció néhány részlete (a fejlesztő által kinyomtatott formában). Az első kép (képsorszám = 1) öt hőmérséklet kiírására szolgál, amelyek az OMRON PLC DM200…DM204 (16 bites) változóiban helyezkednek el. Ezen változók négy BCD jegyen tartalmazzák a hőmérsékletek nagyságát 0,1 °C felbontásban. A hatodik adat, amit a képernyőn megjelenítünk, egy recepturasorszám (0…9), amely értéket a PLC DM125 jelű változója tartalmazza. A fejlesztőrendszernek párbeszéd formájában megadhatjuk a fix szövegeket, ill. a frissítve megjelenítendő információk forrását és megjelenítési formáját. Screen No.: 1 Standard Screen Screen Comment:
Az N0000…N0004 stb. jelölések azt jelentik, hogy a megjelenített változó egy (numerikus) adattáblán belül hányadik. Ez az adattábla tartalmazza, hogy ezen (pl. N0000) logikai név a PLC mely fizikai változóját (pl. DM100) takarja. A párbeszéd formájában megadott adatok alapján a fejlesztőrendszer az 1. képről az alábbi információkat állítja elő. [Fixed Display: Text/Mark] Position Font Scale Smoothing 8, 0 Standard 1x1 (Equal)No hömérsékletek 8, 16 Standard 1x1 (Equal)No 80, 16 Standard 1x1 (Equal)No 8, 32 Standard 1x1 (Equal)No 80, 32 Standard 1x1 (Equal)No 8, 48 Standard 1x1 (Equal)No 80, 48 Standard 1x1 (Equal)No [Numeral Display] Position Ref Table PLC Address Attribute Display Smoothing FrGnd 32, 16 Dir 0 D00200 (Equal)Standard Dec No 104, 16 Dir 1 D00201 (Equal)Standard Dec No 32, 32 Dir 2 D00202 (Equal)Standard Dec No
Attribute Standard
FrGnd Colour BkGnd Colour Description White Black Hûtö
Standard Standard Standard Standard Standard Standard
White White White White White White
Word Integer Decimal Colour BkGnd Colour 1 3 1 White Black 1 3 1 White Black 1 3 1 White Black
Black Black Black Black Black Black
t1: t2: t3: t4: t5: sszám:
Sign Zero Sup
Font
Scale
No
Yes
Standard
1x1
No
Yes
Standard
1x1
No
Yes
Standard
1x1
226 104, 32 Dir 3 (Equal)Standard 32, 48 Dir 4 (Equal)Standard 136, 48 Dir 5 (Equal)Standard
D00203 Dec No D00204 Dec No D00125 Dec No
1
3
1 Black 1 Black 0 Black
White 1
3 White
1
1 White
No
Yes
Standard
1x1
No
Yes
Standard
1x1
No
No
Standard
1x1
A következő képen (képsorszám = 3) egy recepturasorszámot és az adott recepthez tartozó öt hőmérséklet-alapjelet lehet a kezelőnek megadnia. A képdefiniálás eredménye: Screen No.: 3 Standard Screen Screen Comment:
A fejlesztőrendszer által nyilvántartott információk: [Fixed Display: Text/Mark] Position Font Scale Smoothing 16, 0 Standard 1x1 (Equal)No alapjelei 0, 16 Standard 1x1 (Equal)No 80, 16 Standard 1x1 (Equal)No 0, 32 Standard 1x1 (Equal)No 80, 32 Standard 1x1 (Equal)No 0, 48 Standard 1x1 (Equal)No 80, 48 Standard 1x1 (Equal)No [Numeral Input] Position Table PLC Address Attribute Display Smoothing BkGnd Colour 24, 16 6 D00178 (Equal)Standard Dec No Black 96, 16 7 D00179 (Equal)Standard Dec No Black 24, 32 8 D00180 (Equal)Standard Dec No Black 96, 32 9 D00181 (Equal)Standard Dec No Black 24, 48 10 D00182
Attribute Standard
FrGnd Colour BkGnd Colour Description White Black A hûtök
Standard Standard Standard Standard Standard Standard
White White White White White White
Black Black Black Black Black Black
Word Max
Integer Decimal Sign Zero Sup Font Min Focus Frame Focus Attr
1
3
1 1 1 1
3 3 3 3
1 99999999
0
No
1 99999999
0
1 99999999
0
1 99999999
0
No No No
1
No
Yes
t1: t2: t3: t4: t5: sszám: Scale FrGnd Colour
Yes
Standard 1x1 Standard
White
Yes
Standard 1x1 Standard
White
Yes
Standard 1x1 Standard
White
Yes
Standard 1x1 Standard
White
Yes Yes Yes Yes
A következő kép egy gépészeti egység motorjainak hőkioldó állapotát mutatja. A PLC-ben a hőkioldók (bites változók) állapotától függően vagy a +, vagy a – (ASCII) karaktert írjuk a PLC DM változóiba. A definiált kép a következő: Screen No.: 6 Standard Screen Screen Comment:
A fejlesztőrendszer által tárolt információk az alábbiak: [Fixed Display: Text/Mark] Position Font Scale Smoothing Attribute 0, 0 Standard 1x1 (Equal)No Standard hökioldói 0, 16 Standard 1x1 (Equal)No Standard 1.:
FrGnd Colour BkGnd Colour Description White Black Véghütö I. White
Black
Ventilátor
227 0, 2.: 0, :
32
Standard
1x1 (Equal)No
Standard
White
Black
Ventilátor
48
Standard
1x1 (Equal)No
Standard
White
Black
Szívattyú
[String Display] Position Ref Table PLC Address Smoothing FrGnd Colour BkGnd Colour 120, 16 Dir 15 D00027 White Black 120, 32 Dir 16 D00028 White Black 120, 48 Dir 17 D00029 White Black
Word
Char Font
Scale
Attribute
1
2
Standard
1x1 (Equal)
Standard
No
1
2
Standard
1x1 (Equal)
Standard
No
1
2
Standard
1x1 (Equal)
Standard
No
Az NT 11S fejlesztési lehetőségei területén egy meglehetősen egyszerű, de nem túl hatékony programozási eszköz áll rendelkezésre. Jelen esetben nagyon hiányzik az (ami a nagyobb intelligenciájú NT-k, de más gyártók berendezéseiben is megtalálhatók), hogy egy bites változó két értékéhez két szöveget hozzárendeljünk. Ez csak úgy oldható meg, hogy a PLC-programban a hőkioldók pillanatnyi értékétől függő szövegeket – jelentős többletprogrammal – állítjuk elő. A működés következő lépése a képváltás mechanizmusa. A fejlesztőrendszer lekérdezi, hogy a PLC melyik változója (DM…) tartalmazza a megjelenítendő kép sorszámát. A PLC-program állítja be a képsorszámot. A kép számos módon váltható, jelen esetben az NT 11S F1…F4 funkcióbillentyűivel. [F-Key Input Notify Table] No PLC Address IO Comments 0 L0000000 1 L0000001 2 L0000002 3 L0000003
A fejlesztőrendszerben interaktív módon a négy funkcióbillentyűt a megjelölt bites PLC-változókhoz kapcsolták. Ezen bites változók 1 értékűek, ha az adott funkcióbillentyűt megnyomjuk, ill. 0 értékűek, ha a gombot nem működtetjük. Így egy PLC-programrészlettel a képváltás-mechanizmus megoldható. Az NT 11S és a PLC közötti adatcserét két adattábla kitöltésével befolyásolhatjuk: a numerikus és a szöveges adatok cseréjét írják le. [Numeral Memory Table] No Init Value Init 0 0 No 1 0 No 2 0 No 3 0 No 4 0 No 5 0 No 6 0 No 7 0 No 8 0 No 9 0 No 10 0 No 11 0 No 12 0 No 32 0 No 33 0 No 34 0 No 35 0 No [String Memory Table] No Init Content 15 16 17 18 19 20 21
Storage -
Word 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
PLC Address D00200 D00201 D00202 D00203 D00204 D00125 D00178 D00179 D00180 D00181 D00182 D00177 D00267 D00000 D00024 D00045 D00044 Init No No No No No No No
IO Comments t1 t2 t3 t4 t5 recept nmb sp1 sp2 sp3 sp4 sp5 sp. recept nmb. sp. nov. receptn ido1 db1 ido2 db2 Word 1 1 1 1 1 1 1
PLC Address D00027 D00028 D00029 D00030 D00031 D00032 D00033
IO Comments v11h v12h sz1h v21h v22h sz2h v31h
228 22 23 24 25 26 27 28 29 30 31
No No No No No No No No No No
1 1 1 1 1 1 1 1 1 1
D00034 D00035 D00036 D00037 D00038 D00039 D00040 D00041 D00042 D00043
v32h sz3h v41h v42h sz4h v51h sz5h szh f1h f2h
A nagyobb intelligenciájú (pl. grafikus) terminálok programozása hasonló elvek alapján történik, de lényegesen több funkció ismertetése szükséges.
Irodalomjegyzék [1]
E. A. Parr: Programmable Controllers - An Engineer's Guide. Newness, 1996. [2] Ian G. Warnock: Programmable Controllers Operation and Application. Prentice Hall International, 1988. [3] A. J. Crispin: Programmable Logic Controllers. McGraw-Hill Companies, 1997. [4] Tverdota M., Harkay T.: Villamos vezérléstechnika. Budapest, KKMF, 1998. [5] IEC-1131/I-IV. szabvány, 1992. [6] SIEMENS: LOGO! kézikönyv. 1999. [7] Keresztesi K.: VLC, a megbízható PC alapú vezérlő. Magyar Elektronika, 1999/10. [8] OMRON: CPM PLC Felhasználói kézikönyv. 1999. [9] SIEMENS: S7 PLC Data Book. 1996. [10] BOSCH: PLC gépkönyv. 1997. [11] Z'WORLD: BL1500 User's Manual. 1990. [12] SAIA: Process Control Devices PCD2 Series. 1993. [13]
OMRON: E5AK Digital Controller Users Manual. M088-E1-1, 1998.
229
6. PÉLDÁK PLC ALAPÚ IPARI AUTOMATIZÁLÁSRA A jellegzetes ipari vezérlések ismertetésénél a példák jelentős része a gépipari alkalmazások köréből került kiválasztásra, ahol a pneumatikus beavatkozás jellemző. Kiválasztáskor a következő szempontokat vettük figyelembe: − a példák bemutatása a rutinvezérlésekkel kezdődik, amelyek ismeretében a bonyolultabb vezérlések részben felépíthetők; − a rutinvezérléseknél a hagyományos pneumatikus analógiát is bemutatjuk a szemléletbővítés és a huzalozott pneumatikus vezérlésről a PLC-s vezérlésre történő áttervezés megkönnyítéséhez, − a programok megvalósításához a 3. fejezetben megismert, de kevés utasítással rendelkező PLC-t választottunk a könnyebb megértéshez.
6.1. Gépipari automatizálási mintapéldák A gépiparban előforduló különféle automatizálási feladatok a következő csoportokra oszthatók: − tisztán kétállapotú vezérlések villamos, ill. pneumatikus kimenetekkel (pl. logisztikai, mechatronikai stb. alkalmazások); − vezérlés és pozícionálás jellegű helyzet- és sebességszabályozással kombinált feladatok igényes ember-gép kapcsolattal (pl. CNC, CAM, robottechnika); − rugalmas gyártórendszerekben (FMS) többszintű informatikai hálózattal kombinált vezérlési és szabályozási feladatok; − a vállalati információs rendszerrel kombinált, számítógéppel integrált gyártórendszerek (CIM) irányítása. A első feladatot részletesen, a többit rendszertechnikai szinten tárgyaljuk. 6.1.1. Pneumatikus vezérlések A pneumatikus, hidraulikus rendszereknek a gépiparban kiemelt jelentőségük van. A pneumatikus rendszerekben az információt hordozó közeg a sűrített levegő, amelynek nyomása vagy áramlása az információ. Pneumatikus elemeket főként a gépiparban alkalmaznak, ahol a kimenőjelet egyenes vonalú mozgással kifejtett erőátvitelre használják. Másik alkalmazási terület a vegyi és rokon iparágak, a tűz- és robbanásveszélyes terek automatizálásával. Napjainkban a gyújtószikramentes villamos eszközök elterjedésével az utóbbi területen a jelentőségük csökken, ezért csak a gépiparban elterjedt útszelepekkel foglalkozunk. A nagynyomású pneumatikus rendszerek két jellegzetes elemtípusból épülnek fel: útszelepekből és munkahengerekből. Egyenes vonalú mozgások létrehozására a legegyszerűbb végrehajtó szerv a munkahenger. A munkahengerek lehetnek egy-, ill. kétoldali működtetésűek. Az egyoldali működtetésű munkahenger visszatérítését rendszerint rugóerő végzi (6.1. ábra).
230
6.1. ábra. Munkahengerek működtetése A munkahengereket útszelepekkel működtetik. Az útszelepek a sűrített levegő áramlásának irányát határozzák meg. A fő áramlási irányok: a táplevegő-hálózatból a felhasználási hely felé, valamint a felhasználási helytől az atmoszférába. Az útszelepeket a kapcsolási helyzetek száma, a csatlakozóik száma és működtetési módjuk alapján különböztetik meg. Leggyakoribbak a kétállású útszelepek. Az útszelepek jelölésére a CETOP (Európai Olajhidraulika és Pneumatika Bizottság) jelölése terjedt el, de még mindig van, pl. MECMAN jelölés is. A CETOP szimbólum a szelepek működését és funkcióját szemlélteti. A szelep minden működési állapotát egy-egy négyzetnek (téglalapnak) rajzoljuk és bejelöljük az áramlás irányát. E szerint egy kétállású szelep kettő, a háromállású szelep szimbóluma három négyzetből áll. Ha működtetőszervet működtetünk, mindig azt a kapcsolási helyzetet kapjuk, amelyet a vezérlőszerv ábrája melletti négyzetben tüntettünk fel. A csatlakozónyílások elhelyezésének nem kell megegyeznie azok valóságos helyzetével. Csatlakozások számozása: 1 − beömlés (csatlakozás a sűrítettlevegő-hálózatba); 2 − kiömlés, kivezetés a fogyasztóhoz (pl. munkahengerhez); 3 − a 2-es kivezetéshez tartozó kipufogás; 4 − kiömlés, kivezetés a fogyasztóhoz (pl. munkahengerhez); 5 − a 4-es kivezetéshez tartozó kipufogás; 10 − vezérlőlevegő-csatlakozás, amely zárja a normál helyzetben nyitott szelepet kétutas szelepeknél; 12 − vezérlőlevegő-csatlakozás, amely az 1-2 utat nyitja; 14 − vezérlőlevegő-csatlakozás, amely az 1-4 utat nyitja. A háromutas szelepek működését és CETOP jelölését szemléltetjük a 6.2. ábrán.
231
6.2. ábra. A háromutas szelepek működése és CETOP jelölése A szelepek egy csoportja kitüntetett alaphelyzetű (ezt a rugó jelképe mutatja). A működtetőjel megszűnte után a szelepek automatikusan az alaphelyzetbe állnak. Aszerint, hogy a táplevegőt a szelep ebben a helyzetben tovább engedi vagy elzárja, megkülönböztetünk alaphelyzetben nyitott, ill. alaphelyzetben zárt kapcsolási módokat. Az impulzusvezérlésű szelepeknek nincs alaphelyzete, a szelep helyzetét a legutóbbi működtetés határozza meg. A 6.3. ábrán a leggyakoribb szelepek CETOP jelképe látható, ahol a reteszelőszelepeket is feltüntettük. Ebbe a csoportba a visszacsapó, váltó-, kétjel-működtetésű és a gyorslégtelenítő szelepek tartoznak.
A 6.3. ábra. A leggyakoribb szelepek CETOP jelképe
232 A visszacsapó szelepek az egyik irányban szabad áramlást biztosítanak, míg a másik irányú áramlást megakadályozzák. A váltószelepek (kettős visszacsapó szelepek) a logikai VAGY, a kétjel-működtetésű szelepek az ÉS kapcsolatot valósítják meg. A gyors légtelenítőszelep a levegő áramlásának irányától függően az 1-2 áramlási irányt biztosítja, ill. ellenkező levegőáramlás esetén megnyitja a 2-3 áramlási irányt, így a 2 csatlakozóról a levegő a 3 csatlakozón át közvetlenül a szabadba távozik. Ezzel a szeleppel a munkahengerek dugattyúsebességét növelhetjük azáltal, hogy a kipufogóhenger-kamra gyors leürítését biztosítja a szelep. Az útszelepek átkapcsolása, azaz a sűrített levegő áramlási irányának kiválasztása a szelep működtetésével történik. A különböző működtetési módokat és jelképeiket a 6.4. ábrán láthatjuk.
6.4. ábra. A különböző működtetési módok és jelképeik Az útszelepek az érintkezőkhöz hasonlóan sorba, ill. párhuzamosan kapcsolhatók. Párhuzamos kapcsolás esetén a kimeneten váltószelepet kell beiktatni a káros kipufogás elkerülésére, amely a szelepek ellentétes állapotában léphet fel. Az egyes kapcsolások lehetnek aktívak és passzívak attól függően, hogy a kimenőjelet bevezetett változó (passzív) vagy a tápnyomás (aktív) hozza létre. A NEM kapcsolatot alaphelyzetben nyitott, a jelmásolást alaphelyzetben zárt szeleppel valósíthatjuk meg (6.5. ábra).
6.5. ábra. Jelfordító és jelmásoló A 6.6. ábra kétféle passzív és egy aktív ÉS kapcsolást mutat, amelyet két jelmásoló soros kapcsolásával valósíthatunk meg a c) ábra szerint. Kétféle passzív (a) és két aktív (b, c) VAGY kapcsolás látható a 6.7. ábrán.
233 A b) ábra szerinti kapcsolásban váltószelep nélkül A = 0, B = 1 esetén (és fordítva) a táplevegő az alaphelyzetben nyitott szelepen a szabadba távozna.
6.6. ábra. Kétféle passzív (a, b) és egy aktív (c) ÉS kapcsolás
6.7. ábra. Kétféle passzív (a) és két aktív (b, c) VAGY kapcsolás Hasonló a NAND, ill. NOR kapcsolat is a De Morgan-szabályok alkalmazásával (6.8. ábra).
6.8. ábra. NAND, ill. NOR kapcsolat útszelepekkel 6.1.2. Pneumatikus rutinvezérlések A PLC, a villamos bemenetek és a pneumatikus végrehajtó szervek működtetését szemlélteti a 6.9. ábra. A bemeneti eszközök rendszerint mechanikus kapcsolatban vannak a munkahengerekkel, például végálláskapcsolóként a henger által működtetve. A PLC be- és kimenetei egy-
234 aránt villamos jellegűek, mivel a szelepek elektromágneses működtetésűek és a végálláskapcsolók villamos jelet szolgáltatnak.
6.9. ábra. PLC illesztése a pneumatikus rendszerbe A 6.10. ábrán a jelmásoló (alaphelyzetben zárt) kapcsolásának PLC-s megfelelőit (a), valamint a jelfordító (alaphelyzetben nyitott) kapcsolás utasításlistáját és létradiagramját adtuk meg (b).
6.10. ábra. Jelmásoló (a) és jelfordító (b) megvalósítása A membrános elemmel létrehozott ÉS kapcsolat (a), ill. az INHIBÍCIÓ (b) változatai a 6.11. ábrán láthatók.
235
6.11. ábra. ÉS (a) ill. INHIBÍCIÓ (b) változatai A VAGY kapcsolat (váltószelep) és a NOR funkció változatait a 6.12. ábra szemlélteti.
6.12. ábra. VAGY (a), ill. NOR (b) változatai Az ANTIVALENCIA (EXOR) függvény (a), valamint a NAND (b) pneumatikus és PLC-s változatait a 6.13. ábrán láthatók.
236
6.13. ábra. EXOR (a), ill. NAND (b) változatai A 6.14. ábrán egyszerű ekvivalenciák láthatók.
237 6.14. ábra. Ekvivalenciák változatai SR FF és monoflop megoldásokat szemléltet a 6.15. ábra csak ponált kimenetekkel (a), ill. komplemens kimenetekkel (b).
6.15. ábra. SR FF és monoflop megoldások Beírásra (a), ill. törlésre elsőbbséget biztosító (b) pneumatikus SR FF megoldás változatait szemlélteti a 6.16. ábra. A beírási elsőbbség úgy biztosítható, hogy a RESET ágban szerepel a beírási feltétel negáltja. Így a beírási feltétel teljesülésekor a törlés inhibitálódik. A törlési elsőbbség úgy (is) biztosítható, ha időben a RESET feltétel követi a SET feltételt, így ez lesz domináns. A következőkben néhány ábrán az utasításlistás program könnyebb megértéséhez egy-egy lehetséges memória-címtartományt is hozzárendelünk.
6.16. ábra. Beírásra (a), ill. törlésre (b) elsőbbséget biztosító SR FF
238 A példákban a KEEP funkció az adott PLC-ben az SR FF megvalósítását jelenti. Tápfeszültség- (tápnyomás-) figyelő pneumatikus kapcsolás és programja látható a 6.17. ábrán. A kapcsolás tápfeszültség- (tápnyomás-) kimaradás után nem veszi fel automatikusan a hiba előtti állapotát [2].
6.17. ábra. Táplálási hibafigyelő megoldások Bekapcsolási késleltetés előállítási változatai láthatók a 6.18. ábrán. A pneumatikus kapcsolás alaphelyzetben zárt szeleppel, fojtással és puffertartállyal van megoldva [2].
6.18. ábra. Bekapcsolási késleltetés megoldásai Kétkezes biztonsági vezérlés változatai láthatók a 6.19. ábrán. A biztonsági jelző arra utal, hogy a START jel csak akkor kerül kiadásra, ha a két nyomógomb lenyomása 0,3 mp-en belül van. Bármelyik kéz elengedésekor azonnal a STOP hatás érvényesül. Így megakadályozható az indító szelepkarok kitámasztásával történő gépindítás. A kapcsolás alkalmazását a balesetveszélyes területeken szabvány írja elő.
239
6.19. ábra. Kétkezes biztonsági vezérlés megoldásváltozatai A sorrendi folyamatábra (SFC) egy elemének pneumatikus és programbeli megfelelője látható a 6.20. ábrán. Eszerint a HR 004 lépés létrejöttének feltétele a HR 003 & 006, míg a HR 004 törlését a HR 005 teljesülése végzi [2].
240
6.20. ábra. Az SFC egy eleme Az SFC pneumatikus kapcsolás és a PLC program megértését célozza a 6.21. ábra. Az ábra jól használható a pneumatikus vezérlések PLC-program írásához.
6.21. ábra. SFC három elemének kapcsolatrendszere és megoldásai A pneumatikus vezérléseket rendszerint munkadiagramon adják meg. Egy feladat megoldását a munkadiagram megrajzolásával kezdjük. Példaként a munkadarab-befogás és fúrósüllyesztés vezérlését mutatjuk be két munkahenger segítségével (6.22. ábra). Az A munkahenger a befogást, a B munkahenger a fúró süllyesztését végzi. A b ábrán a feladatot megvalósító elektrohidraulikus kapcsolást, az a ábrán a munkadiagramot rajzoltuk meg. A hidraulikus jellegre utal, hogy a hengerek működtetésénél a szivattyút és az olajtartályt is feltüntettük és a visszafolyás nem a légtérbe, hanem a visszafolyó ágon át a tartályba történik. A munkadiagramon feltüntetjük a bemeneti változókat és a változásokat létrehozó kimeneteket. Az egyes állapotokat kiváltó bemeneti jelkombinációk: 1. állapot: 2. állapot: 3. állapot: 4. állapot:
502 = 001 & 003, 504 = 002 & 003, 503 = 002 & 004, 501 = 002 & 003.
Mivel a 002 & 003 kombináció más-más kimeneti eseményt (504, ill. 501) hoz létre, ezért a feladat sorrendi jellegű. A létradiagramos, ill. utasításlistás megoldást a 6.22. ábra mutatja.
241
6.22. ábra. A befogás és fúrósüllyesztés változatai Igen gyakori feladat az egyes munkafázisok ismétlése. Erre példa a 6.23. ábra, amelyen a B henger kétszer normál és egyszer időben nyújtott munkafázist hajt végre [2].
242
6.23. ábra. Ismételt munkafázis kapcsolása és programozása A munkadiagram szerint hét belső állapotot kell megkülönböztetni, így a feladat 7 SR FF (vagy tartó áramkör) felhasználásával oldható meg a 6.24. ábra szerint [2].
243
6.24. ábra. A 6.23. ábra szerinti munkadiagram PLC-programja A következőkben a pneumatikus vezérlésekben használt három rutinmegoldást és PLC-s változatát mutatjuk be. 1. A „vészstop” (emergency stop) alapkapcsolását és programját láthatjuk a 6.25. ábrán. A kapcsolás két kézi működtetésű, háromutas, rugó-visszatérítésű impulzusszelepet
244 (STOP, RESET) és egy kétállapotú ötutas szelepet igényel. A kapcsolás a RESET aktiválásakor (012) alaphelyzetbe kerül és a táplevegőt kijuttatja. STOP-jel hatására a táplevegő lekapcsolódik és a kimenetre a vészstop jel jut ki [2].
6.25. ábra. STOP-RESET vészlekapcsolás és programozása 2. A START funkcióval bővített vészstop megoldás szerint a táplevegő aktiválása csak a RESET működtetése után a START-gomb aktiválásával lehetséges (6.26. ábra) [2]. A STOP működtetésének hatására a táplevegő-ellátás megszűnik.
245
6.26. ábra. STOP-RESET-START kapcsolás és programozása 3. Egy KÉZI-AUTOMATIKUS üzemmódkapcsolóval kombinált vészstop megoldását és programozását mutatja be a 6.27. ábra [2]. A kapcsolásban három ötutas memóriaszelep található és a programban is három tartórelé (KEEP) van. Gyakran van szükség a kimenő startjel szétválasztására gépi START és kézi START formájában. A vészleállítást itt is a táplevegő lekapcsolásával oldják meg.
246
6.27. ábra. STOP-RESET-START kapcsolás KÉZI/AUT üzemmód választásával
6.1.3. Átrakási műveletek vezérlése A gépipari vezérlési példák bemutatását egy emelés-szorítás-továbbítás-elengedés műveletekből álló átrakó vezérlésével zárjuk. Az átrakási műveletet végző robotfej vezérlését szemlélteti a 6.28. ábra [3]. A technológiai művelet célja a munkadarab átrakása a bal oldali asztalról a jobb oldali asztalra. A mozgatást három munkahenger végzi a következő tekercs hozzárendelésekkel.
247 Emelés: Süllyesztés:
Y432 Y430
Jobbra mozgatás: Balra mozgatás: Szorítás/elengedés:
Y433 Y434 Y431
Helyzetérzékelők X400 X401 X402 X403 X404
START indító nyomógomb Alsó véghelyzetkapcsoló Felső véghelyzetkapcsoló Jobb oldali véghelyzetkapcsoló Bal oldali véghelyzetkapcsoló
Alaphelyzet: X402 és X404. A művelet rövid leírása 1. 2. 3. 4. 5. 6. 7. 8.
Startgomb hatására (X400) az Y430 aktiválása révén az alsó helyzetbe kerül (X401). A munkadarab-befogó szerkezet Y431 működik. A befogás 1,7 s-ig tart. A megfogás után a kar a munkadarabot felemeli X402-ig. A kar jobbra mozog X403-ig. A munkadarab leeresztése a jobb oldali munkaasztalra (X401). A munkadarab elengedése (1,5 s). A kar felemelkedik (X402). A kar visszatér az alaphelyzetbe (X404).
6.28. ábra. Emelő, átrakó robotfej vezérlési sémája A vezérlőberendezés négyféle üzemmódot biztosít. Az első három üzemmód a beüzemeléshez szükséges. A vezérlőberendezés kezelői panelje a 6.29. ábrán látható [3]
248 Egy művelet üzemmódban (Single operation) a gép egy átrakási műveletrészt hajt végre. A végrehajtott műveleteket a Funkcióválasztás kapcsoló jelöli ki. Egy lépés üzemmódban (Single step) a START-gomb hatására egy lépés hajtódik végre. Például az alaphelyzetből a kar leereszkedik a bal asztalra. Egy ciklus üzemmódban (One cycle operation) egy komplett ciklus hajtódik végre: alaphelyzetből indul és alaphelyzetbe tér vissza. Folyamatos üzem (Continuous operation) üzemmódban a START-gomb hatására az alaphelyzetből kiindulva a kar ismételten végre hajtja a komplett átrakási ciklust. A STOPgomb hatására a kar alaphelyzetbe tér vissza és leáll.
6.29. ábra. A vezérlőberendezés kezelői panelje A feladat be-/kimeneteinek kiosztása a 6.30. ábra szerinti. Az üzemmódokat bemutató ábrák a [3] alapján készültek.
249
6.30. ábra. A kiinduló feladat be-/kimeneteinek kiosztása A feladat jó példa a funkcióváltások bemutatására, amely feltételes ugrás lévén lehetséges. A program egyszerűsített létradiagramja a 6.31. ábrán található. Az egyes ágak funkciói az ábra magyarázata alapján követhetők.
250
6.31. ábra. A kiinduló feladat vezérlésének létradiagramja Az Egy művelet funkciót a 6.32. ábrán található létradiagram valósítja meg.
251
6.32. ábra. Az Egy művelet funkció létradiagramja Az automatikus működés folyamatábrája a 6.33. ábrán látható.
252
6.33. ábra. Az automatikus működés folyamatábrája A 6.34. ábrán a folyamatos üzem létradiagramja látható STL funkciókkal.
253
6.34. ábra. A folyamatos üzem létradiagramja STL funkciókkal
254
6.2. PLC-k a rugalmas gyártórendszerekben A PLC-ket a gépipari automatizálásban egyrészt az egyedi vezérlések megoldására, másrészt gépcsoportok vezérlésére használják. A következőkben a gépcsoportokat vezérlő alkalmazást mutatjuk be, ahol az egyik legfontosabb művelet az egyes részműveletek ütemezése. Leggyakrabban használt gépcsoportok a rugalmas gyártócella, ill. a rugalmas gyártórendszer. Rugalmas gyártócella (FMC) a legegyszerűbb és ezért a legrugalmasabb autonóm gyártóegység, amely egy CNC szerszámgépből, automatizált anyagkezelő berendezésből (pl. robot) és input-output puffertárolókból tevődik össze. Rugalmas gyártórendszer (FMS) olyan real-time irányítású rendszer, amely általános célú szerszámgépekből vagy ilyeneket tartalmazó gyártócellákból áll. A rendszerben kis sorozatban gyártandó munkadaraboknak számos különböző technológiai utat kell megtenniük a készre gyártásig. A rendszer az anyagmozgató és -szállító berendezések változatos fajtáival lehet felszerelve. Jellemzője a gyártási folyamat- és termékflexibilitás, aminek következtében könnyen és automatikusan áthidalja a gépmeghibásodásokat. Egy tipikus rugalmas gyártócella vázlata látható a 6.35. ábrán.
6.35. ábra. Egy rugalmas gyártócella elemei A rendszer cellavezérlő számítógépen keresztül kapcsolódik az üzemi hálózathoz. Egy gyártócella informatikai hálózatának felépítését szemlélteti a 6.36. ábra, amelyen látható a PLC-k elhelyezkedése és funkciója az informatikai rendszerben.
255 6.36. ábra. Gyártócella informatikai hálózatának felépítése A PLC szerepe a rugalmas gyártórendszerben: − az egyes automatizált alegységek működésének ütemezése (sceduling) és szinkronizálása; − egyes folyamatok konkrét automatizálása (pl. konvejorrendszer); − a gyártási folyamat felügyelete, gépek, berendezések állapotfelügyelete; − állandó információszolgáltatás a gyártási folyamatról a cellavezérlő számítógép felé.
6.3. Számítógéppel integrált gyártás (CIM) A CIM a mai modern szemléletben olyan számítógépes koncepció, módszer- és eljárásgyűjtemény, amely alkalmas a tágabban értelmezett termelésmenedzsment-funkciórendszer informatikai támogatására, szervezeti, funkcionális és információs integrálására. A CIM többszintű informatikai rendszere a 6.37. ábrán látható [6].
6.37. ábra. A CIM többszintű informatikai rendszere A rendszer csúcsán a vezetési információs rendszer áll (6. szint: Management Information System). Megfigyelhető, hogy a CIM-ben valamennyi automatizálási, informatikai ismeret integrált formában megjelenik. A PLC-k CIM-en belüli szerepét szemlélteti a 6.38. ábra. A PLC egyrészt tartja a kapcsolatot a folyamattal közvetlenül vagy terepi hálózaton, másrészt kommunikál a fölötte lévő számítógéppel. Ez a kommunikáció kétirányú: jelentéseket küld a folyamat állapotáról, ill. parancsokat és adatokat fogad. A PLC-k szerepe a CIM-ben: − a konkrét gyártási, tárolási folyamat irányítása, a folyamatok ütemezésének biztosítása; − információszolgáltatás felfelé a termelési folyamat pillanatnyi állapotáról;
256 − hiba-, ill. státusinformációk küldése felfelé archiválás és adatbázis-frissítés céljából; − a gyártással kapcsolatos információk, parancsok fogadása fentről; − a felső szintről jövő információ alapján az irányítási algoritmusok közötti választás, komplett program letöltése.
6.38. ábra. PLC szerepe a CIM-ben
6.4. Vegyipari keverési folyamat automatizálása A 6.39. ábrán négy tartályból álló polimer alapanyag-keverő tartály technológiai vázlata látható [3].
6.39. ábra. Polimer alapanyag-keverő tartály technológiai vázlata
257 A tartályok üres, ill. tele állapotot detektáló érzékelőkkel vannak ellátva. A T2 tartály fűtőegységgel van felszerelve a polimer megfelelő hőmérsékleten tartásához. A T3 tartály keverőkarjaival keveri a két komponenst. A T3 tartályból szűrőn kerül át a keverék a T4 tartályba. A T1, T2 tartályok töltése a P1, P2 pumpával történik. A pumpákat a tele érzékelők kapcsolják ki. Az alsó két tartály (T3, T4) kétszer olyan térfogatú, mint a felső tartályok. A T2 tartályban lévő folyadékot 60 oC-ra kell felfűteni. A hőmérsékletet érzékelő méri. Amikor a hőmérséklet eléri a 60 oC -ot, akkor a P3, P4 pumpák révén át kell tölteni a folyadékot a T3 tartályba. Amikor a T3 megtelik, a P3, P4 pumpákat ki kell kapcsolni. Ekkor kell indítani a keverést a T3 tartályban. 60 s keverési idő elteltével a keveréket át kell pumpálni a P5 működtetésével a szűrőn keresztül. A P5 pumpát akkor kell leállítani, ha a T4 tartály megtelt vagy a T3 üres. Végül a megkevert és megszűrt terméket a tárolósilóba kell tölteni a P6 pumpa működtetésével. A folyamat SFC folyamatábráját a 6.40. ábra szemlélteti.
6.40. ábra. A keverőtartály vezérlésének folyamatábrája A be/kimenetek hozzárendelését a 6.1. táblázat tartalmazza. 6.1. táblázat. A be/kimenetek hozzárendelése Funkció 1. tartály üres 1. tartály üres 2. tartály üres 2. tartály üres 3. tartály üres
Jelölés T1E T1F T2E T2F T3E
PLC cím X401 X402 X403 X404 X405
Állapot bemenet bemenet bemenet bemenet bemenet
258 3. tartály üres 4. tartály üres 5. tartály üres Hőmérséklet-érzékelő START kapcsoló
1. pumpa 2. pumpa 3. pumpa 4. pumpa 5. pumpa 6. pumpa Fűtő elem Keverőelem Időzítő
T3F T4E T4F TEMP 1. állapot 2. állapot 3. állapot 4. állapot 5. állapot 6. állapot 7. állapot 8. állapot P1 P2 P3 P4 P5 P6 HEAT STIR TIME
X406 X407 X410 X411 M70 M101 M102 M103 M104 M105 M106 M107 M108 Y430 Y431 Y432 Y433 Y434 Y435 Y436 Y437 Y450
Kiinduló egyenletek: 1. lépés: 8 & T 4 E V INIT V 1& T1F E szerint az 1. lépés akkor következik be, ha − a 8-as lépés befejeződött ÉS a 4. tartály üres; − VAGY a kezdeti ciklus van kezdeményezve; − VAGY az 1. lépés és az 1. tartály még nem telt meg. További logikai egyenletek. 2. lépés: 8 & T 4 E V INIT V 1 & T 2 F 3. lépés: 4. lépés: 5. lépés: 6. lépés: 7. lépés: 8. lépés:
2 & T 2 F V HEAT & TEMP (HEAT & TEMP V 4 & T 3 F) & T1E (HEAT & TEMP V 5 & T 3 F) & T 2 E (HEAT & TEMP V 6 & TIME ) & T 3 E (6 & TIME V 7 & T 4 F ) & T 3 E 7 & T 4F V 8 & T 4E .
Fenti egyenleteket átalakíthatjuk: 1. lépés: 2. lépés: 3. lépés: 4. lépés:
8 & T 4 E V INIT V 1 & TIF 8 & T 4 E V INIT V 2 & 3 2 & T2F V 3 & 5 (3 & TEMP V 4 & T 3 F) & T1E
bemenet bemenet bemenet bemenet PLC merker merker merker merker merker merker merker merker merker kimenet kimenet kimenet kimenet kimenet kimenet kimenet kimenet belső timer
259
( ) 6. lépés: (3 & TEMP V 6 & 7) & T 3 E 7. lépés: (6& TIME V 7 & 8 ) & T 3E
5. lépés: 3 & TEMP V 5 & T 3F & T 2 E
8. lépés: 7 & T 4 F V 8 &1 INIT = 1. A feladat létradiagramja a 6.41. ábra szerinti [3].
260
6.41. ábra. A keverőtartály vezérlésének létradiagramja
261
6.5. Mikro-PLC-k alkalmazása A PLC-k legkisebb és legújabb kategóriája a mikro-PLC. Közös jellemzőjük, hogy mágneskapcsolónyi méretűek, 5-10 bemenettel, 3-5 kimenettel vannak ellátva és a programozói és megjelenítési funkciót is tartalmazzák, sőt terepi buszrendszer is csatlakozhat hozzájuk. A mikro-PLC-k tipikus képviselője a LOGO! család. Műszaki adatok: − méretek: 72 x 90 x 55 mm-től 126 x 90 x 55 mm; − bemenetek: 6...12 típustól függően; − kimenetek: 4...8 típustól függően; − ASI slave busz interfészkezelés típustól függően.
A SIEMENS gyártmányú LOGO! felépítését szemlélteti az 6.42. ábra [9].
6.42. ábra. A LOGO! felépítése A kimenetek lehetnek 4Η230 V/8 A-es (relés) vagy 8Η24 V/0,3 A-es (tranzisztoros) kivitelűek. A LOGO!-t a mágneskapcsolókhoz hasonlóan DIN sínre lehet felszerelni. A LOGO! alapkiépítésben hat beépített alapműveletet és 11 beépített különleges műveletet képes végrehajtani. Alapműveletek: − AND − OR − NOT − NAND − NOR − XOR
záróérintkezők (3 db) soros kapcsolása; záróérintkezők (3 db) párhuzamos kapcsolása; bontóérintkező; bontóérintkezők (3 db) párhuzamos kapcsolása; bontóérintkezők (3 db) soros kapcsolása; két váltóérintkező soros kapcsolása.
262 Különleges funkciók: − bekapcsolási késleltetés; − kikapcsolási késleltetés (alkalmazási példa: lépcsőházi világítás automatája); − ki-/bekapcsoló relé (alkalmazási példa: folyosóvilágítás); − kapcsolóóra + naptár; − öntartó relé (SR FF); − impulzusadó; − tárolóbekapcsolás késleltetéssel; − előre- és visszaszámlálás.
A LOGO! logikai szimbólumokkal programozható. Az LCD megjelenítőn egyidejűleg egy szimbólumot jelenít meg. A logikai hálózat kialakításához a LOGO! blokkszámmal látja el az egyes logikai modulokat, amivel szervezhetjük a blokkok kapcsolatát (6.43. ábra) [9].
6.43. ábra. Logikai blokkok összekapcsolása A LOGO! vagy a saját kezelőszervei és az LCD kijelzője felhasználásával vagy PC-s fejlesztőrendszer támogatásával programozható. A PC-s LOGO! szoftver előnyei: − a programozás a LOGO!-tól független; − a fejlesztett program szimulálható; − kapcsolási terv előállítható és kinyomtatható; − a program tárolása merevlemezen vagy más adathordozón lehetséges; − a program átvihető a LOGO!-ból a PC-be vagy a PC-ből a LOGO!-ba. Néhány LOGO! alkalmazási ajánlás: − lépcsőház-, ill. folyosóvilágítás; − automatikus ajtó működtetése; − riasztóberendezés; − szellőztetőberendezés vezérlése; − ipari kapu automatikus működtetése; − több ipari kapu vezérlése és felügyelete; − fénycsövek működtetése; − háztartási vízszivattyú vezérlése; − több szivattyú központi vezérlése és felügyelete.
263 Példaként a középületek, szupermarketek automatikus működtetésű ajtajának vezérlését mutatjuk be LOGO! PLC-vel. Az automatikus ajtó követelményei: − automatikusan ki kell nyílnia, ha valaki közeledik hozzá, − addig nyitva kell maradnia, amíg valaki az átjáróban tartózkodik, − a fenti feltételek nem teljesülése esetén, rövid várakozási idő elteltével automatikusan be kell záródnia.
Az ajtóműködtetés technológiája az 6.44. ábrán látható [9].
6.44. ábra. Automatikus működtetésű ajtó technológiája Az ajtót csúszó tengelykapcsolón keresztül egy motor mozgatja. Így elkerülhető, hogy valaki a két szárny közé beszoruljon vagy megsérüljön. Az egész vezérlés főkapcsolón keresztül van a hálózatba kötve. A korábbi érintkezős megoldás a 6.45. ábrán látható.
6.45. ábra. Automatikus működtetésű ajtó érintkezős vezérlése
264 Amikor a B1 vagy a B2 mozgásérzékelő valaki közeledtét érzékeli, akkor a K3 mágneskapcsoló elindítja az ajtó nyitását. Ha már egyik mozgásérzékelő sem jelez mozgást, akkor a K4 mágneskapcsoló bezárja az ajtót. A megfelelő késleltetésről a K4 időrelé gondoskodik. LOGO!-val a kapcsolást lényegesen le lehet egyszerűsíteni. A készülékhez csak a mozgásérzékelőket, a végálláskapcsolókat és a mágneskapcsolót kell csatlakoztatni (6.46. ábra) [9].
6.46. ábra. Automatikus működtetésű ajtó vezérlési sémája LOGO!-val Felhasznált elemek: − K1 − K2 − S1 − S2 − B1 − B2
nyitás mágneskapcsoló; zárás mágneskapcsoló; zárva végálláskapcsoló (nyitóérintkező); nyitva végálláskapcsoló (nyitóérintkező); külső infravörös mozgásérzékelő (záróérintkező); belső infravörös mozgásérzékelő (záróérintkező).
A funkcióblokkos program a LOGO!-hoz a 6.47. ábra szerinti [9].
6.47. ábra. Funkcióblokkos program az ajtó működtetéséhez A 6.47. ábra a 6.45. ábra kapcsolási rajza alapján készült. A LOGO! kikapcsolás késleltetési funkciójával a program tovább egyszerűsíthető a 6.48. ábra szerint [9].
265
6.48. ábra. Egyszerűsített program az ajtó működtetéséhez A LOGO! típuson kívül számos hasonló mikro-PLC van forgalomban, például a Klöckner Moeller EASY típusa vagy a Schneider Electric ZELIO típusa.
Irodalomjegyzék
[1]
E. A. Parr: Programmable Controllers - An Engineer's Guide. Newness, 1996. [2] P. Rohner: Automation with Programmable Logic Controllers. Macmillan Press Ltd., 1996. [3] Ian G. Warnock: Programmable Controllers Operation and Application. Prentice Hall International, 1988. [4] Tverdota M., Harkay T.: Villamos vezérléstechnika. KKMF, Budapest, 1998. [5] Ajtonyi I.: Digitális rendszerek. Miskolc, Egyetemi Kiadó, 1998. [6] F. Erdélyi, T. Tóth: Control of Manufacturing Systems on the Base of a Multi-level Hierarchical Model. Proceedings of the 3rd CIRP Workshop. Tokio, 1996. [7] Spendel Zs.: A pneumatikus munkahengerek közvetlen és teljes funkcióvezérlése. Pneumatika, hidraulika, hajtástechnika, automatizálás, 1999/2000. [8] WONDERWARE: Factory Suite 2000 USERS MANUAL, 2000. [9] SIEMENS: LOGO! kézikönyv, 1999. [10] GE Fanuc Automation: Series 90-30 Programmable Controllers. Product Catalog, 1997. [11] SIEMENS: SIMATIC S7-200. Applications "Tips and Tricks", 1995.
266
7. A MESTERSÉGES INTELLIGENCIA MÓDSZEREI A PROGRAMOZHATÓ AUTOMATÁKBAN Az eddig ismertetett irányítástechnikai eszközök és módszerek közös jellemzője, hogy az ember által ismert, rendszerint matematikai úton definiált irányítási algoritmusokat valósítják meg, amelyek a rendszer matematikai modelljén alapulnak. Ha a jelenlegi automatákat az ember irányító tevékenységével összehasonlítjuk, azt tapasztaljuk, hogy az ember számos olyan irányítási, döntési funkcióval rendelkezik, amelyek a mai technikai szinten igen nehezen, vagy egyáltalán nem valósíthatók meg. Ilyenek például az autóvezetés, a beszédfelismerés, a képfelismerés, a tanulással kombinált irányítás, a tapasztalatokon alapuló döntések stb. Az emberhez hasonló döntési, irányítási funkciók a mesterséges intelligencia módszereinek irányítástechnikai alkalmazásával lehetségesek. A mesterséges intelligencia (Artificial Intelligence, AI) módszereinek elemei: − fuzzy módszerek; − neurális hálózatok; − genetikus algoritmusok; − szakértői rendszerek; − hibrid (vegyes) rendszerek. Az intelligens irányítás (Intelligent Control, IC) fogalomköre négy tudomány területre épül (7.1. ábra): irányításelmélet, számítástudomány, operációkutatás és mesterséges intelligencia módszerei.
7.1. ábra. Az intelligens irányítás fogalma Napjainkban a mesterséges intelligencia irányítástechnikai alkalmazása jó néhány területen mindennapossá vált (ABS fékrendszer, kamerafókuszálás stb.). Egyes PLC-, ill. DCS-gyártó cégek a mesterséges intelligencia felhasználásához hardver- és szoftvermodulokat forgalmaznak.
267
Az irányítástechnika területén inkább a fuzzy jellegű irányítás terjedt el, de vannak tanuló típusú, modellbecslés alapján működő neurális automaták, sőt vegyes (neuro-fuzzy) struktúrák is. A mesterséges intelligencia módszereinek alkalmazása a nem műszaki területeken (pl. orvostudomány, közgazdaságtan, szociológia) is jelentős.
7.1. Fuzzy jellegű irányítás Az irányítási folyamatok egy részében (diszkrét technológiák) a lejátszódó folyamatok irányítása a Boole algebra módszereivel megfelelően leírható és a vezérléstechnika eszközeivel megoldható. Folyamatos technológiák irányításánál a folyamat szabályozása a cél. Ilyen esetben a klasszikus szabályozáselmélet szükséges a tervezéshez. A szabályozástechnikai feladat konkrét megoldásához meg kell alkotni a rendszer pontos matematikai modelljét (pl. differenciálegyenlet, állapotegyenlet), amire a szabályozáselmélet módszerei alkalmazhatók. Ez a módszer a gyakorlatban akkor használható, ha nem túl bonyolult a rendszer, nincs túl sok be/kimenet, lineáris rendszerként értelmezhető, ill. a matematikai modell ismert. A klasszikus szabályozástechnikai módszerek alkalmazásának a kulcsa a modellalkotás precízsége, azaz a modell mennyire pontosan írja le a tényleges rendszert. Ehhez ún. mennyiségi modellezésre (quantitative modelling, kvantitatív modellezés) van szükség. Az irányítási feladatok jelentős része a klasszikus szabályozástechnika módszereivel csak körülményesen, ill. új módszerekkel oldható meg, ha a feladat túl bonyolult, vagy a matematikai modell nem ismert, vagy a modell nem lineáris stb. Ilyen feladatok az autóvezetés, az ABS fékrendszer, a videokamera képélességének szabályozása, mosógép szabályozása a ruha szennyezettségtől függően stb. Az ember a felsorolt irányítási tevékenységet viszonylag könnyedén megoldja anélkül, hogy egzakt matematikai modellt (kvantitatív modellt) használna. Ugyanis az ember nem mennyiségi, hanem minőségi modellt (qualitative modell - kvalitatív modell) alkalmaz az irányítási, döntési tevékenységének valamennyi területén. A mennyiségi, ill. minőségi modellezés jelentőségét szemlélteti, hogy a fejezet szerzőjének irányításával került kidolgozásra a TEMPUS MODIFY projekt keretében számos nyugati és hazai egyetem bevonásával a System Modelling angol nyelvű oktatási anyag a PHARE program támogatásával [6]. A döntési folyamatokban a minőségi modellt használjuk, amely a lejátszódó folyamat minősítésén alapul (pl. a hőmérséklet hideg, langyos, meleg, forró), ezért ezt a szabályozást minősítő szabályozásnak nevezzük. A minősítő szabályozástechnika minőségükkel (pl. kicsi, közepes, nagy, igen nagy) jellemzett változókon alapul. A milyenségükkel adott be- és kimeneti változók között feltételeket tartalmazó szabályokat alkot és így végzi el a szabályozást, ezért gyakran szabály alapú (szabály bázisú, rule based) rendszernek nevezik és a tudás alapú rendszerek közé sorolják. Napjainkban a legelterjedtebb tudás alapú szabályozás a fuzzy (minősítő) szabályozás. A fuzzy irányítók szabály alapú rendszerek, ahol a fuzzy halmazok határozzák meg az irányító be- és kimenőjeleinek minőségi értékeit. A minőségi értékek többnyire nyelvi kifejezések (nyelvi változók, linguistic variables), pl. kicsi, közepes, nagy, amelyek fuzzy halmazokkal kifejezhetők. A fuzzy logikával a szakértői tudás nyelvi változókkal könnyen implementálható és számítógépi algoritmussá formálható.
268
A fuzzy logika kidolgozása Lofti Zadeh nevéhez fűződik (1965). Az első fuzzy típusú szabályozót Mamdani a nem lineáris gőzgép automatizálására fejlesztette és alkalmazta.
7.2. A fuzzy logika alapjai 7.2.1. Fuzzy halmazok A halmazokat a körvonaluk tulajdonsága alapján feloszthatjuk crisp halmazra (éles, határozott körvonalú) és fuzzy halmazra (életlen körvonalú). Egy tetszőleges crisp halmaz a következő három módon adható meg [5]: − ha a halmaz véges, akkor elemei felsorolásával pl. (A = {1,10, 100, 1000}) ; − az elemeire teljesülő szabállyal pl. B = x ∈ X = 3n , n egész ;
( {
})
1, ha x ∈ A − a halmaz karakterisztikus függvényével pl. X A ( x ) = . 0, ha x ∉ A A crisp halmazok karakterisztikus függvénye minden alaphalmazbeli elemhez 0-át vagy 1-et rendel. A fuzzy halmaz karakterisztikus függvénye az alaphalmaz minden eleméhez valamely rögzített tartományból, amely általában a [0, 1] intervallum, rendel értéket. Ezen érték nagysága a halmazbeli tagság értékével arányos. Az ilyen függvényt tagsági függvénynek (membership function), az általa definiált halmazt fuzzy halmaznak nevezzük. A fuzzy halmazt µ
A
: X → [ 0 , 1 ] ill. A : X → [ 0 , 1 ]
(7-1)
jelöléssel fejezhetjük ki. A fuzzy halmazokkal a bizonytalan határú természetes nyelvi fogalmak reprezentálhatók. A fuzzy halmaz és tagsági függvény fogalmát egy biológiai, ill. egy technikai példával szemléltetjük. Az első példában három trapéz alakú halmazzal modellezzük az emberek életkorára vonatkozó fiatal, középkorú és öreg fogalmakat (7.2. ábra). A három fuzzy halmaz tagsági függvényei a [30, 80] intervallumon követhetők: ha x ≤ 30
1, A1 = (40 − x ) / 10, 0,
ha 30 < x < 40 ha x ≥ 40
0, (x − 30 ) / 10, A2 = 1, (70 − x ) / 10,
ha x ≤ 30 vagy x ≤ 70 ha 30 < x < 40 ha 40 ≤ x ≤ 60 ha 60 < x < 70
(7-2)
(7-3)
269
0, A3 = (x − 60) / 10, 1,
ha x ≤ 60 ha 60 < x < 70 ha x ≥ 70
(7-4)
7.2. ábra. Fiatal, középkorú, öreg fuzzy halmazok A fuzzy halmazt és a tagsági függvényt értelmezzük például egy kohászati kemence hőmérsékletére. Képezzük az alacsony, megfelelő, ill. magas nyelvi változók szerinti hőmérsékletek fuzzy halmazát (7.3. ábra).
7.3. ábra. Alacsony, megfelelő, magas fuzzy halmazok Példánkban 750 oC-nál nagyobb hőmérséklet egyértelműen magas, azaz a tagsági függvény értéke 1. A 650 oC alatti hőmérsékletről egyáltalán nem magas, azaz a tagsági függvény értéke 0. A két érték közötti hőmérsékleten a tagsági függvény értéke fokozatos, lineáris átmenettel 0 és 1 közötti. A fuzzy halmazok közötti fokozatos átmenet miatt a hőmérséklet egymást átfedő intervallumokra osztható. Így lehetséges, hogy egy adott hőmérséklet egyszerre több halmazba is tartozik különböző tagsági értékkel. Példaként a 700 oC a magas halmazba tartozik 0,5-ös tagsági értékkel és a megfelelő halmazba 0,25-ös tagsági értékkel. Ebben az értelemben a fuzzy halmazokat használjuk a nyelvi kifejezések megjelenítésére. Az egyes halmazokat viszonylagosnak kell értelmezni, mivel egy másik hevítendő anyag szempontjából egész más hőmérsékletértékek jelenthetik az alacsony, megfelelő, magas fuzzy halmazokat. A fuzzy halmazok alakja az adott alkalmazástól függ. A 7.4. ábrán trapéz alakú ( ∏ funkció) fuzzy halmazt láthatunk.
7.4. ábra. Trapéz alakú fuzzy halmaz definiálása
270
A ∏ funkció tagsági függvénye négy paraméterrel van definiálva a (7-5) szerint: 0 (X − α ) / (β − α ) ∏ (X, α, β, γ, δ) = 1 1 − (X − γ ) / (δ − γ ) 0
X≤α α≤X≤β β≤X≤γ γ≤X≤δ
(7-5)
X≥δ
A leggyakoribb háromszög alakú (∧) fuzzy halmazt szemlélteti a 7.5. ábra.
7.5. ábra. Háromszög alakú fuzzy halmaz definiálása A ∧ funkció három paraméterrel definiálható a (7-6) szerint. X≤α α ≤X≤β β≤X≤γ X≥γ
0 (X − α )/ (β − α ) ∧(X, α, β, γ ) = (γ − X )/ (γ - β ) 0
(7-6)
A fuzzy halmazokat nem csak egyenes vonalakkal definiálhatjuk. Leggyakrabban a Gauss-féle harang-, ill. a Zadeh-féle S funkció használatos. Utóbbit a 7.6. ábra szemlélteti.
7.6. ábra. S alakú fuzzy halmaz 7.2.3. Műveletek fuzzy halmazokkal Az első műveleteket a fuzzy halmazokkal Zadeh a komplemens, a metszet és az unió halmazműveletek alapján alkotta meg. A műveletek a Boole-algebrából ismert NEM, ÉS, ill. VAGY műveletek kiterjesztésének is tekinthetők. 7.2.3.1. Fuzzy komplemens (NEM művelet)
A fuzzy komplemens az alábbiak szerint definiálható (7-8). Valamely A fuzzy halmaz komplemensének nevezzük az X univerzumon azt az A halmazt, amelynek tagsági függvényértékei: µ (x ) = 1 − µ A (x ) ∀x ∈ X . (7-7) A A felírásból kiderül, hogy komplemensképzéssel helyettesítjük.
a
fuzzy
logikában
a
NEM
kapcsolatot
a
271
A fuzzy komplemensképzését szemlélteti a 7.7. ábra.
7.7. ábra. Fuzzy komplemens szemléltetése 7.2.3.2. Fuzzy halmazok uniója (VAGY művelet)
Az A és B fuzzy halmazok uniójának nevezzük azt az A ∪ B halmazt, amelynek tagsági függvényértékei: µ A ∪B = max µ A (X ), µ B (X ) ∀x ∈ X . (7-8)
[
]
A fuzzy halmazok unióját maxműveletnek, ill. általánosított változatát S normának nevezik. A fuzzy unió művelet szemléltetése a 7.8. ábrán látható.
7.8. ábra. Fuzzy halmazok uniója (maxművelet, VAGY) 7.2.3.3. Fuzzy halmazok metszete (ÉS művelet)
Az A és B fuzzy halmazok metszetének nevezzük azt az A ∩ B halmazt, amelynek tagsági függvényértékei:
[
]
µ A ∩B =min µ A (X ), µ B (X )
∀x ∈ X
(7-9)
A felírásból kiderül, hogy a fuzzy logikában az ÉS kapcsolatot minműveletnek, ill. általánosított változatát T normának nevezik. A fuzzy metszet fogalmát a 7.9. ábrán mutatjuk be.
7.9. ábra. Fuzzy halmazok metszete (minművelet, ÉS) 7.2.3.4. Az unióra, a metszetre és a komplemensre vonatkozó szabályok
a) A ∩ A ≠ 0 . Ezt szemlélteti a 7.10a ábra.
272
b) A ∪ A ≠ 1 . Ezt szemlélteti a 7.10b ábra.
7.10. ábra. Komplemens fuzzy halmazok metszete (a), és uniója (b)
7.3. Fuzzy következtető rendszer A fuzzy halmazokat és a fuzzy halmazokon értelmezett műveleteket felhasználva létre lehet hozni egy fuzzy következtető rendszert vezérlési és/vagy szabályozási célra. Ezen szabályrendszernek több elnevezése használatos: - Fuzzy Inference System (FIS), fuzzy következtető rendszer; - Fuzzy Rule Based System (FRBS), fuzzy szabálybázis; - Fuzzy Associative Memory (FAM), fuzzy asszociatív memória.
A fuzzy következtető rendszer három komponenst tartalmaz: szabálybázist (rule base), adatbázist (data base), amelyek definiálják a tagsági funkciókat, valamint a következtető mechanizmust (inference engine). A fuzzy következtető rendszer felépítése a 7.11. ábra szerinti.
7.11. ábra. A fuzzy következtető rendszer (FIS) elemei Az irányítástechnikai alkalmazásokban a jelek rendszerint konkrét (crisp) értékükkel állnak rendelkezésre, ezért a jelekből előbb fuzzy halmazokat (tagsági függvényeket) kell létrehozni, majd a következtetést fizikai jellé kell visszaalakítani. Irányítástechnikai célra a Mamdani és a Sugeno-Takagi modell terjedt el. A Mamdani típusú fuzzy irányító rendszert a 7.12. ábra szemlélteti.
7.12. ábra. Mamdani típusú fuzzy irányító rendszer
273
A fuzzifikáló egység (minősítőegység) a jel(ek) számszerű értékét minősíti, milyenségi osztályba sorolja. Valamely osztályba tartozás mértékét a tagsági függvény alapján határozhatjuk meg. A fuzzifikáló egység generálja a fuzzy halmazokat a bemenőjelből, vagyis meghatározza a fuzzy változók tagsági fokait. A fuzzifikáló egység a fizikai változóból (jelből) nyelvi változót generál. A fuzzifikálás átalakítási (transzformálási) művelet során a jel számszerű (crisp) értékei leképződnek a jel milyenséget tartalmazó minősítési (fuzzy) halmazba. A fuzzy következtető rendszer a bemeneti fuzzy halmazból kimeneti fuzzy halmazt generál. A szabályrendszer minden szabálya két részből áll: a bemenetének tekinthető feltételrendszerből (conditions vagy más néven antecedent) és a következtetésből (consequent). A szabályrendszer létrehozásához a következő feltételek szükségesek: - a be- és kimeneti jelekhez olyan milyenségek tartoznak, amelyek igazságtartalmát 0 és 1 közötti értékkel jellemezzük (0, nem igaz, 1, igaz); - a feltételrendszerben az AND-, ill. OR-operátorok is használhatók. Ezek figyelembevételekor a fuzzy logika esetén a min-, ill. maxműveleteket alkalmazzuk; - a be- és kimenetek közötti összefüggéseken alapuló milyenségeket használó szabályrendszer alapján rendszerint az IF....THEN (ha...akkor) típusú szabályok alkalmazásával meghatározzuk a kimeneti jelek milyenségi halmazába való tartozást, valamint a feltételrendszer számszerű kiértékelésével a halmazhoz való tartozás fokát.
A kimeneti fuzzy halmazt a szabályozóban fizikai jellé kell alakítani a defuzzifikáló egységgel. A defuzzifikáció során a szabálysorok által meghatározott összevont fuzzy halmazhoz számértéket rendelünk, ami a fuzzy következtető rendszer kimenőjele lesz. A leképzés nem egyenértékű művelet, ezért a létrehozandó kimenőjel előállítására több módszer terjedt el (lásd a 7.4. alfejezet). A következtető rendszert rendszerint HA A (feltétel) ÉS B (feltétel) .... AKKOR Y (következmény) alakban célszerű felírni. A Mamdani féle HA...AKKOR következtető rendszert szemlélteti a 7.13. ábra. Például: HA a hőmérséklet magas és a nyomás nagy, AKKOR a beavatkozójel legyen alacsony.
274
7.13. ábra. Mamdani típusú FIS szemléltetése Az összefüggéseket valamennyi, a példában előforduló változatra fel kell írni egy táblázatba foglalva, amelynek egyik (pl. vízszintes) oldalán az egyik bemeneti változó minősített értékeinek variációit (pl. alacsony, közepes, magas), másik (pl. függőleges) oldalán a másik bemeneti változó minősített értékvariációit írjuk. A táblázat egyes rubrikáiba a kimeneti változó minősített értékei kerülnek a 7.14. ábra szerint.
7.14. ábra. Fuzzy szabályrendszer táblázatba foglalása A fuzzy következtető rendszer szabálybázisának annyi HA...AKKOR következtetésből kell állnia, hogy a bemeneti minősített nyelvi változók valamennyi előforduló kombinációjához egyértelmű kimeneti következményt rendeljünk (a példában 3 x 3 = 9). A 7.14. ábrán bejelölt cella az alábbi szabályt fejezi ki: HA a hőmérséklet (T) alacsony ÉS a nyomás (P) alacsony, AKKOR a beavatkozás nagy.
275
A fuzzy következtető rendszer szemléltetésére a 7.15. ábrán egy légkondicionáló négy szabályának minművelettel előállított részhalmazát és a maxművelettel képzett logikai összegét mutatjuk be. A bemeneti változók: hőmérséklet (T), páratartalom (H), kimenőjel: irányított jellemző (C). Az ábrán T = 30 oC és H = 0,9 értékek esetén képződő értékek vannak jelölve. A példában a kimenőjel kétféle polaritású lehet. A minművelet esetén a kisebbik érték határozza meg a hozzá tartozó kimeneti halmazt. A kimenőjel a részhalmazok maxműveleteként adódik. Ez az érték kerül a defuzzifikáló egység bemenetére.
7.15. ábra. Kimenő fuzzy halmaz létrehozása
7.4. Defuzzifikációs módszerek A defuzzifikáció során a szabálysorok által meghatározott összevont fuzzy halmazhoz számértéket (crisp) rendelünk, ami a fuzzy szabályozó kimenőjele lesz. Az érték meghatározására több módszert dolgoztak ki, közülük a leggyakoribbakat mutatjuk be. A módszerek kiválasztása lényeges, mert az egyes módszerek eredménye hat a szabályozó tulajdonságaira. 7.4.1. Maximumkiválasztó eljárás (max.)
Ez az eljárás a legmagasabb tagsági fokkal teljesülő termet választja ki és azt az értéket (Xm) jelöli meg eredménynek, ahol az adott term a maximumát éri el (7.16. ábra). Szimmetrikus függvény esetén ez a szimmetria tengely helye.
276
7.16. ábra. Maximumkereső defuzzifikáció A maximális tagsági függvény a következő összefüggéssel állapítható meg:
( m ) = max µx (x )
µx x
xm ∈ x.
(7-10)
A 7.15. ábrán a kimenőjel defuzzifikált értéke xm. Ez a módszer csak csúcsos függvény esetén ad egyértelmű megoldást, amikor egy maximum van. A módszer nagy előnye a rendkívül kis számítási igény és az ebből következő igen rövid számítási idő, ami szabályozó esetén gyors működést jelent. Olyan fuzzy halmazok esetén, amelyeknél több maximumhely van, vagy a maximális tagsági fok vízszintes, a MAX módszer kiküszöbölésére a FOM, MOM, ill. LOM eljárást használják. A FOM (First of Maximum) első maximum, a LOM (Last of Maximum) utolsó maximum és a MOM (Mean of Maximum) maximum-átlagérték típusú defuzzifikációt a 7.17. ábra szemlélteti.
7.17. ábra. FOM, MOM, LOM típusú defuzzifikáció 7.4.2. Súlypontszámító eljárás (Centre of Gravity, COG)
A súlypontszámító eljárás az összevont fuzzy halmaz súlypontjának helyét jelöli ki, és tekinti eredménynek. Az eredmény a következő összefüggéssel számítható: l ∑ µ( Xmj) ⋅ Xmj j=1 X* = l ∑ µ( Xmj) j=1
(7-11)
ahol µ(Xmj) a j-edik term tagsági foka a maximumhelyen (Xm). A COG defuzzifikációs módszert a 7.18. ábra szemlélteti.
277
7.18. ábra. Súlypontkereső (COG) eljárás Az egyes defuzzifikálási módok meghatározzák a szabályozó működését. A MAX és a MOM eljáráskor a rendszer viselkedése hasonlít a többállású szabályozó működésére, míg a COG eljárás esetén a PI szabályozóra. Ezért a COG pontosabb beállást eredményez, míg a másik kettő kisebb tranziensjelenséget. A MOM stratégia mindig jobb eredményt ad a MAX eljárásnál. A MAX eljárás igényli a legkisebb számítási kapacitást, tehát a leggyorsabb, míg a COG a legnagyobbat, ezért a leglassúbb.
7.5. Fuzzy szabályozó tervezése A fuzzy szabályozó tervezésének lépései: - a fuzzy szabályozó modell megválasztása; - a fuzzy szabályrendszer kidolgozása; - a fuzzy szabályozó behangolása. A fuzzy szabályozásokhoz többféle modell került kidolgozásra, pl. a már említett Mamdani-modellen kívül a Sugeno-Takagi-modell. A fuzzy szabályrendszer kidolgozása az előzőekben leírtak szerinti. Az ismert PD-, PI-, ill. PID-szabályozók a fuzzy szabályrendszer megfelelő kialakításával közelíthetők. Példaként a PD-szabályozót úgy foghatjuk fel, mint egy relációt a hibajel (e), a hibajel megváltozása (∆e) és a kimenőjel (c) között: - HA a hibajel (e) kicsi és a ∆e közepes, AKKOR a c kicsi, - HA e közepes és ∆e nagy, AKKOR c közepes stb.
A PD jellegű fuzzy szabályozó szabálybázisának általános alakja: HA e = feltétel ÉS ∆e = feltétel, AKKOR c = következtetés. A Mamdani-féle fuzzy következtető rendszerrel a 7.19. ábra szerint épül fel a fuzzy szabályozókör.
7.19. ábra. Mamdani-féle fuzzy szabályozókör
278
A szabályok forrása és származtatása: - a szakértői ismeretek és a mérnöki tapasztalat alapján (pl. szakmai leírások, üzemeltetési könyvek, kérdőív); - a kezelőszemélyzet beavatkozásainak megfigyelése alapján; - a folyamat fuzzy modelljének (leírásának) felállítása alapján, tanulórendszerek felépítésével. A fuzzy szabályozó behangolását a következők figyelembevételével végezhetjük. A fuzzy szabályozók esetén különös jelentősége van a szabályozó behangolásának, mivel a szabálybázis igen nagyfokú közelítést és szabadságot jelent. Egyrészt az egyes nyelvi változókat konkrét tagsági értékkel kell helyettesíteni a konkrét futtatható algoritmus kidolgozásához, másrészt a szabálybázis megalkotásakor nem vagy csak részben vagyunk tekintettel a szakasz dinamikai tulajdonságaira. Belátható, hogy pl. egy fuzzy jellegű helyzetszabályozásnál nem közömbösek a hajtómű és a szakasz dinamikai tulajdonságai. Tehát a fuzzy szabályozó tervezésénél nem a szabálybázis megalkotása a nehéz feladatot, hanem az optimális működésű szabályozó behangolása. A fuzzy szabályozó behangolását segítő tényezők: - kellő gyakorlat hasonló funkciójú fuzzy szabályozó behangolása alapján; - kísérleti úton, nagyszámú mérési sorozat felhasználásával (kísérleti hangolás); - optimumkereső genetikus algoritmus felhasználásával.
Részben a fentiekkel indokolható, hogy fuzzy szabályozókat főként a szakasszal egybeépítik és gyárilag behangolják (pl. ABS fékrendszer, kamerafókuszálás, mosógép-, ill. légkondicionáló-irányítás stb.). Külön nehézséget jelent a fuzzy szabályozók tervezésénél a rendszer stabilitásának biztosítása.
7.6. Fuzzy szabályozók stabilitása A klasszikus szabályozáselmélet több módszert dolgozott ki a szabályozott rendszerek stabilitásának vizsgálatára (Routh-Hurwitz, Nyquist, Bode stb), amelyek feltételezik a szabályozott szakasz és a szabályozó egzakt matematikai modelljét. Ha mindkét modell lineáris, folytonos és időfüggetlen, akkor ezen módszerek jól alkalmazhatók. A fuzzy szabályozók nemlineárisak és általában ott alkalmazzák, ahol az előbbi követelmények nem teljesülnek. A fuzzy szabályozások is visszacsatolt rendszerek, így a stabilitási kérdések fontosak. Az alapvető probléma, hogy a fuzzy modell kvalitatív modell, amely szubjektív becslésen alapul. A visszacsatolt rendszer stabilitása viszont csak kvantitatív információ alapján határozható meg egzaktul. A jelenleg kidolgozott stabilitásvizsgálati módszerek alkalmazhatósága szempontjából a fuzzy szabályozókat négy osztályba sorolják: 1. osztály: 2. osztály: 3. osztály: 4. osztály:
a folyamatmodell ismert és lineáris, a fuzzy szabályozó közvetlen szabályozást végez; a folyamatmodell ismert és nem lineáris, a fuzzy szabályozó közvetlen szabályozást végez; a folyamatmodell ismert (lineáris vagy nem lineáris), a fuzzy szabályozó felügyeleti vagy adaptív fuzzy szabályozó; a folyamatmodell fuzzy jellegű, a fuzzy szabályozó közvetlen szabályozást végez.
279
Az első három osztályra vannak részben kidolgozott stabilitásvizsgálati módszerek (mivel mindhárom a folyamatmodell mennyiségi, matematikai ismertségét feltételezi), de ezek sem általános módszerek, hanem a klasszikus módszerek adaptálásai. Amennyiben nem a kvantitatív, hanem a kvalitatív modell ismert, arra az esetre nincs kidolgozott, már a tervezés során alkalmazható stabilitásvizsgálati módszer.
7.7. Fuzzy felügyeleti rendszer PID-szabályozóhoz Az iparban sok technológiai folyamatot PID-szabályozóval irányítanak [13]. Előnyei ellenére, a hagyományos szabályozó hátránya, hogy át kell hangolni, ha változnak a működési feltételek. Ezt a hátrányt lehet csökkenteni a fuzzy felügyeleti rendszer alkalmazásával, amely az alacsony szintű szabályozó paramétereit hangolja (7.20. ábra).
7.20. ábra. Fuzzy felügyeleti szabályozó A szakemberektől (gépkezelőtől) általában megszerezhető egy szabályhalmaz, amely pl. a P és a D tag erősítési értékeire (Kp és Kd) vonatkozik az aktuális (r) beállított érték esetén. A szabályok például a következő formában jelenhetnek meg: HA r alacsony, AKKOR Kp legyen magas és Kd alacsony, HA r magas, AKKOR Kp legyen alacsony és Kd közepes. A következtető rendszer ugyanúgy működik, mint a közvetlen irányításé. A szabályok egy szakember hangolási stratégiájának nyelvi leírását tartalmazzák. Az alacsony szintű szabályozó lehet pl. hagyományos PID-szabályozó vagy PID-szerű fuzzy szabályozó. A fuzzy felügyeleti rendszer kiegészíthető fuzzy teljesítménykiértékelővel is. A folyamat változásainak megfelelő paraméterbeállítás helyett ez a struktúra a rendszer válaszát elemzi, és ez alapján hangolja az alacsony szintű szabályozót. A rendszer válaszát a túllövés, beállítási idő és más minőségi jellemzők szerint minősíti. A következő példa egy lehetséges teljesítménykiértékelő szabály lehet. HA a túllendülés kicsi ÉS a felfutási idő közepes ÉS a kritérium értéke kicsi, AKKOR a teljesítmény jó.
280
7.8. Fuzzy funkciók megvalósítása PLC-vel A fuzzy szabályozó algoritmusok analóg és digitális jelfeldolgozással egyaránt megvalósíthatók. Néhány tipikus megoldás: általános szóprocesszorral vagy mikrovezérlővel, speciális analóg vagy digitális fuzzy processzorral és PLC-n belüli célhardverrel és szoftverrel. A valós idejű változat egyik tipikus megoldása a hagyományos PLC hardverének és szoftverének bővítése fuzzy funkciót ellátó modullal: pl. a Siemens, Klöckner-Moeller, Omron PLC-k ilyenek. A szoftver kifejlesztéséhez rendszerint grafikus fejlesztőrendszer áll rendelkezésre. A program beépített szimulátorral validálható. A validált programot a számítógép a real-time hardverelem (PLC, µP, mikrovezérlő) interpretere számára érthető formátumra vagy gépi kódjára fordítja és letölti. Egy Siemens PLC-be épített fuzzy modul katalógusbeli jellemzőit a következőkben adjuk meg: -
bemenetek száma: max. 8, egyenként 7 tagsági függvénnyel; kimenetek száma: max. 4, egyenként 9 tagsági függvénnyel; szabályok száma: max. 200; válaszidő: min. 0,54, max. 1,91 ms.
A Siemens gyártmányú fuzzy szabályozó tervezését a FUZZY WINCC grafikus szoftver segíti. Az Omron CS1 PLC fuzzy modelljének adatai: -
a fuzzy modul típusa: FZ-001; bemenetek (feltételek) száma: 8; kimenetek (következtetések) száma: 2; szabályok száma: max. 128; válaszidő: ~ 6 ms.
7.9. Tervezési példa: a fordított működésű inga egyensúlyozása A következőkben az irodalomból jól ismert fordított működésű inga (inverted pendulum) szabálybázisának tervezését mutatjuk be. A fordított működésű inga a 7.21. ábrán látható.
7.21. ábra. A fordított működésű inga Az irányításhoz a Θ dőlésszög mérésére és a dőlésszögváltozás sebességének d Θ meghatározására van szükség. A dőlésszöget rendszerint inkrementális jeladóval mérik, a szögsebességet ennek differenciálásával állítják elő. A szabályozás célja a fordított működésű inga függőleges helyzetben tartása, amely az inga talppontjának mozgatásával érhető el a ± F erőt biztosító szervomechanizmus közbeiktatásával egy ± dV vezérlőjellel. A szabályozónak Θ , d Θ két bemenőjele és egy dV kimenőjele van. A probléma hasonlít egy pálca függőleges kézi egyensúlyozásához.
281
A bemeneti változókat három értékre osztva: kicsi, small (S), közepes, medium (M), és nagy, large (L), valamint a két irányt figyelembe véve, negatív (N), pozitív (P), az alábbi tagsági függvényeket kapjuk: NL, negatív nagy NM, negatív közepes NS, negatív kicsi ZR, zérus (megfelelő)
PS, pozitív kicsi PM, pozitív közepes PL, pozitív nagy.
A szabályozási feladatot hét szabállyal írhatjuk le az előforduló változatoknak megfelelően a 7.1. táblázat szerint. 7.1. táblázat. Szabálybázis a fordított működésű inga egyensúlyozásához Szabályok 1. szabály
Feltételek
Következmény
Ha az inga mérsékelten dől balra ( Θ =PM), és a akkor az inga talppontját közepes sebességgel balra kell
dőlésszögváltozás sebessége közel zérus (d Θ = mozgatni (dV = PM) ZR)
akkor dV = PM
Ha Θ = PM és d Θ = ZR 2. szabály
Ha Θ = PS és d Θ = PS
akkor dV = PS
3. szabály
Ha Θ = PS és d Θ = NS
akkor dV = ZR
4. szabály
Ha Θ = NM és d Θ = ZR
akkor dV = NM
5. szabály
Ha Θ = NS és d Θ = NS
akkor dV = NS
6. szabály
Ha Θ = NS és d Θ = PS
akkor dV = ZR
7. szabály
Ha Θ = ZR és d Θ = ZR
akkor dV = ZR
A 7.1. táblázat szerinti szabályokat a 7.22. ábra szemlélteti.
282
7.22. ábra. A szabálybázis a 7.1. táblázat alapján Az ábrán a teljes fuzzy következtető rendszert és a visszaalakítás folyamatát is nyomon követhetjük, egy konkrét Θ és d Θ érték esetén a (∆V) kimeneti érték képzése is látható. Az 1. szabály esetén a közepes dőlésszög (tagsági értéke 0,7), a d Θ tagsági értéke 0,8. A fuzzy min- (ÉS) művelet eredménye 0,7. Hasonlóképpen a második szabályon belül a kis dőlésszög (PS = 0,3), a d Θ pozitív kis értékű (PS = 0,2), a fuzzy minművelet eredménye 0,2. A vizsgált esetben a többi szabály 0 értékű, így az első két szabály logikai összege (fuzzy maxművelet eredménye) kerül a visszaalakító (defuzzifikáló) egység bemenetére. A visszaalakítás többféle algoritmus szerint végezhető el. A példa az OMRON ELECTRONICS nyomán az AMIRA laboratóriumi modellen, ill. fejlesztőrendszeren készült. A fenti szabályokat a feladat minőségi modellje alapján határozták meg a modell mennyiségi jellemzőit (ingahossz, tömeg stb.) nem vették figyelembe.
283
Irodalomjegyzék
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
I. Ajtonyi: Intelligent Control System. Habilitation Dissertation. Kosice, 1998. Horváth G.: Neurális hálózatok és műszaki alkalmazásaik. Budapest, BME - 10018, 1995. Vörös G.: Bevezetés a neurális számítástechnikába. Budapest, LSI Oktatóközpont, 1997. Kónya L.: Minősítő szabályozás I-IV. MARKInfo, 1995. Kóczy T. L., Tikk D.: Fuzzy rendszerek. Budapest, Typotex Kiadó, 2000. I. Ajtonyi: System Modelling. Proc.: TEMPUS S JEP MODIFY 07759/94 Miskolc, 1997. C. T. Lin, C. S. G. Lee: A Neuro-fuzzy Synergism to Intelligent Systems. Prentice Hall PTR, Upper Saddle River, 1996. Ajtonyi I.: Digitális rendszerek. Miskolc, Egyetemi Kiadó, 1998. SIEMENS: PCS7 gépkönyv, 1997. OMRON: CS1 Users Manual, 1999. T. J. Ross: Fuzzy Logic with Engineering Application. McGraw Hill Company, 1998. L. Madarász: Metodika Situačného Riadenia A Jej Aplikácie, 1995. Szemes G.: Bevezetés a fuzzy logika irányítástechnikai alkalmazásába. Paks, Főiskolai jegyzet, 1996.
284
8. PLC-S VEZÉRLÉSEK MEGBÍZHATÓSÁGÁNAK NÖVELÉSE Napjainkban egyre inkább növekszik azon technológiai folyamatok száma, amelyek automatikus vezérlése fokozott biztonságot igényel. Az energiaipar, vegyipar, közlekedés fokozott biztonsági követelményeket vet fel az élet és a vagyon megóvása érdekében. Az automatikákat gyártó cégek különböző módszereket fejlesztettek ki, amelyekkel a berendezések üzembiztonsága javítható. A módszerek mindegyike az irányítóberendezés valamilyen redundanciáján alapul. A relés és diszkrét logikájú vezérlések idején a többségi logikákat (pl. 3-ból 2) alkalmazták a megbízhatóság növelésére. Új igények és lehetőségek merültek fel a mikroprocesszoros berendezések, valamint a programozható logikai vezérlők megjelenése után. Ezen készülékek sajátossága, hogy bár a központi egységük igen nagy megbízhatósággal működik, de ciklikus sorrendi és program szerinti működésük miatt egy esetleg fellépő zavar katasztrofális hibát okozhat. A huzalozott logikához képest új hibaforrás a szoftverhiba. Biztonságnövelő tényező, hogy az eszközök önmaguk tesztelésére is felhasználhatók, és a redundáns készülékek egymással kommunikációra képesek. 1980-ban jelent meg az első egymással kommunikáló redundáns PLC rendszer, 1981-ben a melegtartalék (hot standby) üzemmód, 1982ben pedig az öntesztes PLC.
8.1. Üzembiztonsággal és megbízhatósággal kapcsolatos fogalmak A mikroprocesszor alapú irányítóberendezések adatfeldolgozása valós idejű (real-time). A valós idejű rendszer a fizikai folyamat lezajlásával közel azonos időben végzi el az információfeldolgozás és a beavatkozás feladatait. Az üzembiztonság, ill. megbízhatóság növeléséhez elengedhetetlen a vonatkozó alapfogalmak, előírások és megoldások ismerete [1, 3, 4]. Elemnek valamely berendezés legkisebb alkotórészét nevezzük. Elem pl. egy integrált áramkör, ellenállás stb. Modulnak egy berendezésben valamely feladat ellátására alkalmas, elemekből felépített, cserélhető egységet nevezzük. Egy számítógépben modul pl. valamely összetett funkcionális működést biztosító együttes (központi tár, központi feldolgozóegység stb.). Az elemet és a modult összefoglalóan részegységnek is nevezzük. A rendszer bonyolult, összetett feladatok elvégzésére alkalmas berendezés, amely modulok kombinációjából áll. A megbízhatóság a terméknek az a képessége, hogy az előírt funkciót elvégezze adott működési és környezeti feltételek mellett, miközben meghatározott tényleges működés alatt előírásos állapotban marad. A megbízhatóság műszaki értelemben egy részegységnek (elem, modul) vagy rendszernek az a jellemzője, amely megadja, hogy az üzemeltetési feltételek fennállása esetén milyen mértékben várható el annak hibátlan rendeltetésszerű működése. Matematikai értelemben a megbízhatóság statisztikai fogalom, amely annak a valószínűségét adja meg, hogy egy részegység vagy rendszer jellemzői az előírt határok közé esnek. A megbízhatóság mennyiségi mutatóinak ismerete lehetővé teszi, hogy adott időpontban vagy időtartamban a berendezés hibátlan működésének vagy meghibásodásának valószínűségét meghatározzuk, a szükséges tartalékegységeket megtervezzük. A számítógépes folyamatirányító rendszerek a megbízhatóság szempontjából veszélybiztos és működésbiztos rendszerekre oszthatók. Ha a folyamat jellege olyan, hogy az irányítórendszerben bekövetkező egyedi hibák az élet- és vagyonbiztonság szempontjából veszélyes állapotot hozhatnak létre, a folyamat veszélybiztos irányítórendszert igényel. A veszélybiztos irányítórendszer a hiba fellépésekor a folyamat leállításával képes a veszélyhelyzet kialakítását megakadályozni.
285 Ha a folyamat jellege olyan, hogy az irányítórendszerben bekövetkező egyedi hibák veszélyes állapotot nem hoznak létre, az irányítás működésbiztos rendszerrel megvalósítható. A működésbiztos rendszer minden lehetséges hiba fellépésekor a folyamat csökkentett funkciójú működését biztosítja. A redundancia valamely feladat elvégzéséhez feltétlenül szükséges eszközöket meghaladó számú, az eredetivel azonos funkciót ellátó eszközök (tartalékok) alkalmazása a megbízhatóság növelése céljából. A redundancia egy rendszerben lehet gépi, információ- és programredundancia: − gépi redundancia esetén a berendezéseket többszörözik; − információredundancia esetén az információhoz járulékos információt rendelnek (pl.paritásbit); − programredundancia használatakor a programegységek többszörözésével növelik a megbízhatóságot. A redundancia kialakítási szintjei: Elemszintű redundanciával, pl. ellenállások vagy más áramköri elemek többszörösével, biztonságos áramkörök alakíthatók ki. Elemszintű redundancia a programozásban pl. az utasítások ismétlése. Modulszintű redundancia esetén a modulokon belüli alegységeket többszörözik. Példa erre az olyan felépítésű analóg bemenet, amely két analóg/digitális átalakítót tartalmaz. Rendszerszintű redundancia esetén átkapcsolható vagy párhuzamosan működő modulokat alkalmaznak. Program vonatkozásában a rendszerszintű redundancia a programmodulok többszörözését jelenti. A redundáns egységek kapcsolata lehet párhuzamos, többségi (szavazó), ill. átkapcsolható. Párhuzamos redundancia esetén az egységek egy időben működnek. A megbízható működéshez elegendő egyetlen egység működése a 8.1a ábra szerinti módon. A többségi elven működő redundáns egységek egy időben működnek, de kimenőjeleik a szavazóegységbe kerülnek. A szavazóegység a bemenetére érkező információt kiértékelve a többségi elv alapján képezi a kimenőinformációt. E megoldás esetén a szavazóegység azt az információt adja ki a kimenetén, amely legalább két modulnál megegyezik a 8.1b ábra szerinti módon. Átkapcsolható redundáns egységek esetén az egyik modul meghibásodásakor a kapcsoló átkapcsolja a rendszer kimenetét a hibás egységről a tartalék (stand-by) egységre. A redundáns egységek alkalmazásának előnye a megbízhatóság növelése és az, hogy hibamentes esetben a tartalékegység járulékos irányítási feladatokat vagy az irányítástól független feladatokat is elláthat 8.1c ábrán látható módon.
286
8.1. ábra. Párhuzamos (a), többségi (b), átkapcsolható (c) redundanciastruktúra Hiba esetén egy rendszer működése az üzemi feltételek betartása mellett a megkívánt működéstől eltér. Meghibásodás lép fel, ha egy elem vagy modul paraméterei üzemi feltételek mellett a specifikált határon kívül esnek. A meghibásodás és a hiba definíciójából következik, hogy nem minden meghibásodás okoz hibát a rendszerben. A két fogalom ismerete alapján belátható, hogy az üzem közben végzett rendszeres teszteknek milyen nagy a jelentősége. A tesztekkel ui. a meghibásodások felfedhetők, mielőtt működési hibát okoznának. A megbízhatóság elméleti vizsgálatához valószínűség-számítási és matematikai statisztikai módszerek szükségesek. Az összefüggések és becslések megadásánál ún. javítható termékeket tételezünk fel. Ez azt jelenti, hogy hiba esetén az adott részegységeket felújítják úgy, hogy a hiba megszüntetése után a részegység és a rendszer eredeti tulajdonságai teljesen helyreállnak. A javítható termékeket a H(t) helyreállítási függvénnyel jellemzik. E függvény megadja a javítható termék valamely kezdeti időpontjától számított, t időtartamú tényleges működése alatt bekövetkező meghibásodásainak várható értékét. A meghibásodási tényező megadja, hogy adott időpont után, kis időegységen belül mekkora a meghibásodás valószínűsége, feltéve, hogy az adott időpontig a termék nem hibásodott meg. Egy termék meghibásodási tényezője az idő függvényében három szakaszra osztható (8.2. ábra).
8.2. ábra. A termékek meghibásodási görbéje
287 A kezdeti időszakra a meghibásodási tényező fokozatos csökkenése jellemző. Ebben az időtartományban a hibák oka többnyire a gyártásra vezethető vissza. A hasznos élettartamban a meghibásodási tényező gyakorlatilag állandó, véletlen hibák léphetnek fel. Az elöregedési időszakban a meghibásodási tényező ismét növekszik, a termék minősége irreverzibilis változások miatt romlik. Megfelelően gyártott és ellenőrzött gyártmányokra a meghibásodási tényező időfüggvényét megvizsgálva azt tapasztaljuk, hogy a kezdeti időszak igen rövid, a hasznos élettartam hosszú, így jó közelítéssel feltételezhető, hogy a meghibásodási tényező állandó. A modulok meghibásodási tényezőinek ismeretében egy rendszer meghibásodási tényezője meghatározható. A modulok megbízhatósági jellemzői az elemek megbízhatósági mutatói szerint számíthatóak ki. A meghibásodások közötti átlagos működési idő (MTBF, Mean Time Between Failures) a folyamatirányító rendszerek megbízhatóságát jellemző mennyiségi mutató a két, egymást követő meghibásodás közötti hibátlan működés átlagos ideje. A hibamentes működés valószínűségén annak valószínűségét értjük, hogy adott időszakaszban, előírt működési és környezeti feltételek mellett nem következik be meghibásodás. Az átlagos helyreállítási idő (MTTR, Mean Time To Repair) a hibák behatárolására és megszüntetésére fordított kényszerű leállások átlagos ideje. A PLC-k üzemvitelének jellemzői: − MTBF a meghibásodások közötti átlagos idő; − MTTF a hibakiesésre jutó átlagos idő (Mean Time To Failure); − MTTR a javításra fordított átlagos idő. A PLC-k üzemideje az MTBF MTBF+ MTTR + MT
(8-1)
képlet szerint jellemezhető százalékos értékben, ahol MT a rendszeres karbantartási időt jelenti. Az (λ ) átlagos hibaarány a
λ=
1 MTBF
(8-2)
szerint határozható meg. λ bevezetésével a hibamentes várható élettartam: −λ t . R=e Ha pl. egy PLC MTBF értéke 17 500 óra (~ 2 év), akkor annak a valószínűsége, hogy a PLC egy évig (8750 óra) hibamentesen fog üzemelni:
R = exp (-8750/17500) ~ 0,6. Az üzemi készenléti tényező annak valószínűsége, hogy a termék valamilyen t időpontban működőképes lesz. Az üzemi készenléti tényező a termék rendelkezésre állását jellemzi, amely a meghibásodások közötti átlagos idő és az átlagos helyreállítási idő ismeretében meghatározható. Az üzemi készenléti tényező a termék üzemeltetési adatai alapján:
K = k
teljes működési idő − hiba miatti leállás időtartama 100% teljes működési idő
(8-3)
288 A megbízhatósági mutatók egyikének vagy másikának megadása önmagában csak hiányosan jellemzi a megbízhatóságot, ezért célszerű egyszerre több megbízhatósági mutatót megadni (pl. az üzemi készenléti tényezőt és a meghibásodások közötti átlagos működési időt). A real-time folyamatirányító rendszerek létesítésekor a megbízhatósági követelmények figyelembevétele a tervezés legkorábbi fázisait is befolyásolja, ezért csak a megbízhatósági igények részletes felmérése alapján állítható össze egy folyamatirányító rendszer konfigurációja. A megbízhatósági igények pontos felmérésére általános érvényű módszereket az irányítási célok, az irányítandó folyamatok, valamint az irányító rendszerek felépítésének és funkcióinak különbözősége miatt nem adhatunk. Az irányítási cél elérése szempontjából a lehető legnagyobb rendelkezésre állás biztosítása lenne a legkedvezőbb. Az igényeket meghaladó megbízhatóság azonban felesleges többletköltségekkel jár, ezért műszaki és gazdasági okokból is fontos annak vizsgálata, hogy a kívánt irányítási cél biztosítása mellett egy folyamatirányító rendszerben milyen működéskiesés engedhető meg: Megbízhatósági követelmények lehetnek: − leállás egyáltalán nem engedhető meg; − hosszú idejű leállás nem engedhető meg; − csak az adatbázis védelmét kell biztosítani. Az első jelenti a legszigorúbb megbízhatósági követelményt. Ez esetben működés közben semmilyen leállás nem következhet be, mert bármilyen hiba, amely működéskiesést okoz, katasztrofális hatású. Az enyhébb megbízhatósági igény esetében a működésben csak hosszabb idejű leállások nem engedhetők meg. A leállás idejét a technológiai folyamat időviszonyához kell hasonlítani. Az ipari folyamatirányító rendszerek nagy része az enyhébb megbízhatósági kategóriához tartozik. Ilyen rendszerek esetében általában kevésbé igényes mutató a két meghibásodás között eltelt idő, viszont a megbízhatóságot jól jellemzi az átlagos javítási idő, mivel ez adja meg a leállások várható átlagos időtartamát. Lényeges jellemző a rendszer rendelkezésre állása. Az irányítórendszerek kis része tartozik a harmadik követelményhez, ahol a működéskiesés nem okoz nagyobb problémát, a gyakori, esetleg hosszabb idejű leállások megengedettek. Ha egy leállást követő újraindításkor a meghibásodás előtti érvényes adatokból akarunk kiindulni, a teljes adatbázist valamely módon rögzíteni kell. A leállás és javítás során biztosítani kell a védelmet. A felsorolt megbízhatósági igények különböző rendszertechnikai megoldásokkal elégíthetők ki. A megbízhatósági igények felmérése során nem hagyhatók figyelmen kívül az irányítandó folyamat technológiai sajátosságai. Az irányítórendszer megbízhatósági követelményeit befolyásoló tényezők: − a technológiai folyamat jellege; − a technológiai folyamat állapotváltozásainak időviszonyai; − a hiba kihatása a technológiai folyamatra. A szakaszos üzemű folyamat irányítása során más megbízhatósági igények merülnek fel, mint a folyamatos technológiánál, mivel a folyamat továbbvitele többnyire kézi irányítással is biztosítható, ill. a folyamat akár hosszabb ideig is biztonságos állapotban tartható. A technológiai folyamatokat a bennük végbemenő állapotváltozások időbeli lefolyása alapján is
289 osztályozhatjuk. A technológiai folyamat állapotváltozásainak időviszonyai és a megbízhatósági igények között szoros kapcsolat van. Lassú folyamat esetén az állapotváltozási időértékek perc nagyságrendűek vagy nagyobbak, elegendő idő van a hibás beavatkozás korrigálására. A kezelő közreműködésével a hibás berendezés megtalálható és kicserélhető, ill. a folyamat kézi üzemben is tovább működtethető. Gyors folyamatok esetén az időértékek a perc, ill. másodperc tört részei, egy hibás beavatkozás rövid idő alatt kritikus helyzetet teremthet, ezért ennek megakadályozása itt különösen fontos. A hibaészlelést, behatárolását és a hibás egység kiiktatását, ill. pótlását a folyamatirányítási üzem közben lehetőleg automatikusan kell végrehajtani. Az ilyen folyamatokat nem lehet kézi vezérléssel üzemeltetni. Az irányítási rendszer hibás működése anyagi eszközöket és embereket veszélyeztethet. Az olyan rendszerekben, amelyekben a technológiai folyamatok sorosak és az egyes berendezések nagy gyártási kapacitásúak, az anyagi kár nagy lehet. Egy berendezés helytelen üzemeltetése nagy mennyiségű hibás terméket hoz létre, és a többi sorosan működő berendezésre is hat. Kevésbé szigorúak az irányítási rendszer megbízhatósági követelményei azokban a technológiai folyamatokban, amelyekben a gyártás párhuzamos. Az egyes ágak kiesése nem okozza a teljes rendszer leállását.
A számítógépes folyamatirányító rendszerben a megbízhatósági igények vizsgálatakor nem hagyhatjuk figyelmen kívül, hogy a folyamatműszerezésben milyen eszközök állnak rendelkezésre a számítógép helyettesítésére. A számítógép üzemzavarakor, meghibásodásakor működésbe lépő berendezéseket háttérberendezésnek nevezzük. A gyakorlatban a két számítógépes redundáns rendszerek a legelterjedtebbek. Ha a rendszerben nincs meghibásodás, akkor az ún. irányító számítógép végzi a folyamatirányítási feladatokat. Meghibásodáskor a tartalék számítógép veszi át a folyamatirányítási funkciókat. Átkapcsolható tartalék rendszer esetén a tartalék számítógép nem működik, ha nincs meghibásodás vagy legfeljebb azok a programok futnak a gépben, amelyek az átkapcsoláshoz szükséges információk felújítását végzik. A tartalék számítógép ún. hideg- vagy melegtartalék lehet. Hidegtartalék esetén az irányító számítógép meghibásodásakor a tartalék számítógépre való átkapcsolással egyidejűleg a tartalék számítógépet indítási állapotba kell hozni: programokat kell betölteni, a folyamatokat kell frissíteni stb. Melegtartalék esetén a tartalék számítógép minden időpillanatban kész áttérni az alapműködésre. A legtöbb folyamatirányítási feladatnál a tartalék számítógépre való átkapcsolást néhány másodperc alatt végre lehet hajtani és a funkciók zavartalanul folytathatóak, ezért melegtartalékos rendszert célszerű kialakítani. Ez csak úgy valósítható meg, ha a tartalék és az irányító számítógépben futó programok állapota, az aktuális adatok induláskor azonosak. Párhuzamos működésű tartalékrendszer esetén a tartalék számítógép az irányító számítógéppel egyidejűleg működik. Az ilyen rendszerek aszerint csoportosíthatók, hogy a tartalék számítógép milyen feladatokat old meg. Az egyik változat, a párhuzamos működésű, azonos funkciójú tartalék rendszer. E kialakításban az irányító és a tartalék számítógépben gyakorlatilag egyidejűleg ugyanazok a programok futnak. Az adatok párhuzamos feldolgozása lehetővé teszi az eredmények programszintű összehasonlítását. Ha például egy számított értékre a két gép eltérő eredményt szolgáltat, a számítást mindkét számítógéppel újra elvégzik, s ha ismét eltérés adódik, a kezelő számára hibajelzést ad a rendszer. A két gépben futó program szinkronizálását biztosítani kell.
290 A másik változat a párhuzamos működésű, eltérő funkciójú tartalék rendszer. Ennek lényege, hogy a tartalék rendszer az irányító számítógéppel egyidejűleg működik, de attól eltérő feladatokat old meg. Ilyen feladat lehet a folyamatirányítástól független számítások végrehajtása. Az irányító számítógép meghibásodása esetén a tartalék rendszer képes a folyamatirányítási feladatok részleges vagy teljes ellátására. A párhuzamos működésű, eltérő funkciójú tartalék rendszer lehetséges kialakítása az ún. alárendelt (master-slave) két számítógépes rendszer. Az irányító számítógép (slave) végzi a közvetlen folyamatirányítási feladatokat: folyamatfelügyeletet, alapjelállító vagy közvetlen digitális szabályozást, míg a felügyelő számítógép (master) az irányító számítógép számára optimális irányítási paramétereket számít ki, az irányítást befolyásoló parancsokat ad stb. Az irányító és felügyelő gép kapcsolatára tehát az alá- és fölérendeltség áll, így az irányító számítógép meghibásodásakor a folyamatirányítási feladatokat, legalább a legfontosabbakat, átveszi. A párhuzamos működésű rendszerek rendszertechnikai felépítése az átkapcsolható tartalék rendszerekével megegyezik, lényeges eltérés van azonban az irányító és tartalék számítógép programrendszerében. Minél jobban ki akarjuk használni a tartalék rendszer gépi lehetőségeit, annál nagyobb nehézségekkel kell számolni a programrendszer megvalósítása során. A folyamatjelek folyamatperifériákra való átkapcsolási megoldása, hogy a folyamatból érkező bemenőjeleket mind az irányító, mind a tartalék analóg, ill. digitális bemeneti perifériákhoz hozzávezetik, és csak a kimeneti perifériák vezetékeit kapcsolják át. Az átkapcsolóegység relés vagy galvanikus leválasztást biztosít, zajra, túlmelegedésre nem érzékeny. Hátránya, hogy az átkapcsolás lassú (ms nagyságrendű), továbbá, hogy a relé véges élettartamú. A félvezetős kapcsolók gyors (µs nagyságrendű) átkapcsolásúak, élettartamuk elvileg korlátlan, viszont zajra, túlterhelésre érzékenyek, és galvanikusan nem választják el az áramköröket egymástól. Bármilyen módon is alakítják ki az átkapcsolóegységet, fontos, hogy megbízhatósága igen jó legyen. Az átkapcsolás vezérlése lehet kézi vagy automatikus. A kézi átkapcsolást hibaészlelés és -jelzés után a kezelő kezdeményezi. Automatikus átkapcsolás automatikus hibaészlelő áramkörökkel oldható meg. A két számítógépes redundáns rendszerekben, párhuzamos működésű azonos funkciójú üzemben, a programmal történő összehasonlítás elvét alkalmazzák. Diszkrét hibaészlelő áramkörökből felépített gépi egységgel rendelkező redundáns rendszert azonban nem használnak, mivel ez nem jobb, mint a két számítógépes program-összehasonlítású rendszer. Egy hiba észlelése után, pl. ha a két számítógép számításainak eredménye nem egyezik, még mindig meg kell állapítani, hogy melyik gép a hibás. Ezt két számítógép esetén mindkét módszernél rendszerint csak külön tesztprogramok futtatásával lehet eldönteni. A gépi összehasonlítás így semmit sem gyorsít a hiba behatárolása szempontjából. A gépi összehasonlítás kedvezően alkalmazható akkor, ha többségi, pl. a háromból kettő, összehasonlításra van lehetőség. Ehhez három egyforma számítógéprendszer szükséges. Az összehasonlító egység ilyen esetben azokat az eredményeket fogadja el helyesnek, amelyek háromból legalább két számítógépnél megegyeznek. A háromból kettő többségi elv így teszi lehetővé a hibás számítógép azonnali meghatározását. A többségi szavazóelven működő redundáns rendszereket igen nagy megbízhatóságú irányítást igénylő folyamatokhoz használják.
Egy többprocesszoros rendszer akkor redundáns kialakítású, ha az azonos típusú modulokból több van a rendszerben, mint amennyi a folyamatirányítási feladatok közvetlen ellátásához szükséges. Így a többletmodulok az alapmodulok tartalékai. Egy modul meghibásodásakor a tartalék modul a rugalmas felépítési elv miatt könnyen helyettesítheti a
291 sakor a tartalék modul a rugalmas felépítési elv miatt könnyen helyettesítheti a hibás modult. A tartalék modulra való átkapcsolás, a kezdeti információk biztosítása jól megoldható. Legalább az egyik processzor mindig a vezérlő számítógép. Egy hibás modul így kiiktatható a rendszerből és helyettesíthető a tartalék modullal. A vezérlőprocesszor meghibásodása ellen úgy lehet védekezni, hogy két processzorra bízzuk a vezérlést, s ezek egymást kölcsönösen ellenőrzik.
8.2. TÜV ajánlások A mikroszámítógépes vezérlésekre a TÜV (Technische Überwachung Verein, Németországi Műszaki Felügyelőség) adott ki ajánlásokat a biztonság növelésére. Ezek egy része a készülékek felépítésére, másik része a bevizsgálásra vonatkozik. 8.2.1. A rendszer általános ajánlásai
a) Mindig egy csatornával több legyen, mint amennyi a biztonságos működéshez legalább szükséges: − egy üzemelő csatorna és egy másik hasonló, amire hiba esetén át lehet kapcsolni (ez esetben átkapcsolás után már nincs redundáns csatorna), − két csatorna + 1 tartalék azért, hogy a hiba esetén még mindig két csatorna szolgálja a biztonságot. b) A hibafelismeréssel kapcsolatos időkövetelményt ki kell elégíteni. Az időkritérium nincs a biztonsági osztályokba beépítve, hanem csak az alkalmazástól függ. Minden irányított folyamatnak van egy ún. hibatoleranciája. Ez az az idő, aminek során a hibás jelet elviseli. A vezérlés hibareakció-ideje (thr) kisebb kell legyen, mint az irányított folyamat hibatolerálási (tht) ideje, azaz thr
a) Nem engedhető meg nem teljes programlefutás.
292 El kell kerülni, hogy egy hiba (pl. zavar a feszültségellátásban) csak valamilyen akciópár első felét hajtsa végre (pl. a szelep nyit-zár). Újraindításkor először mindig a biztos állapot álljon elő, kifelé ható akciók csak a teszt lefutása után következhetnek. b) Általános programozási elvek. A TÜV számos ajánlást ad a programozásra. Példa az az igény, hogy iterációs hurkoknál a leállási kritériumokhoz járulékosan egy maximális hurokfutási szám legyen előírva. c) Strukturált programozás. A biztonságtechnikában csak minőségileg nagy értékű szoftver alkalmazható, ami alatt a következőket értjük: legyen alkalmazóbarát, hibamentes (az előírt kritériumoknak megfelelően), korrektsége könnyen vizsgálható, a tesztelése és a karbantartása egyszerű, változtatása könynyű valamint jól dokumentált. Egy program érvényessége és korrektsége megállapításánál fontos, hogy a program kisméretű, jól áttekinthető modulokból álljon, ezek a modulok egyszerűen legyenek konstruálva és a modulok között mindenkor egy összeköttetés legyen. Mindezek a strukturált programozással elérhetőek, miszerint a feladatot lépésenkénti finomítással (top-down design) mindig csak a három struktúraelemmel, egyre kisebb részfeladatra kell bontani. A lebontás mindaddig folytatandó, amíg a részfeladatok jól áttekinthető egységre osztódnak, amit a programnyelven egyszerűen lehet programozni. Az így kialakított program faszerkezete és egy-egy modul között csak egyetlen kapcsolat található. Különleges eseményekre (pl. vészkilépés) kivételek megengedhetők. A lépésenkénti finomítással és az ebből származó faszerkezetnek az átláthatóság mellett az is előnye, hogy a megoldandó feladat a fejlesztés minden stádiumában és minden síkjában jól leírható. A lépésenkénti finomítás és a program faszerkezetének kialakításához a strukturált programozásban három struktúraelemet lehet alkalmazni: − sorrendek (következmények); − hurkok; − elágazások. A sorrend (következmény) egy akciót ír le. Egy struktúraelem felbontható több egymás után futó elem sorrendjére, amelyek önmagukban is egy struktúraelemet képezhetnek. A huroknál egy vagy több struktúraelem annyiszor ismétlődik, ahányszor azt előírjuk. Az elágazás két vagy több lehetséges folytatás közötti választási lehetőség. 8.2.3. A hardver általános követelményei
a) Az építőelemek csak specifikációjuknak megfelelően kerüljenek alkalmazásra. b) Kielégítő zavarvédettséget kell biztosítani. c) Feszültségfelügyelet és definiált viselkedés biztosítása feszültségkimaradáskor és visszatéréskor. d) Két független időalap alkalmazására azért van szükség, mert az időalap kiesése katasztrofális hibát okozhat. 8.2.4. A tárolók általános követelményei
a) A programozható rendszerekben a program integritása létfontosságú, ezért a programokat úgy kell tárolni, hogy változtatások ellen (feszültségkiesés, más külső hatás, hibás jelek) védve legyenek. A RAM tárolók tartalma, még ha teleppel feszültségkimaradás ellen védve is
293 vannak, hibás beírójel vagy más külső hatásra (sugárzás, elektromágneses mezők) megváltozhat. Programtárolóként csak fix tárolókat szabad alkalmazni, amelyekben az információ a lehetőségnek megfelelően elveszíthetetlen fizikai tulajdonság formájában van tárolva. Ilyenek a ROM, EPROM, EEPROM. Ha nincs fix tároló, intézkedni kell megfelelő tárolóvédelemről. b) Dinamikus tárolót nem, vagy csak igen különleges esetben szabad alkalmazni. c) Háttértárolót nem szabad alkalmazni.
8.3. Az irányítórendszerek alkalmazásának biztonsági osztályai A DIN V 19250 szabvány tartalmazza az irányítórendszerek alkalmazásának biztonsági követelményeit. Ez a szabvány az irányítórendszereket nyolc biztonsági osztályba sorolja, a 8.3. ábra szerint [11].
8.3. ábra. Irányítórendszerek biztonsági besorolása Az 1 osztály jelenti a legalacsonyabb, míg a 8. a legmagasabb követelményeket. A szabvány négy kockázati paramétert tartalmaz: − a veszélyesség nagysága (extent of demage), S S1 kisebb sérülés; S2 több személy súlyosabb sérülése, vagy egy személy halála; S3 több személy halála; S4 katasztrófa jellegű esemény. − a veszélyes területen tartózkodás előfordulása (duration of stay in hazardous area), A A1 soha, nagyon ritkán, vagy időnként; A2 gyakran, vagy állandóan. − veszélymegelőzés (danger prevention), G G1 lehetséges; G2 nem lehetséges. − az előfordulás valószínűsége (probability of occurrence), W. W1 igen alacsony; W2 alacsony; W3 relatív magas. Például hatos veszélyességi követelmények az égővezérlések, az utasszállító rendszerek (metró, vasút), a közúti forgalomirányító rendszerek és a gázfeldolgozó rendszerek területein találhatók.
294 Az elektromos, elektronikus, ill. programozható elektronikus rendszerek (E/E/PES) követelményeit az 1997-ben elfogadott IEC 61508 nemzetközi szabvány foglalja össze a legátfogóbban a növelt biztonságot igénylő ipari alkalmazásokhoz [12].
8.4. Biztonsági PLC-k rendszertechnikája A veszélyes technológiák vezérlésére használható PLC-ket a zsargonban biztonsági PLCknek nevezik [2, 6]. Az ipari biztonsági PLC-k a normál PLC-k redundanciáján, ill. a speciális, növelt biztonsági PLC-k redundanciáján alapuló felépítést követi. A biztonsági PLC-k a technológia veszélyességéhez igazodóan alapvetően kétféle algoritmus szerint viselkednek a hiba felismerésekor: − hibatűrő PLC (fault-tolerant), azaz működésbiztos; − veszélybiztos PLC (failsafety). Mindkét esetben a biztonság növelését a redundancia növelésével érik el.
8.4. 1. A hibatűrő (fault-tolerant) PLC rendszer fogalomköre A hibatűrő PLC rendszer esetén két darab PLC mindig szinkronizáltan és párhuzamosan, egymással kommunikációs kapcsolatban működik. Közülük az egyik az aktív, amelyik irányítja a folyamatot, a másik PLC passzív, de a kommunikációs kapcsolat révén bármikor átveheti a folyamat irányítását (hot-standby). A hibatűrő PLC rendszer alkalmazásának elsődleges célja a technológiai folyamat végrehajtása. Amennyiben az aktív PLC meghibásodása esetén a passzív PLC átveszi a folyamat irányítását (aktívvá válik), akkor a rendszer már nem hibatűrőként viselkedik, mivel nincs tartalék PLC a rendszerben. A nem veszélybiztos működésű, hibatűrő PLC működését a 8.4. ábra szemlélteti. E szerint a két PLC (A és B) működése a VAGY művelethez hasonlítható, miszerint ha legalább az egyik PLC üzemképes, akkor a vezérlőrendszer működőképes.
8.4. ábra. A hibatűrő PLC VAGY analógiája A hibatűrő PLC alkalmazható a gyógyszeriparban, az élelmiszeriparban, acélművekben vagy olajipari technológiák irányításban. Általában ott célszerű alkalmazni, ahol a vezérlőberendezés meghibásodása esetén a technológiai folyamat leállítása igen költséges és ugyanakkor a technológia alacsony veszélyességi fokozatú.
295
8.4.2. Hibatűrő I/O konfigurációk A PLC-k biztonságának növelése az I/O eszközökre is fokozott biztonságot követel. A hibatűrésnek három különböző szintje lehetséges az I/O modulok konfigurációjától függően (8.5. ábra) [6]: − normál hibatűrés (normal fault tolerance, single side configuration); − növelt hibatűrés (enhanced fault tolerence, switched configuration); − maximális hibatűrés (maximum fault tolerance, fully redundant configuration).
8.5. ábra. Hibatűrő I/O konfigurációk Normál hibatűrő I/O konfiguráció
A 8.6. ábrán látható elrendezésben az I/O egységek egycsatornás módban vannak összekapcsolva. Az I/O egységek címzése a két alegység (A, ill. B) közül csak az egyikkel lehetséges. Az információolvasás az egyik alegységben történik (pl. egy digitális inputmodul), de automatikusan átadódik a másik alegységbe is. Ez a konfiguráció olyan esetekben használható, ha az I/O kezelésre nincs előírva fokozott hibatűrési követelmény.
8.6. ábra. Normál hibatűrő I/O konfiguráció [6]
296 Fokozott (növelt) hibatűrő I/O konfiguráció
Ebben a konfigurációban (8.7. ábra) az I/O-k ismét egycsatornás módban vannak kötve, de azokat mindkét alegységgel lehet címezni. Ebben a konfigurációban az I/O egységeket egy bővítőegységbe (EU) kell dugaszolni. Ez a konfiguráció akkor használatos, ha az I/O-k kiesése az irányítás szempontjából nem kritikus.
8.7. ábra. Fokozott hibatűrő I/O konfiguráció [6] Maximális hibatűrő I/O konfiguráció
Ez kétcsatornás I/O konfiguráció, az egyes I/O-k címzése mindkét alegységben azonos. Az I/O egységeket lehet dugaszolni bármely alegységben vagy a bővítőegységben is (8.8. ábra) [6]. Ebben a konfigurációban mind a központi funkciók, mind az I/O egység kiesését tolerálni lehet. Ez a konfiguráció ajánlott a legmagasabb hibatűrést igénylő alkalmazásokhoz.
8.8. ábra. Maximális hibatűrő (kétcsatornás) konfiguráció
297 Az I/O modulokat ebben a konfigurációban tudatni kell az operációs rendszerrel. A redundáns I/O modulok ugyanúgy vannak címezve, mint az egycsatornás I/O modulok a felhasználói programban. A hibatűrő konfigurációjú PLC rendszerint tartalmaz egy központi egységet, amely egy új firmware-rel több mint a normál CPU. Ez a firmware valósítja meg az összes járulékos funkciót: adatcsere, hibakezelés, szinkronizáció, önteszt és hibalokalizálás.
8.4.3. A hibatűrő PLC-konfiguráció kommunikációs funkciói A PLC-k biztonságát növelő módszerek közül kiemelt jelentőségű a PLC-k közötti kommunikáció, amelyen a hibakezeléssel kapcsolatos információcserét értjük. Ez a kommunikáció rendszerint pont-pont kommunikáció, de újabban hálózat is lehet. a) Adatcsere és hibakezelés A hibatűrő konfigurációjú PLC-k melegtartalék (hot standby) üzemmódban működnek. Ha hiba keletkezik, akkor a másik alegység, a tartalék veszi át a folyamat irányítását. A hibás alegységet ki lehet javítani a folyamat megszakítása nélkül. Kétcsatornás I/O konfigurációban mindkét alegység párhuzamosan működik. Melegtartalék esetében az a cél, hogy a tartalék időkiesés nélkül vegye át a folyamat irányítását. Ehhez az szükséges, hogy mindkét egység alkalmas legyen igen gyors és megbízható adatcserére. Mindkét alegységnek tartalmaznia kell ugyanazt a felhasználói programot, adatblokkot és I/O állapotinformációt.
b) Szinkronizáció Az aktív és passzív egység közötti adatcseréhez a két alegység szinkronizációja szükséges, az eseményvezérelt szinkronizáció. Eseményvezérelt szinkronizáció megy végbe, amikor egy esemény okoz valamilyen váltást az alegységek állapotában, pl. parancsok az I/O-kra, blokkhívó parancsok vagy időfunkciójú parancsok. c) Önteszt A következő funkciókat és komponenseket tesztelik: belső buszrendszer, központi vezérlővonal, hibalokalizáló rendszer, CPU-k és memóriák. Valamennyi hibadetektálást az önteszt idején jelez a rendszer. Újraindításkor valamennyi alegységen végigfut az öntesztes ellenőrzés. Ciklikus üzemmódban az operációs rendszer indítja az önteszt funkcióját közelítőleg 5 ms-nyi intervallumokban, amelyek száma a felhasználó által programozható.
8.4.4. A veszélybiztos PLC-konfiguráció Ahol a biztonságos működés az első számú követelmény a technológia veszélyessége miatt, mint például a kazánautomatikák, vasúti szerelvények automatizálása, gáz- és olajszállítással kapcsolatos automatikák, vegyipar, nukleáris erőművek stb., ott a veszélybiztos PLCkonfiguráció szükséges. A veszélybiztos rendszer alapkonfigurációban igen hasonlít a hibatűrő rendszerekhez, mivel két alapegység működik egymással összekapcsolva. A fő különbség az, hogy a veszélybiztos változatban a két alapegység folyamatosan összehasonlítja egymás állapotait, eredményeit és megelőzi a veszélyes válaszok kijutását. A veszélybiztos PLC-k kielégítik a DIN V 19250 szabvány hatos osztályú követelményeit. A veszélybiztos PLC nem hibatűrő. A veszélybiztos PLC alkalmazásának célja megelőzni a hibás működési feltételeket és nem az, hogy elkerülje a technológiai folyamat leállítását. A veszélybiztos működési elv a redundáns alegységek ÉS kapcsolatán alapul. A PLC
298 rendszer csak akkor működik, ha mindkét redundáns alegysége egyidejűleg hibátlanul működik (8.9. ábra) [6].
8.9. ábra. Veszélybiztos konfiguráció ÉS analógiája A veszélybiztos működést a PLC a következő funkciókkal éri el: − öntesztelés az operációs rendszerrel; − az I/O-k speciális külső veszélybiztos kialakítása; − kétcsatornás redundáns struktúra az eredmények állandó összehasonlítására. A veszélybiztos redundáns PLC rendszer két központi egységének funkciói: − adatcsere és válasz a hibára; − szinkronizáció; − önteszt. a) Adatcsere és válasz a hibára
A két redundáns alegység képes igen gyors és megbízható adatcserére a központi interfészen keresztül az adat és az eredmény összehasonlítása, a szinkronizáció és a passzivitásvizsgálat céljából. A két alegység szinkronizáltan ugyanazt a felhasználói programot hajtja végre és ciklikus összehasonlítást végeznek a bemeneti jeleken, a kimeneti jeleken és más adatokon, (pl. időzítők, számlálók). Ha az összehasonlítás eredménye különbözik, akkor egy hiba generálódik. Ekkor kezdődik a válasz erre a hibára. A választ a felhasználónak kell meghatározni egy parametrizációs szoftverrel. A következő hibaválaszok vannak: − a teljes egység STOP állapotba kerül, − csak a veszélyes komponensek bénulnak le, − más, a felhasználó által definiált válasz. A két PLC végzi az összehasonlítási műveleteket. Bemenetek összehasonlítása
A bemenőjelek állapotának beolvasása után a két PLC speciális modulja összehasonlítja a jeleket. Ha különbséget talál, akkor megismétlődik a beolvasás és az összehasonlítás, ha szükséges többször is. Ha az ismételt beolvasás és összehasonlítás is különbséget jelez, akkor egy
299 hiba kezdeményeződik. A programozónak lehetősége van a válasz definiálására és az előbbi ismétlés meghatározására. Kimenetek összehasonlítása
A ciklus végén a két alegység (PLC) ismét összehasonlítja a folyamat állapotait. Eltérés esetén egy belső hiba és a kiválasztott hibaválasz generálódik. A kimeneti parancsok kettős viszszaolvasását szemlélteti a 8.10. ábra [6].
8.10. ábra. Kimeneti parancs visszaolvasásának elve A két redundáns PLC (alegység) összehasonlítja a timerek és számlálók állapotát, a logikai programszámláló állapotát, és ha szükséges a hálózati vonal adatait. b) Szinkronizáció
A két alegységnek (PLC) folyamatosan szinkronizáltan kell működnie. Ilyen szinkronizációs pontok a programciklus eleje és vége, 20 ms-onként az operációs rendszerből indítva. A szinkronizációs pontokban adatcserék vannak, amelyek összehasonlítják egymás adatait. A felhasználói programokat a direkt I/O címzések és órajel-letapogatások, valamint a folyamat, ill. időmegszakítások idején szinkronizálják. Ezeket a megszakításokat csak a szinkronizáció után dolgozzák fel. c) Önteszt
Így tesztelik a belső buszt, a központi vezérlőinterfészt, processzorokat, memóriákat és valamennyi redundáns I/O-t. Ezek az öntesztek bármely alegységben detektálhatnak hibákat. Inicializálás idején az öntesztfunkciók lefutnak minden alegységen. Ciklikus működés idején az operációs rendszer felosztja az öntesztfunkciót kis szegmensekre. A szegmensek időtartama az I/O-k számától függően néhány ms körüli.
A PLC-hálózatok elterjedésével a működésbiztos, ill. veszélybiztos üzemvitel kritériumait a hálózatoknak is ki kell elégíteni. Egycsatornás hálózat kialakítását szemlélteti a 8.11. ábra [6], amelyen a kommunikáció LAN-on történik és a két alegység pont-pont összeköttetésben van. A megoldás nem tekinthető veszélybiztosnak.
300
8.11. ábra. Egycsatornás hálózati kommunikáció Kétcsatornás veszélybiztos kommunikáció a 8.12. ábra [6] szerinti kialakításban a hozzá csatlakozó szoftver ellenőrzése mellett alakítható ki. Az ábrán a kommunikáció két LANon történik, és lehetőség van a kommunikáció ellenőrzésére.
8.12. ábra. Kétcsatornás hálózati kommunikáció
8.5. Biztonsági PLC-k I/O konfigurációi A hibatűrő, ill. veszélybiztos PLC-k esetén a CPU működése mellett a be/kimeneteknek is fokozott követelményeknek kell megfelelni.
301 A biztonsági bemeneteknél a biztonsági program futása alatt meg kell győződni arról, hogy a "0" logikai szintre a bemenetek működőképesek-e. (Szakadásra végre tudja-e hajtani a lekapcsolást). A biztonsági kimeneteknél a biztonsági program futása alatt kell megvizsgálni (visszacsatolással vagy egyéb úton), hogy a "0" logikai átmenetre a végrehajtó szervek áramkörei (és esetleg a saját bemenetei) működőképesek-e. A következőkben a biztonsági PLC-k-ben alkalmazott kétállapotú, ill. az analóg bemeneti/kimeneti egységek szokásos kialakítását mutatjuk be a SIMATIC H, ill. SIMATIC F sorozatra hivatkozva.
8.5.1. Digitális be- és kimeneti kapcsolások a) Egycsatornás jeladó, nem biztonsági kivitel (8.13. ábra) [6]. Alkalmazható: − egykontaktusú jeladó, tápellátása kapcsolható, így nem is tesztelhető; − összevont kontaktusú jeladó, tápellátása csak együtt kapcsolható; − elektronikus jeladó, tápellátása nem kapcsolható; − nem kapcsolható táplálású jeladó. A kapcsolás jellemzői: − nem biztonsági kivitel, mivel A PLC kiesése esetén I/O kommunikáció nincs; − egycsatornás jelfeldolgozás A vagy B PLC-be csatlakozva; − a kártyák az A PLC-be bárhová csatlakoztathatók; −a jelcsoportcímeket a kiválasztott PLC-nél kell beállítani, ezek a címek a másik PLCnél már nem használhatók.
8.13. ábra. Egycsatornás jeladó kapcsolásai b) Egycsatornás jeladó, kettős beolvasással (8.14. ábra) [6]. A kapcsolásra jellemző az egycsatornás jeladó, a biztonsági kivitel, a kétcsatornás jelfeldolgozás, a kártyahelyek A és B PLC-be ugyanarra a helyre csatlakozva és a jelcsoportcímzés azonos mindkét csatornánál.
302
8.14. ábra. Egycsatornás jeladó kettős beolvasással c) Kétcsatornás jeladó, biztonsági kivitel (8.15. ábra) [6]. A kapcsolásra jellemző a kétcsatornás jeladó külön-külön beolvasással, a növelt biztonsági kivitel és a kétcsatornás jelfeldolgozás. A kártyahelyek A és B PLC-be ugyanarra a helyre csatlakoznak, a jelcsoportcímzés azonos mindkét csatornánál.
8.15. ábra. Kétcsatornás jeladó külön-külön beolvasással d) Egycsatornás jeladó, növelt biztonsági kivitel (8.16. ábra) [6]. A kapcsolásra jellemző az egycsatornás jeladó kapcsolható tápfeszültséggel, a növelt biztonsági kivitel, a kétcsatornás jelfeldolgozás. A kártyahelyek A és B PLC-be ugyanarra a helyre csatlakoznak. A jelcsoportcímzés azonos mindkét csatornánál, egy tesztciklus alatt a PLC a vizsgálókimenet segítségével a jeladó tápfeszültségének lekapcsolásával 0 jelszintre vizsgálja a bemenetet. A vizsgálókimenet használata szükséges.
303
8.16. ábra. Egycsatornás jeladó vizsgálókapcsolással e) Kétcsatornás jeladó kapcsolható tápfeszültséggel (8.17. ábra) [6]. A kapcsolásra jellemző a kétcsatornás jeladó, a maximális biztonsági kivitel, a kétcsatornás jelfeldolgozás. A kártyahelyek A és B PLC-be ugyanarra a helyre csatlakoznak, a jelcsoportcímzés azonos mindkét csatornánál. A kapcsolható tápfeszültségű jeladó, egy tesztciklus alatt a PLC a vizsgálókimenet segítségével a jeladó tápfeszültségének lekapcsolásával 0 jelszintre vizsgálja a bemenetet. A vizsgálókimenet használata szükséges.
8.17. ábra. Kétcsatornás jeladó vizsgálókapcsolással f) Egycsatornás jeladó, kétcsatornás jelfeldolgozás (8.18. ábra) [6]. A kapcsolásra jellemző az egycsatornás jeladó, a növelt biztonsági kivitel, kétcsatornás jelfeldolgozás. A kártyahelyek A és B PLC-be ugyanarra a helyre csatlakoznak, a jelcsoportcímzés azonos mindkét csatornánál. A nem kapcsolható tápfeszültségű jeladó, a tesztciklus alatt a PLC a vizsgálókimenet segítségével a jeladó-tápfeszültség lekapcsolásával 0 jelszintre vizsgálja a bemenetet. A vizsgálókimenet használata szükséges.
304
8.18. ábra. Egycsatornás jeladó vizsgálókapcsolással és kettős beolvasással g) Kétcsatornás jeladó, kétcsatornás feldolgozás (8.19. ábra) [6]. A kapcsolásra jellemző a kétcsatornás jeladó keresztkapcsolással, a biztonsági kivitel, a kétcsatornás jelfeldolgozás. A kártyahelyek A és B PLC-be ugyanarra a helyre csatlakoznak. A jelcsoportcímzés azonos mindkét csatornánál. A nem kapcsolható tápfeszültségű jeladó a tesztciklus alatt a PLC a vizsgálókimenet segítségével a jeladó jelének lekapcsolásával 0 jelszintre vizsgálja a bemenetet. A vizsgálókimenetek használata szükséges.
8.19. ábra. Kétcsatornás jeladó, kétcsatornás feldolgozás h) Normál kimeneti fokozat biztonsági PLC-hez (8.20. ábra) [6]. A kapcsolásra jellemző az egycsatornás kimeneti fokozat, az egycsatornás feldolgozás (A PLC) és a nem biztonsági kivitel.
305
8.20. ábra. Egycsatornás kimeneti fokozat i) Biztonsági kimenet egyenáramú meghajtással (8.21. ábra) [6]. A kapcsolásra jellemző a biztonsági kimenet, az egyenáramú direkt 24 V-os meghajtás, a kétcsatornás jelfeldolgozás. A kártyahelyek A és B PLC-be ugyanarra a helyre csatlakoznak, a jelcsoportcímzés azonos mindkét csatornánál, az egyik csatorna kimenete a másik csatorna bemenetére vissza van vezetve és ellenőrizve. Az ellenőrző bemenetek használata szükséges.
8.21. ábra. Egycsatornás biztonsági kimenet j) Biztonsági kimenet hálózati meghajtással (8.22. ábra) [6]. A kapcsolásra jellemző a biztonsági kimenet (relés), a váltakozó áramú (230 V) direkt meghajtás, a kétcsatornás jelfeldolgozás. A kártyahelyek A és B PLC-be ugyanarra a helyre csatlakoznak, a jelcsoportcímzés azonos mindkét csatornánál, az egyik csatorna kimenete a másik csatorna bemenetére vissza van vezetve és ellenőrizve. Az ellenőrző bemenetek használata szükséges.
306
8.22. ábra. Biztonsági kimenet hálózati (230 V) működtetéssel k) Biztonsági kimenet indirekt meghajtással (8.23. ábra) [6]. A kapcsolásra jellemző a biztonsági kimenet, az egyenáramú indirekt meghajtásmásoló jelfogókkal (24 V), a kétcsatornás jelfeldolgozás. A kártyahelyek A és B PLC-be ugyanarra a helyre csatlakoznak, a jelcsoportcímzés azonos mindkét csatornánál. Az egyik csatorna kimenete a másik csatorna bemenetére vissza van vezetve és ellenőrizve. Az ellenőrző bemenetek használata szükséges.
8.23. ábra. Biztonsági kimenet indirekt meghajtással (24 V) l) Biztonsági kimenet indirekt hálózati meghajtással (8.24. ábra). A kapcsolásra jellemző a biztonsági kimenet, az indirekt meghajtásmásoló jelfogókkal (24 V/230 V), a kétcsatornás jelfeldolgozás. A kártyahelyek A és B PLC-be ugyanarra a helyre csatlakoznak, a jelcsoportcímzés azonos mindkét csatornánál. Az egyik csatorna kimenete a másik csatorna bemenetére vissza van vezetve és ellenőrizve. Az ellenőrző bemenetek használata szükséges.
307
8.24. ábra. Biztonsági kimenet indirekt meghajtással (24 V/230 V) m) Biztonsági kimenet indirekt meghajtású másoló jelfogókkal (8.25. ábra). A kapcsolásra jellemző a biztonsági kimenet, az indirekt meghajtásmásoló jelfogókkal (230 V /230 V), a kétcsatornás jelfeldolgozás. A kártyahelyek A és B PLC-be ugyanarra a helyre csatlakoznak, a jelcsoportcímzés azonos mindkét csatornánál. Az egyik csatorna kimenete a másik csatorna bemenetére vissza van vezetve és ellenőrizve. Az ellenőrző bemenetek használata szükséges.
8.25. ábra. Biztonsági kimenet indirekt meghajtással (230 V /230 V) n) Biztonsági kimenet indirekt meghajtású másoló jelfogókkal (8.26. ábra). A kapcsolásra jellemző a biztonsági kimenet, az indirekt meghajtásmásoló jelfogókkal (24 V/230 V), a kétcsatornás jelfeldolgozás. A kártyahelyek A és B PLC-be ugyanarra a helyre
308 csatlakoznak, a jelcsoportcímzés azonos mindkét csatornánál. Az egyik csatorna kimenete a másik csatorna bemenetére vissza van vezetve és ellenőrizve. Az ellenőrző bemenetek használata szükséges.
8.26. ábra. Biztonsági kimenet indirekt meghajtással (24 V/230 V)
8.5.2. Analóg jeladók biztonsági kapcsolásai Az analóg jeladók feszültség- vagy áramjeleket szolgáltatnak. A szokásos értékeket a 8.27. ábra mutatja egycsatornás, nem biztonsági kivitelben.
8.27. ábra. Egycsatornás, nem biztonsági kivitelű analóg bemenet [6] Növelt biztonságú bemeneti fokozatot rendszerint belső tesztelési lehetőséggel alakítanak ki. Az analóg jeladók jóval költségesebbek a digitális jeladóknál, ezért egycsatornás jeladót alkalmaznak. Erre példa a 8.28. ábra. Az ábrán egycsatornás feszültségjeladó látható kétcsatornás jelfeldolgozással. Az üzemmódkapcsoló 0 és 1 kapcsolójának aktiválásakor a jeladó feszültsége, a 2 és 3 kapcsolójának aktiválásakor az etalon vizsgálati feszültség jut a bemenetekre.
309
8.28. ábra. Egycsatornás feszültségjeladó, kétcsatornás jelfeldolgozás a bemeneti fokozat tesztelésével Növelt megbízhatóságú megoldás látható 4-20 mA-es analóg jeladóval a 8.29. ábrán
[6].
8.29. ábra. Egycsatornás 4-20 mA-es jeladó, kétcsatornás feldolgozás a bemeneti fokozat tesztelésével Maximális biztonságú analóg bemeneti fokozatot szemléltet a 8.30. ábra [6] kétcsatornás analóg jeladóval, kétcsatornás feldolgozással és a bemeneti fokozat tesztelésével.
310
8.30. ábra. Maximális biztonságú analóg bemeneti fokozat
8.5.3. További biztonsági megoldások A biztonsági PLC-k piacán egyre gyakoribbak az alapkiépítésben speciális, biztonsági modulokból felépülő PLC-k: − növelt funkciójú és megbízhatóságú watch dog áramkörök (lásd a 9. fejezetben); − belső redundanciák (pl. bemeneti modul, kimeneti modul stb); − belső kártyatesztek; − nagy megbízhatóságú, válogatott alkatrészek stb. Az ilyen felépítésű PLC-k alacsonyabb igények esetén eszközredundancia nélkül is használhatók, de a redundáns konfigurációk is kialakíthatók. A különlegesen veszélyes technológiák (pl. atomreaktor) irányításához további speciális hardver- és szoftvermegoldásokra van szükség.
311 Irodalom: [1] Demmel L., Molnár T., Török B., Vágvölgyi G.: Programozható logikájú vezérlések. Budapest, Mérnöktovábbképző Intézet, 1989. [2] Ajtonyi I.: Biztonsági vezérlők alkalmazása erőművi égővezérléshez. ME. Automatizálási Tanszék, Tanulmány, 1996. [3] Holscher, Holger: Microcomputer in der Sicherheitstechnik. Verlag TÜV Rheinland Köln, 1984. [4] VDI szabvány. [5] DIN 66230 szabvány. [6] SIEMENS: S5-115 H, S5-115 F gépkönyvek. 1993. [7] HONEYWELL: SFC Controllers (gépkönyv). 1995. [8] ABB: Industrial Manual. 1998. [9] Hajas Gy., Kádár A., Stefán P.: Érintésvédelem, robbanásbiztos villamos berendezések. Budapest, Műszaki Könyviadó, 1978. [10] Pongrácz, Gajor, Mányi: Robbanásbiztos villamos berendezések. 1980. [11] DIN V 19250 szabvány. [12] IEC 61508 szabvány. Functional safety of electrical, electronic, programmable electronic safety-related systems. 1997.
312
9. PLC-K KIVÁLASZTÁSA, BEÜZEMELÉSE, ÜZEMELTETÉSE A PLC-k alkalmazásának egyik legnagyobb előnye, hogy nagymértékben lerövidítik a beruházási időt a huzalozott logikájú vezérlésekhez képest. Ez abból adódik, hogy a technológiai fejlesztéssel egyidejűleg a PLC programozható és tesztelhető, így a beüzemelési idő nagymértékben lecsökkenhet. A PLC-k alkalmazásának szempontjai: − technikai jellemzők, amelyek az adott folyamatirányítás feltételeit kielégítik; − gazdaságossági szempontok, amelyek az automatizált technológiára vonatkoznak, és amelyek a termék minőségi, mennyiségi jellemzőinek figyelembevételétől a balesetvédelmi szempontokig figyelembe veendők.
9.1. PLC-k kiválasztásának szempontjai A megfelelő PLC kiválasztásának számos szempontja lehetséges: gazdasági, műszaki, szakember-ellátottság stb. Ezen szempontok nem függetlenek egymástól, ezért csak a komplex szemlélet megfelelő eredményű. A műszaki követelmények követik a PLC-k felépítését. Ennek megfelelően beszélhetünk a CPU, a memóriára, a be/ki vonalak (PLC be/ki egységei) és az informatikai rendszer kialakításának követelményeiről, valamint az ember-gép kapcsolat igényeiről. a) CPU követelményei A CPU követelményei egyrészt az utasításkészletre, másrészt a valós idejű feldolgozásra, ill. a rendkívüli események feldolgozására csoportosíthatók. A PLC-k utasításkészlete igen eltérő lehet a néhány utasítástól (6-8) a nagyszámú utasításig (~ 140). Az összetettebb funkciókat tartalmazó (szubrutinhívás, aritmetika, PID funkció stb.) utasításkészletes PLC-kel hatékonyabban (kevesebb memória, rövidebb végrehajtási idő) valósítható meg az irányítási feladat. Az utasításkészlet minősítésének szempontjai: − csak Boole-műveletek; − adat szó/bájt műveletek: olvasás, írás, analóg értékek kezelése stb.; − szorzás/osztás/összeadás/kivonás műveletek (gyakran analóg vagy időzítési adatokon, pl. 16 bites integer: - 32768-tól 32767-ig); − adatbázis-kezelő műveletek; − lebegőpontos matematikai műveletek, amelyek a +, −, Η és : -on kívül a trigonometriai, gyökvonási, statisztikai műveleteket is tartalmaznak; − szubrutinhívási lehetőség, programmegszakítási lehetőség; − adatkonverzió (pl. bin/BCD, ill. BCD/bin) lehetősége; − soros kommunikációkezelés; − taszkkezelési lehetőség; − PID algoritmushívások lehetősége; − hálózatkezelésre vonatkozó utasítások. A CPU értékelésének szempontjai a program végrehajtásával kapcsolatos jellemzők, a ciklusidő, a taszkszervezés lehetősége, valamint a rendkívüli események feldolgozási jellemzői, a megszakításkérések száma, jellege stb. A CPU működésének szempontjai a PLC ellen-
313 őrzési (önteszt, watch-dog stb.) funkcióinak megléte, valamint a biztonsági PLC-k kialakításának lehetősége. b) Memóriával kapcsolatos követelmények A PLC-kben RAM és EPROM (EEPROM stb.) modulok biztosítják a program végrehajtását. A memóriaegységek egy része rendszerint a CPU-val van összeépítve. Fontos szempont, hogy rendelkezik-e a PLC memóriabővítési lehetőséggel. Bár a végleges programot az EPROM memóriában célszerű tárolni és ilyenkor jóval nagyobb EPROM memóriára van szükség, mint RAM memóriára, mégis szükség lehet az EPROM-mal azonos méretű RAM-ra a programbeüzemelés, a tesztelés idején. A program tesztelését a könnyen módosítható RAM memóriával célszerű elvégezni, mert ez gyors prototípus-fejlesztést (rapid prototyping) tesz lehetővé. A szükséges programmemória mérete a programtól függ, ez pedig összefügg az I/O vonalak számával, az elvégzendő funkciókkal, azok bonyolultságával és a PLC utasításkészletével. A PLC kiválasztásánál a hardverkonfiguráció meghatározásának fontos lépése a szükséges memóriakapacitás, azaz a RAM, ill. EPROM memóriakapacitásának meghatározása. A program méretének becslését az alábbi algoritmus szerint végezhetjük el. 1. lépés: számoljuk meg a szükséges be/ki vonalak számát. 2. lépés: becsüljük meg a program bonyolultsága alapján, hogy egy I/O vonal hány utasítást igényel. (Ez kellő gyakorlatot igénylő szubjektív érték). 3. lépés: szorozzuk meg a 2. lépésben becsült számot az 1. lépésben meghatározott I/O számmal. Az így kapott bájtszám olyan esetekben használható, ha csak Boole jellegű funkciók vannak. Ellenkező esetben a 4. lépést kell elvégezni. 4. lépés: az analóg I/O vonalak mintegy 200 bájtot igényelnek vonalanként. Adjuk hozzá az analóg vonalak számával megszorzott 200 bájtot a 3. lépés eredményéhez. 5. lépés: a különböző programfunkciók további memóriaigény-növelést jelentenek: − kézi/automatikus átkapcsolás további ~ 25 %; − automatikus restart sorrend további ~ 25 %; − diagnosztika hiba üzenetek további ~ 25-30 %. 6. lépés: adatmanipulációs funkciók memóriaigényének becslése (bájt jellegű adatok száma szorozva a bájtok számával). 7. lépés: operátor display kezelés memóriaigénye: 20 bájt/üzenet. 8. lépés: a naplózás memóriaigénye. 9. lépés: a kommunikáció memóriaigénye. c) Be/ki vonalak követelményei A PLC-k be/ki egységeinek követelményei: − a szükséges I/O vonalak száma; − a be/ki vonalak optoizolált leválasztása; − a be/ki vonalak feszültség- és áramszintje, zavarvédettsége; − távoli I/O kezelés szükségessége, hálózati I/O kezelés szükségessége; − a speciális be/ki egységek igénye: − nagy sebességű számlálók; − időzítők; − I/O bővítők, analóg be/ki modulok, fuzzy modulok stb.; − a be/ki egységek tápfeszültség-ellátása;
314 − speciális jelfeldolgozó modulok szükségessége; − biztonsági (hibatűrő) I/O vonalak kialakítása. d) Informatikai rendszer kialakításával kapcsolatos szempontok és követelmények: − pont-pont kommunikációval kapcsolatos adatok (vonalak száma, átviteli sebesség, protokoll stb.); − hálózati kommunikációval kapcsolatos adatok (hardverkialakítás, terepi busz típusa, buszhozzáférési mód, valós idejű működés, protokollok stb.); − többszintű informatikai rendszer kialakításával kapcsolatos szempontok (hardverfeltételek, átjárók, ETHERNET-csatoló, érzékelő/beavatkozó szervek hálózati kezelése, protokollok stb). e) Ember-gép kapcsolatra vonatkozó igények: − adatbeviteli/kiviteli eszközök (numerikus, alfanumerikus, terminál stb.); − folyamatvizualizálással kapcsolatos szoftverek, ill. SCADA rendszer igénye.
9.2. Beüzemelés (installálás) A programozható vezérléseknél mindenki a program elkészítését tekinti elsődlegesnek, de legalább ilyen fontos a következő hardverkövetelmények betartása is: − a feszültség, áram, terhelési viszonyok előírásainak betartása; − a specifikált kábelméretek betartása; − a rendszer kialakítására vonatkozó cégajánlások betartása; − a földelési pontok szakszerű kialakítása (kis impedancia, valamennyi részegység azonos földpotenciálon, csomópontszerűen). A PLC-k elhelyezésének szempontjai: − a PLC-k mechanikailag biztonságos elhelyezése, valamint az illetéktelen programmódosítás megakadályozása, a javítás, modulcsere könnyű elvégzésének biztosítása; − megfelelő védettséggel a biztonságos üzemvitel garantálása (korróziót okozó közegtől való védelem, mágneses, sztatikus és nagyfrekvenciás zavarok elleni védelem); − a teljesítménykapcsolók (relé, mágneskapcsoló, tirisztor) helyi elkülönítése a vezérlőszekrényekben. Az installálás az adott PLC gépkönyvében előírt csatlakoztatások után az ún. „set up” tábla kitöltésével indul. Ez a PLC rendszer konfigurációtól függő kiindulási adatainak beállítását jelenti. A „set up” tábla az egyes programozóvezérlők adottságaitól függ. Példaként az Omron CPM középkategóriájú PLC beállítási funkcióit adjuk meg. Beállítási funkciók: – indítási funkciók, üzemmód kijelölése (20 szó); – ciklusidőre vonatkozó beállítások (5 szó): RS 232C portkiszolgálási idő, ciklusidőfelügyelet beállítása, ciklusidő-felügyelet beállítási ideje; – I/O és megszakításkezelés beállítása (19 szó); – gyorsszámlálók beállítása (4 szó); – RS 232C port beállítása (5 szó): port, a kommunikáció módja, adatátviteli sebesség és adatformátum beállítása, a start kód meghatározása; – további kommunikációs portok beállítása (5 szó); – hibanaplózás beállítása (1 szó). A teljes beállítási terület az Omron CPM típusú PLC esetén 56 szó. A program fejlesztésére rendszerint a IEC-1131 szabványt támogató grafikus editorok állnak rendelkezésre
315 (LAD editor, FBD editor). A szerkesztett programot a PLC RAM-jába, ill. EEPROM-jába kell betölteni. A vezérlő működése szempontjából kiemelkedő fontosságú az adatok és a program megfelelő tárolása és a tápfeszültség kimaradása elleni védekezés. A következőkben a Siemens S7-200 PLC hasonló lehetőségeit mutatjuk be. A RAM és az EEPROM funkcionális felosztását szemlélteti a 9.1. ábra [2].
9.1. ábra. A RAM és EEPROM funkcionális területei Az ábrán a nagy tárkapacitású RAM teleppel védett és tartalmazza a felhasználói programot, a CPU-konfigurációt, a változók memóriaterületét (V), az ún. bit memóriaterületet (M) és az időzítők, számlálók aktuális értékét tároló memóriaterületet. Az EEPROM-ban ugyanezen funkcióknak van területük. Programletöltéskor a számítógép átküldi a felhasználói programot, a CPU-konfigurációt és a V memória tartalmát a RAM-ba. A PLC CPU-ja az átvett adatokat az EEPROM-ban tárolja (9.2.ábra) [2].
316
9.2. ábra. Programletöltés a PLC-be Az S7-200 lehetőséget nyújt az előző három típusú adatblokk visszatöltésére a fejlesztőrendszerbe a 9.3. ábra szerint [2].
317
9.3. ábra. Adatok automatikus mentése tápfeszültség-csökkenéskor A tápfeszültség csökkenésének detektálása esetén a V jelű memóriaterület tartalma automatikusan áttöltődik az EEPROM memória fenntartott területére a 9.4. ábrának megfelelően [2].
9.4. ábra. Adatmentés tápfeszültség-csökkenéskor Tápfeszültség-bekapcsoláskor az S7-200 automatikusan áttölti a CPU konfigurációs adatokat és a felhasználói programot a RAM-ba a 9.5. ábra szerint [2].
318
9.5. ábra. RAM-feltöltés a tápfeszültség bekapcsolásakor A tápfeszültség bekapcsolásakor a teljes RAM-tartalom feltöltésére is lehetőség van (9.6. ábra) [2].
9.6. ábra. A RAM teljes feltöltése az EEPROM-ból Az EEPROM mellett a tartós adattárolás céljára ma már a memóriakártya is használatos. Az S7-200 a 9.7. ábra szerinti adatok mágneskártyára töltését biztosítja.
319
9.7. ábra. Adatok letöltése mágneskártyára A mágneskártyán tárolt program és adatok visszatöltését szemlélteti a 9.8. ábra [2]. A feltöltési folyamat bekapcsoláskor, ill. installáláskor automatikusan végrehajtható.
9.8. ábra. Memóriafeltöltés mágneskártyáról
320
9.3. Tesztelés A PLC programok tesztelését installálás előtt szimulált, majd installálás után valós be/kimenetekkel célszerű elvégezni. Installálás előtt a szimulált be/kimenettel történő tesztelés igen fontos a be/kimenetek összerendelése és a program funkcionális tesztelése szempontjából. Minél hatékonyabban végezzük a tesztelést az installálás előtt, annál kevesebb probléma adódik installálás után. Az installálás előtti tesztelést szemlélteti a 9.9. ábra.
9.9. ábra. Programtesztelési mód szimulált hardver be/kimenetekkel Egyes cégek ún. statikus diagnosztikai szoftvereket is ajánlanak a teszteléshez. Ezek révén a program formai hibái könnyen felismerhetők (9.10. ábra) [1].
9.10. ábra. Diagnosztikai módszer grafikus szoftverrel
321 Az ilyen szoftver lehetőséget nyújt a kontaktusok állapotának változtatására, MERKER funkció tesztelésére stb. Léteznek ún. dinamikus monitorozást segítő szoftverek is. Ezek a grafikus program egyes elemeinek szoftveres vizsgálatát teszik lehetővé. A dinamikus monitorozás lehetőséget nyújt az időzítések, számlálók, összetettebb funkciók ellenőrzésére is. Az installálás utáni tesztelés egyik célja a hardveregységek tesztelése, a kábelezések ellenőrzése stb. Fontos, hogy installáció utáni tesztelésnél már előzőleg a szoftverfunkciókat teszteljük, mert a technológiában ez vagyonbiztonsági és balesetvédelmi problémát okozhat.
9.4. PLC-rendszer karbantartása, üzemeltetése A programozható vezérlők nem tartalmaznak mozgó alkatrészeket (kivéve a bemeneti, ill. beavatkozószerveket), így hosszú élettartamra vannak tervezve. Rendszerint robosztus kivitelűek, a mechanikai hatásoktól védettek. A be/kimenetek optoleválasztásúak, így a külső zavarok nem juthatnak a készülékbe. A RAM jellegű memóriák teleppel védettek, ami a tápfeszültség-kiesés elleni védelmet biztosítja. A PLC-k időbeli meghibásodási aránya a 8.2. ábrán bemutatott élettartamgörbe szerinti. Az ábra szerint a meghibásodások az üzemelés első periódusában (ami lehet néhány óra, ill. nap) jelentkeznek kiemelkedően magas százalékban. Ezt egy átlagos meghibásodási arány követi. A PLC élettartamának végén a meghibásodások aránya ismét emelkedik. Emiatt a nagy megbízhatósági zónában kell üzemeltetni a PLC-ket. A PLC-k üzemvitelének jellemzői: − MTBF, meghibásodás közötti átlagos idő; − MTTF, hiba kiesésre jutó átlagos idő; − MTTR, javításra fordított átlagos idő, ahogyan erről a 8. fejezetben volt szó. A PLC üzem közben rendszerint önteszttel ellenőrzi a legfontosabb funkciókat. A GEM 80 PLC kilenc öntesztfunkcióval ellenőrzi önmagát és háromjegyű számkóddal jelzi ki a hibát. Ilyen tipikus öntesztfunkciók: az EPROM, a RAM, a logikai és a Watchdog teszthiba. A felsorolt önteszteket rendszerint a bekapcsolás után futtatják le. Emellett a felhasználó is építhet tesztfunkciókat a rendszerbe. Belső teszthiba esetén a rendszert (CPU-t) le lehet állítani HALT állapotba vagy viszsza lehet állítani a kiinduló állapotba. Gyakran a kimeneti eszközök aktiválását (tápfeszültségellátását) egy relével engedélyezik. Teszthiba esetén azonnal letiltják az összes kimenetet a relével. A mikroprocesszor bázisú PLC-ket rendszerint watch-dog áramkörrel is ellátják. A 9.11. ábra szerint a kimeneti eszközök tápfeszültségét a watch-dog relé kapcsolja [1]. Amikor a PLC-t bekapcsolják és az hibátlanul elindul, akkor watch-dog relé működik. Hibadetektálás esetén a watch dog relé elejt és a PLC nem tudja működtetni a kimeneteket. Az egyes gyártók egyre speciálisabb watch-dog modulokat fejlesztenek ki.
322
9.11. ábra. Watch-dog funkció A PLC működésének biztonságát a 8. fejezetben leírt módszerekkel növelhetjük. Az üzem közbeni állapotok szoftveres ellenőrzéséhez a CPU operációs rendszere fenntartott RAM területre teszi azokat az adatokat, amelyek a hibajelzést, nyomkövetést segítik. Ezek flag-ek, bájtok vagy szavak lehetnek. Az Omron CPM típusú PLC-k operációs rendszere kétszer 24 szó területen tárolja a legfontosabb jelzőbiteket és szavakat. A teljesség igénye nélkül felsorolunk néhány jellegzetes funkciót: − RS 232C kommunikációs kód (3 bit): normális átvitel, paritáshiba, formátumhiba, túlcsordulás; − RS 232C hibaflag, amely 1-be billen, ha a hiba bekövetkezett; − RS 232C vételszámláló; − gyorsszámláló-tartomány figyelése; − impulzuskimenetet figyelő bit; − PLC ciklusidő-hibafigyelés bitcímzési hiba (nincs a cím a rendszerben); − aktuális ciklusidő (4 digit); − maximális ciklusidő; − óra-, dátum-, naptáradatok stb. A PLC-k leggyakoribb külső hibái: − I/O eszközhiba (pl. távadó vagy beavatkozó); − kábelezési hiba; − kommunikációs hiba; − tápfeszültséghiba; − külső zavarok okozta hiba. A gyakorlatban a hibák eloszlása a következő: − 45 %-ban érzékelő-, távadó hiba; − 30 %-ban beavatkozóhiba; − 5 %-ban kábelezési hiba (szakadás, zárlat); − 5 %-ban CPU hiba; −15 %-ban I/O hiba, kommunikáció.
Irodalomjegyzék
323 [1] [2] [3] [4] [5]
Ian G. Warnock: Programmable Controllers Operation and Application. Prentice Hall International, 1988. Siemens: PCS7 gépkönyv. 1997. Omron: CPM PLC Felhasználói kézikönyv. 1999. GEM: 80 PLC Users Manual. 1988. Omron: CS1 Users Manual. 1999.
324
10. FOLYAMATVIZUALIZÁLÓ RENDSZEREK
ÉS
SCADA PROGRAM-
A technológiai folyamat felügyeletét ellátó személyzet számára az információk még a közelmúltban is technológiai sématáblákon, kijelzőműszereken, regisztrálókon jelentek meg. Ha a folyamat működésében valamilyen vészállapot fellépésére lehetett következtetni, akkor hangjelzéssel és a sématáblán a hiba okának kijelzésével figyelmeztették a kezelőt a fokozott figyelemre, esetleg a beavatkozás szükségességére. Egy kiterjedt technológiai folyamat esetén a sématábla mérete, a kijelző- és a regisztrálóműszerek száma igen tekintélyes. Ebből az is következik, hogy létrehozásuk költséges. Problémás a technológia átalakítása, bővítése, az eszközbázison nehézkes és költséges a változtatások naprakész követése. A gyakorlat szerint a sématáblák nem a tényleges technológiai állapotot tükrözik, kisebb-nagyobb eltérések nem tekinthetők kirívó kivételnek. Kézenfekvőnek tűnik, hogy a funkciók számítógépes bázison integrálódjanak. A számítógépes hardverbázist napjainkban PC kategóriájú (esetleg ipari kivitelű) számítógépek, míg a szoftverrendszer alapját a folyamatvizualizáló programrendszer jelenti. A megjelenítő munkahelyek intelligenciája a kezelői funkciók új, korábban elképzelhetetlen minőségi javulását eredményezte. Szakmai viták tárgya, hogy egy vagy több számítógép képernyőjén lehetséges-e a kezelő számára megjeleníteni a technológiai folyamat átfogó értékelésére alkalmas sémát, vagy ez csak egy több négyzetméteres felületű sématáblán lehetséges. Mindkét fél képviselői nagyon hihető és megfontolandó érveket sorakoztatnak fel álláspontjuk igazolására. A vita ösztönzi a számítógépes megoldás híveit, hogy a vizualizálási feladatok megoldására tervezett rendszer a lehetőségek által megszabott határokon belül kielégítse a másik tábor alapvető igényeit. Napjainkban a gazdasági és a többletfunkciókból származó előnyök alapján a számítógépes folyamatvizualizálás térnyerése figyelhető meg. A folyamatvizualizáló szoftverek nem egyedi fejlesztés eredményei. A szoftvergyártók sokasága forgalmaz olyan keretrendszereket, amelyek alkalmasak a folyamatvizualizálás alapvető feladatainak megvalósítására. A keretrendszerek azt biztosítják, hogy az alkalmazók számára az applikáció során ne a programozástechnika alapkérdései (pl. egy grafikus ábra kirajzolása) legyen a fő probléma, hanem a technológiai állapot megjelenítésének optimális módja kerüljön a megoldandó feladatok első helyére. Ha egy rendszer tervezői sok egyedi, a keretszoftvert gyártó által nem preferált funkciót kívánnak beépíteni, akkor az alkalmazás sikeressége nagymértékben a keretrendszer rugalmasságán múlik.
10.1. A technológiai folyamat állapotát jellemző változók és feldolgozásuk Egy technológia folyamat állapotát általában kétállapotú jelzések és mérési adatok jellemzik. A folyamatvizualizáló rendszerek a technológia állapotára jellemző jelzések és mérések értékét soros kommunikáció útján kapják a folyamattal közvetlen kapcsolatban álló PLCberendezésektől. A megjelenítő-rendszerek tervezésekor, kialakításakor törekedni kell arra, hogy a felhasznált és megjelenített adatok hitelesek, hihetők legyenek. Amennyiben ezt a követelményt figyelmen kívül hagyjuk, a felhasználók bizalma jogosan csökken a rendszer iránt. 10.1.1. A jelzések és hihetőségük A technológiai folyamat nagyon sok eseményéről a kétállapotú jelzések megváltozásából szerezhetünk tudomást. A jelzések két, egymást kizáró állapothoz rendelődnek. A jelzés egyik
325 értéke (legyen ez a logikai 1) pl. egy gázfáklya lángjának meglétét, a jelzés másik (logikai 0) értéke a láng hiányát jelzi. A jelzés aktuális értékét a technológián elhelyezett lángérzékelő szolgáltatja. A jelzések szerepére számos más példa is van. Elemezhetjük, pl. egy kemenceajtó zárt, ill. nyitott állapotát mutató jelzés kiépítésének technikai részleteit, vagy egy reaktortartály nyomás-, ill. szintkapcsolójának kialakítását, amelyek a nyomás, ill. a szint egy adott nagyságot meghaladó értékénél szolgáltatnak logikai 1 jelet. A jelzések értelmezésének lehetőségeit egyedi jelzések, jelzéspárok és jelzéscsoportok szerint csoportosíthatjuk. Egyedi jelzések Ebbe a csoportba azokat a jelzéseket soroljuk, amelyek értelmezéséhez nem szükséges más jelzés értékét figyelembe venni. Az a jelzés, ami a láng jelenlétét vagy hiányát mutatja, csak önmagában értelmezhető. A jelzések hihetőségét a vizualizáló rendszer nem tudja ellenőrizni, hiszen nincs semmi alap a technológia felől érkező adat felülbírálatára. Amennyiben egy technológiai folyamat nagyon fontos egyedi jelzéseinek hihetőségéről is szeretnénk információt kapni, akkor ezen egyedi jelzések megkettőzését alkalmazzák. A megkettőzés során nem az a célszerű eljárás, hogy mindkét jelzés ugyanazt az információt hordozza, azaz mindkét jelzés azonosan 1, vagy azonosan 0 értékű legyen. Előnyösebb, ha a megkettőzött jelzések egymás komplemensei, azaz pl. az egyik jelzés 1 értéke a láng meglétét, míg a másik jelzés 1 értéke a láng hiányát mutatja. A hihetőség a két jelzés eltérő értéke (1, 0 vagy 0,1) esetén áll fenn. Jelzéspárok Néhány esetben a technológia állapotára két jelzés (jelzéspár) értéke nyújt információt. Erre példaként egy folyadéktartály minimum- és maximumjelzéseinek lehetséges értékváltozatait mutatjuk be. A példából kiderül, hogy a jelzéspárok esetén már megkettőzés nélkül is bizonyos hibaellenőrzésre nyílik lehetőség, bár ez korántsem jelenti, hogy minden érzékelőmeghibásodás kijelezhető a rendszerben. Szint a minimum alatt 0 0 1 1
Szint a maximum felett 0 1 0 1
A folyadékszint minimum és maximum között maximum fölött minimum alatt hihetetlen
Másik példaként egy igen gyakori technológiai berendezést, a tolózár állapotait említjük. A tolózár nyitott, valamint a tolózár zárt állapotát egy-egy jelzés mutatja. A különbség a két példa állapotjelzései között az, hogy a jelzéspár 00 értékpárja csak a tolózár nyitási, ill. zárási időtartamára állhat fenn. Ha az időtartamnál hosszabb ideig érzékeljük az értékpárt, akkor a tolózár elakadását prognosztizálhatjuk. Azaz a jelzéspár hihetőség-ellenőrzésén túl időzítésfigyelés is szükséges. Tolózár nyitott 0 0 1 1
Tolózár zárt 0 1 0 1
Áz állapot tolózár éppen zár vagy nyit zárt nyitott hihetetlen
Jelzéscsoportok Nem túl gyakran fordul elő, hogy több jelzés együtt mutatja egy technológiai berendezés állapotát. Ha pl. egy szállítószalag kilépőpontján három különböző irányba terelhetjük a
326 szalagon haladó anyagot, és a lehetséges útvonalak közül csak egy lehet beállítva (mert mechanikusan csak ez lehetséges), akkor a három lehetséges haladási irány beállítását jelző három érzékelő közül csak egyetlen jelezhet logikai 1 értéket. A jelzések minden olyan értékkombinációja, ahol bármelyik kettő, vagy mindhárom jelzés 1, csak az érzékelők meghibásodását (a jelzéscsoport hihetetlenségét) tükrözi. 10.1.2. A mérési adatok, hihetőségük és határérték-vizsgálatuk A technológiai berendezés pillanatnyi állapotáról a mérési adatok (nyomások, hőmérsékletek, közegáramok stb.) szolgáltatnak a jelzéseken túl információkat. A mérési adatokat általában hagyományos, vagy intelligens távadók, esetleg impulzussorozatot szolgáltató eszközök adják. A hagyományos távadók a mért mennyiséggel arányos áramjelet adnak tipikusan a 4...20 mA tartományban. Az áramjelet precíziós ellenállással feszültségjellé alakítják, ami az analóg multiplexeren keresztül már az A/D konverter bemenetére csatlakoztatható. Például 100 Ohm lezáró ellenállás alkalmazásával maximum 2 V feszültségjel kapcsolódik (20 mA esetén) az A/D konverter bemenetére. Az A/D konverter a felbontásától függően 12...16 bites bináris számot szolgáltat, amely a bemenetére kapcsolt feszültséggel arányos. A folyamatvizualizáló rendszerekben nyilván nem ezt a számértéket, hanem a mérnöki egységre átszámított megfelelőjét kell megjeleníteni. Az átszámítást skálázásnak nevezik. A mérések többsége a mért mennyiséggel arányos áramjelet szolgáltat, azaz lineáris skálázás szükséges. Ha közegáramot kívánunk mérőperemmel mérni, úgy a mérőperemen fellépő nyomáskülönbség nagyságából következtethetünk a térfogatáram nagyságára. A térfogatáram a mért nyomáskülönbség (az A/D által adott számérték) négyzetgyökével arányos. Ebben az esetben gyökös skálázás szükséges. Ha a számérték a 4 mA-nél kisebb, vagy a 20 mA-nél nagyobb áramértékre enged következtetni, akkor ez az adat hihetetlenségét jelenti. A folyamatvizualizálás során a hihetőségi tartományt a méréshatárnál szűkebbre választják technológiai megfontolások alapján. Az intelligens (smart) távadók soros kommunikációval a terepi buszon keresztül a mért adatot digitálisan szolgáltatják. Ez az adat már mérnöki egységre számítva (pl. egy nyomás esetén bar-ban) jelenik meg a rendszerben. A hihetetlenséget a távadó alsó méréshatáránál kisebb, vagy a felső méréshatáránál nagyobb adatok jelentik (bár ez elvileg nem fordulhat elő). A hihetőségi tartomány beállított értéke itt is lehet kisebb, mint a távadó méréshatára. Közegáram mérésekor gyakori, hogy a mérőeszköz nem áram-, hanem impulzuskimenetet szolgáltat. Egy víz- vagy gázóra térfogategységenként szolgáltat egy-egy impulzust. Ennél sokkal nagyobb számban fordul elő, hogy mérőturbinákkal mérik a folyadékok, gázok mennyiségét, egy-egy térfogategységhez egy-egy impulzus tartozik. Az alapvető különbség az impulzusok frekvenciájában mutatkozik a különböző mérőeszközök között. Vannak mérőeszközök (pl. vízóra, gázóra), ahol csak maximum néhány Hz frekvenciájú impulzus szokásos, míg vannak olyan eszközök (turbinák, örvényszórásos mérők), ahol kHz-es frekvenciák a tipikusak. Az impulzusokat számlálókkal számláltatják. Nyilvánvaló különbséget jelent egy PLC számára a maximum néhány Hz és a kHz frekvenciájú impulzusok számlálása. Az egyik esetben egy, a PLC-ben szoftveresen leképezett számláló is megfelelő, míg a másik esetben hardveres számlálóegység szükséges. Az adat megjelenítésének követelményei kettősek: egy gőztermelő kazán legfontosabb adatai közé tartozik, hogy egy műszak, vagy egy nap alatt mennyi vizet, ill. mennyi gázt használtunk fel. Ezen adatokat a víz- és a gázórának az adott időszak végéhez, ill. kezdetéhez tartozó számlálóállásaiból számítják. Követelmény a pillanatnyi víz- és gázfogyasztás megjelenítése is. Ehhez meg kell határoznunk, hogy két mintavé-
327 telezés között mennyit változott a számláló (mennyi a növekmény), ill. az ehhez tartozó térfogatot, majd ezt el kell osztani a mintavételezések között eltelt idővel. Így megkapjuk a pilla3 3 natnyi fogyasztást (az intenzitást) m /s vagy m /h mértékegységben. A módszer csak akkor alkalmazható, ha a mérőeszköz a két mintavételezés között nagyszámú (több száz) impulzust szolgáltat. Amennyiben pl. 1 s mintavételi idővel 1 Hz környékén kismértékben ingadozó 3 frekvenciájú impulzusokat kívánunk megjeleníteni (egy-egy impulzus feleljen meg 1 m tér3 fogatnak), úgy a vizualizáló rendszerben 0, 1, 2 m /s fogyasztásadatokat fogunk látni, holott a 3 valóságban a fogyasztás 1 m /s környékén egy szűk tartományban ingadozik. Ez használhatatlan adat, ezért ilyen esetekben változtatni kell az algoritmuson. A jelenséget a tört impulzusok számlálási problémájának nevezik, és kiküszöbölésének több módja ismert. Szoftveresen egy hosszabb időszak számlálóállásaiból képezzük az adott időszak átlagfogyasztását (intenzitását). Korrektebb megoldás, ha az impulzus frekvenciájára nem a számlálóállásokból, hanem két impulzus felfutó (vagy lefutó) éle között eltelt időből következtetünk. Általában a technológiai jellemzők, pl. egy kemence munkaterének hőmérséklete, nem változhatnak ugrásszerűen. Ha két egymást követő mintavétel adataiból kiszámított változási sebesség meghalad egy hihetőségi határt, akkor az adatot hihetetlennek kell minősíteni. Az adat hihetetlensége a mérőeszköz, ill. a kommunikációs csatorna pillanatnyi hibájára utal, és ekkor az adat pótlásáról kell gondoskodni. Többféle adatpótlási technika szokásos. A leggyakoribb módszer az, hogy hihetetlenség esetén az adatot az utolsó érvényes értékével helyettesítjük (pótoljuk). Az adatpótlás időtartamát nem lehet önkényesen választani. Amennyiben pl. egy gyorsan változni képes nyomás nagyságát több perc időtartamban pótoljuk, úgy ennek az adatnak már semmi köze nincs a valósághoz, csak a kezelőt vezeti félre. Nem célszerű olyan rendszereket tervezni, amelyek a technológia nélkül is képesek adatokat megjeleníteni, azokból következtetéseket levonni. Helytelen tervezési gyakorlat, hogy a legapróbb hiányosság esetén is riasszuk a kezelőt, mert így eltereljük a figyelmét a technológia érdemi felügyeletétől. Valamilyen ésszerű kompromisszumot kell találni a technológia ismeretében az adatpótlás módjáról és időtartamáról. A technológiai mért jellemzői (pl. nyomás, hőmérséklet, szint) normális üzemelés esetén egy-egy előre meghatározható, a hihetőségi tartománytól lényegesen szűkebb, tartományon belül változnak. A tartomány határain való átlépéskor fel kell hívni a kezelő figyelmét a rendellenességre. Ezt a funkciót alarmvizsgálatnak nevezik. A gyakorlatban az alarmminimum és az alarmmaximum figyelésén túl esetleg a változás sebességének (trend) alarmvizsgálata szokásos. Ha a mért technológiai jellemző az alarmhatár szűk környezetében ingadozik, akkor a kezelő folyamatosan figyelmeztetést kap arról, hogy az alarm fellépett, ill. megszűnt. Ez rendkívül zavaró, ezért gyakran az alarm fellépésekor az alarm határát automatikusan egy adott értékkel eltolják (maximum esetén csökkentik, míg minimum esetén növelik), majd a normál értékre való visszatérést követően visszaállítják az eredeti értékre, megszüntetve a jelenséget. 10.1.3. A feldolgozási feladatok A technológiából származó jelzésekhez és mérési adatokhoz számos feldolgozási feladat kapcsolódhat, amely feladatok megoldását a vizualizáló programrendszernek kell biztosítania. a) Eseményüzenetek A jelzések változásához gyakran szöveges eseményüzenetet rendelnek. Az eseményüzenet a jelzésváltozáshoz kapcsolódó történést fogalmazza szövegesen. Egy eseményüzenet például a következő:
328 2000 jan. 26. 12:15:23 A T1001 tartály szintje a maximum felett. Ezeket a szöveges üzeneteket azonnal a kezelő tudomására kell hozni (pl. a képernyő egy elhatárolt ablakában), mert előfordulhat, hogy valamilyen kezelői intézkedés válik szükségessé. Az ilyen üzeneteket vészesemény-üzeneteknek nevezik. Vannak rendszerek, ahol követelmény, hogy a technológia normál történéseiről is ún. közönséges eseményüzenetek generálódjanak. Vész- vagy közönséges eseményüzeneteket nemcsak a jelzések változása generálhat, hanem a mérőcsatornákhoz is kapcsolódhatnak akár vész-, akár közönséges eseményüzenetek. Például, ha egy nyomás túllépi a felső vészhatárt (alarm), akkor egy vészüzenetet kell generálni. Az eseményüzeneteket az esemény fellépésekor és a megszűnésekor hozzák létre. A rendszerek tervezésekor gondosan elemezni kell, mely állapotok fellépése tekinthető vészállapotnak, azaz mely eseményekhez kapcsoljunk vészüzeneteket. Ha egy rendszerben indokolatlanul gyakran jelennek meg vészüzenetek, akkor a kezelő képtelen lesz felismerni egy tényleges vészállapotot. Hasonló dilemma a rendszerek tervezésekor, hogy megköveteljük-e a vész-eseményüzenetek nyugtázását (pl. egy billentyű megnyomásával) a kezelőtől, vagy jelenítsük meg számára automatikusan a következő frissebb vészüzenetet anélkül, hogy a korábbi üzenetsort nem olvasta el. Mindkét változatra vannak példák, általános szabályokat nem lehet felállítani. A vészüzeneteket a rendszerben archiválni kell, hogy a legfontosabb rendellenességek fellépése és megszűnése nyomon követhető legyen. Az archiválás napjainkban egyre inkább egy adatbázisban történő tárolást jelenti. A megőrzés időtartama a néhány naptól a néhány hónapig igen változatos lehet, a technológia jellegétől függően. A vizualizáló rendszernek az archiválás mellett lehetőséget kell teremtenie, hogy az adatarchívumból kikeressük a számunkra érdekes eseményüzeneteket. A keresés tipikusan egy adott időtartamra, esetleg adott objektumra (pl. T1001 tartály) vonatkozik. Néhány esetben a korábbi számítógépes hagyományok alapján követelményként fogalmazzák meg az azonnali eseménykinyomtatást egy külön ún. eseménynyomtatón. b) Származtatott adatok előállítása Gyakran a mérési csatornák adataiból valamilyen algoritmus alapján kell előállítani a kezelő számára szükséges adatokat. Ha az áramló gáz mennyiségét mérőperemmel mérjük, úgy a gáz mennyisége (normál állapotra számított értéke): q=c
dpp T
(10-1)
ahol q a gáz mennyisége, c a mérőperem konstansa, dp a mérőperemen létrejövő nyomásesés, p a gáz abszolút nyomása és T a gáz hőmérséklete. A kifejezés alapján látható, hogy három mérőcsatorna adatából határozhatjuk meg a számunkra szükséges gázmennyiséget. Egy másik példa a származtatott adat előállítására egy gömbtartály olajkészletének a figyelése. Ha mérjük a gömbtartályban lévő olaj szintjét, már az is igen fontos információ, de ebből célszerű meghatározni, hogy mennyi a tartályban lévő olaj térfogata. Ehhez a szintértékhez egy tartálykalibrációs táblázat alapján, ahol adott lépésközzel az összetartozó szint- és térfogatadatok találhatók, hozzárendeljük a térfogati adatot, mint származtatott mennyiséget. A tartálykalibrációs táblázat a vizualizáló rendszer adatbázisának a része, és az összerendelés algoritmussal történik. A példák nagy számban sorolhatók, a különböző technológiáknál igen változatos származtatott mennyiségek előállítására van szükség a technológia követése érdekében.
329 c) Adatarchiválás A vizualizáló rendszerek alapvető követelménye, hogy legyen lehetőség az adatok archiválására. Az adatarchívumokba tipikusan a mérési csatornák adatait (nyomások, hőmérsékletek, közegáramok stb.) tárolják, de a jelzéseket is archiválni kell. Az archiválásnak az a célja, hogy a kezelő bármikor megjeleníthesse egy vagy több mennyiség időbeli alakulását (trendjét). Technológiafüggő az, hogy egy archívumba mennyi ideig kell egy adatot megőrizni. Például nagy tömegű sósav regenerálási ciklusa több (három-négy) hét időtartam is lehet, ezért nem túlzott igény, ha az egyhónapos adatmegőrzést követeljük. A legegyszerűbb adatarchiválási technika, hogy minden egyes mintavételkor minden egyes mérési csatorna adatát azonosítóval, dátummal, ill. időponttal kiegészítve az adatbázisba helyezzük. Nézzük meg, hogy ez a módszer milyen tárolási helyigényt jelent. 2 s mintavételi idővel számolva mérőcsatornánként 1339200 rekordot kell bejegyezni az adatbázisba egy hónap (31 nap) alatt. A rekord mérete még a legtakarékosabb számábrázolási esetben is minimum 10 bájt (azonosító 2 bájt, adat 4 bájt, dátum és idő 4 bájt), azaz a helyigény mintegy 13 Mbájt mérőcsatornánként. Sok mérőcsatorna hosszú idejű archiválására a fenti módszer még nagy háttérkapacitás esetén sem alkalmazható. A gyakorlatban a mért mennyiségek normál üzemelésnél nem változnak gyorsan. A nyomás vagy a hőmérséklet az esetek jelentős részében hosszú ideig nem, vagy alig változik. Ilyen esetekben jelentősen csökkenthetjük a helyigényt, ha egy mérőcsatorna adatát (azonosítóval és dátummal, ill. időponttal kiegészítve) csak akkor írjuk be az archívumba, ha a mért adat a korábban letárolt értékhez képest egy általunk előírt szignifikáns változási küszöbnél nagyobb mértékben megváltozott. Tehát pl. egy hőmérséklet csak akkor kerül az archívumba, ha az aktuális értéke pl. 0,5 °C nagysággal eltér az utoljára tárolt értéktől. Az egész archiválási módszer értelmét veszti akkor, ha az archívum pontossága érdekében túl kicsire választjuk a szignifikáns változási küszöböt, vagy a mért mennyiségek két mintavétel között jelentősen megváltoznak. Egyes vizualizáló rendszerek az adattömörítés érdekében azt a technikát alkalmazzák, hogy a mért adatok (időben lineáris) változási trendjét tárolják az archívumba. Csak akkor kerül új bejegyzés, ha az adat a trend alapján meghatározott értéktől szignifikánsan eltér. Azaz minden rekord az adaton (azonosítón és dátumidőponton) túl tartalmazza az adat változási meredekségét is a korábbi adatok alapján. A gyakorlat szerint ez a tárolási technika nagyon hatékony adattömörítést biztosít, viszonylag kis háttérkapacitáson igen hosszú idejű visszatekintést lehet biztosítani. d) Post-mortem adatarchívumok A post-mortem archívumoknak az a szerepe, hogy egy üzemzavar után meg lehessen határozni a zavar okát. Az archívum gyakorlatilag minden mérőcsatorna és jelzés értékét tartalmazza minden egyes mintavételi időpontban. Az elévült adatok felülíródnak, azaz ha az archívumot egy táblázatnak képzeljük el, akkor az utolsó sor (rekord) beírását követően ismét a táblázat első sorától kezdve írjuk be az adatrekordokat. A post-mortem archívum írása feltételekhez kötött. Ha a normál üzemelésre vonatkozó feltételek teljesülnek, akkor az archívum az említett módon íródik. Ha egy, az üzemzavart tükröző feltétel (pl. tartálynyomás a maximum fölött jelzés logikai 1 értékű) az archívumba írás megszűnik, és az archívum tartalma az üzemzavart megelőző időszakot tükrözi. Ennek kiértékelése alapján meg lehet határozni, hogy milyen okok vezettek az üzemzavarhoz. Az archívum írásának ismételt bekapcsolását az ok megszűnését követően a kezelő kezdeményezi.
330 A post-mortem archívumok általában azért különülnek el a korábbi archívumoktól, mert a normál archiválás helytelen paraméterezés esetén pontatlan, és egyáltalán nem biztos, hogy a hibaok kiderítéséhez szükséges valamennyi adat normál archiválása előírt. A postmortem archívumok alapján kellő intelligenciájú rendszerben az üzemzavar előtti időszak lépésről lépésre tetszőleges lassítással lejátszható. Egy ilyen rendszer jelentőségét pl. a vasúti forgalmat felügyelő rendszer esetén nem lehet túlbecsülni. e) Órás, műszakos, napi adatok előállítása A gyakorlatban az adatok áttekinthető terjedelemre tömörítésének egyik legáltalánosabb elve, hogy egy adott időszakra (órára, műszakra, napra) vonatkozó értékét állítjuk elő, és jelenítjük meg a termelési naplókban. A kötött (1, 8, 24 óra) időtartamú adatok előállításának elvei Az intenzitást tükröző adatokra (nyomás, hőmérséklet stb.) az adott időtartamra vonatkozó átlagértéket állítják elő. Általában az átlagérték önmagában nem tükrözi megfelelően az adott időszak történéseit, ezért előállítják az adat átlag körüli ingadozására jellemző mérőszámot is. Ez kézenfekvően a szórás lehet, de az adott időszakon belüli legkisebb (minimum), ill. az adott időszakon belüli legnagyobb (maximum) adat értékének tárolása is elfogadott. Szabályozott jellemzők esetén a kívánt értéktől vett eltérés átlagát, ill. ennek ingadozását is előállíthatjuk. A fogyasztással kapcsolatos adatokra (gáz, víz, elektromos energia) általában az időszakra vonatkozó felhasználás (fogyasztás) meghatározása a cél. Amennyiben a mérőeszköz a fogyasztás pillanatnyi nagyságával (pl. m3/h) arányos jelet szolgáltat, a számítógépes rendszernek az idő szerinti integrált értéket kell előállítania. Ez tipikusan a téglányszabály szerinti közelítéssel történik. Ha a mérőeszköz a fogyasztással (pl. m3) arányos számú impulzust szolgáltat (pl. áramlásmérők), akkor a fogyasztást az impulzusok egyszerű összegzésével határozzák meg. A készletekre jellemző (pl. tartály folyadékszintje, vagy folyadék térfogata esetén), hogy az adott időszak utolsó érvényes adatát használják fel. Ez az adott időszak (óra, műszak, nap) végén érvényes készlet képzését jelenti. A 8, 24 órás adatok akkor korrektek, ha az adott óra valamennyi mintavétele során a mérőcsatorna hihető adatot szolgáltat. Egy folyamatosan üzemelő berendezésnél óhatatlanul előfordul, hogy a mérőeszköz vagy a kommunikáció meghibásodik, vagy a vizualizáló szoftvert tartalmazó számítógépet rövidebb-hosszabb időszakra kikapcsolják vagy meghibásodik. Ekkor felvetődhet az igény, hogy a hihetetlen adatokat manuálisan pótolni lehessen. Az alkalmazók igénylik, hogy a manuális adatpótlás korlátozás nélkül − a termelési naplóban megjelenő adatcsoportokra − alkalmazható legyen. E törekvés magyarázataként számos műszaki okot szoktak felsorolni, de a tényleges ok az adatok utólagos módosításának a lehetősége. Ezt a törekvést mindenképpen meg kell akadályozni, mert ellenkező esetben a számítógépes rendszer objektivitásába vetett bizalmat néhány hetes üzem után elveszíti. A manuális adatpótlást csak a célszerűen órás adatokra szabad a rendszernek engedélyezni, ahol jelentős időre hiányoznak az objektív adatok. Azt a tényt, hogy az adat manuálisan pótolt az adatot kísérő státusváltozóban, ill. a naplóban is jelezni kell. Az adatokat termelési (órás, műszakos, napi) naplókban szokás megjeleníteni. A naplók a mérési adatokkal kapcsolatos információk mellett az adott időszak egyéb történéseit is tartalmazzák. Meg kell jeleníteni az adott időszakra vonatkozó vész-eseményüzeneteket, amelyek alapvetően a jelzésváltozáshoz köthetők.
331 Gyakori követelmény, hogy a műszakváltáskor (amikor a kezelők is kicserélődnek) készített naplóknak tartalmaznia kell a műszakváltás pillanatában fennálló vészjelzéseket, ill. ezek jelentését. A szolgálatot átvevő kezelőnek ismernie kell az üzemelés rendellenességeit. A naplók tervezésénél abból az alapelvből kell kiindulni, hogy ezek a termelési folyamat elsődleges dokumentumai, és a termelés menetét alapvetően befolyásoló minden tényezőre következtetni lehessen. f) Kötetlen időtartam adatainak előállítása Az olajkutak hozamának megváltozását úgy követik nyomon, hogy havonta egyszer egyedi mérőszeparátorra kapcsolják, mivel nincs annyi mérésre alkalmas mérőszeparátor, ahány olajkút van egy termelőtérségben. A technológiai előírás szerint minimálisan 24 óra időtartamban mérni kell a főtermék (olaj), a segédtermék (kísérő gáz), a melléktermék (víz) hozamát (térfogatáramát), valamint mérni kell a kútfej nyomását (átlagértékét), a hőmérsékletet (átlagértékét) és néhány más paramétert. Egy tartály készletváltozásának (betárolás, kitárolás, áttöltés) figyelése a tartályművelet kezdetéhez, ill. befejezéséhez köthető, aminek sem a kezdete, sem az időtartama előre nem rögzíthető. Ezekben az esetekben is az órás, műszakos, napi adatok átlag-, fogyasztás-, készletadat-fogalmaival találkozunk, de nem meghatározott időtartamra képezve. Az adatok képzésének kezdetét és végét általában a jelzések megváltozása jelöli ki. Mind az olajkút, mind a tartály esetén a tolózárak jelzéseiből következtethetünk a műveletek kezdetére és a befejezésére. g) Üzemelési idő előállítása Gyakori feladat, hogy egy technológiai berendezés különböző üzemmódjainak üzemidejét kell előállítani. Meg kell határozni, hogy egy adott időszakban egy kompresszor menynyi ideig működött. Elő kell állítani, hogy egy olaj vagy gázkút mennyi ideig volt mérőszeparátoron, mennyi ideig működött közös szeparátoron, és mennyi ideig állt. Az üzemidő-előállítás jelzések vagy jelzéscsoportok változásához kapcsolható. Egyszerű esetben (pl. a kompresszor) egyetlen jelzés logikai 1 vagy 0 értéke jelenti az üzemidő képzésének alapját. A gáz- vagy olajkút esetén már csak több jelzést tartalmazó jelzéscsoport kiértékelése alapján következtethetünk az üzemidőre. 10.1.4. Kezelői jogosultságok Egy nagy rendszer felügyeletét nem egyetlen kezelő látja el, mert erre még számítógépes támogatással is képtelen. Több kezelő esetén felmerül a jogosultságok kérdése, a kezelőket nem feltétlenül azonos jogosítványokkal kívánják ellátni. Nem törvényszerű, hogy a technológiai folyamat valamennyi adatába valamennyi kezelő betekinthessen. Lehetséges, hogy pl. mérőcsatornánként kell előírni, hogy egy-egy csatorna adatát mely kezelők ismerhetik. Ez nem azt jelenti, hogy egy csatorna adatát csak egyetlen kezelő látja, de nem mindenki számára biztosított a betekintési jog az adott mérőcsatorna adataira. A betekintési jog meghatározása az adatbázis valamennyi adatcsoportjára követelmény. A kezelők tevékenysége nem pusztán az adatok megtekintésére korlátozódik. Ha pl. egy mérőperemet üzemszerűen (1-2 nap gyakorisággal) váltogatnak, akkor az adatbázisban a mérőcsatornához tartozó peremkonstansot módosítani kell. Az adat módosítási joga nem feltétlenül biztosítandó minden kezelő számára. A kezelők adatmódosításait rögzíteni kell, pl.
332 eseményüzenet formájában. Az üzenetek tartalmazzák, hogy melyik adatot, mikor, ki és mire módosította. A munkamegosztásból adódóan nem célszerű minden eseményüzenetet minden kezelő képernyőjére kiküldeni. Objektumonként (pl. jelzésenként, mérőcsatornánként) előírják az eseményüzenet illetékességet. Ez azt jelenti, hogy egy esemény csak azon kezelők képernyőjén jelenik meg, akik az illetékességi körbe esnek.
10.2. A folyamatvizualizáló rendszerek szolgáltatásai Ha egy adott technológia esetén a kívánságok és a vizualizáló rendszer szolgáltatási köre fedi egymást, akkor viszonylag kevés munkával (paraméterezéssel) megoldhatjuk a feladatokat. Ez egy idealizált állapot, a kívánságok köre általában meghaladja a lehetőségeket. Ilyen esetben a vizualizáló szoftver keretrendszerén belül egyedi komponensek megírása szükséges a nem preferált funkciók leképezéséhez. A komponenseket vagy egy magas szintű programnyelven (pl.Visual BASIC), vagy egy interpreter nyelv felhasználásával írhatjuk meg a vizualizáló rendszertől függően. A vizualizáló rendszer használata időben elválasztható részekre bontható: − az alkalmazás kifejlesztésének fázisa; − a kész rendszer futtatása. A fejlesztéshez a vizualizáló rendszerek ún. fejlesztő változatát kell használni, ami biztosítja a grafikus szerkesztést, a kép dinamizálását (animálását), az azonosítók és a technológiai objektumok összerendelését stb. A kifejlesztett rendszer olyan PC-n is futtatható, amely csak a vizualizáló rendszer egy futtatható verziójával rendelkezik. A kétféle verzió árban igen jelentős mértékben eltér, ezért nem lényegtelen, hogy több PC esetén milyen módon rendeljük meg a vizualizáló szoftvereket. 10.2.1. A vizualizáló rendszer és a technológia közötti kommunikáció Egy folyamatvizualizáló rendszer legalapvetőbb feladatai közé tartozik, hogy a technológiához igazodó gyakorisággal lekérdezze az aktuális jelzésállapotokat és egyéb mérési csatornák adatait. Ezek a technológiai adatok tipikusan PLC-berendezésekben képződnek, és a vizualizáló rendszer a PLC-egységeket kérdezi. Napjainkra sem sikerült különböző okok miatt egységesen használható kommunikációs felületet kialakítani a PLC-technikában. Így a vizualizáló rendszerek opcionálisan nagyszámú, különböző gyártmányú PLC-protokollját ismerik (tipikusan 40...100), és közülük választhatjuk ki a számunkra szükséges protokoll típusát. A vizualizáló rendszer kiválasztásának legalapvetőbb szempontja, hogy vajon az adott rendszer képes-e kommunikálni az alkalmazott PLC-berendezésekkel. A PLC-kommunikáció kiválasztásának menülapjait a 10.1. és a 10.2. ábrák mutatják [1].
333
10.1. ábra. Az alkalmazott PLC és kommunikációs mód kiválasztása Gyakorlatilag értelmét veszti egy vizualizáló rendszer, ha az alkalmazott PLC kommunikációs programja nem létezik, mert ennek egyedi fejlesztése számos akadályba ütközik, és kicsi az esélye, hogy határidőre, ill. megfelelő minőségben előállítsuk. A PLC-k gyártóspecifikus kommunikációs protokollja nem túl nyilvános, és az is kérdéses, hogy az esetleges protokoll-leírás vajon az adott verziójú PLC-vel ténylegesen kompatibilis-e. A vizualizáló szoftverek napjainkban általában PC-s környezeten Windows operációs rendszer alatt működnek. A vizualizáló szoftverek és a kommunikációs program közötti adatcsere általában a DDE (Dynamic Data Exchange, dinamikus adatcsere) szolgáltatással valósul meg. A kommunikációs szoftverek önálló kereskedelmi termékként is megjelenhetnek, azaz egyedi fejlesztésű programok használhatják a szolgáltatásokat. Megfigyelhetők olyan törekvések is, hogy különösebb indok nélkül a lehető leggyorsabb, egyben a legdrágább megoldást preferálják. Egy nem gyorsan változó, néhány 10 mérőcsatornát és jelzést tartalmazó rendszernél nem biztos, hogy a lehető legnagyobb adatátviteli sebességet kell elérni. A folyamatvizualizáló rendszereket nem szokás közvetlen vezérlési és szabályozási algoritmusok realizálására felhasználni, alapvetően üzembiztonsági okok miatt. A megjelenítendő adatok frissítési idejét nem célszerű (indokolt) 1-2 s alá csökkenteni, így az átviendő információmennyiségből és a kívánatos frissítési időből meghatározhatjuk, hogy számunkra hozzávetőlegesen milyen sebességű átviteli vonalra van szükség.
334
10.2. ábra. A kommunikáció választását segítő súgó lapok A PLC-berendezések normál (hagyományos) kommunikációs vonalai 19200 Baud átviteli sebességre képesek RS 232C vagy RS 485 vonalon. A vonalak protokolljai egy master kiszolgálását tételezik fel. Ezért csak olyan rendszertechnikai kialakításoknál jöhetnek szóba, amikor a vizualizáló rendszert tartalmazó PC lehet az egyetlen master, míg a PLC-k slaveként viselkednek. Ha ez rendszertechnikailag nem tartható, vagy az átviendő információ túl sok, akkor mindenképpen a nagy sebességű, több master kiszolgálására alkalmas megoldásokat kell választani, ami a PLC-ben is többletberuházást, esetleg nagyobb teljesítményű PLCváltozatot igényel. 10.2.2. A szerver- és klienskapcsolatok Egy technológia felügyeletét az esetek többségében több kezelő látja el. Ennek megfelelően a vizualizáló rendszernek több munkahelyen (PC-n) kell egyidejűleg működnie ún. szerverkliens kapcsolatú rendszerrel (10.3. ábra) [1].
335
10.3. ábra. Vizualizáló rendszer kialakítása szerver- és kliensgépekkel A szervergép áll kommunikációs kapcsolatban a PLC-berendezésekkel, ill. tartalmazza az adatbázist és végzi a feldolgozásokat, míg a kliensek nagy sebességű kommunikációs vonalon a szervergéptől kérik a megjelenítéshez szükséges adatokat. A szervergép megjelenítő munkahelyként is használható. A szervergép munkahelye és a kliensgépek munkahelyei felhasználói szempontból vagy azonosak, vagy más vizualizáló rendszerek esetén eltérők. Vannak rendszerek, ahol a kliensmunkahelyek csak megjelenítésre használhatók, kezelői parancsok nem adhatók ki, adatmódosítás nem végezhető. A vizualizáló rendszer egy szervere által kezelt objektumok (TAG) maximális száma kötött. A rendszerek árát nagymértékben a kezelni kívánt objektumok és a kliensek száma határozza meg. A TAG számra vonatkozó korlátozást az indokolja, hogy még egy gyors gép esetén sem lehetne biztosítani a kívánt mintavételezési időt az adatbázis méretének korlátozása nélkül. Amennyiben a technológia terjedelme lehetetlenné teszi, hogy egy szerver alkalmazásával oldjuk meg a feladatot, akkor feladatmegosztás szükséges a 10.4. ábra szerinti módon [1]. A 10.4. ábrán látható, hogy a felügyeleti rendszer üzembiztonságának növelését a redundancia beépítésével (jelen esetben az azonos funkciójú szerverek és az adatátviteli utak megkettőzésével) érhetjük el. Napjaink törekvése, hogy a vizualizáló rendszerek kliensgépeire ne kelljen telepíteni speciális programrendszert (a vizualizáló rendszer kliensszoftverét), hanem bármely hálózati gépről interneten (intraneten) keresztül elérhető legyen a szolgáltatás. Ez azt jelenti, hogy a hálózati gépek böngészőprogramjával lehet a vizualizáló rendszer szerverének szolgáltatásait igénybe venni.
336
10.4. ábra. Több szervert tartalmazó redundáns rendszerkialakítás 10.2.3. A vizualizáló rendszer adatbázisának elérése A vizualizáló rendszerek adatbázisa tartalmazza a technológia működésével kapcsolatos adatokat. Az adatok egy részére a vállalatirányítási rendszer magasabb hierarchiaszintjének is szüksége lehet. Ezért a vizualizáló rendszerek lehetőséget biztosítanak, hogy hálózaton keresztül az adatbázis adatait más számítógépek is elérjék az ODBC (Open DataBase Connectivity) felületen keresztül, szabványos SQL hívásokkal. Az SQL hívásokon keresztül az adatelérési idő nagyságrendekkel megnövekszik a vizualizáló szoftverek belső adatbázis-kezelési idejéhez képest. Ezért nem célszerű olyan rendszereket tervezni, ahol ezen felületen akarunk nagy gyakorisággal adatokat cserélni (pl. a pillanatértékeket kiemelni egy külső rendszer számára). A kísérletek szerint ugyanaz a hardvereszköz (két PC közvetlenül hálózatba kapcsolva), ugyanaz a szoftverkörnyezet (Windows NT 4.0) adatelérési ideje különbözik SQL hívásos adatcsere, ill. egyedi, direkt címkiszámításon alapuló adatbázis-kezelési technika alkalmazásakor. Az ORACLE adatbázis-kezelő rendszernek 10000 rekord felvitelére 210 s, míg az egyedi kezelés esetén mindössze 0,2 s időre volt szükség. Ezt a több mint ezerszeres sebességkülönbséget a rendszerek tervezésekor nem hagyhatjuk figyelmen kívül. 10.2.4. Technológiai sémaképek létrehozása Egy képernyőn a legtöbb információt áttekinthető formában grafikus képpel közölhetjük. Ezen ok és a hagyományok miatt is a technológiai folyamatok pillanatnyi állapotát a sématáblákhoz hasonló formában jelenítik meg. Egy technológia jellemzői egyetlen képernyőlapon a legritkább esetben jeleníthetők meg. Általában a technológiai sémát áttekintő és részletező képekre bontják. Az áttekintő ké-
337 pek csak a legfontosabb technológiai jellemzőket mutatják. Amennyiben valamelyik technológiai részletre vagyunk kíváncsiak, akkor az adott részletnek megfelelő képet hívjuk be. Egy nagy technológia esetén a képek több szintjét szokás kialakítani (egyre kisebb részlet egyre teljesebb információit jelenítjük meg). A grafikus képek elkészítése a kép fix (időben állandó) részének kidolgozásával kezdődik. A sémát általában a vizualizáló részét képező grafikus editorprogrammal rajzoljuk. A rajzolásnál jelentős segítséget nyújthat, hogy egy grafikuskönyvtárból a leggyakoribb sématáblaelemek (tartály, tolózár, villamos motor stb.) kiemelhetők, és többnyire minőségromlás nélkül nagyíthatók, ill. kicsinyíthetők. A 10.5. ábra egy vizualizáló rendszer könyvtárának néhány objektumra vonatkozó képét mutatja [1].
10.5. ábra. Technológiai berendezések szimbólumai A technológiai kép megszerkesztése a segédeszközökkel is meglehetősen időigényes tevékenység. Talán ez az egyik indoka, hogy egyre gyakrabban a technológia digitális fényképezőgéppel készített felvételét építik be a vizualizáló rendszerbe fix képként. A fix kép önmagában nem sok információt hordoz. Ezt a képet dinamizálni, más szóval animálni kell, hogy a futás során a technológia aktuális állapotára jellemző információk frissülve megjelenjenek. A képek fejlesztésénél az alábbi animációs formákat alkalmazzák. Színanimáció Ez az animációs forma azt jelenti, hogy a grafikus kép egy kijelölt objektumának színe a grafikus objektumhoz rendelt változó(k) értékétől függően más és más lesz. Tipikus példa, hogy egy villamos motort ábrázoló képrészlet attól függően jelenik meg zöld, ill. piros színnel, hogy a motor működését mutató kétállapotú jelzés logikai 1 (működik), vagy logikai 0 (nem működik). A motor vagy azért nem működik, mert normál módon leállítottuk, vagy azért mert pl. a motor túlterhelése miatt a hőkioldó működött. A hőkioldó működött, ill. nem működött állapotát is kétállapotú jelzés mutatja. Ha azt is meg akarjuk jeleníteni, hogy milyen ok miatt állt le a motor, akkor egy újabb képterület színét (ami a hőkioldó állapotát mutatja) a
338 hőkioldó állapotjelzésétől függő színben jelenítjük meg vagy a motort ábrázoló képrészlet színét nem kettő, hanem a motor működésére jellemző jelzéspártól függően három különböző színben jelenítjük meg. Egy képen, ha pl. üzemzavarra kívánjuk felhívni a figyelmet, akkor ennek leghatékonyabb eszköze a képterület villogtatása.
10.6. ábra. Szabályozóberendezés adatainak megjelenítése Szöveganimáció Ha egy szövegablakban a működés során változó tartalmú szöveget kívánunk megjeleníteni (pl. egy nyomás aktuális nagyságát), akkor ez a szöveganimáció. A szövegablakban megjelenő információ egy adott objektumhoz (pl. mérőcsatornához, ill. pontosabban TAGhez) rendelhető. Előnyös, ha a szöveg megjelenítésénél a szöveg színe, esetleg a háttér színe dinamikusan (feltételtől függően) változtatható.
339 Virtuális műszerek, oszlopkijelzők Egy megadott változó értéke kijelezhető egy virtuális mutatós műszeren, vagy ami gyakoribb, oszlopkijelzőn. Speciális kialakítás esetén a grafikai objektum (pl. tartály) belsejében a kiszínezett terület nagysága egy TAG értékével arányos (pl. tartályon belüli folyadékszint). Kezelőszervek (nyomógombok, csúszkák, kapcsolók) A 10.6. ábrán látható kezelőszerveket helyezhetünk el a képernyőn. Ezek működtetésével akár a PLC kétállapotú vagy regiszterváltozóját állíthatjuk. Mozgás, elfordulás Egy grafikus objektum kirajzolási pozíciója egy változó (TAG) értékétől függ. Ezzel, pl. a haladó mozgást végző munkadarab kirajzolási pozíciója a tényleges helyzetnek megfelelően változik. A 10.7. ábra egyszerű technológiai vázlat animálás közbeni állapotát mutatja [1].
10.7. ábra. Technológiai vázlat fejlesztés közbeni állapotban 10.2.5. Eseménygenerálás Egy logikai jelet azonosító TAG-hez eseményüzenet generálását rendelhetjük. Az esemény a jelzés megváltozásakor generálódik, és archiválódik egy általunk megadott terjedelmű eseménytáblában. Általában az események azonnal is megjeleníthetők a képernyő egy előre definiált eseményablakában, de összesítőtáblák is képezhetők a 10.8. ábra szerinti módon [1].
340
10.8. ábra. Archivált események megjelenítése 10.2.6. Trend megjelenítése A vizualizáló rendszerek biztosítják, hogy kijelölt csatornák (TAG-ek) adatai tárolódjanak az adatarchiválási, ill. -tömörítési elvek valamelyike szerint. Ezen adatok bármikor trend formájában grafikusan megjeleníthetők (nyomtathatók). A trendet megjelenítő képernyő a 10.9. ábrán látható [1].
341
10.9. ábra. Trend megjelenítése a képernyőn 10.2.7. Egyedi szoftvermodulok fejlesztése Gyakorlatilag minden feladat megoldásakor felmerül olyan feldolgozási, megjelenítési igény, amely a vizualizáló rendszer szolgáltatásaival közvetlenül nem elégíthető ki. Ekkor szükségessé válik, hogy a funkciót egyedi szoftverkomponenssel valósítsuk meg. Az egyedi komponens írása tipikusan a rendszertől nem teljesen független szoftverrel történik (pl. egy általános célú C, C++), mert túl sok ponton kell kapcsolódni a vizualizáló rendszer adatbázis-kezelő, ill. grafikus szolgáltatásaihoz. Ezért a vizualizáló rendszer része egy olyan magas szintű leírónyelv, amellyel a feladat megfogalmazható, és a rendszer szerves részének tekinthető. A leírónyelvek általában hasonlítanak a magas szintű programnyelvekhez (C, Pascal).
10.3. SCADA rendszerek Az ipari irányítástechnikai rendszerek terén a könyv írásának idején két kategória igen erős versenye tapasztalható a piacon: a PLC-SCADA rendszerek és a DCS rendszerek (Distributed Control System, osztott intelligenciájú folyamatirányító rendszer). A PLC-SCADA kategória esetén a folyamatjeleket PLC-k vagy intelligens szabályozók kezelik, azaz a vezérlést, a szabályozást ezen eszközök végzik, de az ember-gép kapcsolat (MMI vagy HMI) a PC-n vagy munkaállomáson keresztül valósul meg, és az eszközöket valamilyen ipari lokális hálózat (terepi busz) köti össze. Az ember-gép kapcsolatot kibővítve értelmezzük a központi adatgyűjtéssel és a folyamatvizualizálással bemutatott valamennyi funkcióval. A SCADA rövidítés a Supervisory Control and Data Acquisition angol névből származik és felügyeleti irányítást és adatgyűjtést jelent.
342 A SCADA egy központi számítógépen futó szoftver, amelynek révén a rendszert alkotó PLC-k, szabályozók, CNC-k stb, valamilyen lokális hálózaton keresztül a DCS-hez hasonló funkciókkal rendelkező folyamatirányító rendszer létrehozására alkalmasak. Mivel a SCADA-szoftver csak e rendszerben használható, ezért PLC-SCADA rendszerről beszélnek. A PLC-SCADA rendszerek funkcionálisan igen nagy hasonlóságot mutatnak az 1. fejezetben bevezetett és 11. fejezetben tárgyalt DCS rendszerekkel. Érdemes tehát a legfontosabb hasonlóságokat és különbségeket összefoglalni. Hasonlóságok A modern PLC-SCADA és DCS kategóriájú rendszerek az utóbbi időben nagymértékben közeledtek egymáshoz. Egyrészt a DCS-szállítók ember-gép kapcsolati eszköznek egyre inkább munkaállomás alapú eszközt használnak, melynek konkrét feladatra konfigurálása megegyezik a SCADA rendszerekével, másrészt a PLC-gyártók elsősorban a nagykategóriájú PLC-családjaikban egyre több olyan megoldást alkalmaznak, amelyek korábban csak a DCSekre voltak jellemzők. A két rendszer struktúrája szinte azonos. Van egy vagy több megjelenítő számítógép és egy folyamatillesztő rendszer, amelyeket valamilyen nagy sebességű adatátviteli hálózat köt össze. A PLC és a DCS folyamatillesztő hardvere szinte semmiben sem tér el, mindkettő moduláris, mindkettő rendelkezhet távolba kihelyezett modulokkal, ún. remote I/O rendszerrel és mindkét rendszerben nagy teljesítményű processzormodulok vannak. Különbségek Mindezek ellenére napjainkban még megkülönböztetik e két kategóriát. A DCS típusú rendszereket eredetileg bonyolult és általában veszélyes technológiák felügyeletére fejlesztették ki és ezeket az ismertetőjegyeket ma is magukon viselik. Bár a PLC-gyártók is igen nagy gondot fordítanak a megbízhatóságra, a DCS rendszerek esetében ez különösen hangsúlyos szempont. A DCS rendszerek sokkal nagyobb mértékben tartalmaznak redundanciákat, mint a PLC-k. Tipikus megoldás a PLC-knél a processzormodul opcionális megduplázása, az ún. hotstandby megoldás, tipikus a különféle adatátviteli hálózatok opcionális duplikálása, de nem tipikus a technológiai jeleket illesztő modulok megduplázása. Redundáns analóg kimenet pl. csak külső szavazó áramkörrel valósítható meg. Ezzel szemben a DCS rendszerek hardvere és alapszoftvere minden szinten támogatja a redundanciát, továbbá a PLC-hez képest teljesebb az öndiagnosztika is. A DCS rendszerekben pl. előfordul, hogy nincs külön analóg vagy digitális bemenet és kimenet, hanem analóg vagy digitális csatorna van, amely konfigurálható akár bemenetnek, akár kimenetnek, hiszen pl. egy kimenetet úgyis kapocslécszintről vissza kell mérni. A DCS rendszerekben a folyamatközeli hardverek és az ember-gép kapcsolati eszközök sokkal inkább összedolgozott, egységes rendszert alkotnak. A PLC-SCADA rendszerekben a PLC és a SCADA között ténylegesen csak az összekötő lokális hálózat tart kapcsolatot. Külön fejlesztési környezete van a PLC-nek és a SCADA-nak. Sok esetben a PLC fejlesztőszoftver a SCADA hardveren is futtatható, de a SCADA szoftvertől teljesen független. Többnyire a SCADA szoftver fejlesztője a PLC fejlesztőjétől teljesen független cég. Ez a külön PLC- és SCADA-fejlesztési technológia számos esetben többletmunkát okoz a rendszerintegrátor számára, pl. külön fel kell építeni a PLC adatbázisát és azt valamilyen gépi úton áttölteni a SCADA oldalra. Több odafigyelést igényel a kommunikáció felépítése és sokszor nehézséget okoz az, hogy bizonyos funkciók félig a PLC oldalon, félig a SCADA oldalon futnak, pl. ha a PLC-n futó algoritmusokat a SCADA matematikai modulja támogatja, vagy recept végrehajtása esetén annak lépéseit a SCADA futási időben adagolja a PLC-nek stb.
343 A PLC-SCADA rendszerek javára írható különbség, hogy sokkal szélesebb kapacitástartományban nyújtanak piacképes megoldást, sokkal jobban támogatják a több lépéses rendszermegvalósítást és sokkal gazdagabb eszközválaszték áll a rendszerintegrátorok és végfelhasználók rendelkezésére. A PLC-SCADA rendszerek szolgáltatásait a Citect [1] főbb jellemzőivel szemléltetjük. A rendszer felépítése − − − −
elosztott kliens-szerver-kialakítás; központosított vészjelzés, trend- és naplófeldolgozás; új hálózati PC-k hozzáadása programozás nélkül; egyetlen adatbázis, mérethatár nincs.
Teljesítmény − − − − − −
a rendszerméret növekedésével nem csökken a teljesítmény; 100 000 egész változó/s adatgyűjtési sebesség; alacsony hálózati terhelés méretektől függetlenül; dinamikus optimalizálás minden I/O driver esetében; kis CPU-teljesítményigény; adatelérés csak igény esetén.
Hálózatkezelés − beépített hálózati redundancia lehetősége, 4-szeres biztonságig; − WAN, PSTN kapcsolt, RAS támogatás; − az internetes eléréshez nem kell a bejelentkező PC-n HW kulcs. I/O kommunikáció − − − − −
új I/O eszköz beállítása 60 másodpercen belül; 256 soros port szerverenként; 4095 I/O eszköz szerverenként; definiálható kommunikációs hibajelzés; minden soros meghajtó működtethető RS 232, TCP/IP, RS 422, RS 485, Arcnet interfészek bármelyikén.
Hibatűrés − − − − − − − − − −
beépített elsődleges és tartalék funkciókészlet; LAN-redundancia; vészjelzésszerver-redundancia; trendszerver-redundancia; jelentésszerver-redundancia; I/O-szerverredundancia; automatikus tartalék át- és visszakapcsolás; automatikus trendarchívum-szinkronizálás; automatikus vészjelzésadatbázis-szinkronizálás; időnyilvántartás-funkció redundanciája.
Változóazonosítás − max. 80 karakteres változóazonosítók (standard 32);
344 − korlátlan számú változó lehetséges. Képek − − − − − − − − − − − − − − − − − − − − − − − − − −
4096x4096 képfelbontás; fokozatos képméret-változtatás futás alatt; kétmonitoros alkalmazások támogatása; objektumorientált RAD grafika; szinkronizált villogó színek; 10 ms-tól állítható képfrissítési idő; 16,8 millió színből definiálható felhasználói színkészlet; 3D-s csövek, 3D-s hatások, minden objektumra többszörös animáció; szimbólumsor-animáció (mozgás); korlátlan számú grafikus kép; 32000 animáció képenként; közvetlen grafikus bevitel; Windows Bitmap (BMP, RLE, DIB); AutoCad (DXF); Encapsulated Postscript (EPS); Fax Image (FAX); Ventura (IMG); JPEG (JPG, JIF, JFF, JGE); Photo CD (PCD); Paintbrush (PCX); Portable Network Graphic (PNG); Targa (TGA); Tagged Image Format (TIF); Windows Meta File (WMF); Wordperfect (WPG).
Szimbólumkönyvtárak − − − − − −
előre elkészített és szerkeszthető objektumkönyvtárak, képsémák és stílusok; alkalmazások között átvihető szimbólumok; kép frissítése automatikusan szimbólum változásakor; animációs tulajdonságú könyvtárak; több mint 500 előre gyártott szimbólum; független fejlesztők szimbólumkönyvtárai.
Általános − − − − −
minden PC-n automatikus időszinkronizálás; 95/NT4 látvány és érzet; nemzetközi dátumformátumok; 12 és 24 órás időkijelzés; megadható decimális jel.
Sémaképkönyvtárak − előre elkészített és szerkeszthető képsémák és stílusok; − alkalmazások között átvihető sémák;
345 − kép frissítése automatikusan az alapséma változásakor; − animációs tulajdonságú sémák; − több mint 70 előre gyártott sémakép. Adatátvitel Támogatott: SQL kliens ODBC kliens OPC kliens DDE Email DLL Windows API ASCII files
SQL szerver ODBC szerver OPC szerver MAPI HTML Citect API Native dBASE TCP/IP
Serial. Integrálva: Sixtrak Steeplechase Gello VMIC PID
Beckhoff Paradym OpenControl AdvaBatch FuzzyTech.
Alkalmazói programnyelv (Cicode) − multitaszkos nyelvi környezet; − maximum 512 konkurensthread; − 600-nál több beépített SCADA funkció; − funkciókönyvtárak felhasználói függvények készítéséhez; − több mint 2700 felhasználói funkció használható; − lokális, modulszintű és globális változók; − saját funkciók írása minden más segédeszköz nélkül; − közvetlen hozzáférés a trend-, vészjelzés- és jelentésadatokhoz. Beépített szerkesztő: − töréspontos futtatás; − változó értékek ablaka; − programszálak követése; − színkódok; − töréspontok ablaka; − lépésenkénti futtatás; − aktuális programsor kijelzése; − remote debug (csak NT); − automatikus debug hiba esetén. Többnyelvűség − − − −
többletkonfigurálás nélkül több nyelven futtatható; nyelvváltás futás közben; jelentések bármilyen nyelven; vészjelzéslista bármilyen nyelven.
346 Vészjelzések − korlátlan számú vészjelzés; − központi vészjelzéskezelés. Vészjelzéstípusok: − kétállapotú (1 vagy 2 trigger); − analóg határérték-túllépés; − kifejezés-kiértékelés eredménye; − kategória, területi beosztás és prioritás kezelése; − l ms felbontású időbélyegzett vészjelzés; − futás közbeni vészjelzéstiltás és küszöbérték-módosítás; − változó adatok behelyettesítése a vészjelzésüzenetbe; − csoportos vagy egyedi nyugtázás; − nyugtázás prioritás vagy kategória alapján; − vészjelzésre nyugta grafikus képről, listából vagy Cicode programból. Trendek − − − − − −
korlátlan számú csatorna; bármely csatorna megjelenítése l mp-en belül; trend adatfájlméret választható; archivált és valós idejű adatok együttes, folyamatos megjelenítése; az időtengely felbontása folytonosan választható, akár l ms; trendek összehasonlítása.
Jelentések − beépített jelentésszerkesztő WYSIWYN, Rich Text jelentés. Indítási feltétel: − − − −
időpont; külső esemény; kifejezéskiértékelés; kezelői beavatkozás.
Kimenet: − − − − −
nyomtató; e-mail; HTML; fájl; képernyő.
Hozzáférési jogok − − − −
egyedi vagy csoportos hozzáférés; 250 egyidejűleg bejelentkezett kezelő; korlátlan számú felhasználó definiálható; jogosultsági szintek és területek kezelőnként megadhatók.
A hozzáférési szint befolyásolhatja − a grafikus elemek láthatóságát; − a képek hozzáférhetőségét;
347 − a vészjelzések nyugtázhatóságát; − a jelentés indíthatóságát; − a rendszersegédprogramok, műveletek használatát. Konfigurálás − csoportos fejlesztés egyidejűleg; − beépített, tömörített mentés, visszaállítás; − I/O eszközök szimulációja egyszerű átkapcsolással a valódi és a virtuális eszköz között; − ipari, nem standard billentyűzetek támogatása; − korlátlan UNDD (grafikus szerkesztő); − konfiguráció automatikus dokumentálása. Licencek − − − − − −
kulcs nélküli fejlesztés; kulcs nélküli futtatás tesztje; ugyanaz az installáció minden PC-n; csak a külső folyamatváltozók számítanak; korlátlan számú, ingyenes belső változók; hw vagy sw licenckulcs.
Támogatás − − − − − −
beépített, on line protokoll analizátor; beépített, on line parancs végrehajtás; beépített, on line NETBIOS analizátor; kernel ablak több mint 300 oldal rendszerinformációval; tudásbázis; internet-weboldalak.
Gépipari alkalmazásokhoz leginkább a FANUC cég CIMPLICITY SCADA terméke használatos, amelynek HMI for CNC funkciója révén a CNC-gépek kommunikációját a PLCkhez hasonló módon oldja meg. Ehhez a CNC és a PC között nagy sebességű, optikai összeköttetés szükséges. Ezáltal a kezelő a CNC-re használhatja a CIMPLICITY valamennyi szoftverfunkciót. A CIMPLICITY másik jellegzetessége a Webgate-way funkció, melynek rendszervázlata a 10.10. ábrán látható. E funkció állandó betekintést biztosít az interneten keresztül az üzem életébe a világ minden tájáról az internethez csatlakozó eszköz (LAPTOP), vagy telekommunikációs eszköz (mobil-WAP) révén.
348
10.10. ábra. Webgate-funkció Felhívjuk a figyelmet a WONDERWARE cég által forgalmazott FACTORY SUITE 2000 elnevezésű programcsomagra, amely hét szoftverből áll (In-Touch, In-Control, In-Batch stb.). Napjainkban egyre inkább terjednek az olyan PC-bázisú rendszerek, amelyek a SCADA-hoz hasonló funkciókat látnak el (Soft Logic), de a vezérlési és szabályozási funkciókat is maguk a PC-k látják el szintén hálózati struktúrában, PLC-k nélkül.
10.4. Visual Logic Controller A PLC-k másik versenytársa a piacon a PC bázisú irányítórendszer. A mikroprocessszor alapú PLC-k és PC-k felépítése között nagyfokú a hasonlóság. A fő eltérés a hardver megbízhatóságában, ill. a szoftver kialakításában van, mivel a PLC-k valós idejű operációs rendszerrel működnek. Utóbbi különbségre ajánl megoldást a Visual Logic Controller (VLC), ami egy teljesen új megoldás a PLC-technikában, oly módon, hogy a PENTIUM processzorok teljesítményét, valamint a Windows NT előnyeit igyekszik kihasználni, ugyanakkor képes a Windows-tól függetlenül, biztonságosan működni. A VLC fejlesztésekor kiemelt figyelmet szentelnek arra, hogy a vezérlőprogram futtatása közben egy esetleges merevlemez-meghibásodás ne okozzon rendszerleállást. A VLC ezért a futtatáshoz szükséges adatokat a memóriában tárolja, így a vezérlőprogram futtatása idején nem kell a merevlemezről adatokat beolvasnia, arra csak a rendszerindításkor van szükség. A futás közben fontosnak ítélt adatok a PC kikapcsolása után külön memóriakártyában megőrizhetők. A VLC számára nem probléma a megfelelő I/O eszköz és PC kapcsolat. A VLC egyetlen platformon több különböző gyártmányú, típusú, ill. buszcsatlakozású I/O egység vezérlésére képes az eszközmeghajtók (driver-ek) széles választékának köszönhetően. A fizikai I/O csatolást végző modulokat driver-ek illesztik a VLC-hez. A csatolást a 10.11. ábra szemlélteti [3]. .
349
10.11. ábra. Fizikai I/O-k szoftvercsatlakoztatása VLC-hez A fizikai eszközök csatolásához tehát hardveres (interfészkártya) és szoftveres (driver) megoldás szükséges a 10.12. ábra szerint [3].
10.12. ábra. Fizikai I/O-k hardverillesztése a VLC-hez terepi buszon keresztül A gyártó cég napjainkban 21 cég eszközeihez kínál hardver I/O modult és VLC drivert. Mind a PLC, mind a PC esetén a szoftverkörnyezet két részből áll: real-time operációs rendszerből (RTOS) és grafikus kezelői felületből (GUI, Grafical User Interfece). Míg az előbbi a biztonságos és determinisztikus működésért felelős, az utóbbi feladata az ember-gép kapcsolat megteremtése. A VLC egy gépben a grafikus felhasználói környezetet real-time operációs rendszerben egyesíti. A hagyományos PLC-s megoldásokkal szemben a VLC kihasználja a Windows NT által nyújtott környezeti előnyöket, például a hálózaton keresztül végrehajtott gyors kommunikációt vagy a grafikus programozói-kezelői interfészt. A VLC legfőbb jellemzője, hogy a real-time operációs rendszer prioritással rendelkezik a Windows NT-vel szemben, a vezérlőrendszer a Windows-tól függetlenül fut, biztosítva ezáltal a vezérlőprogramoktól elvárható teljesítményt és megbízhatóságot (10.13. ábra) [3].
350 A VLC túléli az ún. Windows „kék halált”, így a folyamatirányítást nem befolyásolja hátrányosan a Windows rendszerhibákból eredő instabilitás.
10.13. ábra. A Windows NT és a valós idejű operációs rendszer kapcsolata A VLC működése lényegesen eltér az ún. szoft-PLC programoktól. A szoft-PLC és a hard real-time vezérlés közti különbséget szemléltetik a 10.14. és 10.15 ábrák. Szoft-PLC esetén a Windows alapvető funkciói élvezik a legmagasabb prioritást, pl. a lemezműveletek, egérkezelés, billentyűzetkezelés stb., a vezérlési műveletek bármikor, akár a vezérlési folyamat közepén is megszakítódnak. A ciklusidő így nem meghatározható, és a valós idejű működés nem garantálható [3].
10.14. ábra. Szoft PLC PLC műveletvégzésének szemléltetése Hard real-time vezérlés esetén a helyzet fordított: a folyamat szempontjából fontos taszkok kapják a legmagasabb prioritást, míg az összes Windows folyamat a két ciklus között kerül végrehajtásra (10.15. ábra), nem szakítja meg a vezérlést és ezáltal akár 1 ms-on belüli ciklusidőt is lehetővé tesz [3].
351
10.15. ábra. Hard real-time PLC műveletvégzésének szemléltetése A klasszikus PLC-vel megvalósított rendszerek külön hardver- és szoftverelemeket használnak, ezért a rendszer konfigurálásához ugyanazt az adatot több helyen is el kell helyezni. Így a rendszer legkisebb változtatásakor is valamennyi adatbázist egyenként módosítani és tesztelni kell. A VLC lehetővé teszi, hogy az összes szükséges adat egyetlen adatbázis szintjén legyen egyesítve, ezáltal a szoftver valamennyi eleme (fejlesztő, MMI, DDE/OLE szerver stb.) ugyanazokat a változókat használja. A VLC közös adatbázisának felépítését szemlélteti a 10.16. ábra [3].
10.16. ábra. Közös adatbázis-kezelés VLC-ben A VLC támogatja a létradiagramos programozást is, de a folyamatábrával történő programozás ajánlatos és elterjedt. Támogatja az on-line programozási lehetőséget, miáltal a program futása közben is végrehajthatók módosítások, amelyek a program leállítása és újraindítása nélkül is azonnal érvényesíthetők. Kiemelkedő szolgáltatása a Diagnostic Manager, amellyel lehetséges a hozzáférés egy sor felhasználó által kialakított HTML laphoz vagy egy digitális kamera és MS PowerPoint segítségével elkészített segédanyaghoz, mellyel akár a kezelő képes a meghibásodott gép javítására vagy újraindítására. Ezzel a web-technológián alapuló eszközzel azok számára válik elérhetővé valamennyi információ a PC-n, az üzemi LAN hálózaton és interneten, akikre ez leginkább tartozik. A VLC támogatja a hálózaton keresztüli programfejlesztést és távprogramozást.
352 Irodalomjegyzék
[1] [2] [3] [4] [5] [6] [7]
Citect 5 folyamatmegjelenítő, felügyeleti programcsomag. Termékismertető, 1999. WONDERWARE: Factory Suite 2000. USERS MANUAL, 2000. Keresztesi K.: VLC, a megbízható PC alapú vezérlő. Magyar Elektronika, 1999/10. OMRON: SYSWIN leírás. 1999. R. Carrow: Soft Logic. A Guide to Using a PC as a Programmable Logic Controller. ABB: Industrial Manual, 1998. SIEMENS: SIMATIC HMI. Catalog ST 80.1, 1997.
353
11. OSZTOTT FOLYAMATIRÁNYÍTÓ RENDSZEREK Az irányítórendszerek történelmi fejlődésének 4. szintjén jelent meg az osztott intelligenciájú folyamatirányító rendszerek (DCS) első, majd második generációja. A DCS rendszerekhez számos ismeret integrálódott (kommunikáció, terepi buszok, megbízhatóság stb.), ezért ebben a fejezetben a teljesség igénye nélkül összefoglaljuk a legfontosabb alkalmazói ismereteket, de ez önmagában nem tekinthető az osztott irányítás átfogó ismertetőjének. A decentralizált rendszerekben több, egymással kommunikációs kapcsolatban lévő irányítóberendezés (számítógép) látja el a folyamat irányításához, felügyeletéhez kapcsolódó funkciókat. Az irányítási folyamatban részt vevő berendezések a rendszertervező által meghatározott részfeladatokat megfelelő hierarchiába szervezve látják el, amelynek három szintje terjedt el: technológiaközeli szint, adatkoncentrátorok és termelésirányítás. Technológiaközeli szint: az alapfeladat a technológiából (a hatáskörbe tartozó résztechnológiából) származó mérési adatok és jelzések fogadása, az esetleges beavatkozások: PID szabályozás, alapjelállítás, vezérlés jellegű parancsok autonóm megvalósítása. Kommunikációs felületet kell biztosítani a hierarchia felsőbb szintje számára. Ezek a berendezések ipari környezetben, a számítógépek számára mostoha körülmények között üzemelnek. Ezért ezen a szinten nem az általános célú számítástechnikai eszközöknél megszokott kialakítások, hanem robusztus, a környezeti hatásoknak ellenálló berendezések kerülnek beépítésre. A mozgó elemeket tartalmazó eszközök (pl. normál diszkegységek) alkalmazása nem szokásos. A minimálisan szükséges kezelői kommunikáció is speciális kijelzőkön, ill. billentyűzeteken keresztül valósul meg. Az adatkoncentrátorok a hierarchia középső szintjén, ha egyáltalán van ilyen a rendszerben, elhelyezkedő berendezések. Alapfeladatuk a technológiaközeli berendezések adatainak fogadása, előfeldolgozása és továbbítása a hierarchia felső szintjén lévő számítógép számára felső szintről érkező beavatkozási parancsok (alapjelek, vezérlés jellegű parancsok) fogadása és továbbítása a megfelelő technológiaközeli berendezés felé. Termelésirányítás: a hierarchia felső szintje, ahol a technológia felől, előfeldolgozott adatok koncentrálódnak, ezek alapján az optimális (vagy optimum közeli) üzemeléshez szükséges beavatkozások valamilyen algoritmus alapján generálódnak. További feladatuk a kezelők folyamatfelügyeleti tevékenységéhez szükséges adatok, valamint a vállalatirányítási rendszerhez (készletnyilvántartás, rendelésállomány stb.) szükséges csatlakozási lehetőségek biztosítása. A hierarchikus rendszerek két fajtája: a klasszikus hierarchikus és a buszszervezésű decentralizált irányítórendszer fejlődött ki. A klasszikus hierarchikus decentralizált irányítórendszer elvi kialakítása a 11.1. ábrán látható [1].
354
11.1. ábra. Hierarchikus folyamatirányító rendszer elvi kialakítása Az ábrán az eszközöket összekötő vonalak a (kétirányú) kommunikációs kapcsolatokat jelentik, amelyek a fejlődés korai szakaszában kizárólagosan egy maximum 9600 Baud átviteli sebességű soros vonalat jelentettek. A klasszikus hierarchikus rendszerek alapvető rendszertechnikai problémája, hogy a hierarchia minél magasabb szintjén álló berendezés meghibásodása esetén, egyre nagyobb irányítási szigetek kényszerülnek autonóm működésre, ami lehetetlenné teszi az optimálishoz közeli üzemelést a teljes rendszerben. Megoldást jelent, ha az információk egyetlen buszvonalon áramolnak (11.2. ábra) [1].
11.2. ábra. Buszszervezésű rendszer felépítése Ilyen buszszervezésű struktúra esetén a berendezések logikailag megtarthatják a hierarchia szerinti besorolást, de lényeges eltérés a korábbiakhoz képest, hogy a rendszer valamennyi információja a buszon áramlik. Ezt a kialakítást a nagy sebességű adatátviteli utak
355 megjelenése tette lehetővé. A 11.1. ábra szerinti rendszer 9600 Baud-os csatornái egyenként mintegy 960 karakter átvitelét biztosítják 1 s alatt. Ez a nem egészen fél képernyőlapon (kb. 12 sor 80 karakter) kiírható információmennyiség érezhetően kevés egy nagy rendszer jellemzésére. Ezért az időegység alatt átvihető információ növelése érdekében az adatátviteli utakat párhuzamosították. A korábbi rendszerek soros vonalai csak a pont-pont kapcsolat biztosítására voltak alkalmasak, ami lehetetlenné tette a buszszervezés kialakítását. A buszszervezésű rendszerekben minden, a rendszerrel kapcsolatos információ a nagy sebességű (tipikusan 1…10 Mbit/s) vonalon jelenik meg. Amennyiben bármelyik berendezés meghibásodik, a többi berendezés egymás közötti kommunikációja (elvileg) biztosított, a hiba hatóköre a minimális terjedelemre korlátozható. A rendszerek tervezésekor az egyik legfontosabb kérdés, hogy mi történik a folyamattal, ha a rendszer elemei meghibásodnak és a technológiai folyamat irányítás nélkül marad. A számítógépek meghibásodásának valószínűségét az MTBF-el jellemzik, amely a két meghibásodás között átlagosan eltelt időt jelenti, órában. A számítógépes folyamatirányítás kezdetén ezres nagyságrendben mozgott, ami alapján évente (kb. 8600 óra) több meghibásodás is előre jósolható volt. A DCS rendszerekben a redundancianövelésen alapuló megoldásokat alkalmazzák a megbízhatóság növelésére (párhuzamosítás, melegtartalék stb.).
11.1. A DCS rendszerek hardverkialakítása A DCS rendszerek elosztott intelligenciájú rendszerek, az eszközök közötti kommunikáció nagy sebességű belső ipari buszon zajlik. A belső buszrendszer redundanciával, a vonal megkettőzésével van kiépítve. Amennyiben az egyik vonalon lehetetlen a kommunikáció, akkor automatikusan a másik vonalra kerül a forgalom. A DCS rendszerek belső technológiai buszán még napjainkban is olyan protokollokat alkalmaznak, ahol a kommunikációs jog minden berendezés számára garantált ciklusidővel biztosított. Erre a zsetonadogatási (token passing) elven alapuló technikák alkalmasak. Megjelentek az első berendezések, amelyek az ütközéses (pl. Ethernet alapú hálózat) elvet alkalmazzák, de itt egy adott időn belüli kommunikációs jogot csak egy, a vonal terhelésétől is függő valószínűséggel lehet jellemezni. A szakma ezen elv alkalmazása esetén megosztott, hogy egyáltalán beszélhetünk-e DCS rendszerről, mert az egyik legalapvetőbb elv sérül. A folyamatok irányításában kulcsszereplő számítógépek a belső technológiai buszra csatlakoznak. A redundancia egy-egy funkcionális berendezésen belül is alapkövetelmény. A redundancia nemcsak a CPU-ra, a memóriára, hanem a technológiából érkező jelek fogadóegységeire és a segédberendezésekre (pl. tápegység) is kiterjed. A redundancia mértéke gyártmánytól függően változhat. Vannak rendszerek, ahol pl. az egységek megháromszorozásával biztosítják a kellő biztonságot és esetenként a többségi elv alapján választják ki az aktív eszközöket. Vannak olyan rendszerek is, ahol négyszeres a redundancia, és az eszközök két párt alkotnak. Azon pár kapja az aktív szerepet, ahol a pár mindkét tagja hibátlan. A meghibásodás felismerése és az átkapcsolás néhány 10 ms időn belül automatikus. A meghibásodások felismerése és az ekkor szükséges teendők meghatározása talán az egyik legbonyolultabb konstrukciós kérdés. Nem elegendő a nyilvánvaló hardver- (és az ebből adódó szoftver-) hibákat (pl. a programfutás lefagyását) detektálni, folyamatosan figyelni kell a be- és kimeneti kártyák működőképességét, az A/D és D/A átalakítók pontosságát, a tápegységek hibátlanságát. A meghibásodott eszköz üzemelés közbeni cserélése alapkövetelmény. Meg kell határozni, hogy a mérőeszközök (távadók) mely csoportját kell redundáns módon kiépíteni, ill. szükséges-e és milyen mértékben a beavatkozószervek redundáns működtetése. A 11.3. ábra a DCS rendszer elvi felépítését mutatja [1].
356
11.3. ábra. A DCS rendszerek elvi felépítése Láthatjuk, hogy a belső buszra csatlakoznak a folyamatot irányító állomások (Control Station), amelyek fogadják és feldolgozzák a technológia jellemzőit (áramjelek formájában a mérési adatokat, ill. a kétállapotú jelzéseket). A feldolgozás eredményei, valamint a kommunikációs vonalon kapott külső információk, parancsok alapján technológiai beavatkozásokat kezdeményeznek. A DCS rendszerek korábbi képviselői csak a szabályozási (DDC) feladatok ellátását (áramjelek kiadásával), valamint sorrendi vezérlési lépések kezdeményezését biztosították. A közvetlen vezérlési feladatok ellátására a viszonylag jelentős (minimum többször 10 ms) mintavételi idő miatt nem voltak alkalmasak. Ezért gyakran lehet találkozni külső PLC-k alkalmazásával is a DCS rendszer kiegészítéseként. A DCS rendszer kommunikációs csatornákat biztosít a PLC-k kapcsolattartásához (pl. MODBUS, MODBUS PLUS, SINEC stb.), az adatok kölcsönös cseréjéhez. A közelmúltban értek meg a feltételek, hogy a közvetlen vezérlési feladatok végzésére alkalmas egységeket beépítik a folyamatállomásokba, így a DCS rendszerek önmagukban alkalmasak mind szabályozásra, mind vezérlésre. A folyamatállomás kihelyezett moduljai (lásd a 11.3. ábrán Remote I/O) egy-egy technológiai részközpontba telepíthetők. Ezzel a távadók jelentős kábelezési költségcsökkentése biztosítható, mivel nem szükséges a jelvezetékek nagyobb távolságra építése. A kihelyezett modulok a jelek fogadását és kiadását végzik, de a döntéshozatal továbbra is a folyamatállomásban történik. A technológia felügyelete, működtetése nem nélkülözheti a kezelők munkáját. A kezelők a technológiai buszra csatolt operátori állomásokon figyelhetik a folyamat állapotát és innen avatkozhatnak be. Különleges jogosítványokat biztosítanak a mérnöki munkahelyeken, ami egy különleges operátori állomás. Ezen állomáson lehet a rendszer működését befolyásoló paramétereket módosítani (pl. szabályozási körök kompenzáló tagjainak paramétereit), ill. új szabályozási és mérési csatornákat definiálni a működés közben. Az operátori állomásokat korábban a megbízható hardver- és szoftverműködés biztosítása érdekében kizárólag munkaállomásokon és UNIX alapú operációs rendszereken hozták létre. Napjainkban költségcsökkentés céljából egyre inkább PC-ket és Windows alapú rendszereket hoznak létre. Az operátori munkaállomások a folyamatvizualizálás és a kezelői beavatkozás funkcióit biztosítják. A DCS rendszerek operátori állomásainak száma háromnál nem több, a további munkahelyeket már nem csatlakoztatják rá közvetlenül a DCS belső buszrendszerére. A külvilág a DCS rendszerrel egy szokásos (pl. ETHERNET alapú), nem redundáns kialakítású hálózaton kommunikálhat. E hálózat és a DCS belső busza közötti kapcsolatot a 11.3. ábra gateway eszköze biztosítja. Ez a kapcsolat a vállalatirányítási rendszerbe integrálást
357 szolgálja elsődlegesen, de további kezelői munkahelyek becsatlakoztatására is felhasználhatják. Az eddigi DCS rendszerfilozófia szerves része, hogy a technológiai folyamat mérési csatornái (távadói) áramjelek formájában szolgáltatják a mért jellemzőket, és az A/D konverziót az I/O kártyákkal hajtják végre. Alapelv, hogy a DCS számított beavatkozó jeleit (szabályozások esetén) az I/O egységek D/A konvertereivel alakították át analóg jellé. Az utóbbi években a távadók és a beavatkozószervek fejlődése maga után vonta e filozófia megváltozását. Megjelentek az intelligens távadók, amelyek digitálisan, a DCS rendszer számára közvetlenül felhasználható módon szolgáltatják a mérési adatokat. A kommunikáció a terepi (field) buszon zajlik. A terepi buszok egységesítése jelenleg is napirenden szerepel. A legígéretesebb fejlesztés a Foundation Fieldbus keretében zajlik. Az intelligens távadók alkalmazását több tényező is indokolhatja. Az egyik alapvető előny, hogy a kábelezési költségek nagymértékben csökkenthetők még a kihelyezett I/O egységek használatakor kalkulálható költségekhez képest is. A SMART távadók - korlátozott számú egységekből álló csoportja egyetlen érpárra fűződik, és egy master gép a készülékazonosító megadásával tetszőleges sorrendben kérdezheti a berendezéseket. Az intelligens távadók nyújtotta lehetőségek meghaladják a hagyományos távadók szolgáltatásait. A távadók méréshatára a kommunikációs vonalon beállítható és bekérhető, ill. a mért adat mérnöki egységben (pl. bar) kérdezhető. Egy hagyományos műszerezéssel működő számítógépes rendszerben az egyik leggyakoribb hibaforrás, hogy a számítógép adatbázisában szereplő méréshatár és a tényleges távadó méréshatára eltér egymástól. A több ezer mérőcsatornát tartalmazó rendszerek többéves üzemelés után még mindig okozhatnak meglepetést a kutató kedvű üzemeltetők számára. A hiba következménye, hogy a (hagyományos) számítógépes rendszerben a mért adat kiszámított és felhasznált értéke eltér a ténylegestől, aminek a hatását nem szükséges tovább részletezni. A beavatkozószervek választékában is megjelentek a terepi buszra csatlakoztatható intelligens eszközök. Az egyik legfontosabb beavatkozószerv a folyamatirányítási gyakorlatban a szabályozószelep. Egy szabályozószelep működtetése (pl. motoros pozicionálása) során sok tényezőt kell figyelni szenzorok sokaságával (és az adatainak fogadásával, kiértékelésével), sok paramétert kell beállítani, ezért fontos szerepe van a beépített saját intelligenciának, ill. ezen adatok kommunikációs csatornán való lekérdezhetőségének (beállításának). A szabályozószelep működtetésénél az alábbi funkciók ellátása szükséges: − a DCS által elrendelt szeleppozíció és a tényleges szelephelyzet összehasonlítása; − a szelepműködtetés során a nyomatékigény figyelése, korlátozása. A nyomatékigény növekedése a szelep megszorulásának prognosztizálását szolgálhatja. A maximális nyomaték korlátozása a (nem ritkán tízmillió Ft-nál is értékesebb) szelep tönkretételét előzheti meg. − a szelepállító motor hőmérsékletének figyelése, védelme. Egy (pl. aszinkron motoros) villamos állítóműnek a túl gyakori be- ill. kikapcsolása a motor túlmelegedését jelenti még akkor is, ha a nyomatékigény egyébként normális. Egy konkrét gyártmány óránként maximum 1200 bekapcsolást visel el. A túl gyakori kapcsolások elkerülését a működtető (állítható idejű) bénításával (pl. 3 s) szokás elkerülni. − a mechanikai tehetetlenségből adódó túlfutás figyelembevétele állítható nagyságú érzéketlenségi sávval és a mechanikai fékrendszer (esetleges) működtetése a kívánt pozíció elérésekor; − a pozíciószabályozás PID paramétereinek hangolása a konkrét szelephez.
358 Az előzőek alapján nem közömbös, hogy a feladatokat egy központi számítógép (ha a mintavételi gyakoriság egyáltalán lehetővé teszi), vagy maga az eszköz látja el. Az intelligens távadók és beavatkozók a jelenlegi DCS rendszerekbe integrálhatók.
11.2. A DCS rendszerek szoftverkérdései Egy folyamatirányító rendszer hardverének megbízhatósága önmagában még nem jelenti azt, hogy a rendszer hiba nélkül fog üzemelni. Ehhez a felhasznált szoftverelemek (operációs rendszer, alkalmazói programok) hibátlan kivitele is szükséges. A folyamatirányító rendszerek szoftversajátossága, hogy alapvetően eseményvezéreltek. Egy-egy esemény bekövetkezésekor (aminek az időpontja előre nem tervezhető) egy technológiailag ésszerű válaszidőn belül a számítógépes rendszernek garantáltan reagálnia kell. Az ilyen követelményeknek megfelelő kialakításokat real-time rendszereknek nevezik. A real-time rendszerek létrehozásának vannak hardveres előfeltételei is. Ha egy rendszer pl. nem képes a folyamat irányításához szükséges mintavételi gyakoriságot biztosítani a beépített hardverelemek teljesítményének elégtelen mértéke miatt, akkor ezt a hiányosságot szoftverúton már nem lehet módosítani. Amennyiben a hardverteljesítmény elméletileg elegendő, attól még választhatnánk olyan operációs vagy adatbázis-kezelő rendszert, esetleg fejleszthetnénk olyan alkalmazói programokat, amelyek nem felelnének meg a real-time követelményeknek. Ezért a DCS rendszerekben a szoftver kritikus komponenseinek egyike sem egyedi választás vagy fejlesztés eredménye, hanem a gyártó által biztosított termék. Különbséget kell tenni a DCS rendszerek funkcionálisan különböző részeinek (a folyamatállomások és az operátori állomások) szoftverrendszere között. 11.2.1. A folyamatállomások programrendszere A folyamatállomások (Control Station) kritikus funkciója a szabályozás és vezérlés. Napjainkban jelentek meg olyan hibrid rendszerek, amelyek a közvetlen vezérlési funkciókat is támogatják. Ezen állomásokon semmilyen szoftver ok miatti meghibásodás nem fordulhat elő, mert ez a folyamat felügyelet nélkül maradását okozza a hardverredundancia ellenére is. A másik sajátosság, hogy a real-time követelményeket ezen állomásokon feltétlenül teljesíteni kell. Az előző okok miatt csaknem általános, hogy az eszközök operációs rendszere nem a számítástechnikában megszokott és általános UNIX vagy Windows alapú. Nincs is rá igény. E gépekre közvetlenül nem kapcsolódnak felhasználók, így számukra szolgáltatást sem kell biztosítani. A megoldandó feladatok köre (szabályozás, vezérlés, technológiai jelek kezelése, kommunikáció) kötött, az egyedi felhasználói igényeket nem szokás támogatni. Az operációs rendszernek e környezet hatékony működtetését kell biztosítania. Az operációs rendszer szolgáltatásaira támaszkodó programkomponenseket is a gyártók fejlesztik. Az alkalmazás során kell konfigurálni a keretrendszereket a technológia egyedi vonásainak megfelelően. 11.2.1.1. Folytonos jelek kezelése
A folytonos jeleken a technológia mért jellemzőit (hőmérsékletek, nyomások) és az egyéb származtatott mennyiségeket értjük. E jelek kezelése, feldolgozása elsősorban a szabályozási feladatok megoldását szolgálja. A DCS rendszerek klasszikus feladata a szabályozóegységek digitális leképezése. Ennek legegyszerűbb formája a hagyományos PID-kompenzáció leképezése. A jelenlegi DCS rendszerekben is ez a legáltalánosabb elem. A 11.4. ábrán PID szabályozóblokk látható.
359
11.4. ábra. Egyszerű PID-szabályozó funkcionális kialakítása A szabályozott jellemző (pl. nyomás, hőmérséklet) kívánt értékének nagyságát az alapjel (xa) bemenetére kell kapcsolni. Értéktartó szabályozásoknál (időben állandó szabályozott jellemző biztosítása esetén) ez egy időben állandó érték, amelynek nagyságát a kezelő adja meg konstansként. Egy gőzkazán kilépő gőznyomásának állandóságát a bevitt gáz (hő) mennyiségének változtatásával biztosítják, de sorolhatnánk az egyéb technológiai példákat, amikor értéktartó szabályozást kell létrehozni. Követőszabályozásoknál az alapjel nagyságát egy másik mért jellemző pillanatnyi értéke határozza meg. A szabályozási cél, hogy egy mennyiség kövesse egy másik technológiai jellemző alakulását. A gőzkazánba vitt gáz elégetéséhez oxigénre is szükség van. Több gáz elégetéséhez több, kevesebb gáz elégetéséhez kevesebb levegő bevitele szükséges az égőtérbe. A levegő mennyiségszabályozójának alapjele követi a gáz mennyiségét, vagyis arányos azzal. Az arányt a kívánt légfelesleg-tényező nagysága szabja meg. Ezt a követőszabályozástípust arányszabályozásnak nevezik. Követőszabályozás lehet egy hőkezelő kemence hőmérsékletének adott időprogram szerinti szabályozására szolgáló kör. Az alapjel (a hőmérséklet kívánt nagysága) egy adott időprogram szerint változik, ezért ezt a típust programszabályozásnak nevezik. Hierarchikus kaszkádszabályozások esetén az alapjel nagyságát egy másik (a hierarchiában fölérendelt) szabályozóblokk kimenete szolgáltatja az alárendelt egység számára. A 11.5. ábra a kaszkádszabályozások elvét mutatja. A fölérendelt szabályozó kimenete szolgáltatja az alárendelt kör számára az alapjelet. A kialakítás értelme, hogy a fellépő zavaró hatásokra az alárendelt kör gyorsan reagáljon és küszöbölje ki a zavarás hatásának döntő részét. A külső (fölérendelt) szabályozó a pontosságot biztosítja. Ennek megfelelően a külső kör általában PI, míg a belső kör PD kompenzálótagot tartalmaz. A példa kapcsolódjon a gőzkazánból kilépő gőz hőmérsékletének a szabályozásához. A túlhevített gőz hőmérsékletét a túlhevítőnél befecskendezett víz mennyiségével lehet beállítani. Ha csak a hőmérséklet-szabályozó állítaná a befecskendezőszelepet, akkor a belépő víz nyomásának megváltozásából adódó közegáramváltozás csak a gőzhőmérséklet megváltozásán keresztül lenne érzékelhető. Ezért ingadozó víznyomás esetén célszerű a kaszkádszabályozás kiépítése. A fölérendelt (hőmérséklet) szabályozó kimenete a vízközegáram (szabályozás) alapjelét szolgáltatja és az alárendelt közegáram-szabályozó állítja a beavatkozószelepet.
11.5. ábra. Hierarchikus kaszkádszabályozás elve
360 A PID-szabályozók elve, hogy az (xa) és a ténylegesen mért (ellenőrző) (xe) jelek különbségét (az xr szabályozási eltérést) három párhuzamosan kapcsolt jelformáló tagon keresztül vezetik. Az egyes jelformáló tagok arányos (P), integráló (I), és differenciáló (D) jelformálást valósítanak meg. A három hatás összege szabja meg a beavatkozás mértékét. A PID szabályozók kimenete elméletileg az alábbi kifejezéssel adható meg. dx r (t ) 1 t (11-1) x v (t ) = Ap x r (t ) + ∫ x r (t )dt + T d T 0 dt i A kifejezés legegyszerűbb numerikus közelítését akkor kapjuk, ha az integrálást a téglányszabállyal, a differenciálást pedig a véges differenciával közelítjük. Ekkor a közelítő alak az n jelű (n Tm) mintavételi időpontban az T n (11-2) T x v (n) = Ap xr (n) + m ∑ x r ( j ) + d [x r (n) − x r (n − 1)] Tm T j =0 i formában adható meg, ahol Tm a mintavételi idő nagyságát jelöli. A mintavételi idő értékének meg kell felelnie a mintavételezési törvény által magszabottnak. Különösebb magyarázat nélkül is belátható, hogy egy gyors folyamat (pl. hengersorhajtás) szabályozásánál nem engedhetjük meg, hogy akár csak néhány tized másodpercig ne változtassuk meg szükség esetén a beavatkozás mértékét. A DCS rendszereket a tipikusan nem túl gyors technológiák irányítására alkalmazzák, ahol a hardver és szoftver sebessége a mintavételezési tétel által megszabott idő töredéke alatti lekérdezést és feldolgozást biztosít. Az ilyen mintavételes szabályozások tervezésénél a folytonos rendszerekben megszokott módszereket alkalmazhatjuk.
A szabályozás minőségi mutatóinak (pontosság, lengéshajlam, gyorsaság) technológiailag elvárt értékét az Ap, Ti és Td megfelelő beállításával biztosíthatjuk. A paramétereket a mérnöki munkahelyen megfelelő jogosítványok birtokában lehet változtatni. Mivel a folyamat átviteli tulajdonságainak meghatározása nehéz és időigényes feladat, ami nélkül a hangolás nem oldható meg, a DCS rendszerek szoftverkomponensei opcionálisan lehetővé teszik az önhangolást, amely a teljes rendszer üzemelése mellett a kiválasztott szabályozási kör alapjelét aktívan befolyásolja az eljárás, és a gerjesztésre adott válaszok elemzése alapján hangolja be a PID paramétereit. Az eljárás indításakor meg kell adni az elérni kívánt mutatókat (túllendülés, pontosság stb.) és a hangolásnál érvényes korlátozásokat. Ez utóbbi azt jelenti, hogy az önhangolás során pl. egy hőmérséklet csak egy adott tartományon belül állítható, mert még a hangolás érdekében sem veszélyeztethetjük a technológia normális üzemelését. Az önhangoló funkciót ma már az egyhurkos kompakt szabályozókba is beépítik. A PID kompenzálótagokat gyakran előre csatolással (FeedForward, FF), zavarkompenzációval kiegészítve képezik le. Az előre csatolás a beavatkozás mértékét azonnal megváltoztatja, ha az FF bemenetre kapcsolt (mért) jellemző megváltozik. A hatás mértékét az előre csatolás erősítésének beállításával változtathatjuk. Egy hőcserélőből kilépő (melegítendő) közeg hőmérséklete meg fog változni (beavatkozás nélkül), ha a melegítendő közeg belépő hőmérséklete megváltozik. A kilépő hőmérséklet állandó értékét biztosító szabályozás nem a legjobb hatékonysággal működik, ha a meleg közeg közegáramát csak a kívánt és a tényleges kilépő hőmérsékletek különbségétől (a már meglévő szabályozási hibától) függően, a PID algoritmus szerint változtatjuk. Sokkal előnyösebb, ha a belépő hőmérséklet megváltozásakor azonnal megváltoztatjuk az előre csatoláson keresztül a közegáramot (a beavatkozást), mert így csökkenthetjük e zavarás miatt bekövetkező kilépő hőmérséklet változását. A zavarás hatásának hatékony csökkentéséhez az előre csatolás erősítésének helyes beállítása szükséges.
361 A szabályozó a PID-tag és az előre csatolás által szolgáltatott jelek összegét adja ki a beavatkozószerv (pl. a szabályozószelepet működtető szervomotoros pozícionáló) felé. A szabályozó kimenőjelét limitálni szükséges. Egy szabályozószelep működtetésénél csak a 0…100 % közötti szeleppozícióknak van fizikai értelme, a negatív beavatkozási parancsok szabályozástechnikailag bármennyire is kívánatosak lennének, nem értelmezhetők. Egy gázfűtésű kemence hőmérséklet-szabályozásánál a negatív beavatkozás (szelepállás) fizikailag a hűtést jelentené, ami képtelenség. Lehetnek olyan beavatkozószervek (pl. egy reverzáló hajtásnál), ahol logikailag van értelme a pozitív és a negatív beavatkozásnak is a mozgatás irányától függően. A beavatkozók működtetésének több formáját kell biztosítani. Általában áramjelet (4…20 mA) kell a D/A konverterek felhasználásával előállítani, de ez nem kizárólagos. Előfordulhat, hogy két- vagy háromállású kimenetet (pl. kontaktusokat) kell szolgáltatni a működtetéshez. Különböző megfontolások alapján nem lineáris elemeket iktathatunk a szabályozási körbe (szoftver úton történő leképezéssel). A leggyakrabban a 11.6. ábrán látható karakterisztikájú elemeket (korlátozás, érzéketlenség, hiszterézis) iktatják be.
11.6. ábra. Tipikus nemlineáris karakterisztikák Az egyik leggyakoribb oka a nemlineáris elem beiktatásának a beavatkozószerv (szelep) állandó mozgatásának megakadályozása. Amennyiben egy hiszterézist iktatunk a szabályozó kimenete és a szelep közé, akkor a szabályozó kimenőjelének a 2 h tartományában való ingadozása (nyitást követő zárása, vagy zárást követő nyitása) esetén nem kerül ki új szeleppozíció. Ha a különbségképző és a PID-tag közé iktatjuk az érzéketlenségi sávot, már a szabályozási hiba e értékre csökkenése (lásd a 11.6. ábrát) esetén nem változik a beavatkozás mér-
362 téke. Ilyen megoldás akkor célszerű, ha a szabályozott jellemző (pl. a berendezés mechanikai tehetetlensége miatt) túlfutással áll be. A korlátozás biztosítja, hogy egyes hatások maximális mértékét beállíthassuk. A DCS rendszerek programozásánál lehetőséget teremtenek, hogy a legkülönbözőbb (szoftver úton leképezett) jelátviteli tulajdonságú tagjait felhasználjuk a hatékony szabályozás érdekében. Nem optimális megoldás, ha a zavarkompenzációs bemenetre a mért jellemzőt közvetlenül csatlakoztatjuk. Hatékonyabb megoldás (bár lényegesen több információt igényel a tervezésnél), ha a mért mennyiséget egy, a folyamat dinamikájához illeszkedő tagcsoporton csatoljuk az FF bemenetre. A DCS rendszerek általában a fáziskésleltető-siettető (Lead/Lag) átviteli tagok dinamikus leképezését támogatják. Egy összetett rendszer irányításánál, a jelek feldolgozásánál, kiértékelésénél számos matematikai funkciót kell használni. Nem csupán az aritmetikai műveleteket (gyökvonás, sin, ln, exp, stb.), hanem ennél összetettebb funkciókat, pl. lineáris és polinomiális regressziót is. Ide sorolhatjuk azokat a funkciókat is, amelyek a jelek változási sebességét korlátozzák. Egy szabályozó kézi-automatikus átkapcsolásakor a szabályozó kimenetét nem ugrásszerűen, hanem csak adott meredekséggel illik változtatni. Technológiai követelmény, hogy egy országos kőolajvezetéken a nyomásváltozás meredeksége nem haladhatja meg 2 bar/perc értéket. Ha a nyomásszabályozás alapjelét megváltoztatjuk 35 bar értékről 42 bar nagyságra, akkor ez nem érvényesülhet azonnal, csak a meredekségnek megfelelő lépcsőzéssel. A szabályozástechnikában a PID-kompenzáció az egyszerűség és a robosztusság miatt fontos. A kompenzáció megvalósítása analóg áramkörökkel (műveleti erősítős kapcsolásokkal), de pneumatikus elemekkel is lehetséges. Így a klasszikus szabályozáselmélet erre a számítógépes intelligenciát nem igénylő beavatkozási stratégiára alapozva fejlődött. Napjainkban egyre inkább előtérbe kerülnek azok a beavatkozási stratégiák, amelyek nem nélkülözhetik a számítógép lehetőségeit. Az adaptív szabályozások jellemzője, hogy a szabályozó paramétereit, esetleg a struktúráját is a szabályozott szakasz jellegének a változásához kapcsolják. Egy sokzónás kristályosítókemence lényegesen eltérő viselkedésű, ha alacsony vagy magas hőmérséklettartományban vizsgáljuk. A kisebb hőmérsékleteknél a konvekció, míg magas hőmérsékleteknél a sugárzásos hőátadás dominál és ebből adódik a viselkedés (jelátvitel) különbsége. Ezért ugyanazzal a szabályozóval nem lehet mind az alacsony, mind a magas hőmérséklettartományban azonos minőségi mutatókat biztosítani. Az egyik lehetséges megoldás az adaptív módszerek alkalmazása. Sok esetben az adaptív szabályozások a szabályozott szakasz számítógépes modelljének felhasználásával, a mért és a modellezett válaszok összevetése alapján működnek. Addig befolyásoljuk a modell átviteli paramétereit (időállandókat, átviteli tényezőket), amíg a modell a valósággal közel azonos viselkedést nem produkál. Ezen identifikációs eljárás eredményeként a szabályozott szakasz pillanatnyi paraméterei rendelkezésre állnak és így a szabályozó beállításához, hangolásához felhasználhatók. Ezt az eljárást modellreferenciás adaptív szabályozásnak nevezik. Az adaptív beavatkozási algoritmusok beillesztése nagyságrendekkel nehezebb feladat a PID-szabályozók hangolásánál, de ha csak ez az út van a minőségi mutatók biztosításához, akkor ezt kell választani. Bizonyított tény, hogy a fuzzy módszerek eredményesen alkalmazhatók szabályozási célokra elsősorban ott, ahol nincs remény a szabályozott szakasz matematikai leírására, de annyi tudással rendelkezünk, hogy a beavatkozás szabályrendszerét nyelvi fogalmakkal meg tudjuk alkotni. Egyre több gyártó rendszerében jelennek meg a fuzzy modulok, amelyek a konzervatívtól eltérő látásmódot igényelnek. Megfigyelhető a törekvés, hogy a DCS rendszerek szolgáltatásai egyre bővülnek, egyre fejlettebb (és bonyolultabb) beavatkozási stratégiákat is ajánlanak. Nem lehet cél a minél
363 újabb és újabb módszerek alkalmazása pusztán a korszerűség indokának hangoztatásával. A választást technológiai és szabályozástechnikai okok indokolják. A fejlett (intelligens) beavatkozást megvalósító komponensek beszerzési költsége nem elhanyagolható és az alkalmazás sem egy-két kísérlet néhány perces elvégzésére korlátozódik. A többletráfordításnak az elért eredményben is meg kell mutatkoznia. A szabályozás feladatainak megoldása adott esetben az előzőekben említett funkciók alkalmazásával hajtható végre. Az alkalmazói szoftverek fejlesztésénél e funkciókat blokkoknak is felfoghatjuk, amelyeknek vannak bemenetei és vannak kimenetei. A blokkokat és a blokkok bemeneteihez, kimeneteihez kapcsolódó jeleket logikai azonosítókkal látjuk el és így hivatkozhatunk rájuk. A blokkok felhasználásához definiálni kell a blokk működéséhez szükséges paraméterek nagyságát (pl. PID-blokk). Az alkalmazás során meg kell adni, hogy a különböző blokkok milyen módon kapcsolódnak egymáshoz. Mindezek az adatok a DCS adatbázisában tárolódnak és a futás során kerülnek értelmezésre, ill. végrehajtásra. Az alkalmazáshoz szükséges definíciókat két formában adják meg: − az adatdefiniálás előre szerkesztett űrlapok kitöltésével; − a blokkok és kapcsolataik ábrázolása grafikus felületen. A fejlesztői munka a különleges jogosítványú mérnöki munkaállomáson végezhető, akár működő rendszer mellett is. Az előre szerkesztett űrlapok alkalmazására a 11.7. és 11.8. ábrákon láthatunk példát [2].
11.7. ábra. PID-szabályozó űrlapja
364
11.8. ábra. PID-szabályozóblokk be-, ill. kimeneti jeleinek listája Láthatjuk, hogy egy PID-blokk definiálólapjairól van szó. A funkciósor PI kijelölése szerint csak a P és I funkciók lesznek hatásosak (Td megadása hatástalan, ill. hibás definiálás). A szabályozó számos üzemmódban működhet (pl. a kimeneti jel megfordítása), ennek előírását változtathatjuk a funkciósor egyéb elemeinek a megváltoztatásával. A konkrét esetben PV a szabályozott jellemzőt (skálázott xs), LS az alapjelet (xa), FF az előre csatolt jelet jelenti. A szabályozó kimenőjelét a Q jelöli. A szabályozóblokk és a be-, ill. kimeneti jelek azonosítói (pl. 106TT-1072) mellett az aktuális értékeket és a jelek dimenzióit is láthatjuk. A beállítási paraméterek Ap, Ti, (Td itt hatástalan) és az előre csatolás erősítésének nagyságát láthatjuk a következő képrészleten, amelyet változtathatunk is. Az automatikus/kézi átkapcsoláskor az alapjelbetöltés módját írhatjuk elő (LS-PV track). Megadhatjuk az alapjel és a szabályozó kimenetének még elfogadható alsó és felső határát, valamint szükség esetén definiálhatjuk a maximális változási sebességet. A 11.9. ábra azt a (csatoló-) lapot mutatja, ahol a PID-tag be-, ill. kimenetére kapcsolódó jeleket definiáljuk. A táblázat a jelek forrásait (azonosítóit), mérési, ill. változási tartományuk nagyságát (mérnöki egységben) és dimenzióikat tartalmazza. A PID-blokk LS-bemenete a kezelő által megadott alapérték, míg az RS az esetleges külső alapjelcsatornát jelenti. Erre követő- vagy kaszkádszabályozásokban való felhasználás esetén van szükség. A hold elem a jelforrás meghibásodása (pl. távadóhiba) esetén való tevékenység módját írja elő. Teljesen hasonló a többi funkció leírásának elve is. Az alkalmazás másik formája a grafikus képernyőlapon való tervezés. A grafikus képernyőn elhelyezzük a feladatmegoldásban szerepet játszó blokkok szimbólumait, majd megadjuk az egymáshoz való kapcsolatukat. Így átláthatóbb formában szemléltethetjük a blokkok egymáshoz csatlakoztatását és egy-egy feldolgozási lánc logikailag teljesen követhetővé vá-
365 lik. A blokkok paramétereinek megadása a szimbólumokra kattintva, a kinyíló ablakokban történik. 11.2.1.2. A diszkrét jelek kezelése
A DCS rendszerek a mérési csatornák mellett nagyszámú jelzésbemenetet és jelzéskimenetet kezelnek. A közelmúltig nem volt jellemző, hogy a néhány ms válaszidőt igénylő közvetlen vezérlési feladatokat bíztak volna a DCS rendszerre. A közvetlen vezérlési feladatokat az esetek többségében a DCS rendszerrel is kapcsolatban álló PLC-k oldották meg. A bejövő jelzések részben a technológia állapotának követésére, kezelői megjelenítésére szolgálnak. A technológiai szerelvények (pl. tolózárak, motorok) állapotai ezen az úton jutnak a rendszerbe. A fizikai jelzések mellett a szoftverrendszer is generálhat számos kétállapotú jelzést, pl. amikor a mérőcsatornák adata meghalad egy előírt értéket. A jelzések aktívan befolyásolhatják a szoftver úton leképezett funkciók végrehajtását. Ha egy szabályozót kézi üzemmódba helyezünk, amit a kétállapotú jelzés értéke mutat, akkor a szabályozó kimenetén a kézi üzemmódban érvényes, míg automatikus üzemmódban a PID által meghatározott érték jelenik meg. Tehát a folytonos és diszkrét jelkezelés objektumai kapcsolatba hozhatók. A jelzéskimenetek értékét részben a kezelő-, részben a diszkrét jelek kezelésére szolgáló vezérlőblokkok (funkciók) működtetik. A felhasználó is definiálhat diszkrét vezérlőblokkokat, de a gyártó cég is szerepeltet választékában a gyakori berendezéseket (pl. villamos motorok, tolózárak) működtető előre definiált blokkokat. A blokkok paraméterezését a korábbi technikákkal végezhetjük el. Egyre inkább általánossá válik, hogy a vezérlési feladatok mind nagyobb részét a DCS rendszer közvetlenül (külső PLC nélkül) valósítja meg. Kézenfekvő, hogy a vezérlési feladatok programjait a PLC-technikában megszokott (grafikus) fejlesztői környezetben dolgozhassuk ki. A programfejlesztés is a mérnöki munkahelyen történik. 11.2.1.3. Sorrendi feladatok kezelése
Elsősorban a szakaszos technológiák irányításánál fogalmazódnak meg olyan igények, hogy a gyártás folyamatát irányítási lépésekre lehessen bontani. Egy vegyipari vagy gyógyszeripari reaktor irányításánál teljesen természetes, hogy pl. az alábbi technológiai lépéseket kell egymás után végrehajtani: − − − − − − − −
alapanyagok előírt mennyiség (receptúra) szerinti betöltése; adott idejű homogenizálás (keverés); az elegy adott hőmérsékletre való melegítése (pl. gőzfűtéssel); további segédanyagok receptúra szerinti mennyiségeinek bemérése; az elegy hőmérsékletének új értékre emelése előírt trend szerint; hőntartás, míg az elegy viszkozitása egy adott értékre nem növekszik; a reaktortartály hőmérsékletének csökkentése adott trend szerint (pl. vízhűtéssel); a gyártás befejezése.
A feladatsor pontjai az egyes irányítási lépéseket jelentik. Minden egyes lépéshez tartozik egy lépésfeltétel és egy akciósorozat. A lépés számos eltérő jellegű feltételhez, ill. ezek kombinációjához kapcsolódhat: − − − −
kétállapotú jelzésekből képzett logikai függvények értékéhez; mért technológiai jellemzők nagyságához; időtartamhoz; képzett mennyiségek értékéhez.
366 Egy adott lépéshez (a lépésfeltétel teljesülését követően) a legkülönbözőbb akciósorozat kapcsolódhat: − vezérlési programok indítása, befejezése (pl. bemérések indítása); − szabályozások alapjelének megváltoztatása (pl. reaktortartály hőmérsékleti alapjelének változtatása); − szabályozások aktiválása, passziválása (pl. hűtésszabályozás aktiválása, fűtés passziválása); − képzett jellemzőket előállító algoritmusok indítása, leállítása. A sorrendi feldolgozások lépésfeltételeinek és akcióinak megfogalmazása lehetséges az űrlapkitöltési technika alkalmazásával is. A feladat összetettsége miatt azonban magas szintű leírónyelvek alkalmazása is szokásos. A sorrendi feladatok hatékony tervezésének, kezelői követésének előfeltétele az, hogy az operátori munkaállomások megfelelő komponensekkel (programmodulokkal) rendelkezzenek. E feladatcsoportot megoldó programkomponensekre a „Batch processing” nevet használják. 11.2.1.4. A terepi buszrendszerrel való kapcsolattartás
A folyamatállomásoknak hardver- és szoftverúton is biztosítani kell a terepi berendezésekkel az alábbi kapcsolatokat. − A kihelyezett (távoli) I/O egységekkel való kapcsolat biztosítása, ami a DCS rendszer belső kérdése. − Külső PLC-berendezésekkel való kapcsolat. Szabványos (pl. PROFIBUS) vagy gyártóspecifikus (pl. MODBUS) protokollok alapján való kommunikáció. Nem előnyös az olyan rendszerek létrehozása, ahol a külső PLC-k sokfajta protokollt alkalmaznak, mert mind a hardver, mind a szoftver jelentős költségnövekedést okoz. − Az intelligens mérő- és beavatkozóeszközökkel való kapcsolat. Itt is többféle kommunikációs mód (pl. HART) vehető figyelembe. Törekedni kell az egységes és lehetőleg széles körű (kvázi szabványos) eljárások alkalmazására. 11.2.2. Az operátori munkaállomások programrendszere Az operátori munkahelyek funkcionálisan két nagy csoportra bonthatók: − kezelői munkahelyek; − mérnöki munkahelyek. A kezelői munkahelyeken a technológia felügyelete, a technológia működésének biztosítása a cél. E munkahelyeken nem szokás szabályozáselméleti kérdésekkel foglalkozni. Itt a technológia állapotát, a fellépő rendellenességeket kell kijelezni és beavatkozáshoz szükséges parancsokat kiadni. A rendszer üzemelés alatti finomítása (pl. szabályozóparaméterek hangolása, a szabályozási struktúra megváltoztatása), bővítése a mérnöki munkahelyeken lehetséges. Ezek a munkahelyek elsősorban a tervezésre, a rendszer működését alapvetően befolyásoló paraméterek megváltoztatására szolgálnak, így a használat különösen nagy figyelmet és szakértelmet igényel. Az operátori munkaállomások valamennyi adata az adatbázisban van. A DCS rendszerek adatbázisának sajátossága, hogy osztott kialakítású. A real-time követelmények miatt az
367 adatokat nem egy központi adatbázisszerveren kell tárolni, hanem a kritikus felhasználási helyeken, hiszen így biztosítható a leggyorsabb és legbiztonságosabb adatelérés. A gyakorlat szerint e rendszerekben ugyanaz az adat esetleg több (fizikai) helyen is tárolódik az előbbi okok miatt, ami az adatkoherencia szempontjából különösen nagy figyelmet igényel. A realtime követelmények miatt gyakori a gyártóspecifikus adatkezelés. A DCS rendszerek adatbázisa más külső adatbázisokkal is kapcsolatban áll, ezért a szabványos (SQL) adatbázis-elérést is biztosítani kell. E sajátosságok figyelembevételével a kezelői munkaállomások feladatköre nagymértékben hasonlít a folyamatvizualizáló (és SCADA) rendszerek munkahelyeinek feladatköréhez. A technológiai sémák megjelenítése frissülő adatokkal, eseményüzenet kezelés, adatarchiválás és beavatkozási parancsok kiadása az alapfeladat. Ezek részleteit a hasonlóság miatt itt nem ismertetjük. A mérnöki munkahelyek teljes programrendszere a fejlesztést célozza egyedi programok hívásán keresztül. Az adatbázis karbantartásán, ellenőrzésén túl önhangoló algoritmusok alkalmazása, nyomtatható naplók és felhasználói képek definiálása, rendszerbe iktatása az alapfeladat. Egy-egy részfeladat, pl. az intelligens távadók tesztelése, beállítása, karbantartása önálló munkahelyen is történhet.
Irodalomjegyzék [1] [2] [3] [4] [5] [6]
DCS Folyamatirányító Rendszerek. Konferenciakiadvány 1997, 1998, 2000. FISCHER-ROSEMOUNT: Rosemount System 3. Control Block Configuration Manual, 1993. SIEMENS: PCS7 gépkönyv, 1997. ABB: Industrial Manual, 1998. SIEMENS: SIMATIC HMI. Catalog ST 80.1, 1997. Telkes Z.: Az irányítások generációs tulajdonságai (1. rész). ELEKTROnet, 1996/6.