evopro systems engineering kft. H-1116 Budapest, Hauszmann A. u. 2.
XXI. Országos Ajtonyi István Irányítástechnikai Programozó Verseny Virtuális technológia: Keverőüzem
Dokumentum státusza
Közétett
Dokumentum verziószáma
v1.0
Felelős személy
Kocsi Tamás / Tarr László
Jóváhagyta
Kozó Gábor
Kiadás dátuma
2015.04.08.
Ez a dokumentum kizárólag a címzett/olvasó tájékoztatására készült. A dokumentumban szereplő összes szellemi termék az evoprosystemsengineering kft. kizárólagos tulajdonát képezi. Azevoprosystemsengineeringkft.előzetes írásos hozzájárulása nélkül a dokumentumból bármelyik részt idézni, forrásként felhasználni, sokszorosítani vagy harmadik fél részére átadni és elérhetővé tenni tilos.
XXI. Országos Ajtonyi István Irányítástechnikai Programozó Verseny Virtuális technológia: Keverőüzem
Tartalomjegyzék 1.
Általános információk .............................................................................................................. 3
2.
A virtuális technológia bemutatása ........................................................................................... 3
3.
I/O listák ................................................................................................................................ 4 3.1 A versenyzők bemenetei .................................................................................................... 4 3.2 A versenyzők kimenetei ..................................................................................................... 5 3.3 A beérkező alapanyagok igazságtáblája .............................................................................. 6 3.4 A szelepek kiválasztásának táblázata .................................................................................. 6 3.4.1 Egy példa: szelep nyitásra .............................................................................................. 6 3.4.2 Egy példa: szelep zárásra ............................................................................................... 7
4. A feladat ................................................................................................................................... 7 4.1 Kiindulási állapot ............................................................................................................... 7 4.2 Ütemadó .......................................................................................................................... 8 4.3 Kézi üzemmód .................................................................................................................. 8 4.4 Automata üzemmód .......................................................................................................... 9 4.5 Arányképzés ..................................................................................................................... 9 4.6 Alapanyag betöltés ............................................................................................................ 9 4.7 Kitárolás ........................................................................................................................ 101 4.8 Vészstop ........................................................................................................................ 111 4.9 Warm reset ................................................................................................................... 111
©evopro fenntartva.
systems
engineering
kft.,
Minden
jog
Oldal: 2/11
XXI. Országos Ajtonyi István Irányítástechnikai Programozó Verseny Virtuális technológia: Keverőüzem
1. Általános információk A keverőüzem virtuális szimulációja valós PLC-vel történik. Két teljesen egyforma tesztállomás lett kialakítva, amit a versenyzők párhuzamosan használhatnak. Ezek egy S7-400-as PLC-ből, a hozzájuk tartozó ethernetes kommunikációs kártyából, valamint ET-200 M modulokból állnak, amelyekhez egy 16 DI és egy 16 DO kártya csatlakozik. A versenyzők ezen keresztül kapcsolódhatnak a tesztállomásra a kiadott versenykábellel. A szimuláció WinCC7.3 SE szoftverben készült és a tesztállomáshoz tartozó DELL notebookon fut WinCCruntime segítségével. Mindkét tesztállomáshoz tartozik egy-egy kivetítő is. A notebook és a tesztkörnyezet között WIFI router teremt kapcsolatot.
2. A virtuális technológia bemutatása A feladat egy tartálypark szimulációját elkészíteni, ahol a versenyzők írják meg az egyes tartályokat kezelő blokkokat és annak szimulációját is. A technológia felosztható négy egységre, ezek rendre: alapanyag betöltés, arányképzés, félkész termék tárolása, kitárolás. A versenyzőknek a rendelkezésre álló három különböző típusú alapanyagból egy előre meghatározott arányú keveréket kell létrehozniuk, a szelepek és szivattyú motorok megfelelő sorrendű vezérlésével. Ennek a létrehozására három darab tartály áll rendelkezésre, melyek között szabad az átjárás, tehát szabadon áttölthető a bekért alapanyag egyik tartályból a másikba. Azonban az alapanyagok nem keveredhetnek össze a három arányképző tartály egyikében sem, különben a végtermék selejt lesz! Ha a szükséges mennyiséget sikerült előállítani az adott alapanyagból, azt tovább kell tölteni egy erre a célra fenntartott puffer tartályba, mely a félkész terméket tartalmazza. Az arány kikeverésének módszere tetszőleges.
1. ©evopro fenntartva.
systems
engineering
kft.,
Minden
ábra: A vizuális felület jog
Oldal: 3/11
XXI. Országos Ajtonyi István Irányítástechnikai Programozó Verseny Virtuális technológia: Keverőüzem
3. I/O listák 3.1.
A versenyzők bemenetei
Vezeték száma
Bemeneti cím
Funkció
1
I0.0
T1 tartály alacsony szint
2
I0.1
T1 tartály magas szint
3
I0.2
T2 tartály alacsony szint
4
I0.3
T2 tartály magas szint
5
I0.4
T3 tartály alacsony szint
6
I0.5
T3 tartály magas szint
7
I0.6
T4 tartály alacsony szint
8
I0.7
T4 tartály magas szint
9
I1.0
T1 tartály kézi töltése
10
I1.1
T1 tartály kézi leeresztése
11
I1.2
T4 tartály kézi töltése
12
I1.3
T4 tartály kézi leeresztése
13
I1.4
Kézi/Automata üzemmód
14
I1.5
Vészstop
15
I1.6
Nyugtázás
16
I1.7
Warm reset 1. táblázat: A bemenetek
Figyelem! A vészstop bontó kapcsoló, tehát alapesetben zárt kontaktus I1.5=1, működtetés esetén I1.5=0, a technológiának biztonságos üzembe kell kapcsolnia a 4.6-os pontban leírtaknak megfelelően!
©evopro fenntartva.
systems
engineering
kft.,
Minden
jog
Oldal: 4/11
XXI. Országos Ajtonyi István Irányítástechnikai Programozó Verseny Virtuális technológia: Keverőüzem
3.2.
A versenyzők kimenetei
Vezeték száma
Kimeneti cím
Funkció
17
Q0.0
Alapanyag típus kiválasztás
18
Q0.1
Alapanyag típus kiválasztás
19
Q0.2
Szelep/Motor kiválasztó bit 1*
20
Q0.3
Szelep/Motor kiválasztó bit 2*
21
Q0.4
Szelep/Motor kiválasztó bit 3*
22
Q0.5
Szelep/Motor kiválasztó bit 4*
23
Q0.6
Szelep/Motor nyitás/zárás (1=nyitás; 0=zárás)
24
Q0.7
T1 tartályt töltő impulzussorozat
25
Q1.0
T1 tartályt leeresztő impulzussorozat
26
Q1.1
T2 tartályt töltő impulzussorozat
27
Q1.2
T2 tartályt leeresztő impulzussorozat
28
Q1.3
T3 tartályt töltő impulzussorozat
29
Q1.4
T3 tartályt leeresztő impulzussorozat
30
Q1.5
T4 tartályt töltő impulzussorozat
31
Q1.6
T4 tartályt leeresztő impulzussorozat
32
Q1.7
Hibalámpa
33
+24 V
A technológia biztosítja
34
0V
A technológia biztosítja
35-40
-
Nincs használatban 2. táblázat: Kimenetek
*Motor=A P1-P4 szivattyúk motorjai A táp és a föld a technológia által biztosítva, tehát a 33-as és a 34-es vezetéket a versenyzőknek nem kell bekötniük. Egy magyarázat a tápláláshoz:
1.
©evopro fenntartva.
systems
engineering
kft.,
Minden
ábra Táplálás
jog
Oldal: 5/11
XXI. Országos Ajtonyi István Irányítástechnikai Programozó Verseny Virtuális technológia: Keverőüzem
3.3 A beérkező alapanyagok igazságtáblája Q0.1 MSB
Q0.0 LSB
Folyadék
0
0
Nincs értelmezve
0
1
Alapanyag 1
1
0
Alapanyag 2
1
1
Alapanyag 3
3.
táblázat A különböző folyadékok
3.4 A szelepek és szivattyúk vezérlésének táblázata Q0.6
Q0.5 MSB
Q0.4
Q0.3
Q0.2 LSB
Leírás
0
0
0
0
Nincs kiválasztott elem
Q0.6=0
0
0
0
1
Szelep V1
Szelep zár, Szivattyú leállít
0
0
1
0
Szelep V2
0
0
1
1
Szelep V3
0
1
0
0
Szelep V4
0
1
0
1
Szelep V5
Q0.6=1
0
1
1
0
Szivattyú P1
Szelep nyit, Szivattyú indít
0
1
1
1
Szivattyú P2
1
0
0
0
Szivattyú P3
1
0
0
1
Szivattyú P4
1010–1111
Nincs használatban
4. táblázat: Szelepek működtetése
3.4.1 Egy példa: A V2-es szelep megnyitásának telegramja: A szelep vezérlése több lépésben történik. Először a Q0.2-Q0.5 kimeneteken kiadott telegram segítségével ki kell választani a V2-es szelepet, és csak ezután adható ki a Q0.6 biten a nyitás vagy zárás parancs. (A Q0.6=1: nyitás, Q0.6=0: zárás. Fontos, hogy nem kapcsolhatóak egyszerre a szelepválasztó bitek és a Q0.6.) Ha ez megvan, a szelep kiválasztó biteket vissza kell nullázni a harmadik lépésben, majd negyedik lépésben a Q0.6-os bitet is nullázni kell annak érdekében, hogy egy következő szelepet is hazárdmentesen nyithassunk. Az egyes lépések között 100 ms késleltetés szükséges. Példa bitsorozatra: Lépés sorszám
Q0.6
Q0.5 MSB
Q0.4
Q0.3
Q0.2 LSB
1.
0
0
0
1
0
2.
1
0
0
1
0
3.
1
0
0
0
0
4.
0
0
0
0
0
©evopro fenntartva.
systems
engineering
kft.,
Minden
jog
Oldal: 6/11
XXI. Országos Ajtonyi István Irányítástechnikai Programozó Verseny Virtuális technológia: Keverőüzem
Figyelem! A szelepek valamint a szivattyúk motorjai felfutó él esetén elindulnak, majd ebben az állapotban maradnak mindaddig, amíg a versenyző el nem küldi az adott szelep lezárásához tartozó telegramot!
3.4.2. Egy minta telegram a V2-es szelep lezárására: Lépés sorszám
Q0.6
Q0.5 MSB
Q0.4
Q0.3
Q0.2 LSB
1.
1
0
0
1
0
2.
0
0
0
1
0
3.
0
0
0
0
0
Mivel a kettes szelep már korábban ki lett nyitva, így a záráshoz szükséges telegram első lépésében a Q0.6 kimenetet egybe kell állítani! (így elkerülhető véletlen kapcsolás) A lezárásánál is a „csupa nulla” állapotba kell visszajutni, ez a zárás telegram esetén három lépést jelent.
4. A feladat 4.1 Kiindulási állapot A versenyzők programjának a PLC-re való letöltése után beavatkozás nélkül működésre készen kell állniuk, a tápfeszültség kimaradása sem okozhatja a program elfelejtését. A programban meg kell oldani, hogy működtetett vészstop esetén (I1.5=0) a technológiát nem szabad, hogy el lehessen indítani! Négy tartály áll rendelkezésre, ahogy az 1. ábrán is látható. Sorrendben T1 = 3l ; T2 = 5l ; T3 = 3l T4 = 11l. Valamennyi tartály kezdetben üres – ez a tartályok oldalán elhelyezett bar grafikon segítségével ellenőrizhető –, a szivattyúk nem üzemelnek, a szelepek „zárva” állapotban várnak a működtetésre, a tartályok alján és tetején található szintérzékelők 0 szintet adnak. Az I1.4-en lévő „Kézi-Automata” kapcsoló állapotától függően a versenyzőknek két különböző működési módot kell leprogramozniuk. 1. Kézi üzemmód 2. Automata üzemmód A versenyzők feladata a tartálykezelő blokkok megírásán kívül a szimuláció vezérlése is. Ez azt jelenti, hogy nem elég a szelepeket kinyitni, hanem ezután felfutó élek hatására (megfelelő ütem szerint) fog a tartályokban nőni, vagy csökkeni az adott anyag. A technológia által biztosított interfész minden blokkra két bemenetet tartalmaz. Egyet a szint növelésére és egyet a szint csökkentésére. A tartályba kerülő aktuális anyag értékéről a versenyzők nem kapnak visszajelzést, csak a maximum szint és a minimum szint elérését ismerik. (pl. T1 alacsony, T1 magas szint). „T1 alacsony szint=1”, ha a tartályban egy minimális folyadék mennyiség van és „T1 alacsony szint=0”, ha a tartály teljesen üres. „T1 magas szint=1”, ha a tartály tele van.
©evopro fenntartva.
systems
engineering
kft.,
Minden
jog
Oldal: 7/11
XXI. Országos Ajtonyi István Irányítástechnikai Programozó Verseny Virtuális technológia: Keverőüzem
4.2 Ütemadó A tartályok töltéséhez valamint leeresztéséhez kézi és automata üzemmódban egyaránt szükséges egy ütemadó írása a versenyzők részéről a „Q0.7-Q1.6” kimeneteken, ami az egyes tartályok töltő és leeresztő bemeneteihez kapcsolódik. Ennek 120 ms-onként adnia kell egy logikai magas értéket, tehát impulzus sorozatot állít elő. Ez alapján fog majd növekedni vagy csökkenni a tartályok szintje. Azonban arra is figyelni kell, hogy a szint csak akkor növekedhet, tehát csak akkor küldhető ki a technológia felé az impulzussorozat ha a töltéshez szükséges szelep vagy szivattyú üzemel. Ennek biztosítására érdemes 150 ms késleltetést használni a szelep kinyitása és az impulzussorozat elindítása között. Ha zárt szivattyú-/szelepállás mellett a versenyző kiküldi a töltéshez szükséges impulzussorozatot, akkor a vizualizáción a töltés megjelenik, de töltési hibát fog jelezni. Továbbá a versenyzőknek arra is kell figyelniük, hogy egy üres tartályból ne lehessen egy másik tartályba áttölteni. Ezt a feltételt a versenyzőknek be kell tartani! Tehát ha a T1 tartály üres, és a V3 szelep nyitva van, akkor a T4 tartály töltéséhez tartozó impulzussorozatot nem adhatja ki. Egyik tartályból egy másikba csak akkor indulhat el az áttöltés, ha ott az alsó szintérzékelő jelzi, hogy legalább egy minimális szintmennyiség már van a tartályban. Érdemes az ütemadó megírásával kezdeni a feladatot, mivel minden alkalommal, ha tölteni szeretnénk egy tartályt vagy leereszteni az abban lévő alapanyagot, ennek az ütemnek az elküldésére szükség lesz a technológia felé.
T1-T4 tartályok töltő és leeresztő üteme
120 ms
(Q0.7-Q1.6)
Az itt megadott ütemidő az impulzus sorozat periódusidejét jelenti. A feladat lényege ezeknek az impulzussorozatoknak a megfelelő időben való kiadása illetve megszüntetése a technológia felé. U [V] 24
0 t [ms]
120 ms
4.3 Kézi üzemmód Bekapcsoláskor a program kézi üzemmódban fog indulni (I1.4=0). Ekkor T1-es és a T4-es tartályokat manuálisan kell tudni tölteni egy-egy nyomógomb segítségével. (I1.0-I1.3 bemenetek)
©evopro fenntartva.
systems
engineering
kft.,
Minden
jog
Oldal: 8/11
XXI. Országos Ajtonyi István Irányítástechnikai Programozó Verseny Virtuális technológia: Keverőüzem
2. ábra: A manuál mód nyomógombjai A T1-es tartály esetében kézi üzemben az „I1.0 - T1 tartály kézi töltése” bemenet hatására a V1-es szelepet nyitni kell és ezzel egy időben működtetni a T1 töltéséhez tartozó ütemadót (Q0.7). Az „I1.1 - T1 tartály kézi leeresztése” nyomógomb hatására a V3-as szelepet kell kinyitni és közben működtetni a hozzá tartozó ütemadót (Q1.0). A T4-es tartály töltésénél tetszőlegesen kiválasztható, hogy a T1-es vagy a T2-es tartályon keresztül szeretné-e a versenyző feltölteni azt, ennek megfelelő szelepeket kell vezérelnie. Az „I1.3 – T4 tartály kézi leeresztése” nyomógomb hatására T4-es tartályt le kell engedni a V5-ös szelep kinyitásával. Természetesen a versenyzők feladata leprogramozni a szükséges szelepkezelő telegramokat és a hozzájuk tartozó ütemadókat. A szelepeknek mindaddig nyitva kell maradniuk (töltés vagy leeresztés esetén) amíg a hozzá tartozó nyomógomb nyomva van. Pl.: A gomb elengedésekor a töltésnek abba kell maradnia, ismételt lenyomásakor a töltésnek újra kell indulnia. A töltéshez használt alapanyag típus tetszőlegesen kiválasztható. Figyelni kell arra is, hogy a töltés és leeresztés logikusan következzen egymás után, tehát pl. A „T4”es tartályba csak a „T1”-en vagy „T2” keresztül lehessen tölteni. Tehát pl.: ha a T1-es és T2-es tartály üres, akkor a T4-es tartályt ne lehessen tölteni, a nyomógombját megnyomva ne történjen semmi.
4.4 Automata üzemmód Automata üzemben (I1.4=1) a rendszerbe kézzel nem lehet beavatkozni. Az automatikusan elindul és elő kell, hogy állítsa a kívánt arányt a három alapanyagból a 4.5-től 4.7-es pontig leírtak alapján. Fontos kitétel, hogy automata üzemmódból a technológiának kézi üzemmódba bármikor átkapcsolhatónak kell lennie, de fordítva csak bekapcsoláskor, amikor alaphelyzetben van.
4.5 Arányképzés Az automata üzemmód célja, hogy a „T1”, ”T2” és „T3” tartályok felhasználásával 4:4:3-as (az alapanyagok sorrendjében) arányú keveréket állítsunk elő belőlük, ami azt jelenti, hogy 4 egység – „Alapanyag 1” ; 4 egység – „Alapanyag 2” majd 3 egység – „Alapanyag 3” szükséges hogy előálljon az erre a célra adott „T4”-es puffer tartályban. Fontos szempont, hogy a kiindulási anyagok egyik tartályban sem keveredhetnek össze csak és kizárólag a „T4-es” félkész terméket tároló tartályban. A csövezésekből megfigyelhető az adott tartályok közötti átjárhatóság útja. Pl. A „T1” és „T2” között vagy a „T2” és „T3” között bármikor lehet a folyadékot ide-oda mozgatni „M1-M4”-es szivattyúk segítségével, azonban a „T1” és „T3” között csak a „T2”-es tartály közbeiktatásával van lehetőségünk átjárásra. A tartályokban lévő folyadék mennyiségéről egyetlen visszajelzés a tartályok alján és tetején elhelyezett szintérzékelők, amivel csak arra van lehetőség, hogy megállapítsuk, hogy azok tele vannak-e vagy üresek, a közbenső szint értékéről nincs visszajelzés a versenyzők felé. Az alapanyag töltését minden alkalommal csak akkor lehet abbahagyni, ha egy alsó vagy felső szintérzékelő bejelzett ezzel a módszerrel kell előállítani a kívánt arányt. Pontozási szempont, hogy lehetőleg olyan aránykeverési algoritmust valósítsanak meg a versenyzők, amivel egy második ciklus is megvalósítható, tehát a folyamat újrakezdhető. A módszer a versenyzőkre van bízva, bármilyen megoldás elfogadott.
4.6 Alapanyag betöltés A 3. táblázatban megadott „Alapanyag kiválasztó” bitek (Q0.0 ; Q0.1) segítségével a versenyzők tetszőlegesen kiválasztott alapanyag típust kérhetnek be a rendszerbe a fővezetéken keresztül. Nincs meghatározva, hogy milyen sorrendben vagy milyen mennyiségben kerülhet a rendszerbe az adott ©evopro fenntartva.
systems
engineering
kft.,
Minden
jog
Oldal: 9/11
XXI. Országos Ajtonyi István Irányítástechnikai Programozó Verseny Virtuális technológia: Keverőüzem
alapanyag. Továbbá az is szabadon megválasztható, hogy lehetséges „T1” vagy „T2”-es tartályok közül melyikbe szeretnénk a kiválasztott alapanyag típust beleereszteni. A versenyző feladata, hogy a szükséges algoritmust kitalálja és elkészítse azt a következő pontban ismertetett elvárt végeredményhez. Alapanyagok közötti átváltás hazárdmentes kell, hogy legyen. Ezt azt jelenti, hogy pl. az egyes alapanyag után csak úgy válthatunk át a hármasra, ha előtte egy 00 kódot küldtünk el a Q0.0 és Q0.1 kimeneteken. A kiválasztott alapanyag kódját mindaddig küldeni kell a technológia felé, amíg át nem kell váltani egy másik alapanyagra. Tehát azzal minden műveletet elvégeztünk (betöltés, áttöltés, leeresztés). Egy példa: Művelet
Q0.1 MSB
Q0.0 LSB
Alapanyag 1 kiválasztás
0
1
Felkészülés a váltásra
0
0
Alapanyag 2 kiválasztás
1
0
Itt is szükséges 100 ms-os várakozási időt betenni minden kiadott telegram – tehát a táblázat minden sora - után.
2. ábra: Aránykeverés az alapanyagokat megkülönböztetve
©evopro fenntartva.
systems
engineering
kft.,
Minden
jog
Oldal: 10/11
XXI. Országos Ajtonyi István Irányítástechnikai Programozó Verseny Virtuális technológia: Keverőüzem
4.7 Kitárolás Ha a kívánt arány előállt a „T4”-es tartályban, azt 5 s múlva a „V5”-ös szelepen keresztül le kell engedni a tartályautókba a megfelelő ütemadó által vezérelve.
4.8 Vészstop A vészstop gomb megnyomásának (I1.5=0) hatására minden technológiai egységnek azonnal le kell állnia. A tartályokat kivétel nélkül le kell engedni a „V5”-ös szelepen keresztül. Ehhez figyelni kell a szelepek és szivattyúk működtetésének sorrendjére. Pl.: A „T3”-as tartályból először a „T2”-esbe kell áttölteni a benne lévő anyagot, és csak onnan lehetséges az ürítés a „T4”-esbe, végül a „V5-ös” szelepen keresztül ki a rendszerből. Ezzel egy időben a Q1.7-es kimenetre kötött „Hibalámpa” működtetése szükséges. Ez egy villogó piros fényt jelent 1s periódusidővel 30-70%-os kitöltési tényezővel, ahol 30% a magas és 70% az alacsony szint ideje. Ha a vészstop inaktívvá válik (I1.5=1) csak az I1.6-ra kötött nyugtázó bemenet segítségével lehet a rendszert újraindítani, aminek következtében az kézi üzemmódba vált. Ezután egy átkapcsolással automata üzemmódba a keverési folyamatnak elölről kell indulnia.
4.9 Warmreset A „Warmreset” (I1.7) gombot megnyomva a technológia visszaáll alaphelyzetbe, minden bit „resetelődik”, azaz a kiindulási értékét veszi fel, ez azt is jelenti, hogy minden tartály kiürül, tehát elveszíti a szintjének értékét. A versenyzők programjának vissza kell állnia a kezdeti lépésre. (Tesztelés előtti állapot.) Ez a funkció a tesztelést hivatott megkönnyíteni, esetleg lehetőséget adni, a teszt újrakezdésére, azonban leprogramozása (minden bit alaphelyzetbe állítása) szintén a versenyzők feladata. A technológia mindössze egy magas logikai értékű bitet szolgáltat az I1.7-es bemeneten a versenyzők PLC-je felé.
©evopro fenntartva.
systems
engineering
kft.,
Minden
jog
Oldal: 11/11