Folyamatmodell irányítása 1-2 Mérési útmutató
Folyamatirányítás laboratórium
Összeállította: Kovács Gábor
[email protected]
Budapesti Műszaki és Gazdaságtudományi Egyetem Irányítástechnika és Informatika Tanszék 2015
Folyamatmodell irányítása 1-2
Tartalomjegyzék
Tartalomjegyzék Tartalomjegyzék ...................................................................................................................................... 2 1
Siemens S7-1200 és Comfort Panel ................................................................................................. 3
2
A létradiagramos programozás alapjai ............................................................................................ 4
3
4
2.1
Logikai alapelemek .................................................................................................................. 4
2.2
Operandusok – tagek .............................................................................................................. 6
2.3
A legfontosabb funkcióblokkok ............................................................................................... 7
2.4
Állapotgépek megvalósítása .................................................................................................. 10
Felhasználói felület megvalósítása ................................................................................................ 13 3.1
HMI tagek .............................................................................................................................. 14
3.2
Képernyők.............................................................................................................................. 14
3.3
Események............................................................................................................................. 16
3.4
Animációk .............................................................................................................................. 17
Mérési feladatok ........................................................................................................................... 19 4.1
Pneumatikus mozgatóegység irányítása ............................................................................... 19
4.2
Pick-and-place manipulátor irányítása .................................................................................. 21
2
Folyamatmodell irányítása 1-2
Siemens S7-1200 és Comfort Panel
1 Siemens S7-1200 és Comfort Panel Az S7-1200 PLC-k a nagy sikerű S7-es PLC család legkisebb tagjának, az S7-200-nak utódai. Ugyan továbbra is a legkisebb teljesítményű teljes értékű Siemens PLC-k közé tartoznak, kitűnően használhatók számos feladatra. A család tagjai átmenetet képeznek a kompakt és moduláris PLC-k között: önmagukban is rendelkeznek beépített be- és kimeneti modulokkal, de szükség esetén további bővítőmodulok használatával a csatornák száma jelentősen növelhető. Az S7-1200-as típusok beépített Ethernet-csatolóval rendelkeznek, mely nem csak kommunikációs, hanem egyben programozói interfészként is szolgál. Az Ethernet-csatoló használható a rendszer további elemeivel (PLC-k, HMI-eszközök stb.) való kommunikációra is. Az S7-1200-as típusok beépített webservert is tartalmaznak, melynek használatával lehetőség nyílik tetszőleges eszközön megjeleníthető felhasználó felületek implementálására is. A mérés során használt PLC az S7-1214C DC/DC/DC típusú CPU (ld. 1. ábra), mely 16 digitális bemenettel, 10 digitális kimenettel rendelkezik, valamint tartalmaz egy analóg kimenetet biztosító bővítőkártyát is (ez utóbbi nem modul kivitelű, hanem a CPU előlapjába illeszthető). A PLC mellett egy tápegység, illetve egy Ethernet-switch is elhelyezkedik.
1. ábra - S7-1200 1214C CPU
A mérés során a felhasználói felület (Human-Machine Interface, HMI) megvalósítására használt eszköz egy Siemens Simatic Comfort Panel 700 típusú, 7 collos érintőképernyős panel (2. ábra). Az eszköz a Siemens érintőképernyős paneljei közül a középkategóriát képviseli, fizikai gombokkal nem rendelkezik. Az irányítórendszer további elemeivel Ethernet- vagy Profibus-interfészeken tartja a kapcsolatot, bővítőcsatlakozói között pedig USB-port is megtalálható.
3
Folyamatmodell irányítása 1-2
A létradiagramos programozás alapjai
2. ábra - Simatic Comfort Panel 700
2 A létradiagramos programozás alapjai1 Az IEC-1131 (majd IEC-61131) szabvány által definiált PLC-programozási nyelvek közül egyszerűbb alkalmazásokban a létradiagram a legelterjedtebb. A következőkben a létradiagramos programozás legfontosabb alapelemei kerülnek bemutatásra, a TWIDO programozási nyelvének szintaktikáját követve.
2.1 Logikai alapelemek A relés logikák alapján létrejött létradiagramos programok alapegységeit az áramutak (létrafokok) jelentik, melyek mindegyike egy-egy logikai függvényt ír le. A PLC minden egyes működési ciklusban beolvassa a bemeneteket, a létradiagramban felülről lefelé kiértékeli a logikai függvényeket, majd végül beállítja a kimeneteket (ezután új ciklust kezd). A létradiagram logikai alapelemeit az 1. táblázat mutatja be. Kontaktusok Alaphelyzetben nyitott (NO) kontaktus Alaphelyzetben zárt (NC) kontaktus
Tekercsek Alaphelyzetben nyitott (NO) tekercs Alaphelyzetben zárt (NC) tekercs
Felfutó él-érzékeny kontaktus
Set tekercs
Lefutó él-érzékeny kontaktus
Reset tekercs
1. táblázat - A létradiagram logikai alapelemei
A logikai függvények bemeneteit a kontaktusok, kimeneteit pedig a tekercsek jelölik. Az áramút a létrafok bal oldalától indul, és először a kontaktusokon, majd a tekercseken át a jobb oldalig vezet. Az alaphelyzetben nyitott (NO) kontaktus legegyszerűbben egy kapcsolóként fogható fel: akkor folyik át 1
A fejezetben ismertetett témák megegyeznek az M5 mérés útmutatójának azonos fejezetével, azonban itt a Step 7 fejlesztői környezetben történő megvalósítás kerül bemutatásra.
4
Folyamatmodell irányítása 1-2
A létradiagramos programozás alapjai
rajta az áram, ha a hozzá kapcsolt (a diagramban a kontaktus szimbóluma felett szereplő) változó értéke igaz (1). Az alaphelyzetben zárt (NC) kontaktusnál pont fordított a helyzet, az a hozzá tartozó változó hamis (0) értéke esetén vezet (mint egy bontó érintkezős kapcsoló). Általánosságban ha egyszerűen kontaktusról beszélünk, akkor az alatt alaphelyzetben nyitott kontaktust értünk. Kontaktusok (alaphelyzetben zárt kontaktusok) soros kapcsolásával AND (NAND), míg párhuzamos kapcsolásukkal OR (NOR) műveletek írhatók le. Az alaphelyzetben nyitott (NO) tekercsek a hozzájuk tartozó változóba 1-et írnak, ha folyik át rajtuk áram, ellenkező esetben azonban pedig 0-t. Az alaphelyzetben zárt (NC, negált) tekercsek értelemszerűen akkor írnak 1-et a hozzájuk tartozó változóba, ha nem folyik át rajtuk áram.
3. ábra - Logikai függvény leírása létradiagrammal
A fenti példa az Y=NOT(A OR (B AND NOT C)) logikai függvényt írja le. A bal oldali ágak közül a felső akkor vezet, ha A értéke igaz, míg az alsó akkor, ha B értéke igaz és C értéke hamis (B AND NOT C). A tekercs akkor lesz aktív, ha a két ág bármelyike vezet, azaz a tekercs bemenetén az A OR (B AND NOT C) érték jelenik meg. Mivel a tekercs negált működésű, ezért az Y változóba az érték negáltja, NOT(A OR (B AND NOT C)) kerül beírásra. Fontos kihangsúlyozni, hogy a működés egy logikai függvényt ír le, melynek a kimenetnek minden esetben értéket ad. Kezdő PLC-programozók gyakran esnek abba a hibába, hogy a fenti létradiagramot a hagyományos programozási nyelvek IF (A OR (B AND NOT C)) THEN (Y=0)utasításával azonosítják. Holott nem ezt írja le: az előbbi utasítás a feltétel nem teljesülése esetén az Y változót korábbi értékén hagyja, ezzel szemben a létradiagram által leírt logikai függvény ilyenkor az Y változóba 1-et ír. Azaz a logikai függvényünknek helyesen az IF (A OR (B AND NOT C)) THEN (Y=0) ELSE (Y=1)utasítás felel meg. A tekercsekhez kapcsolt változók tehát minden egyes ciklusban aszerint kapnak értéket, hogy a tőlük balra lévő elemek igazra vagy hamisra értékelődnek ki. Amennyiben szeretnénk „memóriatulajdonsággal” felruházni egy változót, akkor ezt a Set és Reset tekercsek segítségével tehetjük meg. A Set tekercs a logikai változót igaz (1) értékbe állítja, ha a tőle balra eső feltétel igazra értékelődik ki, ellenkező esetben pedig változatlanul hagyja az értékét. A változó törlése hasonló módon a Reset tekerccsel lehetséges. Fontos megjegyezni, hogy a felhasználói program nem közvetlenül a kimeneteket, hanem a memóriában található kimeneti kép bitjeit változtatja, melyek a programciklus végén kerülnek kiadásra a megfelelő kimeneteken. Amennyiben egy kimenetnek több létrasorban is adunk értéket egy tekercs használatával, a második értékadás a kimeneti képben felülírja ez elsőt, azaz az első létrasorban beállított érték nem jelenik meg a kimeneten. Érdemes ezért betartani azt az alapelvet, hogy egy kimenetet csak egy helyen (egy létrasorban) írunk. 5
Folyamatmodell irányítása 1-2
A létradiagramos programozás alapjai
2.2 Operandusok – tagek A műveletek operandusait a Step 7 fejlesztői környezet tageknek nevezi. Ezek típusa sokféle lehet, a logikai értéktől (BOOL) kezdve a különféle egész és lebegőpontos számokon át az idő típusokig. A mérés során csak bit- és egész típusú tagek használatára van szükség. A tageket a nevük azonosítja, melynek egyértelműnek kell lennie. Minden taghez tartozik egy cím is, mely a % karakterrel kezdődik, ezt követi az operandus típusa (operand identifier, egy vagy két karakter), majd maga a cím. Programozás során a tagekre hivatkozhatunk mind címükkel, mind pedig könnyebben megjegyezhető és beszédes nevükkel is. A logikai tagek közé tartoznak a kétállapotú ki- és bemenetek, valamint a bitmemória regiszterei. A ki- és bemeneteket az I illetve Q karakter, míg a memóriabiteket az M karakter azonosítja. A ki- és bemenetek címe két, ponttal elválasztott számból áll. Az első azt adja meg, hogy az adott ki- vagy bemenet melyik modulon helyezkedik el (a mérés során egyedüliként használt modul sorszáma 0), míg a második szám az adott csatorna modulon belüli sorszáma. A memóriabitek címzése szintén két elemből tevődik össze, az első a szószervezésű memória szavát, míg a másik az adott szó egyik bitjét választja ki. A szó-objektumok közé például az analóg be- és kimenetek (IW ill. QW) és a memóriaszavak (MW) tartoznak. Az analóg ki- és bemenetek, valamint szavas memóriatagek címzése a bites megfelelőikhez hasonlóan történik. A Step 7 lehetővé teszi adatblokkok (Data Block, DB) használatát is. Ilyen adatblokkok jönnek létre automatikusan a különféle funkcióblokkok (időzítők, számlálók) használata esetén is. Ezek elkülönített memóriaterületként működnek, ami az ebben található tagek címzésében is megmutatkozik. Itt a címben először az adatblokk azonosítója (%DB10) vagy neve (’’myCounter”, idézőjelek között) szerepel, majd ponttal elválasztva az adatblokkon belüli tag cím vagy név (%DB10.MW2 vagy ’’myCounter”.CV). A mérés során használatos tagek címzési lehetőségeit a 2. táblázat mutatja be. Cím %Ix.y
Jelentés
Péda
az x. digitális bemeneti modul y. csatornája %Qx.y az x. digitális kimeneti modul y. csatornája %Mi.j A memória i.-ik szavának j.-ik bitje %MWi A memória i.-ik számú szóregisztere %DBi.NAME Az i.-ik adatblokk NAME nevű tagje
%I0.4 – a 0. bemeneti modul 4-es sorszámú csatornája %Q0.3 – a 0. kimeneti modul 3-as számú csatornája %M4.3 – a 4. sorszámú memóriaszó 3. bitje %MW3 – a 3. sorszámú memóriaszó %DB10.CV – a 10. sorszámú (egy számlálóhoz rendelt) adatblokk CV (számlálóérték) tagje
2. táblázat – Tagekhez tartozó címek
6
Folyamatmodell irányítása 1-2
A létradiagramos programozás alapjai
2.3 A legfontosabb funkcióblokkok Az egyszerű logikai elemek mellett a létradiagramok komplexebb elemeket, ún. funkcióblokkokat is tartalmazhatnak. Ezek közül az alábbiakban a Step 7 fejlesztőkörnyezetben elérhető időzítő-, számláló-, komparátor- és értékadási funkcióblokkokat ismertetjük. Időzítők A Step 7 környezet az időzítőket egységesen kezeli, mindegyikhez példányhoz egy-egy külön adatterületet (DB) rendelve, mely a blokk létrehozásakor (diagramba való beillesztésekor) jön létre, amely sorszámmal (pl. %DB10) és szabadon megadható névvel (pl. MyTimer) rendelkezik. A létradiagramon megjelenő időzítő blokkok négy be- és kimenettel rendelkeznek. Az IN bemenet és a Q kimenet logikaiak, míg a PT (Preset Time) és ET (Elapsed Time) be- és kimenetek idő típusúak. A Q kimenet az időzítő típusától függően követi az I bemenetet a PT beállításának megfelelően. A PT bemenetre köthető változó is, de a mérés során célszerű közvetlen értéket megadni, mint ahogy a 4. ábrán is látható. Az idő típusú értékek formátuma a következő: T#<érték>
[_<érték>], ahol az <érték> az időzítés számszerű értékét (egész) adja meg, míg az időalap azt az egységet, amiben az előbbi értendő. Az időalap lehet millisecundum (MS), másodperc (S), perc (M), óra (H) vagy akár nap (D) is. A T#3S érték ennek megfelelően 3 másodperces időtartamot jelöl. Amennyiben például 3 perc 4 másodperces időzítésre lenne szükség, akkor a további értékek és időalapok a _ karakterrel elválasztva adhatók meg T#3M_4S módon. A Step 7 fejlesztőkörnyezetben lehetőség van tört számot is megadni időzítésként, ekkor a megfelelő, egészeket tartalmazó időérték automatikusan generálódik (azaz a fejlesztőkörnyezet a T#3.5S kifejezést automatikusan T#3S_500MS-re konvertálja). Az időzítő blokk be- és kimenetei az adatblokkra történő hivatkozással elérhetők a program más részeiből is.
4. ábra - Az időzítő funkcióblokk
A Step 7-ben négy időzítő típus (TON, TOF, TP valamint TONR) érhető el. A bekapcsolás-időzítő típus (TON) az IN bemenetén lévő jel felfutását késlelteti adott (konfigurálható) idővel, amennyiben a bemenet az adott idő alatt végig aktív (1) volt. Az időzítő kimenete a bemenet 0-ra váltásakor rögtön 0-ba vált (ld. 5. ábra).
7
Folyamatmodell irányítása 1-2
A létradiagramos programozás alapjai
5. ábra - A TON típusú időzítő idődiagramja
A kikapcsolás-időzítő (TOF) a bemenet felfutását rögtön követi, míg lefutó élét a beállított idővel késlelteti. Az időzítő kimenete csak akkor vált 0-ba, ha a bemenet a késleltetés ideje alatt végig 0 volt (ld. 6. ábra).
6. ábra - A TOF típusú időzítő idődiagramja
Az impulzus-időzítő (TP) a bemenet felfutó élére azonnal 1-be vált, és a meghatározott időtartamig tartja 1-ben a kimenetet, függetlenül attól, hogy közben a bemeneten milyen jelváltások zajlanak (ld. 7. ábra).
7. ábra - A TP típusú időzítő idődiagramja
A negyedik, nem szabványos TONR típus a TON időzítő retentív válfaja. Ennek belső számlálója nem nullázódik a bemenet lefutó élére, hanem megőrzi értékét, és a következő felfutó él során onnan folytatja a számlálást. Használatára jó példa egy üzemóra-számláló, amikor azt figyeljük, hogy egy szakaszosan ki- és bekapcsolt eszköz (pl. szivattyú) üzemideje mikor éri el azt az értéket, amikor karbantartásra van szükség. Ekkor nem az egyszeri folyamatos üzem időtartamát, hanem a bekapcsolt állapotok időtartamának összegét kell figyelni, amire a retentív számláló kitűnően használható.
8
Folyamatmodell irányítása 1-2
A létradiagramos programozás alapjai
Számlálók A Step 7 környezetben három típusú számláló is elérhető. Ezek közül a CTU felfelé, a CTD lefelé, míg a CTUD fel- és lefelé történő számlálásra is használható. Az alábbiakban a CTUD számláló működését ismertetjük, a másik két típus ennek speciális esetének tekinthető. A számláló természetesen rendelkezik egy belső regiszterrel, melynek tartalmát a blokkra kötött jeleknek megfelelően változtatja. A regiszter egész (Integer) típusú, 16 bites előjeles szám, mely a blokk CV (CounterValue) kimenetén is megjelenik, így tetszőleges taghez hozzárendelhető. A számláló másik, szintén egész típusú regisztere a PV (Preset Value), ami a számlálás célértékét (felfelé történő számlálás esetén) illetve kezdeti értékét (lefelé történő számlálás esetén) adja meg. A blokk PV bemenetéhez megfelelő típusú tagek mellett közvetlen érték is rendelhető, mint ahogy az a 8. ábrán is látható. A számláló bemenetei közül a CU (Count Up) és CD (Count Down) logikai típusúak. Az ezeken megjelenő felfutó élek hatására a számláló értéke nő, illetve csökken eggyel. Fontos kiemelni, hogy a számláló az éleket számlálja, tehát a bemenetre jutó impulzus hossza nem befolyásolja annak értékét. A számláló QU kimenete abban az esetben lesz logikai 1 értékű, ha a számláló értéke nagyobb vagy egyenlő a PV bemenetre kötött, egész (Integer) típusú értéknél (QU = (CV ≥ PV)). A QD kimenet hasonlóan működik, értéke akkor lesz logikai 1, ha a számlálóérték nulla vagy annál kisebb (QD = (CV ≤ 0)). A számlálás nem áll meg a PV illetve 0 értékek elérésekor, hanem tovább folytatódik. A blokk R és LD bemenetei logikai típusúak. Előbbi a számláló nullázására (CV ≔ 0), míg utóbbi az előre meghatározott preset-érték betöltésére szolgál (CV ≔ PV).
8. ábra – Fel- és lefelé számláló funkcióblokk
Komparátor-blokkok A nem kétállapotú változók (például memóriaszavak vagy számláló-értékek) vagy konstansok összehasonlítására a komparátor-blokkok használhatók. Step 7 környezetben erre a célra a CMP ==, CMP <, CMP <=, CMP >, CMP >=, CMP<> komparátorok, valamint az IN_RANGE és OUT_RANGE blokkok használhatók.
9
Folyamatmodell irányítása 1-2
A létradiagramos programozás alapjai
9. ábra - A komparátor funkcióblokk
A blokkok akkor értékelődnek ki, ha a tőle balra eső elemek által definiált feltétel teljesül (avagy, mint a 9. ábrán szereplő létrasorban, a komparátort nem előzik meg feltételt jelentő kontaktusok). A komparátor blokkok két, numerikus típusú bemenettel rendelkeznek, logikai kimenetüket pedig aszerint állítják be, hogy a megfelelő reláció teljesül-e a két numerikus bemenetre. Azaz egy CMP <= típusú blokk kimenete akkor lesz logikai 1, ha első numerikus bemenete kisebb vagy egyenlő második numerikus bemeneténél. A fenti ábrán szereplő létrasor az 1. kimenetet akkor állítja be, ha a MyCounter számláló értéke megegyezik 12-vel. A numerikus bemenetek lehetnek tagek, illetve közvetlen értékek is. Az első bemenet azonosítója a blokk felett, míg a másodiké a blokk alatt helyezkedik el. Az IN_RANGE és OUT_RANGE blokkok kényelmes lehetőséget biztosítanak annak ellenőrzésére, hogy egy adott tag értéke egy meghatározott tartományon belül, illetve kívül helyezkedik-e el. A tartomány határait a blokk MIN és MAX bemeneteire, míg a vizsgálni kívánt értéket a VAL bemenetre kell kötni. Az IN_RANGE blokk logikai kimenete akkor lesz 1 értékű, ha MIN ≤ VAL ≤ MAX (az OUT_RANGE blokk működése értelemszerűen ennek ellentéte).
10. ábra – IN_RANGE blokk
2.4 Állapotgépek megvalósítása Ipari automatizálási feladatok során nagyon gyakori, hogy az irányított rendszer működését legkönnyebben egy állapotgép segítségével írhatjuk le, amit aztán létradiagram segítségével implementálunk. Általában Moore-automatákat használunk, melyek jellemzője, hogy kimeneteik csak az aktuális állapot függvényei. Példaképpen tekintsünk egy egyszerű hősugárzó irányítását: a berendezést egy nyomógomb lenyomásával kapcsolhatjuk be, ekkor a két fűtőszál közül csak az egyiket fűti (LOW üzemmód). A gombot másodszor is megnyomva bekapcsol a második fűtőszál (HIGH üzemmód), majd ismételt gombnyomásra a hősugárzó kikapcsol. A berendezés állapotátmeneti diagramját a 11. ábra mutatja be.
10
Folyamatmodell irányítása 1-2
A létradiagramos programozás alapjai
11. ábra - Hősugárzó állapotátmeneti diagramja
Az állapotgép implementálását három lépésben végezhetjük el: 1. állapotátmenetek leírása 2. kimeneti leképezés leírása 3. kezdeti állapot beállítása Elsőként minden egyes állapothoz definiálnunk kell egy állapotjelző memóriabitet. Ez a bit 1 értékű, ha az állapotgép az adott állapotban tartózkodik, egyéb esetben pedig 0. A következőkben a három állapothoz rendelt bitet S_OFF, S_LOW és S_HIGH szimbolikus névvel jelöljük majd. Egy állapotgép implementálásakor valójában azt a leképezést kell megadnunk, hogy egy adott állapotból egy adott feltétel esetén mely állapotba kell továbblépnünk. Egy átmenet teljesültének kiértékelésekor tehát vizsgálnunk kell, hogy az átmenet kiinduló állapota aktív-e, illetve az átmenet feltétele teljesül-e. Amennyiben mindkét feltétel teljesül, akkor az aktuális állapotot frissítenünk kell az átmenet célállapotára, azaz az aktuális állapothoz tartozó bitet 0-ba, míg a célállapothoz tartozó bitet 1-be kell állítanunk. Általánosságban tehát egy átmenet az alábbi létrasorral írható le:
12. ábra - Állapotátmenet általános leírása
Itt a és az adott átmenet kiinduló- és célállapotának megfelelő memóriabitek. Az átmenet feltételét egy egyszerű kontaktus modellezi, természetesen annak helyén bármilyen logikai kifejezés állhat. A hősugárzó példája esetén az állapotátmenetek a 13. ábra által bemutatott módon írhatók le.
11
Folyamatmodell irányítása 1-2
A létradiagramos programozás alapjai
13. ábra - A hősugárzó állapotátmeneteinek leírása
A kimeneti leképezés leírásakor szem előtt kell tartanunk azt az alapelvet, hogy egy létradiagramban egy kimenetet csak egy helyen írunk. Több állapotot tartalmazó állapotgépek esetén érdemes egy táblázatot készíteni arról, hogy az egyes kimenetek értéke melyik állapotban aktív. Példánkban jelölje a két kimenetet, azaz a két fűtőszál be- vagy kikapcsolt voltát a HEATER1 és HEATER2 szimbolikus név, ekkor a kimeneti leképezést leíró táblázat az alábbi lesz. Állapot HEATER1 HEATER2
S_OFF 0 0
S_LOW 1 0
S_HIGH 1 1
3. táblázat - A hősugárzó kimeneti leképezése
A táblázat alapján a példánkban a kimeneti leképezést az alábbi létradiagrammal valósíthatjuk meg.
14. ábra - A hősugárzó kimeneti leképezését megvalósító létradiagram
Az állapotátmenetek előzőekben ismertetett megvalósítása biztosítja azt, hogy egyszerre csak egy állapot lehessen aktív, azonban a PLC indításakor az összes állapotregiszter értéke az alapértelmezett 12
Folyamatmodell irányítása 1-2
Felhasználói felület megvalósítása
0 értéket veszi fel, azaz egyetlen állapot sem lesz aktív. Hogy az állapotgépünk a meghatározott kezdeti állapotából indulhasson, a megfelelő regisztert 1-be kell állítanunk. Az egyik, minden PLC-típus esetén általánosan használható megoldás az, hogy amennyiben mindegyik állapotregiszterünk 0, akkor a kezdeti állapot regiszterét 1-be állítjuk (15. ábra).
15. ábra - Általános megoldás a kezdeti állapot beállítására
Elegánsabb (és több állapot esetén jóval kényelmesebb) megoldás, ha feltételként a PLC státuszát vizsgáljuk, ugyanis a vezérlők jelzik, ha egy adott ciklus éppen egy indítás utáni első programvégrehajtás. Ezt természetesen típustól függően más-más módon teszik meg, az S7-1200 család esetében a rendszermemória hozzáférhetővé állítását követően alapértelmezésben az %MB1 bájton érhető el. Ennek 0. bitje az első ciklus alatt 1, míg a további ciklusok alatt 0. Siemens környezetben azonban elérhető egy ennél kényelmesebben használható és elegánsabb megoldás is: az OB100-as programblokk ugyanis automatikusan lefut a PLC indításakor, így az ide helyezett kódrészletekkel alaphelyzetbe állíthatjuk a változóinkat. A mérés során az állapotgép inicializálását külső feltételhez kötjük majd, így ennek használatára nem lesz szükség.
3 Felhasználói felület megvalósítása Az ipari irányítástechnikában a felhasználói felületek, más szóval ember-gép interfészek (HumanMachine Interface, HMI) feladata az operátorok tájékoztatása a technológia állapotáról, különféle paramétereiről, illetve lehetőség biztosítása a felhasználói beavatkozásra, legyen az kézi vezérlés vagy irányítási paraméterek (receptúrák, időzítések) beállítása. A PLC-k általában nem rendelkeznek felhasználói felület megvalósítását lehetővé tévő kijelzővel illetve gombokkal. A kevés kivétel esetén is csupán egy kis felbontású, általában fekete-fehér kijelző és néhány (4-8) nyomógomb áll rendelkezésre, melyek nem teszik lehetővé ergonomikus, átlátható és egyszerűen használható felhasználói felületek megvalósítását. Ugyan az elmúlt években rohamosan terjedni kezdtek a webes technológiákat használó, a HMI-t a felhasználó eszközén (mobiltelefonján, táblagépén) megjelenítő megoldások, ipari környezetben a felhasználói felület megjelenítéséért leggyakrabban dedikált eszközök felelnek. Ezek olyan, érintőkijelzővel (esetleg fóliabillentyűzettel) ellátott panel-PC-k, melyeken az operációs rendszer (leggyakrabban Windows CE) felett egy gyártóspecifikus szoftver fut, melynek feladata a letöltött felhasználói felület képernyőinek megjelenítése. Ez a szoftver folyamatosan kommunikál a beállított PLC-vel (vagy akár több PLC-vel), a megfelelő formában megjeleníti a változók értékét, illetve képes beállítani azokat. A felhasználói felületek kényelmes és gyors létrehozását Siemens környezetben a WinCC (szintén a TIA PORTAL része) támogatja. Ennek használatával a képernyőképek egy grafikus programhoz hasonló módon megtervezhetők, az egyes elemekhez (pl. kijelzők), azok tulajdonságaihoz (pl. szöveg 13
Folyamatmodell irányítása 1-2
Felhasználói felület megvalósítása
láthatósága) vagy eseményeihez (pl. kattintás) a projektben szereplő PLC-tagek rendelhetők. Maga a WinCC valójában egy teljes szoftvercsalád, melynek számos, különböző eszközökön futó és különböző képességű változata érhető el. A következőkben a WinCC Comfort/Advancedb verzió néhány, a mérés során használt funkcióját ismertetjük.
3.1 HMI tagek A Step 7-hez hasonlóan a WinCC-ben is lehetőség van tag-ek definiálására, mivel azonban ezek a felhasználói felülethez tartoznak, ezeket HMI tageknek nevezzük. Ezek a HMI-tagek szolgálnak arra, hogy kapcsolatot teremtsenek a PLC változói és a felhasználói felület elemei között. A HMI tagek a PLC-tagekhez hasonlóan nevezhetők el és típusuk (logikai, különféle numerikus típusok stb.) is megadható. A belső használatú (Internal) tagek esetén, melyek csak a HMIalkalmazáshoz köthetők, nincsenek további beállítási lehetőségek, a memóriacím hozzárendelése is automatikusan történik. Azonban a HMI tagek nem csak önállóan létezhetnek, hanem PLC-tagekhez is köthetők. Ilyenkor a felhasználói felületet futtató eszköz (az érintőképernyős panel) megadott ciklusidővel lekérdezi a PLC-től a szükséges változókat, majd azoknak megfelelően frissíti a HMI-tageket, illetve ezt a műveletet a másik irányban is végrehajtja, azaz a kapcsolt HMI tagek értékének változása a PLCtagekben is megjelenik. Természetesen lehetőség van a PLC változóinak védelmére, megadható, hogy melyek legyenek megjeleníthetők illetve módosíthatók a HMI-n keresztül (alapértelmezésben a PLCtagek láthatók és módosíthatók). A frissítés ciklusideje alapértelmezésben 1 másodperc, de ez módosítható, a WinCC-ben 100 ms és 1 óra közti frissítési idők (Acquisition cycle) érhetők el. Megjegyzendő, hogy lehetőség van közvetlenül a PLC-tagek írására és olvasására is, ez azonban nem ajánlott. A jó gyakorlat a szükséges PLC-tagekről másolat készítése a HMI-felületen, majd ezen tagek írása és olvasása, amik a meghatározott ciklusidővel a PLC-tagekkel szinkronba kerülnek.
3.2 Képernyők A WinCC, illetve a hasonló HMI-tervező szoftverek a felhasználói felületeket képernyőkre osztják. Ilyen képernyőkből számos definiálható, de ezek közül természetesen egyszerre csak egy lehet látható. A képernyő közötti váltás kapcsolódhat a felhasználói felület elemeihez (tipikusan nyomógombokhoz), illetve tagekhez is. WinCC környezetben a képernyők között elérhetők speciális, előre definiált rendszerképernyők is, melyeken a PLC státuszinformációi jeleníthetők meg, illetve lehetőség van a változók, be- és kimenetek monitorozására, valamint az utóbbiak force-olására is. Egy képernyőre, illetve a hozzá kapcsolódó szerkesztőfelületre mutat példát a 16. ábra. A képernyőn egy kapcsoló, egy nyomógomb, egy oszlopkijelző, két kör objektum, illetve szabványos szimbólumok (szivattyú, csővezeték, tartály, szelep) láthatók. Ezekhez hasonló ábrák gyakran szerepelnek a felhasználói felületen, hogy megkönnyítsék az operátorok számára a megjelenített információk folyamatjellemzőkhöz kötését. A technológiai rajzon a szelep és a szivattyú mellett elhelyezett vörös vagy zöld színnel kitöltött körök azok be- vagy kikapcsolt állapotát jelzik, így ránézésre látható, hogy az adott folyadékszint mellett éppen történik-e betáplálás (üzemel-e a szivattyú) vagy kitárolás (nyitva van-e a szelep).
14
Folyamatmodell irányítása 1-2
Felhasználói felület megvalósítása
16. ábra - Képernyő és szerkesztőfelülete
A képernyőkön elhelyezhető elemek választékát a 17. ábra mutatja be.
17. ábra - A felhasználói felület elemei
Az alapvető objektumok (Basic objects) palettán szereplő elemek ikonjai magukért beszélnek: ezek segítségével lehet vonalakat, különféle síkidomokat, szöveget illetve bitképet elhelyezni a felhasználói felületen. Természetesen ezen objektumok tulajdonságai részletesen beállíthatók (pl. szín, vonalszín, betűtípus, betűnagyság stb.). Az Elements palettán található eszközök már jóval több lehetőséget nyújtanak. Balról jobbra, felülről lefelé a következő elemek érhetők el:
I/O field: tetszőleges típusú taghez (PLC vagy HMI-taghez) köthető kijelző vagy beviteli mező 15
Folyamatmodell irányítása 1-2
Felhasználói felület megvalósítása
Button: nyomógomb, mely taghez közvetlenül nem, csak eseményein (ld. később) keresztül köthető Symbolic I/O field: kijelző vagy beviteli mező, mely a különféle programozási nyelvek enum típusához hasonlóan szöveges azonosítót rendel az egyes értékekhez vagy értéktartományokhoz. Beviteli mező esetén például a listából a szöveges azonosító (pl. „Alacsony hőfok”) választható ki, míg a kapcsolt tag-be a 40-es érték kerül. Az értékek és a hozzájuk tartozó szöveges azonosítók egy külön felületen állíthatók be. Graphic I/O field: az előzőhöz hasonló, de szöveges helyett grafikus objektumokat (bitképeket) használ Date/Time field: idő és/vagy dátum kijelzésére, illetve bevitelére szolgáló elem Bar: grafikus kijelző, mely az adott tag értékét egy megfelelő magasságú oszlopként jelzi ki (ilyen látható a 14. ábrán is) Switch: bináris kapcsoló, mely közvetlenül taghez köthető, és kattintásra kapcsol Symbol library: technológiai szimbólumokat (pl. csővezetékek, szelepek, szivattyúk, szerszámgépek stb.) és clip art-szerű képeket tartalmazó, kiterjedt méretű könyvtár. Ezen elemek segítségével a folyamatot leíró technológiai ábra könnyen és gyorsan elkészíthető (a 14. ábrán a szivattyú, a csővezeték, a tartály és a szelep is a symbol library-ből származik). Slider: csúszka a numerikus értékek kényelmes és gyors beállítására Gauge: mutatós műszer kijelző Clock: az idő kijelzésére szolgáló óra
A Controls palettán a WinCC komplex eszközeinek megjelenítési elemei találhatók. Itt kapott helyet a riasztások kezelése, a grafikonos trendmegjelenítés, a diagnosztika, illetve a receptkezelés.
3.3 Események A HMI-elemekhez aktív, eseményvezérelt működést azok eseményein keresztül köthetünk. Ilyen elemek például a különféle I/O field-ek, de a tagekhez közvetlenül nem kötött nyomógombok és szimbólumok, illetve képernyők is. Mivel az I/O field-ek esetén a PLC-tagek kezelése automatikusan is megoldott, most csak a nyomógombok és szimbólumok eseményeit és ismertetjük. Egy nyomógombhoz a következő események köthetők:
Click: az objektumra való kattintáskor (koppintáskor) generálódó esemény Press: nyomógombhoz tartozó esemény, mely a gomb lenyomásakor generálódik (a click-hez hasonlóan) Release: nyomógombhoz tartozó esemény, mely a gomb felengedésekor generálódik Activate: akkor generálódik, amikor az objektum fókuszba kerül (nyomógombnál ez a gomb lenyomásakor, beviteli mezőnél a mezőbe kattintáskor történik) Deactivate: akkor generálódik, amikor az objektum kikerül a fókuszból, azaz egy másik objektum kerül fókuszba Change: akkor generálódik, amikor a nyomógomb állapota bármely irányba megváltozik
A fenti események nagyon hasonlónak tűnnek, mégis van köztük különbség. Tegyük fel, hogy lenyomunk egy nyomógombot, elengedjük, majd (egyéb objektumokra való koppintás nélkül) ismét lenyomjuk és felengedjük. A Click esemény kétszer, a két koppintás alkalmával generálódik, hasonlóan a Press eseményhez. Hasonlóan a Release esemény mindkét felengedéskor generálódik – 16
Folyamatmodell irányítása 1-2
Felhasználói felület megvalósítása
ennek használata általában a Press eseménnyel párban történik, például ha a gomb lenyomva tartása alatt szeretnénk 1 értéket adni egy tagnek, akkor a Press eseményre azt 1 értékűre, a Release eseményre pedig 0 értékűre célszerű változtatni. Az előzőektől eltérően az Activate esemény csak egyszer, az első koppintáskor generálódik, hiszen akkor került fókuszba a nyomógomb. Mivel a lenyomások között más objektumot nem választottunk ki, ezért a Deactivate esemény nem generálódik, csak akkor, ha a második felengedés esetén egy másik objektumra koppintunk. Az egyes objektumokhoz kapcsolódó események hatására különböző előre definiált műveletek hajthatók végre, melyeket a WinCC Function-nek nevez. Számos ilyen művelet elérhető az egyszerű értékadástól az email-küldésen át a szabadon programozható VBScript-műveletekig, számunkra a legfontosabbak SetTag és a ResetTag , illetve ActivateScreen műveletek. Mint nevük is mutatja, a SetTag és ResetTag egy-egy logikai HMI-tag értékét változtatja meg. Az előbbi logikai 1, míg az utóbbi logikai 0 értékre állÍtja, hasonlóan a létradiagram Set- és Resettekercséhez. Természetesen ha az adott taghez PLC-taget is hozzárendeltünk, akkor a változás a következő frissítéskor a PLC-ben is érvényre jut. Az ActivateScreen művelet egy másik képernyő megjelenítésére szolgál. Itt mindössze ki kell választanunk, mely képernyőt szeretnénk megjeleníteni, a további feladatokat a WinCC automatikusan elvégzi helyettünk.
3.4 Animációk Míg az események és a hozzájuk rendelt műveletek elsősorban arra szolgálnak, hogy a HMI-n történt változásokkal a PLC-változókat befolyásoljuk, az animációk segítségével a felhasználói felület elemeinek megjelenítését módosíthatjuk a PLC-változók (pontosabban tetszőleges tagek) függvényében. Animációk tetszőleges objektumhoz (síkidom, szimbólum, kapcsoló stb.) rendelhetők. Az animációkhoz egy-egy taget kell rendelni (ugyanazon objektum különböző animáció-típusaihoz akár más-más tag is köthető), melynek változása módosítja az objektum megjelenését. Numerikus változók esetén az értékkészlet különféle tartományaihoz rendelhetünk megjelenítési tulajdonságokat (pl. kitöltési színt), míg logikai változók esetén értelemszerűen a két logikai értékhez kapcsolhatunk egy-egy tulajdonság-értéket (pl. az 1 értékhez zöld, míg a 0 értékhez piros kitöltést). Az animációk két nagy kategóriába sorolhatók: a megjelenést megváltoztató Display, illetve a pozícióra ható Movements csoportokra oszthatók. A Display kategóriában két típus, a Visibility és az Appearance található. Az előbbi értelemszerűen arra szolgál, hogy egy tag értékétől függően megjelenítsük avagy elrejtsük az adott objektumot. Az Appearance típusnál a tag értéktartományaihoz (logikai változó esetén a 0 és 1 értékekhez) rendelhetünk kitöltési (háttér, background) és körvonal (border) színt, illetve villogást. A kialakult szokások szerint a logikai 1 értékhez zöld, míg a 0 értékhez piros szín tartozik, a villogás pedig valamilyen hibára vagy figyelmeztetésre utal. A villogás túlzott használatát érdemes kerülni, hiszen gyakran alkalmazva elveszíti figyelemfelkeltő jellegét. A Movements csoport animációi az objektum mozgatására szolgálnak, közülük csak egy lehet aktív egyszerre.A Direct Movement típusnál az objektum kezdőpozíciója mellett két numerikus tag választható ki, melyek külön-külön az X és Y irányú elmozdulás mértékét adják meg. A további típusok vízszintesen (Horizontal movement), függőlegesen (Vertical movement), illetve átlósan 17
Folyamatmodell irányítása 1-2
Felhasználói felület megvalósítása
(Diagonal movement) mozgatják az objektumot. Ezeknél a kiindulási és végpozíció adható meg, melyek között a mozgás történik a tag értékétől függően. Numerikus tag esetén megadható, hogy annak mely értéke tartozzon a kezdő- illetve végpozíciókhoz, ezek között a mozgás folyamatosan történik. Logikai tagek esetén az objektum vagy a kezdő-, vagy a végpozícióban jelenik meg a tag logikai értékétől függően. A villogáshoz hasonlóan mozgó objektumokból sem célszerű túl sokat használni. Ne felejtsük el, hogy az ilyen felületek célja az, hogy az operátor egyetlen pillantással képet kaphasson a technológia állapotáról! Míg egy színnel kódolt információ valóban érzékelhető egyetlen pillanat alatt, addig egy mozgó ábrát akár másodpercekig is szükséges nézni ahhoz, hogy eldönthessük, mozog-e egy objektum, és ha igen, akkor melyik irányba. Több mozgó objektum esetén ez az idő megsokszorozódhat.
18
Folyamatmodell irányítása 1-2
Mérési feladatok
4 Mérési feladatok Az alábbi mérési feladatok közül a mérésvezető jelöl ki egyet, amit a csoportnak el kell végeznie. A mérés során egy olyan irányítási problémát kell megoldani, illetve ahhoz felhasználói felületet tervezni, mely feladatra az ipari gyakorlatban általában PLC-t használnak.
4.1 Pneumatikus mozgatóegység irányítása A feladat során használt eszköz egy pneumatikus működtetésű, lineáris mozgatóegység, melynek feladata, hogy a csomagolásra váró munkadarabokat a lerakási helyre szállítsa, majd ott az előkészített tárolóba helyezze. Ez utóbbi művelethez a mozgatóegység asztalára egy tologató került felhelyezésre. Az asztal két mágnesszelep segítségével mozgatható a pálya mentén. Az egyik mágnesszelep a pozitív, míg a másik a negatív irányba mozgat. Amennyiben egyik szelep sincs nyitva, vagy mindkettő nyitva van, az asztal nem mozog. A szelepek nyitásához az 1, zárásához a 0 jelszint tartozik. A tologató munkahengerét hasonló módon mozgatja két további mágnesszelep. A pálya végein egy-egy végálláskapcsoló található, melyek akkor jeleznek, ha az asztal elérte a pálya megfelelő végét. A pálya mentén egy mágneses kódléc is található, mely felett az asztalon egy Hallszenzor kapott helyet, így az asztal helyzete egy inkrementális adóval határozható meg. A tologató munkahengerének két végállását szintén egy-egy Hall-érzékelő jelzi.
18. ábra - Pneumatikus mozgatóegység
Mérési feladatok 1. feladat – Automatikus működtetés (F2 mérés) Automata üzemmódban a mozgató egységnek a következő működést kell biztosítania. Az egység mellett elhelyezett nyomógomb lenyomására (felfutó él!) az asztal mozogjon 1 inkremensnyit pozitív irányba, majd álljon meg. A Start gomb ismételt lenyomására mozogjon tovább a lerakási pozícióig (10 inkremens), ott álljon meg és tolja ki a tologatót. 2 másodpercnyi várakozás után húzza vissza a tologatót, majd haladjon vissza a felvételi pozícióba (negatív végállás). A PLC-programban egy állapotgép segítségével valósítsa meg az előírt működéshez szükséges irányítás! Ha az irányítás megfelelően működik, akkor a másik mérőcsoporttal való egyeztetés után oldják meg a két egység (manipulátor és szállító asztal) összehangolt működését! A mozgató 19
Folyamatmodell irányítása 1-2
Mérési feladatok
egység irányítóprogramja egy olyan jelet várjon a manipulátor PLC-jétől, amely a munkadarab lerakását jelzi, majd a célpozícióba (első munkadarab esetén a második pozícióba, második munkadarab esetén a lerakodást követően a kiindulási pozícióba) való érkezés után jelezze felé, hogy készen áll a következő munkadarab fogadására! A kommunikációt Modbus TCP protokoll segítségével valósítsák meg! 2. feladat – Kézi működtetés (F3 mérés) A feladat egy olyan PLC-program és felhasználói felület létrehozása, mely lehetővé teszi a beavatkozó szervek kézi működtetését, miközben megjeleníti az érzékelők jeleit is. Ehhez hozza létre a PLC be- és kimeneteihez tartozó tageket, valamint a beavatkozó szervek jeleihez egy-egy további memóriaváltozót is! A PLC-program ezen memóriaváltozók tartalmát másolja majd a kimenetekre, amennyiben a mozgás engedélyezett az adott irányba. Ez utóbbi a végálláskapcsolók jele alapján dönthető el: ha például az pálya negatív végpontján elhelyezett végálláskapcsoló jelez, akkor a memóriváltozó tartalmától függetlenül ne állítsa be a negatív irányba mozgató kimenetet. A PLC-programban helyezzen el még egy számlálót, amely az inkremenseket számolja irányhelyesen (az irány a beavatkozó szervek állásából egyértelmű), és amelyet a negatív véghelyzetben elhelyezett kapcsoló jele nulláz. A felhasználói felületen definiáljon egy-egy HMI taget a bemenetekhez és a kimenetekhez tartozó memóriatagekhez kapcsolva. Helyezzen el a képernyőn a beavatkozó szervekhez egyegy nyomógombot, amelyek lenyomására a beavatkozó szervet aktiválja (a kapcsolódó memória PLC-taget 1-be állítja), felengedésékor pedig deaktiválja (a kapcsolódó memória PLC-taget 0-ba állítja). Helyezzen el egy-egy kört a végálláskapcsolók jeleinek vizualizálására, melyek színét a kapcsolók jeleinek függvényében állítsa be. Helyezzen el továbbá egy kijelzőt, mely az inkremensek számát mutatja.
Kiegészítő feladat Módosítsa a programot és a felhasználói felületet úgy, hogy az képes legyen a kézi/automata üzemmódok átkapcsolására! Automata üzemmódba kapcsolva húzza vissza a tologatót, majd térjen vissza a felvételi pozícióba! Jótanácsok Az állapotgépet először tervezze meg papíron, csak utána implementálja! Ügyeljen arra, hogy a munkahengerek a végálláskapcsolók jelzése után ne mozoghassanak helytelen irányba! Amennyiben bármilyen probléma adódna, kérje a mérésvezető segítségét!
20
Folyamatmodell irányítása 1-2
Mérési feladatok
4.2 Pick-and-place manipulátor irányítása A feladat során használt eszköz egy pneumatikus működtetésű, X és Z irányú mozgásra képes, megfogóval felszerelt robotkar, melynek feladata, hogy a csomagolásra váró munkadarabokat a felvételi helyről a lerakási helyre juttassa.
19. ábra - Pick-and-place manipulátor
A manipulátor transzlációs csuklói pneumatikus munkahengerek, melyek a két irányba egy-egy mágnesszelep segítségével mozgathatók. Amennyiben egyik szelep sincs nyitva, vagy mindkettő nyitva van, a csukló nem mozog. A szelepek nyitásához az 1, zárásához a 0 jelszint tartozik. A megfogó hasonló módon működtethető. A csuklókon a végállásokban, illetve a 2. csukló esetén egy további köztes állásban is Hall-érzékelők helyezkednek el. A felvételi helyen a munkadarab meglétét egy közelítésérzékelő figyeli. Mérési feladatok 1. feladat – Automata működtetés (F2 mérés) Automata üzemmódban a manipulátornak a következő működést kell megvalósítania. A manipulátor kiindulási helyzete a felvételi pozíció felett (1. munkahenger negatív végállás, 2. csukló negatív végállás) van, feltételezheti, hogy a kar innen indul. Amennyiben egy munkadarabot helyezünk el a közelítésérzékelő elé, várjon 3 másodpercet, majd a kar süllyedjen le (2. csukló alsó végállás), zárja be a megfogót, majd 1 másodperces várakozás után emelkedjen fel (2. csukló felső végállás), és haladjon a lerakási pozíció fölé (1. csukló pozitív végállás). Ezután engedje le a 2. csuklót a köztes állásba, majd nyissa ki a megfogót és 1 másodperc után emelkedjen fel (2. csukló felső végállás), végül pedig térjen vissza a kiindulási pozícióba. A PLC-programban egy állapotgép segítségével valósítsa meg az előírt működéshez szükséges irányítást! Ha az irányítás megfelelően működik, akkor a másik mérőcsoporttal való egyeztetés után oldják meg a két egység (manipulátor és szállító asztal) összehangolt működését! A 21
Folyamatmodell irányítása 1-2
Mérési feladatok
manipulátor irányítóprogramja egy olyan jelet várjon a mozgató egység PLC-jétől, amely jelzi, hogy a szállító asztal készen áll egy munkadarab fogadására. Amennyiben a mozgató egység készen áll, valamint a közelítésérzékelő előtt van munkadarab, azt a manipulátor helyezze a szállító asztalra, majd a kiindulási helyzetbe való visszatérés után jelezze a másik PLC felé, hogy letette a munkadarabot! A kommunikációt Modbus TCP protokoll segítségével valósítsák meg! 2. feladat – Kézi működtetés A feladat egy olyan PLC-program és felhasználói felület létrehozása, mely lehetővé teszi a beavatkozó szervek kézi működtetését, miközben megjeleníti az érzékelők jeleit is. Ehhez hozza létre a PLC be- és kimeneteihez tartozó tageket, valamint a beavatkozó szervek jeleihez egy-egy további memóriaváltozót is! A PLC-program ezen memóriaváltozók tartalmát másolja majd a kimenetekre, amennyiben a mozgás engedélyezett az adott irányba. Ez utóbbi a végálláskapcsolók jele alapján dönthető el: ha például az egyik csukló negatív végpontján elhelyezett végálláskapcsoló jelez, akkor a memóriváltozó tartalmától függetlenül ne állítsa be a negatív irányba mozgató kimenetet. A felhasználói felületen definiáljon egy-egy HMI taget a bemenetekhez és a kimenetekhez tartozó memóriatagekhez kapcsolva. Helyezzen el a képernyőn a beavatkozó szervekhez egyegy nyomógombot, amelyek lenyomására a beavatkozó szervet aktiválja (a kapcsolódó memória PLC-taget 1-be állítja), felengedésékor pedig deaktiválja (a kapcsolódó memória PLC-taget 0-ba állítja). Helyezzen el egy-egy kört a végálláskapcsolók jeleinek vizualizálására, melyek színét a kapcsolók jeleinek függvényében állítsa be. A kézi üzemmód tesztelése során a 2. csuklót csak az 1. csukló negatív véghelyzetében mozgassa!
Kiegészítő feladat Módosítsa a programot és a felhasználói felületet úgy, hogy az képes legyen a kézi/automata üzemmódok átkapcsolására! Automata üzemmódba kapcsolva juttassa a manipulátort a kiindulási pozícióba, majd onnan kezdje a működést! Jótanácsok Kézi üzemmódban a 2. csuklót csak az 1. csukló negatív véghelyzetében mozgassa! Az állapotgépet először tervezze meg papíron, csak utána implementálja! Ügyeljen arra, hogy a munkahengerek a végálláskapcsolók jelzése után ne mozoghassanak helytelen irányba! Amennyiben bármilyen probléma adódna, kérje a mérésvezető segítségét!
22