evopro systems engineering kft. H-1116 Budapest, Hauszmann A. u. 2. XXI. Országos Ajtonyi István 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.
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 Oldal: 2/11
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. ábra: A vizuális felület Oldal: 3/11
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! Oldal: 4/11
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 0 V 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. ábra Táplálás Oldal: 5/11
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 Szelep zár, Szivattyú leállít Q0.6=1 Szelep nyit, Szivattyú indít 0 0 0 1 Szelep V1 0 0 1 0 Szelep V2 0 0 1 1 Szelep V3 0 1 0 0 Szelep V4 0 1 0 1 Szelep V5 0 1 1 0 Szivattyú P1 0 1 1 1 Szivattyú P2 1 0 0 0 Szivattyú P3 1 0 0 1 Szivattyú P4 1 0 1 0 1 1 1 1 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 Oldal: 6/11
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. Oldal: 7/11
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 120 ms t [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) Oldal: 8/11
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 Oldal: 9/11
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 Oldal: 10/11
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é. Oldal: 11/11