XXI. Országos Ajtonyi István Irányítástechnikai Programozó Verseny 2015. április 10. Pécs 2. Technológiai Programozó Feladat
Feladatkiírás
Tartalomjegyzék 1. I/O Lista ........................................................................................................................................... 3 2. Általános információk...................................................................................................................... 4 3. Technológia bemutatása ................................................................................................................... 4 3.1 Robotkar .................................................................................................................................... 4 3.2 Transzporter............................................................................................................................... 6 3.3 Magasraktár............................................................................................................................... 6 3.4 Soros kommunikáció................................................................................................................. 8 3.5 Állapotjelző lámpa .................................................................................................................... 8 3.6 Vészstop .................................................................................................................................... 8 4. A feladat ........................................................................................................................................... 9 4.1 Kiinduló állapot......................................................................................................................... 9 4.3 Értékelés (javaslat) .................................................................................................................... 9
1. I/O Lista 1. IN 0
Vész Stop (bontó)
2. IN 1
Nyugtázás
3. IN 2
Magasraktár Motion Complete
4. IN 3
Robotkar Motion Complete
5. IN 4
Transzporter Motion Complete
6. IN 5
Magasraktár Üzemkész
7. IN 6
Robotkar Üzemkész
8. IN 7
Transzporter Üzemkész
9. IN 8
Magasraktár 3. Oszlop Érzékelő
10. IN 9
Magasraktár 2. Oszlop Érzékelő
11. IN 10
Magasraktár 1. Oszlop Érzékelő
12. IN 11
Magasraktár Villa Kitolva Érzékelő
13. IN 12
Magasraktár Villa Behúzva Érzékelő
14. IN 13
Munkadarab információ 0. Bit
15. IN 14
Munkadarab információ 1. Bit
16. IN 15
Soros Port
17. OUT 0
Magasraktár Villa Jobbra
18. OUT 1
Magasraktár Villa Balra
19. OUT 2
Magasraktár Villa 2. Pozíció Stopper
20. OUT 3
Magasraktár Villa Behúz
21. OUT 4
Magasraktár Villa Kitol
22. OUT 5
Sárga Lámpa
23. OUT 6
Zöld Lámpa
24. OUT 7
Robotkar Megfogó
25. OUT 8
Magasraktár Start
26. OUT 9
Robotkar Start
27. OUT 10
Transzporter Start
28. OUT 11
Munkadarab információ lekérdezés
29. OUT 12
Record Select 3. Bit
30. OUT 13
Record Select 2. Bit
31. OUT 14
Record Select 1. Bit
32. OUT 15
Record Select 0. Bit
33. +24V / 4A 34. GND
2. Általános információk A technológia egy szervótranszporterre szerelt, robotkarral kiegészített négyszintes magasraktár rendszer. A raktárban szintenként három paletta található, melyek négy munkadarabot tárolhatnak. Az eszközök védelmét egy ellen PLC-vel biztosítottuk, mely kommunikál a robotvezérlővel és az E-drive-okkal. A versenykábel is erre a PLC-re csatlakozik, így 16 DI-on/16 DO-on keresztül vezérelhető a technológia.
3. Technológia bemutatása A feladat célja a magasraktárban tárolt termékek megrendelés szerint történő kitárolása. A technológia két fő részre osztható: magasraktár, robotkar. A megrendelés a rendszer inicializációja után 2 Baud-os sebességgel soros kommunikációval kerül kiküldésre. Ezután a feladat választott nehézségi szintjétől függően, a megfelelő paletták felvétele következik. A rajtuk található termékek típusa lekérdezhető, majd azok a megfelelő pozícióba kézbesítendők.
3.1 Robotkar A robotkar rekord-select üzemmódban működik, amely annyit jelent, hogy a kívánt pozíció megadása utána a mozgás egy START jellel indítható. A mozgás állapotáról a „Robotkar Motion Complete” bitje ad felvilágosítást, mozgás megkezdésekor alacsony, befejezésekor magas szintre vált. Az inicializálást „0” pozícióba történő mozgatással végezhetjük el. Sikeres inicializálást követően a „Robotkar Üzemkész” magas szintre vált. A termékek felvétele és lerakása kötött sorrendű pozíciók felvételével valósítható meg. A munkadarab megfogása egy pneumatikus aktuátorral történik. I/O lista: IN 3
Robotkar Motion Complete
IN 6
Robotkar Üzemkész
OUT 7
Robotkar Megfogó (0-nyitva; 1-zárva)
OUT 9
Robotkar Start
OUT 12
Record Select 3. Bit
OUT 13
Record Select 2. Bit
OUT 14
Record Select 1. Bit
OUT 15
Record Select 0. Bit
Termék felvétele: 0-s pozícióból indulva a kívánt termék fölé visszük a megfogót, majd ezután lefelé mozgatjuk és megfogás után ugyanezen a pályán térünk vissza a kezdeti állapotba. Pl: paletta bal felső (felül nézet) korongjának felvétele: POS 0 → POS 3 → POS 2 → megfogás → POS 3 → POS 0 paletta jobb felső (felül nézet) korongjának felvétele: POS 0 → POS 5 → POS 4 → megfogás → POS 5 → POS 0 paletta bal alsó (felül nézet) korongjának felvétele: POS 0 → POS 7 → POS 6 → megfogás → POS 7 → POS 0 paletta jobb alsó (felül nézet) korongjának felvétele: POS 0 → POS 9 → POS 8 → megfogás → POS 9 → POS 0 Termék felvétele csak abban az esetben lehetséges, ha a magasraktár transzportere „1-es” pozícióban, és a rajta található szán (paletta emelő) jobboldali végállásban, kihúzott villával áll. Hibás vezérlés esetén a robot nem hajtja végre a parancsot, amit az állapotjelző lámpa piros fénye is jelez. Pozíció
Rec.Sel. 3
Rec.Sel. 2
Rec.Sel. 1
Rec.Sel. 0
Leírás
0
0
0
0
0
Alaphelyzet
2
0
0
1
0
Bal felső (1.) korong
3
0
0
1
1
POS 2 felett
4
0
1
0
0
Jobb felső (2.) korong
5
0
1
0
1
POS 4 felett
6
0
1
1
0
Bal alsó (3.) korong
7
0
1
1
1
POS 6 felett
8
1
0
0
0
Jobb alsó (4.) korong
9
1
0
0
1
POS 8 felett
10
1
0
1
0
Lerakási pozíció
11
1
0
1
1
POS 10 felett
Termék lerakása a robotkar 0. → 10. → elenged → 11. → 0. pozíciókba történő mozgatásával oldható meg. A kívánt lerakási pozíció elérését a robot transzportere biztosítja.
3.2 Transzporter A robotkar inicializálását követően a transzporterét kell elvégezni - mely szintén rekord-select üzemmódban működik – a 0. pozícióba történő mozgatással. Sikeres inicializálást a „Transzporter Üzemkész” magas állapota jelzi. A transzporter mozgatása csak alaphelyzetbe állított robotkarral lehetséges, ellenkező esetben hibajelzést kapunk és a mozgás nem történik meg. A pozíciókat itt is a „Rekord-select” bitekkel adhatjuk meg, a mozgást a „Transzporter start” kimenettel indíthatjuk, állapotáról a „Transzporter Motion Complete” ad visszajelzést.
Pozíció
Rec.Sel. 3
Rec.Sel. 2
Rec.Sel. 1
Rec.Sel. 0
Leírás
0
0
0
0
0
Inicializálás
1
0
0
0
1
1. lerakási pozíció
2
0
0
1
0
2. lerakási pozíció
3
0
0
1
1
3. lerakási pozíció
4
0
1
0
0
4. lerakási pozíció
5
0
1
0
1
5. lerakási pozíció
6
0
1
1
0
6. lerakási pozíció
7
0
1
1
1
Magasraktár felvételi pozíció
3.3 Magasraktár A magasraktár működése két fő részre bontható, a függőleges mozgatást E-drive-val, a vízszintest pneumatikával vezéreljük. Az inicializálást a magasraktár szervó hajtásával kell folytatni, a már előzőekben leírt módon, 0-s pozícióba történő mozgatással (Rec.Sel.0-3, magasraktár start, Magasraktár Motion Complete, Magasraktár üzemkész). A magasraktár mozgatása szintén csak alaphelyzetben álló robotkarral lehetséges.
Pozíció
Rec.Sel. 3
Rec.Sel. 2
Rec.Sel. 1
Rec.Sel. 0
Leírás
0
0
0
0
0
Inicializálás
1
0
0
0
1
Robotkar kiszolgálási pozíció
2
0
0
1
0
1. szint alsó pozíció
3
0
0
1
1
1. szint felső pozíció
4
0
1
0
0
2. szint alsó pozíció
5
0
1
0
1
2. szint felső pozíció
6
0
1
1
0
3. szint alsó pozíció
7
0
1
1
1
3. szint felső pozíció
8
1
0
0
0
4. szint alsó pozíció
9
1
0
0
1
4. szint felső pozíció
A vízszintes pozicionálásért egy pneumatikus szán, két fix, és egy kapcsolható ütköző felel. A szán vezérlését egy 5/2-es bistabil pneumatikus szelep végzi. ( „Magasraktár Villa Jobbra – Balra”) a közbenső megállítást a „Magasraktár Villa 2. Pozíció Stopper” aktiválásával érhetjük el, melyet 5/2es monostabil szelep vezérel. A stoppert jobboldali pozícióból balra mozgatással kell megközelíteni, ellenkező esetben a szán megakadhat, és hibajelzést kapunk. A véghelyzetek eléréséről három pozícióérzékelő ad jelet. Magasraktár 3. Oszlop Érzékelő - jobboldal Magasraktár 2. Oszlop Érzékelő - közép Magasraktár 1. Oszlop Érzékelő – baloldal
Paletta felvétele: A villát megfelelő pozícióba történő mozgatás után (alsó pozíciók) kitoljuk (5/2 bistabil pneumatikus szelep) „Magasraktár Villa Kitol”, ezután felső pozícióba emeljük és visszahúzzuk „Magasraktár Villa Behúz”. Paletta visszahelyezése: Értelem szerűen az előző lépéssorozat fordított végrehajtásával valósítható meg. Koronginformáció lekérdezése: A felvett palettán lévő munkadarabok típusa egyesével lekérdezhető. A „Munkadarab információ lekérdezés” kimenet „1”-be állításával a „Rekord Select” bitek segítségével címezhető meg a munkadarab, és a „Munkadarab információ 0.-1.Bit”-en érkező jelek segítségével azonosíthatóak azok. Rec.Sel.0
Rec.Sel.1
Rec.Sel.2
Rec.Sel.3
Pozíció
1
0
0
0
1. (Bal felső)
0
1
0
0
2. (Jobb felső)
0
0
1
0
3. (Bal alsó)
0
0
0
1
4. (Jobb alsó)
Munkadarab információ 1.
Munkadarab információ 0.
Típus
0
0
Üres
0
1
Piros
1
0
Ezüst
1
1
Fekete
Ezen információk mindig a kezdeti állapotot mutatják, ha már levettünk egy munkadarabot és újra lekérdezzük a pozícióját, akkor a kezdetben ott lévő termék információit kapjuk vissza.
3.4 Soros kommunikáció A technológia sikeres inicializálása után az ellen PLC a soros kommunikáció bemeneten keresztül küldi át a kívánt kitárolási sorrendet. Start Bit
0. bit
1. bit
…..
10. bit
11. bit
Stop bit
Bitidő 500ms, aktív állapot a magas szint.
Lerakási pozíció
MSB
LSB
1
1. bit
0. bit
2
3. bit
2. bit
3
5. bit
4. bit
4
7. bit
6. bit
5
9. bit
8. bit
6
11. bit
10. bit
MSB
LSB
Típus
0
0
Üres
0
1
Piros
1
0
Szürke
1
1
Fekete
3.5 Állapotjelző lámpa Inicializálás alatt a Sárga lámpa 1hz-es frekvencián 50%-os kitöltéssel villog. Sikeres inicializálás után Zöld lámpa világít, Sárga világít, ha nincs mozgás, mozgás közben villog. Vészstop esetén Sárga és Zöld lámpák felváltva villognak.
3.6 Vészstop A vészgomb megnyomásakor a lámpáknak azonnal reagálniuk kell és az aktuális mozgás befejezése után a technológia mozdulatlan marad. A vészgomb feloldása és nyugtázás után a folyamatnak folytatódnia kell.
4. A feladat 4.1 Kiinduló állapot A vészgomb inaktív (nincs megnyomva). A folyamat csak a Nyugtázó gomb megnyomására indulhat. A technológia inicializálatlan állapotban van. Magasraktár feltöltése: 4. sor (felső) → 1. paletta 4db piros, 2. paletta 2db piros, 3. paletta 1 db piros termék. 3. sor
→ 1. paletta 4db ezüst, 2. paletta 2db ezüst, 3. paletta 1 db ezüst termék.
2. sor
→ 1. paletta 4db fekete, 2. paletta 2db fekete, 3. paletta 1 db fekete termék.
1. sor (alsó)
→ mindegyik palettán 1-1-1 piros, ezüst és fekete termék.
A nem teli palettákon a termékek elhelyezése véletlenszerű.
4.2 Megvalósítás
Jelzőlámpa kezelése
Inicializálás (robot, transzporter, magasraktár)
Soros kommunikáció / adat fogadás
Paletta felvétel
Termék típus lekérdezés
Kitárolás
Vészstop
4.3 Értékelés (javaslat)
Maximális pontszámot ér az a feladat, amelynél minden rendeltetésszerűen működik és nem a tele palettákat használja. (100%)
Minden rendeltetés szerűen működik, de a kitároláshoz a teli palettákat használja. (75%)
Az előre megadott kitárolási sorrend esetén a sorrend a következő: (50%) 1. fekete 2. üres 3. piros 4. ezüst 5. üres 6. piros