2
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
SZAKDOLGOZAT Feladat címe:
PROGRAMFEJLESZTÉS MPS MINTARENDSZERHEZ
Készítette:
OLÁH LÁSZLÓ BSc szintű, gépészmérnök szakos Szerszámgépészeti és Mechatronikai szakirányos hallgató
Tervezésvezető:
DR. BARNA BALÁZS tanszéki mérnök Miskolci Egyetem Szerszámgépek Tanszéke
Konzulens:
DR. HEGEDŰS GYÖRGY egyetemi docens Miskolci Egyetem Szerszámgépek Tanszéke
2013. November
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
EREDETISÉGI NYILATKOZAT Alulírott Oláh László; Neptun-kód: BVN9LJ a Miskolci Egyetem Gépészmérnöki és Informatikai Karának végzős gépészmérnök szakos hallgatója ezennel büntetőjogi és fegyelmi felelősségem tudatában nyilatkozom és aláírásommal igazolom, hogy Programfejlesztés MPS mintarendszerhez című, szakdolgozatom saját, önálló munkám; az abban hivatkozott szakirodalom felhasználása a forráskezelés szabályai szerint történt. Tudomásul veszem, hogy szakdolgozat esetén plágiumnak számít: szószerinti idézet közlése idézőjel és hivatkozás megjelölése nélkül; tartalmi idézet hivatkozás megjelölése nélkül; más publikált gondolatainak saját gondolatként való feltüntetése. Alulírott kijelentem, hogy a plágium fogalmát megismertem, és tudomásul veszem, hogy plágium esetén szakdolgozatom visszautasításra kerül. Miskolc - Egyetemváros, 2013. november ......
....................................................... Hallgató
II
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
TARTALOMJEGYZÉK Zusammenfassung .................................................................................................................... 1 1. Bevezetés .............................................................................................................................. 2 2. Az MPS rendszer bemutatása ............................................................................................... 3 2.1. Adagoló állomás ............................................................................................................ 4 2.2. Tesztelő állomás ............................................................................................................ 6 2.3. Megmunkáló állomás................................................................................................... 10 2.4. Rakodó állomás ........................................................................................................... 13 2.5. Szortírozó állomás ....................................................................................................... 15 2.6. Magasraktár ................................................................................................................. 17 2.7. Manipulációs robot ...................................................................................................... 19 3. Kommunikációs lehetőségek az MPS rendszerben ............................................................ 23 3.1. FESTO – StationLink .................................................................................................. 23 3.2. Ethernet ........................................................................................................................ 23 3.3. Kommunikációs folyamatok az MPS rendszerben ...................................................... 24 4. Az MPS rendszer új vezérlésének tervezése ...................................................................... 26 4.1. Előtervezése ................................................................................................................. 26 4.2. A kezelőfelület megtervezése ...................................................................................... 29 5. Az univerzális keretrendszer............................................................................................... 38 5.1. A keretrendszer által támogatott funkciók ................................................................... 38 5.2. A keretrendszer programjai ......................................................................................... 51 5.3. A fővezérlő .................................................................................................................. 60 6. Optimalizálás ...................................................................................................................... 64 7. Az állomásokat vezérlő szoftverek bemutatása .................................................................. 66 7.1. Adagoló állomás .......................................................................................................... 66 7.2. Tesztelő állomás .......................................................................................................... 70 7.3. Megmunkáló állomás................................................................................................... 73 7.4. Rakodó állomás ........................................................................................................... 81 7.5. Szortírozó állomás ....................................................................................................... 84 8. Termelékenység mérése...................................................................................................... 88 Összefoglalás .......................................................................................................................... 90 Ábrajegyzék ............................................................................................................................ 92 Irodalomjegyzék ..................................................................................................................... 93
III
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
ZUSAMMENFASSUNG Die Schwerpunktthemen meiner Diplomarbeit waren die Vorstellung des MPS Systems und die Entwicklung der sich anknüpfenden Steuerung. In meiner Abeit bemühte ich mich um eine bestmögliche Beschreibung über alle Teile des Systems zu geben, sowie versuchte ich Aufmerksamkeit für solche Lösungen zu erwecken, die von irgendeinem Aspekt interessant sein können. An dem Anfang der Konstruktion der Steuerung rekapitulierte ich die an die Steuerung gestellten Anforderungen und arbeitete das Konzept der Steuerung aus. Es ist mir gelungen, mit der Verwendung vorhandener Anlagen die neue Steuerung ausgestalten. Mit der Nutzung dieser Anwendung leichter zu funktionierende WEB Oberfläche kann der Anwender nützliche Informationen über den Zustand der Anlagen bekommen, und er kann auch von einem fernen Platz die Fertigungsstraße leiten. Vielmals abstrahierte ich davon, dass das MPS System ein ganz kleines, didaktisches System ist, hat ganz wenig Gefahr für den Anwender. Deswegen baute ich in die Steuterung solche Lösungen ein, die wesentlich die Betriebssicherheit erhöhen. Aufgrund meiner Arbeit erfuhr ich, dass je größer das System ist, desto mehr Fehlermöglichkeiten vorkommen können. In dem Laufe der Konstruktion wandte ich mich der Gestaltung einer erweiterten Fehlerbehandlung und diagnostischen Lösung, die im Fall die Abwehr einer unerwarteten auftretenden Fehler der Anwender mit nützlichen Beratungen ausrüsten können. Zur Zeit zwischen den zwei aufeinander folgenden Fehlern zurückliegende Zeit ist zumindest um eine Größenordung größer wie früher. Die originellen Teile des MPS Systems haben die einzelnen Stationen nur für von einander unabhängige, individuelle Arbeit zugelassen, und haben keinerleie Koordination zwischen den Anlagen durchgeführt. Es war feststellbar auf die Leistung der Fertigungsstraße. Nach der entsprechenden Koordination des Betriebs der fünf Stationen ist die Produktivität der Reihe fast um 400 Prozent gewachsen. Dazu hat es auch beigetragen, dass ich in den Prozessen der einzelnen Anlagen solche Möglichkeiten gesucht habe, die parallel in der Zeit ablaufen und die noch nicht aufgewendet waren. Dazu ist das beste Beispiel die Station Bearbeiten, deren neuen Programm ermöglicht, um die Station gleichzeitig auch auf drei Werkstücke manipulatorische und bearbeiterische Operationen zu leisten. In dem MPS System gibt es noch viele Entwicklungsmöglichkeiten, sowohl von dem Aspekt der Klimax der bearbeiterischen Geschwindigkeit, als auch im Bereich der Sicherung der noch zuverlässigeren Bewirtschaftung. Ich glaube, dass die Möglichkeit der künftigen Entwicklung überwiegend die Roboter Bedienung und die Beschleunigung des Betriebs des Hochlagers sind. Dabei sollten die Programme der zwei genannten Anlagen danach geändert werden, so dass sie auch in die Steuerungskette eingefügt werden, und sie können so die Leistungen der von mir entwickelten Steuerung fördern.
1
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
1. BEVEZETÉS A szakdolgozatom keretében a Miskolci Egyetem Szerszámgépek Tanszékén található MPS rendszerrel foglalkoztam, amellyel először a 2012/2013 tanév II. félévében kerültem kapcsolatba. Az MPS rendszer (Modular Production System – Moduláris Gyártórendszer) a FESTO cég oktatási célokat szolgáló eszköze. A rendszer segítségével végig kísérhető egy termék elkészítésének teljes folyamata az előgyártmány gyártósorra kerülésétől a kész munkadarab elraktározásáig. Az MPS rendszer 2011 márciusában került a Miskolci Egyetemre, megvásárlását a Társadalmi Infrastruktúra Operatív Program (TIOP) pályázaton nyert támogatás tette lehetővé. A rendszer összeépítése után hallgatók írták meg az állomások vezérlőire korábban feltöltött programokat. Ezek a programok egymástól független, egyéni munkára tették alkalmassá az egyes állomásokat. A rendszer indítása a vezérlők áram alá helyezése után automatikusan megtörtént, leállítása a villamos hálózat lekapcsolásával volt lehetséges. Az említett kezelési nehézségek indokolták azt, hogy készüljön el egy olyan vezérlés, amely lehetővé teszi a rendszer szakszerű és kényelmes üzemeltetését. A feladatom első része az állomások szerkezetének és működésének megismerése és dokumentálása volt. A rendszer egyes részegységeit külön-külön tanulmányoztam, majd tapasztalataimat írásba foglaltam. Munkám során nagy hangsúlyt fektettem arra, hogy megismerjem és a szakdolgozatomban részletesebben tárgyaljam a nem kifejezetten hétköznapi elemeket, megoldásokat. Ezt követően ki kellett dolgoznom egy koncepciót az állomások központi vezérlésére, valamint a munkájuk összehangolására, majd az említett koncepciót ténylegesen meg is kellett megvalósítanom. Az elkészült vezérlés legfontosabb funkciói: a rendszer kezelőpanelról indítható és leállítható a sor működését egy üzemállapotjelző lámpa jelzi a rendszer irányítása egy számítógép (vagy bármilyen tetszőleges, internetelérésre és HTML tartalom megjelenítésre képes eszköz, például egy okostelefon) segítségével, akár az interneten keresztül is lehetséges a WEB felületen keresztül szinte valós időben lehet figyelemmel kísérni a gyártósor működését, megtekinthetők például a következő adatok: az állomások üzemállapota, ciklusideje; a munkadarabok pillanatnyi pozíciója a gyártósoron, illetve a soron töltött idejük; elkészült munkadarabok száma, szín szerinti eloszlása beépített hibakereső modul ellenőrzi az állomások működését, hiba esetén kijelzi a hiba helyét, valamint instrukciókkal segíti a kezelőt a hiba elhárításában optimalizálások révén hatékonyabbá teszi az MPS rendszert
2
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
2. AZ MPS RENDSZER BEMUTATÁSA
1. ábra Az MPS gyártórendszer Az MPS gyártórendszer (1. ábra) öt fő részből és két kiegészítő berendezésből áll, amelyek a következők:
Adagoló állomás (1) Tesztelő állomás (2) Megmunkáló állomás (3) Rakodó állomás (4) Szortírozó állomás (5) Magasraktár (6) Manipulációs robot (7)
A szoros értelemben vett MPS rendszer 5 állomásból áll (1-5), azonban ahhoz, hogy teljes értékű gyártórendszer lehessen, szükséges a Magasraktár és a Robot megléte is. A rendszer további elemei még az állvány, az állomások levegő előkészítő rendszere, a pneumatikus szelepek, a villamos tápegységek, a villamos kapcsoló panelok, az állomásokat vezérlő PLC-k, a kezelő panel és a munkadarabok. A rendszer három féle munkadarabbal dolgozik, melyek korong alakúak, anyaguk fém vagy műanyag lehet, és az egyik oldalon a homloklapjukon egy furat található. A fém darabok ezüst színűek, a műanyagok pirosak vagy feketék lehetnek. A fekete darabok 2,5 mm-rel alacsonyabbak a többinél. 3
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
Az alábbiakban részletesen bemutatom az egyes állomások felépítését és az eredeti vezérlőprogramok által előírt működésüket. Az állomások vezérlési diagramjai mellékletben csatolva a dokumentum végén megtalálhatók. Magyarázataimhoz igyekeztem olyan illusztrációkat készíteni, amelyek a rendszer legfontosabb részleteit tartalmazzák. Az ábrák jelölésrendszere az egész dolgozatomat tekintve azonos. A főbb egységeket számozással, az apróbb elemeket az abc betűivel jelöltem. A szövegközi utalásoknál az első említés alkalmával közlöm az ábra sorszámát, majd a megfelelő részlet jelét. A későbbiekben csak a jelölésre utalok, az ábra sorszámát csak akkor tüntetem fel, ha egy újabb ábrára hivatkozok.
2.1. ADAGOLÓ ÁLLOMÁS Az adagolóberendezések olyan egységek, amelyek feladata a munkadarabok tárolása, válogatása és egyenkénti adagolása. [1] A legtöbb technológiai folyamat alapvető igénye, hogy a munkadarabok egyenként, egymás után érkezzenek a technológiai helyekre. Az MPS rendszerben lévő Adagoló állomás tároló és adagoló funkciókat lát el.
2. ábra Az Adagoló állomás Az Adagoló állomás (2. ábra) két fő egységre tagolható, melyek a következők: Tároló egység (1) Átrakó egység (2) 2.1.1. AZ ÁLLOMÁS MŰKÖDÉSE Az Adagoló állomás működése során a magazinból (1) egyenként adagolja ki a munkadarabokat egy kifutóra (b), majd egy forgó karos mechanizmusra (2) szerelt 4
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
vákuummegfogóval (c) az állomás átadó helyétől a következő állomás átvevő helyére juttatja azokat. 2.1.2. TÁROLÓ EGYSÉG A tároló egység feladata a munkadarabok átmeneti tárolása, majd a tárból való egyenkénti adagolása. Egy puffert valósít meg, amely segítségével biztosítható, hogy legyen munkadarab utánpótlás a rendszerben akkor is, ha a kiszolgáló robot éppen foglalt. A tároló szerepét egy függőleges helyzetű átlátszó műanyag cső tölti be. Az átlátszó cső praktikus a kezelő személyzet szempontjából, hiszen szemrevételezés útján is figyelemmel lehet kísérni a magazin telítettségét. A cső palástján két vízszintes helyzetű horony található egymással szemben, amelybe egy keskeny záró lapka helyezhető, amellyel mechanikusan megállítható az anyagáramlás, így a munkadarabok nem tudnak leesni a magazin kitoló pozíciójába. A magazinban maximálisan 8 darab munkadarab tárolható egyszerre. A munkadarabok rendelkezésre állásáról egy egyutas fénysorompó ad tájékoztatást. A fénysorompó a látható fény frekvenciatartományába eső vörös fénysugarat bocsájt ki, amelyet a munkadarab megszakít. A munkadarabok behelyezéskor ügyelni kell arra, hogy a munkadarabok furata felfelé nézzen. A magazinban lévő munkadarabok közül a legalsót egy kettős működésű pneumatikus munkahengerre szerelt műanyag rámpa (2. ábra, a) tolja át a kifutóra (b), ahol az átrakó egység hozzá tud férni. A kitolóhenger az adagoláskor tér vissza az alaphelyzetébe, egyébként a véghelyzetében tartózkodik. Ezzel az elrendezéssel az egység hosszmérete csökkenthető a fordított elrendezéshez képest. A vezérlését egy elektromágneses működtetésű pneumatikusan elővezérelt 5/2-es monostabil főszeleppel valósítják meg. Az MPS rendszerben használt szelepek mindegyikére igaz, hogy elektromágneses működtetésűek és pneumatikusan elővezéreltek, így a későbbiekben ezt már nem írom le újra. A munkahengerre a két véghelyzeténél egy-egy mágneses elven működő közelítés kapcsoló van rászerelve, amelyek a dugattyúban lévő permanens mágnes mágneses terét érzékelik és kimenetként villamos jelet adnak. A kitolóhenger mozgásának sebessége irányonként egy-egy fojtóvisszacsapó szeleppel fokozatmentesen szabályozható. 2.1.3. ÁTRAKÓ EGYSÉG Az átrakó egység feladata a tároló egység kifutóján lévő munkadarab eljuttatása a következő állomás fogadópontjára. A feladatot egy forgókaros manipulátor végzi el. A forgatást egy pneumatikus működtetésű korlátozott szögelfordulású forgatólapátos munkahenger valósítja meg, melynek vezérlését két 5/2-es bistabil szelepből kialakított 5/3as főszelep végzi. A munkahenger tengelye úgy van elhelyezve a házban, hogy a végei a mindkét oldalon ki vannak vezetve. Az egyik tengelycsapon reteszkötés segítségével csatlakozik a hajtott elemhez. Jelen esetben ez az elem a forgató kar, amely így 0° és 180° közötti szögelfordulásra képes. A másik oldali csapnak a szöghelyzet mérésénél van szerepe. A tengelycsapra egy tárcsa van rögzítve, amelybe íves hornyokat martak. A tárcsához két bütyök (2. ábra, d) kapcsolódik csavarok segítségével, úgy, hogy a csavarok az íves horonyban elmozdíthatók, ezáltal a bütykök pozíciója állítható. A bütykök egy-egy mechanikus mikrokapcsolót működtetnek, amelyek a véghelyzet jeladóként funkcionálnak.
5
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
A kar kívánt mozgástartományának beállítása a bütykök megfelelő pozícióba forgatásával valósítható meg. A kar másik végén egy vákuummegfogó (c) található, amely úgy van rögzítve a karhoz, hogy a megfogó mindig függőlegesen álljon és így a mozgatás során ugyanabban a helyzetben tartsa a munkadarabot. Ezt úgy oldják meg, hogy a kar mindkét végén van egyegy fogazott szíjtárcsa, amelyek közül a kar forgáspontjában lévő tárcsa mereven rögzítve van a kar állványához, míg a másik a vákuummegfogó tengelyére van szerelve. Mivel a vákuummegfogó tengelye nincs biztosítva elfordulás ellen, valamint a fogazott szíj biztosítja, hogy a két tárcsa állandó pozícióban álljon egymáshoz képest, ezért a kar elfordulásakor a felső tárcsához rögzített megfogó mindig függőleges helyzetben áll. A munkadarabok emeléséhez szükséges vákuumot és az elengedéséhez szükséges levegő impulzust egy vákuumgenerátorral egybeépített ejektor biztosítja. Ez egy speciális szelep, amely két 2/2-es szelepre épül, melyek külön-külön vezérelhetőek. A vákuumgenerátor működése a Venturi-elven alapszik. A gyakorlatban a 2/2-es útszelep nyitása után a sűrített levegő átáramlik egy fojtáson, ahol a szűkülő keresztmetszeten átáramló közeg a kontinuitási tétel értelmében felgyorsul. A Bernoulli-tétel értelmében kijelenthető, hogy az áramló közeg összenergiája az áramlás sebességének növekedése esetén csak akkor maradhat állandó, ha a közeg nyomása csökken. A szívócső ezzel a csökkent nyomású térrel van összekapcsolva. A generátort óvni kell a szennyeződésektől, ezért egy szűrő (c) van beiktatva a megfogó szívóvezetékébe, ami meggátolja a nagyobb szilárd részecskék bejutását a rendszerbe. A vákuum kialakulását egy vákuumkapcsoló segítségével lehet ellenőrizni. Ez azért fontos, mert a munkadarabot csak az után lehet mozgatni, amikor kialakul a szívóerő. Amikor a megfelelő szívóerő rendelkezésre áll, a kapcsoló jelet ad. A kapcsolási nyomáshatár állítható, a kapcsolt állapotról egy LED visszajelző lámpa tájékoztat. A vákuum kialakulása után a vákuumgenerátor kikapcsolható, ugyanis a szívóvezetékbe épített visszacsapó szelep megakadályozza a vákuum környezeti nyomásra való felépülését. A munkadarab szívófejről való leválasztásához egy rövid idejű levegőimpulzust kell a szívóvezetékbe juttatni az ejektorral.
2.2. TESZTELŐ ÁLLOMÁS A Tesztelő állomás feladata a munkadarabok azonosítása és méretellenőrzése. A mérés nem más, mint két mennyiség összehasonlítása, majd a következtetések levonása. Az automatizált gyártásban az ellenőrzésnek nagyon fontos szerepe van. Míg a kézi gyártásnál könnyedén felismerhetők és elkülöníthetők a hibás munkadarabok, az automatizált gyártásban nincs kezelő személyzet, aki el tudná végezni ezt a feladatot. A hibás munkadarabok megzavarhatják, vagy akár le is állíthatják a gyártást. Megfelelő helyen és időben elvégzett tesztekkel a hibák előfordulásának valószínűsége minimalizálható. [2] A Tesztelő állomás részei (3. ábra):
azonosító modul (1) emelő modul (2) mérő modul (3) légpárnás csúszda (4) hagyományos csúszda (5)
6
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
3. ábra A Tesztelő állomás Klasszikus vizsgálható jellemzők:
jelenlét vizsgálata munkadarab azonosítása alak vizsgálata méret vizsgálata szín vizsgálata tömeg vizsgálata munkadarab orientációjának vizsgálata A Tesztelő állomás feladatai:
munkadarab anyagjellemzőinek megállapítása munkadarab magasságának ellenőrzése munkadarab elkülönítése vagy a következő állomásra továbbítása 2.2.1. AZ ÁLLOMÁS MŰKÖDÉSE Az állomásra érkező munkadarab egy kis tálcára kerül, ahol a felismerő modul (1) megállapítja az anyagtulajdonságait. Ezután egy emelő berendezés (2) felemeli a tálcát a munkadarabbal együtt és a mérőmodul (3) megállapítja a munkadarab magasságát. A megfelelő minősítésű munkadarabokat egy munkahenger a felső légpárnás csúszdára (4) továbbítja, míg a hibásokat az alsó hagyományos csúszdára (5) szortírozza.
7
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
2.2.2. AZONOSÍTÓ MODUL Az Adagoló állomásról érkező munkadarabok egy fém tálcára kerülnek. A tálca úgy van kialakítva, hogy az aljából 3 fül van rézsűsen kihajtva, amelyek segítik a munkadarab pontos pozícióba érkezését. A modul megállapítja a tálcájára helyezett munkadarab tulajdonságait. Két (megfelelően megválasztott és kalibrált) digitális kimenetű közelítés kapcsoló segítségével megvalósítható egy anyag-, és színfelismerő rendszer. A közelítés kapcsoló ennél a modulnál egy kapacitív és egy tárgyreflexiós optikai szenzor kombinációja. A kapacitív szenzor bármely munkadarab jelenlétét észleli, így ha jelet ad, akkor bizonyosan munkadarab érkezett az állomásra. Az optikai szenzor kapcsolási küszöbértéke úgy van beállítva, hogy a fényes felületű piros/fém munkadarabokat észlelje, de a feketékre ne adjon jelet. A szenzorok kimenő jeleit logikai kapcsolatba állítva megkülönböztethetők a fekete és a piros/fém munkadarabok. Ennek a mérésnél lesz jelentősége, mert a fekete munkadarabok 2,5 mm-rel alacsonyabbak, mint a többi. 2.2.3. EMELŐ MODUL Az emelő modul emeli fel a munkadarabokat az azonosító modultól a mérő modulhoz. Azelőtt, hogy ezt megtenné, egy tükörreflexiós optikai szenzor (3. ábra, a) ellenőrzi, hogy szabad-e a munkatér a tálca fölött. Abban az esetben, ha valami hiba folytán az Adagoló állomás átrakó karja (2. ábra, 2) bent ragadna a munkatérben, akkor nem szabad az emelést végrehajtani. Az egység aktuátorként egy függőleges helyzetű kettősműködésű dugattyúrúd nélküli munkahengert és egy vízszintes helyzetű szintén kettősműködésű kitolóhengert használ. A hengerek véghelyzetének érzékelését mágneses közelítés kapcsolók végzik.
4. ábra Az emelő munkahenger szerkezeti felépítése [3] Az emelő henger (4. ábra) egy lineáris hajtómű, amely három fő elemből áll. Nevezetesen a hengertestből (4. ábra, 1), a permanens mágnest (4) tartalmazó dugattyúból (3) és egy másik állandó mágnessel (5) egybeépített furatos hasábból (2), amely a hengertest palástján csúszik. A henger külső palástján csúszó furatos hasáb lényegében egy körvezetéken csúszó szánként fogható fel, ezért a továbbiakban így hivatkozok rájuk. A két permanens mágnes között ébredő mágneses erőhatás összekapcsolja a dugattyút és a szánt, így ha a dugattyút elmozdítja a levegőáram, akkor az vonszolja magával a másik elemet is. A hasáb az egyik oldalán furatokkal van ellátva, így lehet hozzákapcsolni a mozgatott terhet, amely jelen esetben a tálca a munkadarabbal. A felhasználás során figyelni kell arra, hogy a mozgatott tömeg tehetetlenségéből adódó erő nem lehet nagyobb a mágnesek között fellépő 8
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
erőhatásnál, mert akkor megszűnne a dugattyú és szán közötti kapcsolat. Ha ez mégis megtörténne például egy emelés közben, akkor a mozgatott teher visszazuhanna. Az emelőhenger egy H-profilú zártszelvényből készült függőleges oszlopra van szerelve. A felépítményt biztosítani kell a tengelye körüli elfordulás ellen. Ezt úgy oldják meg, hogy egy műanyag vezetőbetét a H-profil egyik nútjában siklik. A henger nem csak a véghelyzeteiben, hanem bármely köztes pozícióban is megállítható. Az emelőhenger löketvégi csillapítását a felső véghelyzetben egy külső csillapító elem biztosítja (3. ábra, a). A henger vezérlését két 3/2-es monostabil szelep és két vezérelt visszacsapó szelep végzi. A vezérelt visszacsapó szelep záró irányban is képes átengedni a levegőáramot, ha vezérlőjelet kap. A henger egyik kamrájára kapcsolt nyomás vezérli a másik oldali visszacsapó szelepet is. Ennek eredményeként, ha egyik oldalról sem kap vezérlőnyomást a henger (és így a visszacsapó szelepek sem), akkor a henger egyik kamrájából sem tud távozni a levegő, tehát a dugattyú nyugalomban marad. A kitoló henger végére egy prizmás kialakítású műanyag fej van szerelve. A prizmás fej és a tálca oldalfalai segítségével biztosítható a munkadarab egyenes haladása, miközben a munkadarab átbukik az útjában álló rézsűs fülön. A kitolóhenger vezérlését egy 5/2-es monostabil főszelep végzi. A hengerek sebességszabályozása fojtó-visszacsapó szelepekkel fokozatmentesen elvégezhető. A pneumatikus és elektronikus vezetékek egy rugalmas kábelcsatornában haladnak. 2.2.4. MÉRŐ MODUL A mérő modul legfőbb eleme egy analóg szenzor, amely a munkadarab magasságát ellenőrzi. A működési elve egy feszültségosztóra épül, amelyben az egyik ellenállás egy lineáris potenciométer, amely az elmozdulás függvényében változtatja az ellenállását. A feszültségosztó kimenete összehasonlításra kerül egy előre beállított határértékkel (minimális magasság, maximális magasság), majd a komparálás eredménye megjelenik egy digitális kimeneten. Itt van jelentősége az előző modul által elvégzett színfelismerésnek, hiszen az eltérő színű munkadarabok más névleges mérettel készülnek, emiatt a mérési eredmény kiértékelésekor ezt figyelembe kell venni. 2.2.5. LÉGPÁRNÁS ÉS HAGYOMÁNYOS CSÚSZDA A csúszda rendszerbe építésekor betöltheti egy részállomás szerepét, de akár végállomásként is funkcionálhat. Míg az első esetben a munkadarabok áthaladnak rajta, addig a második esetben a csúszda végén meg kell állítani a munkadarabokat egy mechanikus torlasszal. Ekkor maximálisan 5 munkadarab fér el a csúszdán. Attól függően, hogy milyen célra szeretnénk használni a modult, annak megfelelően kell beállítani a csúszda végén található torlaszt. A légpárnás csúszda a munkadarabok szállítására szolgál, mégpedig úgy, hogy közben lehetővé teszi a munkadarab és a csúszda közötti súrlódás minimális értékre csökkentését. Ezt úgy éri el, hogy a csúszda felületén apró furatok sorakoznak a csúszda teljes hosszán (3. ábra, c), amelyekből sűrített levegő áramlik a szállítás ideje alatt. A levegő eltávolítja a csúszda felületétől a munkadarabokat, ezáltal csökkenti a fellépő súrlódó erőt. A csúszda dőlésszöge fokozatmentesen állítható egy csavaros rögzítés feloldása után. A dőlésszög befolyásolja a leérkező munkadarab sebességét, ezért beállítása során 9
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
figyelembe kell venni a következőket. Ha túl kicsi a dőlésszög, akkor sokáig tart a munkadarab A-ból B-be jutása, ez növeli a mellékidőket és ezáltal a költségeket is. Ha viszont túl nagy a dőlésszög, akkor olyan nagy sebességgel érkezhet meg a munkadarab a célállomásra, hogy az esetleg nem áll meg a kívánt pozícióban, vagy elborul, ami egy kezelhetetlen helyzet elé állítja a rendszert.
2.3. MEGMUNKÁLÓ ÁLLOMÁS A megmunkálás egy gyűjtőfogalom, amelybe beletartozik az alakadás, az alakváltoztatás, a forgácsolás és az egyesítés. Az alakadás geometriailag határozott testek létrehozása alaktalan anyagból, ilyen például az öntés. Az alakváltoztatás a test méreteinek és/vagy alakjának megváltoztatása, például képlékenyalakítások. A forgácsolás a felesleges anyagrészek forgácsként történő leválasztása, például esztergálás, marás, fúrás. Az egyesítés több test tartós egyesítése, például hegesztés. [4] A Megmunkáló állomás egy furat elkészítésén keresztül demonstrálja a gyártósori megmunkálást.
5. ábra A Megmunkáló állomás A Megmunkáló állomás (5. ábra) részei:
körasztal modul (1) pozíció ellenőrző modul (2) rögzítő modul (3) fúró modul (4) kilökő modul (5)
10
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
A Megmunkáló állomás feladatai: munkadarab jellemzőinek ellenőrzése (furat megléte, munkadarab orientáltsága) munkadarab megmunkálása munkadarab továbbítása a következő állomásra 2.3.1. AZ ÁLLOMÁS MŰKÖDÉSE A fúrógép egy furatot készít az állomásra érkező munkadarabba. Fontos, hogy a darabban lévő üreg nyílása felfelé nézzen. Ez egy gyors orientáció ellenőrző vizsgálattal könnyen ellenőrizhető. Amennyiben a munkadarab állása megfelelő, akkor az állomás végrehajtja a megmunkálás, majd továbbítja a darabot következő állomásra. Ellenkező esetben megmunkálás nélkül kerül továbbításra a munkadarab. 2.3.2. KÖRASZTAL MODUL Az asztalon hat, sugár irányban félig nyitott fészek van kimunkálva. Minden fészekben egy-egy munkadarab tárolható, alattuk furatok vannak, amelyek keresztül egy kapacitív szenzor le tudja kérdezni, hogy van e munkadarab az adott helyen. A körasztal egyik kitüntetett helye az állomás fogadó pozíciója, vele szemben van a leadó pozíció. A körasztalt egy egyenáramú DC motor hajtja. A motorra egy csiga-csigakerekes hajtómű van ráépítve, melynek i=78:1 áttétele és kb. 13 min-1 kimenő fordulatszáma van. A kihajtó tengely és az asztal között egy íves retesszel oldják meg a nyomatékátvitelt. Az asztalt 6 diszkrét pozícióban szükségszerű megállítani, a pozícionálásért egy relés kapcsolás felelős. Az asztal alján a hat pozícióhoz tartozóan egy-egy csavar található, amelyeket egy induktív közelítés kapcsoló figyel. Amikor a szenzor érzékel egy csavart, akkor jelet ad és a relés kapcsolás leállítja az asztal hajtását. A körasztal és a rajta lévő munkadarabok súlyerejét, valamint a megmunkálásból származó erőket három darab egysoros mélyhornyú golyóscsapágy veszi fel oly módon, hogy a csapágyak forgástengelye vízszintes és az asztal alsó lapja a csapágyak külső gyűrűjén támaszkodik. Ezt a megoldást a hajtó mechanika tengelyirányú terhelésének csökkentése miatt alkalmazzák. Ugyan ennél a rendszernél még kicsiny erőkről beszélhetünk, azonban egy nagyságrendekkel nagyobb rendszer esetén a szerkezeti elemek tömegéből és a megmunkálásokból származó erők már megkövetelik ennek a szempontnak a figyelembevételét.
2.3.3. POZÍCIÓ ELLENŐRZŐ MODUL A pozíció ellenőrző modul a körasztal fészkeibe behelyezett munkadarabok orientációjának helyességét ellenőrzi. Az szerkezet egy tisztán villamos működtetésű lineáris aktuátor. A tengelye egyik végére egy csap, a másik végére egy tárcsa van szerelve. A megfelelően orientált munkadarab furata felfelé mutat, ekkor a vizsgáló csap bele tud csúszni a furatba. Amikor a szerkezet elér a véghelyzetébe, akkor a modul tetejére szerelt kapacitív közelítés kapcsoló érzékeli a tárcsát és jelet ad. Ha meghatározott időn belül nem érkezik jel az aktuátor véghelyzeti jeladójától, akkor a vezérlés úgy ítéli meg, hogy a munkadarab nem megfelelően van behelyezve a fészekbe. Ez esetben a munkadarab selejt minősítést kap és a továbbiakban nem kell megmunkálni.
11
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
2.3.4. RÖGZÍTŐ MODUL A rögzítő modul felépítésében megegyezik pozíció ellenőrző aktuátorral, de a rendeltetése eltérő. Működése során a megmunkálási pozícióba érkező munkadarabot oldalirányból nekiszorítja a körasztalban lévő fészek belső falának. Ez a mozdulat szimbolizálja a darab megmunkálás előtti megfogását. A szorítás párhuzamosan zajlik a munkadarab pozíciójának vizsgálatával, azonban a két modul nem ugyanazon a munkadarabon dolgozik egyidejűleg. Miután a megmunkálás megtörtént, az aktuátor visszatér az alaphelyzetébe. 2.3.5. FÚRÓ MODUL A fúró modul egy furat kifúrását szimulálja. A modul fő elemei a kisméretű marok fúrógép és az előtoló egység. A fúrót egy 24 V-os egyenáramú motor hajtja, melynek fordulatszáma kb. 12000 min-1. Tokmányába befogható egy megmunkáló szerszám, ami lehet fúró, polírozó fej, stb..
6. ábra A fúró modul lineáris hajtóműve [5] Az előtoló egység egy függőleges helyzetű elektromechanikus hajtómű (6. ábra), amely egy fogasszíj hajtásra épül, továbbá rendelkezik egy görgős vezetékkel és egy azon mozgó szánszerkezettel is. Az egységet egy max. 3000 min-1 fordulatszámú egyenáramú motor hajtja. Az aktuátor házának (6. ábra, 1) két végébe egy-egy csapágyazási hely van kialakítva a két fogazott szíjtárcsának (2). A ház belsejében egy olyan furat is kimunkálásra került, amelyben egy dugattyú (4) mozoghat az egység hossztengelye mentén. A fogasszíj (3) nem végtelenített, végei a dugattyú két oldalára vannak rögzítve. A hengerben mozgó dugattyú egy vonóelem (6) segítségével mozgatja a szánt. A henger az egyik oldala mentén fel van hasítva és egy rugalmas fém szalaggal le van tömítve. A dugattyú egy rászerelt tuskót (5) hordoz magával, amely kidomborítja a fém szalagot az érintkezés szakaszán és beékelődik a vonóelem alá. Amikor a villanymotor meghajtja az egyik szíjtárcsát, a szíj mozgatja a dugattyút, amely vonszolja magával a vonóelemet és így hozzá kapcsolt szánt is. A fúróberendezést tartó konzol a szánra van rögzítve. A hajtás forgásirányát a fúró fel-le mozgásának aktuális iránya határozza meg, vezérléséért egy relés kapcsolás felel. A löketek véghelyzetét két darab, görgős fejjel ellátott mikrokapcsoló érzékeli, ezek mozgatásával állítható a löket hossza.
12
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
2.3.6. KILÖKŐ MODUL A kilökő modul feladata a már megvizsgált és/vagy megmunkált munkadarab továbbítása a körasztal fészkéből a rakodó állomás fogadási helyére. A kilökő egység egy elektromos működtetésű forgató mágnestekercs. A ráadott 24 V-os egyenfeszültség hatására a tekercs 45°-os szögtartományban képes elfordítani a rá szerelt kart. Ezzel a forgó mozgással eltávolítja a munkadarabot a fészekből, majd miután megszűnik a tápellátása, a kilökő tengelyét egy spirálrugó téríti vissza az alaphelyzetébe.
2.4. RAKODÓ ÁLLOMÁS A rakodás az anyagmozgatás egyik művelete. További részei még a szállítás és tárolás. A VDI 2860-as irányelv szerint a rakodás az a tevékenység, amely geometriailag határozott testek meghatározott térbeli elhelyezkedését kialakítja, célszerűen megváltoztatja vagy átmenetileg megtartja. [6]
7. ábra A Rakodó állomás A Rakodó állomás (7. ábra) részei: fogadó modul (1) átrakó modul (2) csúszda modul (3) 13
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
A Rakodó állomás feladatai:
a munkadarabok fogadása a felvevő helyen a munkadarabok anyagjellemzőinek megállapítása a MEGFELELŐ munkadarabok átadása a következő állomásnak a SELEJT munkadarabok selejt csúszdákra helyezése
2.4.1. AZ ÁLLOMÁS MŰKÖDÉSE A Rakodó állomás fogadó pozíciójába (7. ábra, 1) érkező munkadarabot egy optikai szenzor érzékeli (a). A rakodást egy PicAlfa (2) nevű, nagymértékben testre szabható rakodó eszköz végzi. A modul rendelkezik egy mechanikus megfogóval (5). Ennek segítségével felveszi a munkadarabot, majd attól függően, hogy az előző állomástól milyen információkat kapott a darabról, átrakja azt a következő állomás fogadási pozíciójába, vagy a selejtcsúszdák egyikére (3). 2.4.2. FOGADÓ MODUL A munkadarab fogadásért felelős modul a Megmunkáló állomás mellé van telepítve. Ez egy függőleges oszlopra épített U-alakú fészekkel rendelkező tároló elem. A megmunkáló állomásról távozó darabok ide kerülnek, attól függetlenül, hogy az előző állomás tesztelésekor milyen minősítést kaptak. A munkadarab jelenlétét egy tárgyreflexiós optikai szenzor (7. ábra, a) érzékeli, amely látható vörös fénnyel dolgozik. 2.4.3. ÁTRAKÓ MODUL A Rakodó modul hasonló felépítésű, mint az ipari rakodó berendezések. A berendezés mozgásai pozícionáló és emelő mozgásokra bonthatók. A mozgásokat két egymásra merőlegesen elhelyezett kettős működésű pneumatikus munkahenger biztosítja. A modul egy függőleges helyzetű H-profilra csavarozott elforgatható alaplapra van építve. A hengerek véghelyzetét Reed-relék jelzik. A pozícionáló henger egy dugattyúrúd nélküli lineáris munkahenger (7. ábra, 2), amely hasított kivitelű. A munkahengeren található egy görgős vezeték és egy szánszerkezet is. A szánba mindkét oldalon egy-egy pneumatikus csillapító elem van beépítve (b), amelyek a löketvégi csillapításért felelősek. A munkahenger vezérlését egy 5/3-as mindkét oldalról elővezérelt főszelep végzi, amely lehetővé teszi a mozgatott teher bármely köztes pontban történő megállítását. Ezen pontok kijelölésére szintén mágnes kapcsolók használatosak. A végálláskapcsolók mozgatásával változtatható a henger lökete. Az aktuátorok sebességét fojtóvisszacsapó szelepekkel lehet szabályozni. Az emelőhenger (4) egy másik elforgatható alaplap segítségével elforgatható, mely a pozícionáló henger szánján került elhelyezésre, így a függőlegessel szöget bezáró irányban is tud emelni. Ez nagyon praktikus lenne egy ferde helyzetű furatba való benyúláskor. Vezérlését egy 5/2-es monostabil főszelep végzi. Az emelőhenger végére egy pneumatikus működtetésű megfogó szerkezet (5) van szerelve. A megfogó pofáit sűrített levegő mozgatja, működtetését egy 5/2-es monostabil főszelep végzi. A megfogóba egy optikai tárgyreflexiós szenzor került beépítésre, amely meg tudja állapítani a megfogó pofái között lévő munkadarab színét. Ezután felemeli a
14
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
munkadarabot, majd az előző állomás pozíció ellenőrző moduljától kapott minősítéstől és a színtől függően, átrakja a munkadarabot a szortírozó állomás fogadási pontjára vagy a selejtcsúszdák egyikére. A modul rendkívüli rugalmassága miatt sokféle rakodási feladatot tud ellátni segédberendezések nélkül is. 2.4.4. CSÚSZDA MODUL A rakodó állomásnál alkalmazott csúszdák a munkadarabok szállítására vagy tárolására használhatók, a jelenlegi összeállításban a csúszdák tároló szerepet töltenek be és 5-5 munkadarab tárolható rajtuk. A dőlésszögük fokozatmentesen állítható egy csavar fellazítása után. A csúszdák alsó végeinél torlaszoló elemek vannak felszerelve, amelyek szállító üzem esetén 180°-kal elfogathatók, így biztosítva a darabok szabad áthaladását. A FESTO koncepciója alapján a PicAlfa modul a színük alapján válogatva külön csúszdára ejtené a piros/fém és a fekete színű selejtes munkadarabokat. A felvevő pozícióhoz közelebbi csúszdán a fekete, a távolabbikon a piros/fém színű, furattal lefelé álló munkadarabok sorakoznának. Azonban az állomás jelenleg csak egy csúszdát használ, mert az átrakó hengerre csak egy olyan jeladó van felszerelve, amely alkalmas a csúszdák helyzetének kijelölésére. Továbbá a kiszolgáló robot is csak az egyik csúszda pozícióját ismeri a Rakodónál, emiatt az állomás a Szortírozó felőli csúszdára gyűjti a darabokat.
2.5. SZORTÍROZÓ ÁLLOMÁS A szortírozás egy folyamat, amely során egy inhomogén halmaz elemeit valamely tulajdonságuk alapján szétválogatjuk. A válogatás különféle szempontok szerint történhet, lehet ez méret, tömeg, szín, stb.. A szortírozás során a munkadarabok egy szalagon haladnak egymás után egyesével, amelyen leágazások vannak kialakítva. A szortírozás tárgyát képező szempontok szerint különféle terelőkarok fordulnak a darabok útjába, így leterelve azokat a szalagról. Lényeges, hogy a darabok egymás után haladjanak, mert különben a feltorlódott munkadarabok akadályozhatják a karok megfelelő kapcsolását. [7] Jelen esetben a szortírozás a munkadarabok színe és anyagminősége szerint történik. Az Szortírozó állomás (8. ábra) részei: szortírozó szalag modul (1) csúszda modul (2) Az állomás feladata: a munkadarabok anyagminőség és szín szerinti szortírozása 2.5.1. AZ ÁLLOMÁS MŰKÖDÉSE A szalagra (8. ábra, 1) kerülő munkadarabokat egy optikai szenzor (8. ábra, a) érzékeli, aminek a jelére elindul a szalag. A munkadarabot egy stophenger (d) rögzíti, míg az azonosító szenzorok (b,c) megállapítják az anyagtulajdonságait. A vezérlés a kiértékelés eredményének megfelelően az egyik terelőkart (e) a munkadarab útjába fordítja, majd rávezeti a darabot a saját csúszdájára (2).
15
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
8. ábra A Szortírozó állomás 2.5.2. SZORTÍROZÓ SZALAG MODUL A szortírozó szalag felelős a munkadarabok szállításáért és leválogatásáért. A szalag hajtását egy egyenáramú motor végzi. A modulhoz érkező munkadarabot egy tárgyreflexiós optikai érzékelő (8. ábra, a) észleli, majd a kimenő jelére a vezérlő elindítja a szalag hajtását. A szenzor úgy van bekalibrálva, hogy bármilyen színű munkadarabot észleljen. A szalag elejére további érzékelők is vannak telepítve, amelyek feladata a munkadarabok azonosítása. Az egyik érzékelő egy tárgyreflexiós optikai szenzor (b), amely megkülönbözteti a fekete és „nem fekete” alkatrészeket. A másik egy indukciós szenzor (c), amely a fém munkadaraboknál ad jelet. A két érzékelő jelét logikai kapcsolatba állítva meghatározható a munkadarab fajtája. Az azonosítás idejére egy pneumatikus működtetésű stophenger (d) tartja a munkadarabot ez érzékelők előtt. Ez egy egyszeres működésű, rugó által alaphelyzetében tartott rövidlöketű pneumatikus munkahenger. A dugattyúrúd végében lévő menetes furatba egy belső kulcsnyílású csavar van becsavarva, amely megtoldja az egyébként rövid dugattyúrudat. Miután megtörtént a darab anyagtulajdonságainak megállapítása, a stophenger alaphelyzetbe áll, a terelőkarok (e) a megfelelő pozícióba fordulnak és a munkadarab útja meghatározottá válik a saját csúszdája felé. A stophenger vezérléséért egy 3/2-es monostabil, alaphelyzetben nyitott főszelep felelős. Ez a szelep tulajdonképpen egy 5/2-es útszelep, de az egyik kimenő csatornája le van dugózva. A terelőkarok mozgatását kettősműködésű pneumatikus munkahengerek végzik egy nagy menetemelkedésű orsó-anya kapcsolat révén. Így a hengerek egyenes vonalú alternáló mozgásából, korlátozott szögelfordulású forgó mozgás lesz. Amennyiben a szalagon utazó munkadarabnak az utolsó csúszdára kell érkeznie, akkor a szalag végén elhelyezett köríves véghatároló (f) vezeti le a munkadarabot a szalagról. A 16
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
véghatároló elem és a terelőkarok a mozgató mechanizmusukkal beállítás céljából tetszőlegesen elcsúsztathatók a szalag hossza mentén futó sínben. Elmozdulás ellen csavaros szorítóelemekkel vannak biztosítva. 2.5.3. CSÚSZDA MODUL A csúszdák tároló szerepet töltenek be és mindegyiken 5 munkadarab tárolható. A felvevő pozícióhoz legközelebbi csúszdától haladva egymás után sorakoznak a piros, a fekete és a legtávolabbi csúszdán a fém színű munkadarabok. A csúszdák dőlésszöge fokozatmentesen állítható egy csavar fellazítása után. A csúszdák alsó végeinél torlaszoló elemek vannak felszerelve. A szalagot elhagyó munkadarabokat egy tükörreflexiós optikai szenzor (g) figyeli. Amikor a munkadarab lecsúszik bármelyik csúszdán, megszakítja a szenzor által kibocsájtott fénynyalábot és a szenzor jelet ad. A szalagon várakozó következő darabot akkor engedheti el a stophenger, amikor az előző munkadarab már valamelyik csúszdán van. Az érzékelő jelének esetleges folyamatos fennállása valamelyik csúszda telítődésére is utalhat.
2.6. MAGASRAKTÁR Az üzemi körülmények között folytatott gyártás során az alapanyagokat és előgyártmányokat egy központi raktárból szállítják a gyártósorra, majd az elkészült munkadarabokat visszaszállítják a raktár egy másik részére. A termékek tárolásához hatalmas állványzatokat és polcrendszereket építenek, amelyeken statikus és dinamikus tárolást valósíthatnak meg. A dinamikus állványos tárolásnál az áru elhelyezéséről és kezeléséről egy olyan anyagmozgató berendezés gondoskodik, amely a raktár szerves részét képezi. A magasraktárakra nagyfokú automatizáltság jellemző. A raktározás lehetősége az MPS rendszerben is elérhető. Az előgyártmányok a Magasraktárból érkeznek az adagoló állomásra, majd az elkészült munkadarabok a szortírozás után a Magasraktárba kerülnek vissza. A Magasraktár (9. ábra) részei: állvány a polcrendszerrel (1) villás kiszolgálóegység (2) paletták (3) 2.6.1. AZ ÁLLOMÁS MŰKÖDÉSE Az állomás a gyártósor igényeinek megfelelően előgyártmányt bocsájt a manipulátor rendelkezésére, vagy elraktározza a már megmunkált alkatrészeket. A palettákat (3) a saját kiszolgáló egysége (2) segítségével az állomás kiadó pozíciójába juttatja, majd onnan visszarakja a polcokra (1).
17
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
9. ábra A Magasraktár 2.6.2. ÁLLVÁNY ÉS POLCRENDSZER Az állványzat alapját négy darab alumíniumból készült H-profilú oszlop alkotja. Ezeket négy szinten vízszintes helyzetű profilok kapcsolják össze, amelyek így polcként funkcionálnak. Polconként három palettát lehet elhelyezni az állványon. A polcok minden tároló pozíciójába két tájoló csap van beépítve. A paletták alján két darab kúpos bevezetésű furat van, amely az előbb említett csapokkal a pontos tájolást segít megvalósítani. Palettánként négy munkadarab tárolható, melyekhez csak azután lehet hozzáférni, ha a darabot tartalmazó palettát a villás kiszolgálóegység kiemelte a helyéről. 2.6.3. VILLÁS KISZOLGÁLÓEGYSÉG A kiszolgálóegység központi eleme a villás megfogó szerkezet, melynek működése hasonló a villástargoncák villájának működéséhez. A paletták kialakítása és elhelyezése a polcon olyan, hogy a megfogó alá tudjon nyúlni és ki tudja emelni a helyéről. A kiszolgálóegység három lineáris mozgás egymásra szuperponálásával egy 3D pozícionáló rendszert valósít meg. Azért, hogy egyértelműen tudjak utalni a mozgások irányára, ezért bevezetek egy Descartes-féle derékszögű koordinátarendszert. Az X tengely a hosszirányú elmozdulás irányába mutat, az Y a mélyítő irányú mozgás, a Z az emelőmozgás iránya, és a kapott koordinátarendszer jobbsodrású. Elsőrendű mozgás a Z, a másodrendű az X, a harmadrendű az Y tengely irányába mutat, továbbá a mozgásokat a munkadarab végzi. Ezek alapján a magasraktár struktúráját akár így is írhatnám: . A Z irányú pozícionálást egy fogasszíj hajtású lineáris egység (a) teszi lehetővé, amelyből az állvány mindkét oldalára fel van szerelve egy-egy. Az egység két körvezetékből és egy azon elmozduló szánból áll. A mozgatást egy egyenáramú léptetőmotor (b) végzi, 18
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
amely az egyik fogazott szíjtárcsát hajtja, így a forgásiránytól függően emeli vagy süllyeszti a szánt és a rászerelt felépítményt. A befeszülés elkerülése érdekében a két lineáris egységnek szinkronban kell mozognia, ezért a két egység hajtott szíjtárcsája egy hosszú tengellyel össze van kapcsolva. Az egység véghelyzet érzékeléséért két indukciós közelítéskapcsoló felel, amelyeket a szánra alulra és felülre szerelt lemez elem hoz működésbe. Az X és Y irányú mozgásokat hasított kivitelű kettősműködésű dugattyúrúd nélküli pneumatikus munkahengerek állítják elő. Mindkét munkahenger rendelkezik egy görgős vezetékkel és a rá épített szánszerkezettel. Sebességszabályzásuk fojtóvisszacsapó szelepekkel valósítható meg. A szánok löketvégi csillapításáról pneumatikus illetve gumidugós csillapító elemek gondoskodnak. A munkahengerek véghelyzet jeladói Reedrelék, amelyeket a hengerek dugattyúiban lévő permanens mágnesek működtetnek. A másodrendű henger a lineáris egységen került elhelyezésre, míg a harmadrendű munkahenger az előző szánjára van rögzítve. Az X irányú pozícionálásnál a löket közepén is meg kell tudni állnia a villás egységnek, ezért a pontosság érdekében ütköztetni kell a szánt egy pneumatikusan működtetett ütközőnek (c). A villás egység oldalán egy pneumatikus munkahenger (d) található, amely rögzíti a palettát, mielőtt a kiszolgáló kiemelné a helyéről.
2.7. MANIPULÁCIÓS ROBOT A gyártósor és a raktár közti anyagmozgató műveleteket egy manipulációs robot hajtja végre. A Robot egy szervotranszporterre van építve, amely segítségével el tud jutni a sor elején található Adagoló állomáshoz és a sor végén levő Szortírozó állomáshoz is.
10. ábra A Robot
19
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
A manipulációs Robot (10. ábra) részei: szervotranszporter (1) robotkar (2) pneumatikus megfogó (3) 2.7.1. AZ ÁLLOMÁS MŰKÖDÉSE Az MPS rendszer indításakor a robot parancsot kap az Adagoló állomás előgyártmánnyal való ellátására. Ekkor a szervotranszporter (1) segítségével a Magasraktárhoz pozícionál, az állomás kiadó pozíciójában lévő palettáról a megfogója (3) segítségével elvesz egy munkadarabot, majd az Adagoló állomás magazinjába helyezi azt. Amikor a munkadarab elkészült, a robot átpozícionál a Szortírozó állomáshoz, felveszi a munkadarabot, visszamegy a raktárhoz és visszarakja a darabot a palettára. 2.7.2. SZERVOTRANSZPORTER A szervotranszporter egy pneumatikus működtetésű pozícionáló rendszer, amely lineáris mozgást tesz lehetővé. A mozgatásért két dugattyúrúd nélküli kettősműködésű munkahenger (10. ábra, a) felelős, amelyek egy-egy görgős vezetékkel és szánszerkezettel rendelkeznek.
11. ábra A szervotranszporter munkahengere [8] A munkahengerben mozgó dugattyú (11. ábra, 4) egy vonóelem (6) segítségével mozgatja a szánt. A henger háza (1) az egyik oldala mentén fel van hasítva és két rugalmas szalaggal le van tömítve. A belső tömítés (3) gumiból készül, ennek feladata a kamra légmentes lezárása. A külső tömítés (2) egy fém szalag. A dugattyú egy tuskót (5) vonszol magával, amely kidomborítja a fém szalagot az érintkezés szakaszán és beékelődik a vonóelem alá. Ezáltal ha a dugattyút elmozdítja a sűrített levegő, akkor az vonszolja magával a vonóelemet és így hozzá kapcsolt szánt is. A munkahenger vezérlése a táplevegő rövid szakaszos adagolásával történik, mert így sokkal pontosabb pozícionálás érhető el, mint a folyamatos kamrafeltöltéssel. A hengerek löketvégi csillapítását külső pneumatikus csillapító elemek végzik. Az egység tartozéka egy FESTO MLO-POT-1250-TLF típusú abszolút útmérő rendszer (10. ábra, b), amely 1250 mm hosszon 0,01 mm pontossággal képes analóg módon elmozdulást mérni. A megnevezésben szereplő POT jel arra utal, hogy az útmérő alapeleme
20
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
egy potencióméterből kialakított feszültségosztó. Ezt az útmérőt a FESTO kifejezetten a szervopneumatikus rendszerekhez fejlesztette ki. 2.7.3. ROBOT ÉS A PNEUMATIKUS MEGFOGÓ Az MPS rendszerben alkalmazott robotkar egy Mitsubishi gyártmányú RV-2SDB típusú ipari manipulátor. A robot egy alumínium profillapra van szerelve, amelyben rögzítő csavarok számára kialakított T-hornyok futnak végig. A profillapot csavarkötés rögzíti a szervotranszporter szánszerkezetére. A robot soros kinematikájú, azaz több mozgás egymásra szuperponálásával juttatja el a programozott pontját a kívánt helyre. Összesen 6 tengely körüli forgómozgásra képes és közelítőleg egy gömb alakú térrészt tud kiszolgálni. Ennek a gömbnek a maximális sugara 504 mm. A 12. ábra látható a manipulátor felépítése és a forgásirányok jelölése a csuklópontoknál. Tengelyenként eltérő nagyságú szögtartományban képesek elfordulni a kar egyes részei, de a legkisebb érték is ±120°. A forgó tengelyek hajtása AC szervomotorokkal történik. A robotkarnak az emelt terhet egy helyben is meg kell tudnia tartani, tehát tartónyomatékra van szüksége. Ennél a modellnél minden tengely saját fékberendezéssel rendelkezik. A kar maximális terhelhetősége 3 kg, azonban ez csak nagyon rövid távolságra kinyújtott állapotban engedélyezett. A 13. ábra látható nomogramból kiolvasható a megengedett terhelés nagysága a J5 nevű forgástengelytől mért távolság függvényében. A pozícionáláshoz szükséges visszacsatolást egy abszolút útmérő rendszer biztosítja, a pozícionáló rendszer ismétlési pontossága 0,02 mm.
12. ábra A robot tengelyei [9]
13. ábra A robot terhelhetősége a távolság függvényében [9]
A robotkar mozgása programozható, a koordinátarendszerben történhet, amelyek a következők:
programozás
3
különböző
Descartes-féle derékszögű koordinátarendszer, melynek az origója a robot talpához van rögzítve Descartes-féle derékszögű koordinátarendszer, melynek az origója a szerszámhoz van rögzítve Henger koordinátarendszer, melynek az origója a robot talpához van rögzítve.
21
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
A robotkar szerszámtartójához egy mechanikus interfészen keresztül csatlakozik egy megfogó szerkezet, amely kétpofás kialakítású és pneumatikus energiával működik. A pofák ívelt kialakításúak, így jól illeszkednek az MPS rendszerben használt kör alakú munkadarabokhoz.
22
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
3. KOMMUNIKÁCIÓS LEHETŐSÉGEK AZ MPS RENDSZERBEN Egy összetett rendszer működése során szükségessé válhat, hogy az állomások egymás között információkat tudjanak cserélni. Az egyik tipikus és talán legfontosabb jel az állomások foglaltságáról ad tájékoztatást. Az egymás után sorban elhelyezett állomások esetén az egyik állomás csak akkor adhatja át a munkadarabokat a következőnek, amikor ő maga elvégezte a feladatait és a célállomás is fogadni tudja a darabot.
3.1. FESTO – STATIONLINK
14. ábra A StationLink rendszer Az állomások közötti legalapvetőbb kommunikációs feladat a fogadóképesség jelzése egymás számára. Ezen kommunikáció lebonyolításához a FESTO egy StationLink (14. ábra) nevű megoldást alkalmaz. Ez lényegében két szomszédos állomás optikai fénysorompóval történő összekapcsolását jelenti. A gyakorlatban ez úgy van megvalósítva, hogy a kiinduló állomásra van építve a fénysorompó vevője (IP_FI), a célállomásra pedig az adója (IP_N_FO). Az adó folyamatosan megvilágítja a vevő érzékelőjét, ezzel jelezi a célállomás a kiinduló állomás számára, hogy fogadni tudja az érkező darabot. Amikor darab érkezik a célállomásra, akkor a vezérlő lekapcsolja az adót, így jelezi, hogy az állomás foglalt. Az Adagoló állomás a szűkebb értelemben vett MPS rendszer első tagja, így ő csak egy vevővel rendelkezik. A Szortírozó állomás az utolsó, ezért csak egy adóval rendelkezik. A köztes állomások az előző állomás felé jeleznek, a következőtől pedig fogadnak, így rendelkeznek egy adóval és egy vevővel is. [1] A Robot és a Magasraktár nem használja a StationLink rendszert.
3.2. ETHERNET Az Ethernet egy hálózati adatkommunikációs szabvány, amelyet az amerikai Xerox cég fejlesztett ki. Napjaink egyik nélkülözhetetlen technológiája, mely az internet alapját képezi. A protokoll működésének lényege az, hogy az adó a hálózaton küldött adatokat kisebb méretű csomagokra bontja, majd egymás után továbbítja őket, végül a vevő a csomagokból ismét előállítja az eredeti adatot. 23
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
A hálózaton az összes eszköz ugyanazt a csatornát használja a kommunikációhoz, így gondoskodni kell arról, hogy az egyes eszközök adásai ne zavarják egymást. A megoldást a versengésen alapuló adattovábbítás jelenti. Az Ethernet jeladói belehallgatnak a hálózatba, mielőtt adást kezdeményeznének. Ha más adást észlelnek, akkor véletlenszerű ideig várnak, majd újra próbálkoznak. Az Ethernet elrendezés ravasz módon egy átvitel közbeni ütközést vizsgáló tesztet is tartalmaz, így az átvitel kezdetén bekövetkező ütközés leállítja és rövid, véletlenszerűen megválasztott ideig várakoztatja az ütköző adók mindegyikét. Az egyidejű adások káros hatása így a lehető legkisebbre szorítható. Amennyiben a hálózat kiterjedése nem haladja meg az 1,5 kilométert, akkor az ütközések, tehát az egymással versengő adatátvitelek gyorsan felfedezhetők, és nem terhelik fölöslegesen a hálózatot. Nagyobb hálózatokban azonban ennek ellenére jelentősen megszaporodhatnak az ütközések. [10] Az MPS rendszerben található FESTO CPX PLC-k mindegyik rendelkezik hálózati modullal, így egy switch segítségével egy közös hálózatra fűzhetők. A helyi hálózat tagja még a Magasraktárt vezérlő PLC és a robotvezérlő is. Az Ethernet kommunikáció szoftveres megvalósításáról az 5.1.1 pontban lesz szó.
3.3. KOMMUNIKÁCIÓS FOLYAMATOK AZ MPS RENDSZERBEN Ebben a fejezetben az MPS rendszerben megfigyelhető kommunikációs folyamatokat fogom bemutatni. Az itt leírtak még nem tartalmazzák azokat az új protokollokat, amelyeket az általam készített vezérléssel vezettem be, azok tárgyalására a vezérlés ismertetésekor kerül sor. 3.3.1. ÁLLOMÁSOK KÖZÖTTI KOMMUNIKÁCIÓ Az MPS rendszer eredeti szoftverekkel vezérelt állomásai, egy kivételtől eltekintve, csak a StationLink rendszert használták az egymás közötti kommunikációhoz. Az említett kivétel a Megmunkáló és Rakodó állomás közötti kommunikáció során figyelhető meg. A Megmunkáló állomáson azonosított selejt darabokat a Rakodó állomás gyűjti a saját selejtcsúszdáira. Azért, hogy a Rakodó tudja, hogy mely munkadarabok kell leselejtezni, a Megmunkáló jelet ad a Rakodó állomásnak Etherneten keresztül. Ez egy egyirányú kommunikáció, a Rakodó nem jelez vissza semmit a Megmunkáló felé. 3.3.2. AZ ÁLLOMÁSOK ÉS A ROBOT KÖZÖTTI KOMMUNIKÁCIÓ Az állomások a saját PLC-ik kimenetén keresztül kommunikálnak a robotvezérlővel. Az új munkadarabok kérésekor, vagy az elszállításra váró darabok jelentésekor a vezérlők egy néhány tized másodpercig fenntartott jellel értesítik a Robotot a beavatkozás szükségességéről. Az új munkadarabok kérésekor az Adagoló állomás az azt vezérlő PLC egyik kimentén keresztül jelet ad a robotvezérlő egyik bementére, jelezve ezzel, hogy az átrakó kar egy munkadarabot elvett a magazinból. A Rakodó állomás az összegyűjtött, elszállításra váró selejt munkadarabok jelentéséhez a robotvezérlő egy másik bementére ad jelet. A Szortírozó állomás esetén három vonalon történik a kommunikáció, az állomás az elkészült munkadarab színétől függően a robotvezérlő más és más bementére ad jelet.
24
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
A Robot programja egy megszakításrutinban kezeli a robotvezérlő bementén kapott jeleket. A megjelenő jelek hatására a Robot programja megszakítja a futását és egészen a jel elengedéséig várakozik. Egy több másodpercig fenntartott jel esetén a mozgásban lévő Robot megáll egy helyben, mintha megfagyott volna. Az állomásoktól küldött jelzések időtartamának megválasztásakor ezt figyelembe kell venni. 3.3.3. A ROBOT ÉS A MAGASRAKTÁR KÖZÖTTI KOMMUNIKÁCIÓ Amikor az Adagoló állomás új munkadarabot kér a Robottól, akkor a Robot átpozícionál a Magasraktárhoz, majd a robotvezérlő Etherneten jelzi, hogy kér egy munkadarabot. Ekkor a Magasraktár véletlenszerűen kiválaszt egy palettát, amelyet a munkadarab kiadó pozíciójába szállít, majd Etherneten keresztül „megmondja” a Robotnak, hogy a paletta melyik fészkéből vegyen el egy darabot. A Rakodótól és Szortírozótól visszahozott darabok esetén a Robot ismét Etherneten jelzi a Magasraktárnak, hogy milyen színű munkadarabot hoz. A Rakodó állomás selejtcsúszdájáról származó darabok esetén a Robot csak annyit tud, hogy a darab selejt. A Magasraktár a kapott információnak megfelelően előkészít egy palettát, majd kijelöli a Robotnak, hogy pontosan melyik fészekbe rakhatja a nála lévő darabot. Ehhez a Magasraktár szintén az Ethernet kapcsolatot használja.
25
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
4. AZ MPS RENDSZER ÚJ VEZÉRLÉSÉNEK TERVEZÉSE A feladatom az volt, hogy tervezzek meg és készítsek el egy olyan vezérlést az MPS mintarendszerhez, amely koordinálja a korábban egymástól függetlenül dolgozó állomások munkáját, és lehetővé teszi a gyártósor irányítását egy kezelőpanelről. Munkám elkezdése előtt a vezérlőkön a FESTO szakemberei által feltöltött, illetve hallgatók által írt programok futottak. A dolgozat hátralévő részében bevezetek egy jelölésrendszert, amely segítségével le tudok rövidíteni bizonyos kifejezéseket, illetve konkretizálni is tudom a jelentésüket. A jelölésrendszer bemutatásához szándékosan használtam a Vészstop kifejezést, mert sok különböző jelentéssel fog előfordulni a későbbiekben. [Vészstop] – Vészstop üzemállapot Vészstop – Vészstop gomb a kezelőfelületen Vészstop – Vészstop parancs {P12 – Állomás – Vészstop}; röviden {Vészstop} – Egy program neve {CMP 12 – Állomás – Vészstop - EGYÉNI}; röviden {Vészstop} – Egy alprogram neve <STEP Start> – Lépés utasítás szerkezetű programban egy lépés címkéje `Valtozo` – Egy bit vagy egy gépi szó méretű változó
4.1. ELŐTERVEZÉSE 4.1.1. KÖVETELMÉNYEK ÉS CÉLOK Egy rendszer tervezésénél az első fázisban meg kell határozni a rendszerrel szemben támasztott követelményeket és elvárásokat. Ezután fel kell tárni a lehetséges megoldásváltozatokat, majd ki kell választani azt az egyet, amelyik a legoptimálisabb megoldása lehet a feladatnak. A követelmények a feladatkiírásban adottak voltak, ezeket kiegészítettem a saját ötleteimmel, így kialakultak az elvárások is. Nem érzem szükségesnek, hogy a továbbiakban különbséget tegyek a követelmények és elvárások között, mivel mindenféleképpen szeretném megvalósítani mindet. Ezek alapján a megvalósítandó cél egy olyan koncepció kidolgozása volt, amely tartalmazza az alábbi funkciókat:
a rendszer nyomógombbal történő indítása/leállítása üzemzavar esetén az elakadás helyének kijelzése a berendezés működését üzemállapot jelző lámpa jelezze termelékenység növelése optimalizálással és a mozgások sebességének növelésével fellépő hibák gyakoriságának minimalizálása folyamatos állapotfelügyelet WEB interfészen történő távoli vezérlés megvalósítása statisztikai jellegű mérések elvégzése munkadarabok nyomon követése felhasználóbarát kezelés 26
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
4.1.2. VEZÉRLÉSI STRUKTÚRA KIVÁLASZTÁSA Egyszerűbb berendezéseknél egyetlen vezérlő végzi a munkafolyamatok irányítását, és a felhasználóval való kapcsolattartást. Összetettebb rendszereknél szükséges lehet a rendszer részekre bontása. Ekkor a kisebb egységek önálló vezérlést kaphatnak, így egy-egy egységnek kevesebb feladattal kell foglalkozni. Egy olyan több állomásból álló rendszer esetén, mint az MPS, adja magát a lehetőség, hogy az egyes állomások vezérlési feladatait külön PLC lássa el. Ezt a megoldást alkalmazták az MPS rendszer eredeti összeállításában is, azonban ez önmagában még nem teszi lehetővé egy központi vezérlés megvalósítását. A cél eléréséhez szükség van egy újabb PLC-re, amely összekapcsolja az egyes állomásokat vezérlő PLC-ket, így előáll egy olyan struktúra, amelyben az állomásokat vezérlő PLC-k alárendelt viszonyban állnak a központi vezérlővel. Ekkor beszélhetünk egy fővezérlőről és több alvezérlőről. Egy másik lehetséges megoldás lehet az, ha az egyik alvezérlőt használjuk fel a központi vezérlő feladatainak ellátására. Egy harmadik lehetőség lehetne az, hogy egyetlenegy nagyobb kapacitású PLC végzi az egész gyártósor vezérlését, ellátva a fővezérlő és az alvezérlők minden feladatát. Az alábbiakban külön-külön sorra veszem az egyes megoldásváltozatok jellemzőit. 4.1.2.1. KÜLÖN FŐVEZÉRLŐ ALKALMAZÁSA Ebben a struktúrában minden állomás tevékenységét egy-egy saját PLC irányítja, amelyek a fővezérlővel kommunikálnak. A részekre bontás miatt a feladatkörök minimalizálódnak, minden állomás PLC-je a lehető legkevesebb feladattal foglalkozik, ezáltal kis reakcióidővel dolgozhatnak a működtető programok. A fővezérlő szerep egy külön PLC-t igényel, amely növeli a megvalósítás költségét. A beavatkozási gyakoriságtól függően a vezérlő sok időt tölthet üresjáratban, így az esetleges kiegészítő számítások elvégzése (pl. mérések, munkadarab követés stb.) sem növeli jelentősen az egész rendszer reakcióidejét. A vezérlő és az állomások közti kommunikáció Etherneten keresztül zajlik. 4.1.2.2. KITÜNTETETT ALVEZÉRLŐ ALKALMAZÁSA Ez a megoldás hasonló az előzőhöz, de a fővezérlő feladatait az egyik alvezérlő végzi el. Ebben az esetben nincs szükség új PLC vásárlására, ez költségkímélővé teszi ezt a megoldást, cserébe számolni kell azzal, hogy a vezérlés reakcióideje valamelyest nő, valamint ritkábban fordulhatnak elő üresjáratok. A kommunikáció itt is Etherneten keresztül folyik, azonban az előző megoldáshoz képest kedvezőbb, hogy eggyel kevesebb résztvevője van a csatornáért vívott harcnak, hiszen a fővezérlő fizikailag nincs jelen a hálózaton. Másik előny, hogy az egyesítés miatt közös memóriaterületen osztozik a fővezérlő a kiválasztott alvezérlővel, így a köztük zajló kommunikáció leegyszerűsödik és gyorsul. Továbbá, ha a megfelelő alvezérlő kerül kiválasztásra, akkor az üzemszerű leállítás kivitelezése is egyszerűsödhet (lásd 4.1.3). 4.1.2.3. EGYETLEN VEZÉRLŐ ALKALMAZÁSA Ez a megoldás nem igényli a rendszer részekre bontását, egyetlen PLC vezérli a folyamatokat és kezeli a felhasználói interfészt is. Az állomások közötti információcsere
27
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
teljes egészében a közösen használt memóriaterületen történik. A vezérlőnek több tucat beés kimentre van szüksége a perifériák miatt, valamint kellően nagy számolókapacitásra a lassulások elkerülése érdekében. Ennél a megoldásnál nem lehetne tovább használni a rendelkezésre álló eszközöket, tehát mindenféleképpen anyagi ráfordítást igényelne. Mindamellett, hogy ennél a megoldásnál kedvező tulajdonság az Ethernet elhagyhatósága és a kommunikáció gyorsulása, a többszálú (de nem párhuzamos, hanem soros) adatfeldolgozás lassúsága és a nagyszámú be- és kimenet miatt mégsem érzem életképesnek ezt a megoldást. 4.1.2.4. ÉRTÉKELÉS A megoldásváltozatok összehasonlítását a Rang módszerrel végeztem. Az eredmény az 1. táblázatban látható. 1. táblázat Összehasonlítás Rang módszerrel Kitüntetett Egyetlen vezérlő alvezérlő 2 1
Külön fővezérlő Kommunikáció
3
Kompatibilitás
2
1
3
Költségek
2
1
3
Reakcióidő
1
2
3
Terhelhetőség
1
2
3
9 (2.)
8 (1.)
13 (3.)
Összegzés
Az egyes megoldásváltozatokat a különböző szempontok szerint összehasonlítottam, aztán sorrendet állítottam fel közöttük, majd a kialakult rangsort rögzítettem. Az értékelések után az egyes fordulókban elért helyezéseket megoldásváltozatonként összeadogattam. A három változat három pontszámot adott, amelyek közül a legkisebb jelöli a legjobb megoldást. Az eredmények alapján látható, hogy a Kitüntetett alvezérlő nevű megoldásváltozat a legpraktikusabb, így a továbbiakban erre építkezek. 4.1.3. A FŐVEZÉRLŐ KIVÁLASZTÁSA A megfelelő PLC kiválasztásánál azt kell szem előtt tartani, hogy a választott PLC rendelkezzen megfelelő számú szabad be- és kimenettel a kezelőpanel és az üzemállapotjelző lámpa működtetéséhez. Az említett feltételnek eleget tesz az Adagoló, a Tesztelő, és a Szortírozó állomást vezérlő egység is. Az említett három vezérlő bármelyike jó választás lehet, azonban a döntés meghozatala előtt érdemes átgondolni a rendszer indításának és leállításának folyamatát. A gyártósor indításakor a rendszer megkapja az indító jelet, az Adagoló állomás munkadarabot kér és elindul a megmunkálás. Minden egyes kiadagolt munkadarab után kér egy újabbat. Ez a folyamat addig ismétlődik, amíg meg nem érkezik a leállító jel. Ekkor az Adagoló befejezi a munkadarabok rendszerbe adagolását, a már gyártósoron lévő darabok végighaladnak, majd mivel megszűnik a munkadarab utánpótlás, az állomások egymás után leállnak. Az elmondottakat figyelembe véve érdemes az Adagoló állomást vezérlő PLC-t kinevezni fővezérlőnek, mert így az indító és leállító jelek közvetlenül a folyamatok 28
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
kiindulási pontjában fejtik ki hatásukat anélkül, hogy bármilyen kommunikációs megoldással át kellene vinni a jeleket a PLC-k között. Ez különösképpen a leállítás miatt lehet nagyon hasznos. Végezzük el a következő gondolatkísérletet! Válasszuk ki a Tesztelő állomást fővezérlőnek. A vezérlő jelek a fővezérlőbe futnak be, majd Etherneten keresztül kerülnek továbbításra a többi PLC felé. Le szeretnénk állítani a rendszert, de valamilyen hálózati hiba folytán megszakad a kapcsolat a fővezérlő és az alvezérlők között. A kezelőpanelról kiadott leállító parancsot megkapja a fővezérlő, a saját állomását leállítja, azonban a többi állomás nem kapja meg a stop parancsot. Ekkor a Tesztelő állomás és a soron következők eljuttatják a még rendszerben maradt darabokat a gyártósor végére. Mivel az Adagoló állomás nem kapta meg a leállító parancsot, ezért előkészít egy munkadarabot a beadagolásra, azonban a Tesztelő állomás már nem fogadja az új munkadarabot, ezért az benn marad a rendszerben. Ha a Szortírozó állomás PLC-jét választanánk fővezérlőnek, akkor ez a hiba még halmozottabban jelentkezne, hiszen mindegyik állomáson ott ragadna legalább egy munkadarab, mert a már leállított Szortírozó állomás torlaszként viselkedne a sor végén. Ezek alapján kijelenthető, hogy a rendszer indítása és leállítása szempontjából a fővezérlő feladatainak ellátására az Adagoló állomást vezérlő PLC a legpraktikusabb választás.
4.2. A KEZELŐFELÜLET MEGTERVEZÉSE 4.2.1. A VEZÉRLŐPANEL A vezérlőpanel tervezésekor meg kell határozni, hogy milyen gombokra van szükség az MPS rendszer irányításához, illetve ez a panel milyen módon kapcsolódjon a fővezérlőhöz, illetve az alvezérlőkhöz. A sor indításához szükséges egy Start gomb, az üzemszerű leállításához egy Stop gomb. Mindkettő nyomógomb, így csak a nyomás idejéig adnak jelet. A Start színe általában zöld, a Stop pedig piros. A folyamatok indítása előtt minden aktuátornak egy jól meghatározott helyzetbe kell állnia, ezért az alaphelyzet biztosítása érdekében egy Alaphelyzet gombra is szükség van. Ez szintén nyomógomb, színe lehet sárga, kék, vagy bármilyen más is, de gyakorlati okokból a piros és zöld színek használata elkerülendő. A műszaki életben sajnos még a legaprólékosabban megtervezett rendszereknél is előfordulhatnak olyan üzemzavarok, meghibásodások, vagy váratlan szituációk, amikor azonnal le kell állítani minden folyamatot, és nincs idő megvárni, hogy egy üzemszerű leállás végbemenjen. Ilyen esetben az azonnali leállást a [Vészstop] állapot teszi lehetővé, amelyet a Vészstop gomb aktivál. Ez a gomb működését és megjelenését tekintve is különbözik a szokásos kezelőgomboktól. Nyomásra bontja az áramkört és mivel arretáló jellegű, ezért csakis kézi kioldás után áll vissza alaphelyzetébe. A bontó működésnek az az oka, hogy ennél a bekötésnél egy esetleges vezetéksérülés miatt a rendszer azonnal leáll, és a hiba azonnal „megmutatja magát”. A javítások elvégzéséig nem használható tovább a berendezés, valamint nem fordulhat elő, hogy a gomb szükség esetén nem működik egy figyelmen kívül hagyott kábelszakadás miatt. A színe rendszerint piros, alakja egy gombához hasonló, kioldása általában forgatással történik.
29
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
A rendszerben fellépő hibák hibakódokat generálhatnak, amelyek beazonosítása után visszakereshető a hiba megnevezése, leírása, kiváltó okai, esetleg instrukciók a hiba elhárításához. A hibák elhárítása után törölni kell a hibakódokat, jelezve ezzel a vezérlésnek, hogy gondoskodtunk a probléma megoldásáról. Ehhez használatos a Hibakódok törlése gomb. A fentiekben ismertetett funkciókhoz öt gombra van szükség. Ez a vezérlő PLC-n öt fizikai bementet igényel, amelyek rendelkezésre állnak, hiszen a választott fővezérlő két darab 8DI/8DO (8 digitális bemenet és 8 digitális kimenet) modullal rendelkezik, amelyek közül a második eddig használaton kívül volt. A kezelőpanel megépítéséhez régi berendezésekből bontott kapcsolókat használtam fel. A kapcsolók cserélhető színes kupakkal rendelkeznek, amelyek színe lehet piros, zöld és teljesen átlátszó. A kupakok alatt fényszűrő betétek vannak, amelyek homogenizálják a kapcsolókba épített LED fényét. A kapcsolók beépítési sorrendje balról jobbra haladva a következő: 2. táblázat A kezelőpanel gombjai Funkció
Ssz.
Szín
Működés
1.
Start
Zöld
nem arretáló
2.
Stop
Piros
nem arretáló
3.
Alaphelyzet
Fehér
nem arretáló
4.
Hibakódok törlése
Fehér
nem arretáló
5.
Vészstop
Piros
arretáló
A kapcsolóház hajlított alumínium lemezből készült. Az alkatrészrajz a mellékletek között megtalálható.
15. ábra Az elkészült vezérlőpanel
30
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
4.2.2. A VEZÉRLŐPANEL JELEINEK TOVÁBBÍTÁSA AZ ALVEZÉRLŐK FELÉ A kezelőpanel gombjainak jelei csak a fővezérlő számára elérhetőek, azonban az alvezérlőnek is szüksége van a vezérlőjelekre. Ezek az információk kétféle módon is továbbíthatók az alvezérlők felé. Az egyik lehetőség az Ethernet kommunikáció, amely praktikus abból a szempontból, hogy az Ethernet hálózat már rendelkezésre áll. A másik lehetőség az, hogy a kezelőpanel jeleit eljuttatjuk az összes alvezérlő bemeneti perifériájára. Ez sok kábelezést igényelne, valamint két PLC-t ki kellene egészíteni egy-egy 8DI/8DO periféria modullal, tehát többletköltség is felmerülne. Ennek a megoldásnak biztonságtechnikai szempontból megvan az az előnye, hogy a Vészstop gomb jele közvetlenül eljut minden vezérlőhöz, valamint a kapcsoló bontó bekötése kivédi a kábelsérülésekből adódó veszélyeket. A két megoldást összevetve mindegyiknek megvannak az előnyei és hátrányai is, de a könnyebben kivitelezhető megoldás az Ethernet-es változat, amely egy-két fogással biztonságossá és még inkább vonzóbbá tehető. 4.2.3. A RENDSZER ÜZEMÁLLAPOTAI A gyártósor áram alá helyezése után a vezérlés minden alkalommal meghatározott lépések sorozatán megy keresztül. Induláskor minden vezérlő inicializálja a programváltozóit, majd Etherneten bejelentkezik a fővezérlőnél. Ekkor a vezérlők a kezdeti [OFF-Line] állapotból [ON-Line] állapotba kerülnek. A folyamatok indítása előtt minden berendezésnek [Alaphelyzet]-be kell állnia. A gyártósor az alaphelyzet felvétele után indítható, ekkor a rendszer [Automata] üzemállapotba kerül, majd később leállítható, ekkor a folyamatok befejeztével minden állomás visszaáll [Alaphelyzet]-be. A leállás idejéig a rendszer az [Üzemszerű leállás] nevű üzemállapotban működik. A hibák fellépésekor az érintett állomások a [Hiba] üzemállapotba állnak. Az előforduló hibákra hibakódok vonatkoznak, amelyek egyedileg azonosítják a hibajelenségeket. A hibakódok törlése után az érintett állomások egy speciális üzemállapotba állnak, amely kifejezi, hogy a működésüket egy hiba megszakította, de a problémát már elhárították, és az állomás folytathatja a tevékenységét. Ez az üzemállapot a [Helyreállítva] nevet kapta. A Start nyomása után az állomások ismét [Automata] üzemmódba állnak. A Vészstop megnyomása aktiválja a [Vészstop] állapot. A kapcsoló kioldása után az állomások vagy [ON-Line], vagy [Hiba] üzemállapotba kerülnek, attól függően, hogy van- e aktív hibakód az állomáson. A [Vészstop] után a sor ismételt elindítása csak az alaphelyzet felvétele után lehetséges. 4.2.4. AZ ÜZEMÁLLAPOTJELZŐ LÁMPA A berendezéseket kezelő személy számára létfontosságú, hogy tisztában legyen a rendszer üzemállapotával. Ennek az információnak a közlésére az egyik lehetséges módszer az üzemállapotjelző lámpa használata. Az ipari berendezések nagy többsége rendelkezik ilyen eszközzel, mint például a gyártósorok és a megmunkáló központok is. Használatuk praktikus, mert a fényjelzésük az üzemcsarnok távolabbi részéből is észrevehető, így a színkódok ismeretében azonnal fontos információkhoz juthatunk a berendezés állapotáról.
31
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
Klasszikusan háromféle színt használnak a lámpák jelzéseihez, pirosat, sárgát és zöldet. A lámpák világíthatnak folyamatosan, vagy villoghatnak is. A villogás periódusidejének változtatásával, illetve a különböző színek együttes használatával sokféle jelzést adhat le a berendezésünk. Az általam készített üzemállapotjelző lámpa megjelenésében hasonló egy közlekedési jelzőlámpához, legalábbis ami a színek sorrendjét illeti. A lámpa építéséhez 5mm átmérőjű, normál fényerősségű piros, sárga és zöld LED-eket használtam. A kellő fény intenzitás elérése érdekében minden színből több LED-et használtam és szín szerint három blokkba csoportosítva helyeztem el őket egy NYÁK (nyomtatott áramkör) lapon. Mindegyik blokkot a vezérlő PLC egy-egy kimenete hajtja meg. A diódák blokkonkénti maximális számát a vezérlő PLC kimenetén rendelkezésre álló feszültség és a LED-ek paraméterei alapján határoztam meg. A számításokat egy blokkra végzem el, de az eredmények az összes többire is érvényesek lesznek. Az ismert adatok: a PLC kimenetén mérhető feszültség: a LED-eken átfolyó áram maximális erőssége: a LED-eken eső feszültség: A keresett mennyiségek: a LED-ek maximális darabszáma: az R1 áramkorlátozó ellenállás értéke: Mivel a tápfeszültség jóval nagyobb a szükségesnél, ezért a LED-eket sorba kell kötni. Egy blokk kapcsolási rajza a 16. ábra látható.
16. ábra Üzemállapotjelző lámpa kapcsolási rajza A huroktörvény alapján felírható az áramkörre a következő egyenlet: (4.1) A darabszám meghatározásakor páros számot keresek, mert a blokkon belül két oszlopban szeretném elhelyezni a diódákat szimmetrikusan. A PLC kimenetén rendelkezésre álló feszültség nagysága adott, csökkenteni azt nem lehet, ezért a hatásfok szempontjából fontos, hogy a PLC kimenetén leadott teljesítmény minél kisebb részét diszipálja el az ellenállás, emiatt a lehető legtöbb LED-et kell sorba kötni. A (4.1) egyenlet meglehetősen egyszerű formája miatt nem nehéz megmondani, hogy az említett feltételek mellett a maximális darabszám 10 lehet.
32
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
Így az ellenálláson eső feszültség: (4.2) A keresett ellenállás nagysága: (4.3)
A számított paraméterek alapján az ellenálláson „elfűtött” teljesítmény nagysága: (4.4) A kimeneten leadott összteljesítmény: (4.5) Az üzemállapotjelző lámpa kapcsolásának hatásfoka: (4.6)
Az általam számított hatásfok azt mutatja meg, hogy a PLC kimentén felvett teljesítmény hányad részét veszik fel a LED-ek, azonban nem veszi figyelembe a LED-ek hatásfokát. Ez azt jelenti, hogy a LED-ek a felvett teljesítménynek csak egy részét tudják a fényáram előállítására felhasználni. Mivel ezen a belső hatásfokon változtatni nem lehet, ezért az optimális konstrukció megtalálásában ez nem játszik szerepet. A lámpa burkolatát egy 40×40 mm-es alumínium zártszelvényből készítettük el a Szerszámgépek Tanszék egyik dolgozójával, a DMU 5 tengelyes CNC marógépen. A lámpa funkciójából adódóan fontos, hogy jól látható helyre kerüljön, ezért a Magasraktár egyik oszlopának tetejére szereltem. A zártszelvény méretei lehetővé tették, hogy két LED sort is elhelyezzek benne, így a tanszéki labor minden pontjáról megfelelően láthatók a lámpa jelzései. A lámpa elektronikájának NYÁK terve, a ház és a rögzítő profilok alkatrészrajza megtalálhatók a mellékletek között. A színkódok meghatározásához nem találtam szabványos jelölésrendszert, így magam találtam ki a színkódokat, amelyet a 3. táblázatban ismertetek.
33
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
3. táblázat Üzemállapotjelző lámpa színkódjai Üzemállapot
Színkód
Minden állomás [OFF-Line]
Mindegyik villog
Minden állomás [ON-Line]
Sárga – villog
Minden állomás [Alaphelyzet]
Sárga – folyamatos
Minden állomás [Automata]
Zöld – folyamatos
Valamely állomás [Üzemszerű leállás] Zöld – villog [Vészstop]
Piros – villog
[Hiba]
Piros – folyamatos + Zöld – folyamatos, ha min. 1 [Automata] + Zöld –villog, ha min. 1 [Üzemszerű leállás]
[Helyreállítva]
Sárga – villog, ha egyébként [ON-Line] Sárga – folyamatos, ha egyébként [Alaphelyzet] + Zöld – folyamatos, ha min. 1 [Automata]
17. ábra Az elkészült üzemállapotjelző lámpa 4.2.5. A WEB INTERFÉSZ A szakdolgozatom feladatkiírásnak egyik pontja szerint ki kellett dolgoznom egy megoldást a rendszerben fellépő hibák helyének kijelzésére. A feladat megoldásához létrehoztam egy olyan interaktív számítógépes felületet, amely szöveges üzenetek segítségével tájékoztatja a felhasználót a rendszerben fellépő hibákról, azok lehetséges okairól, továbbá instrukciókat is ad a hiba elhárításához. A számítógépes felületen elhelyeztem egy virtuális kezelőpanelt is, amely funkciójában megfelel a 4.2.1 pontban bemutatott kezelőpanelnek.
34
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
4.2.5.1. TECHNIKAI MEGVALÓSÍTÁS Az interfész megvalósításához kihasználtam a FESTO CPX PLC-k hálózati képességeit, és létrehoztam egy olyan WEB lapot, amelynek kiszolgálója az MPS rendszer új fővezérlője. A WEB lapot a HTML leíró- és a JavaScript programnyelvek segítségével írtam meg, az oldal fejlesztéséhez az ingyenes NetBeans IDE fejlesztőkörnyezetet használtam. Az enyémhez hasonló WEB interfész megvalósításával korábban már mások is foglalkoztak, hasonló témában elérhető az interneten egy publikáció, amelyben egy szintén FESTO PLC által vezérelt, de az MPS rendszernél kevésbé összetett berendezés kezelőfelületét alakították ki egy WEB lapon. [11] Ez adta az ötletet, hogy az én alkalmazásom is tegye lehetővé a rendszer irányítását – a fizikai billentyűzet mellett – egy internet alapú felületen is, hiszen a hibakezelés könnyítése érdekében egyébként is tervben volt egy WEB alapú felület. Az alkalmazás működésének lényege az, hogy a PLC webszerverén futtatott HTML alapú oldal hozzáfér a PLC memóriaterületén eltárolt információkhoz, amelyet a WEB lapon meg lehet jeleníteni. Azért, hogy a böngészőben látott adatok mindig megfeleljenek a valóságnak, a lapot időközönként frissíteni kell. A HTML és a JavaScript lehetőség ad ennek automatizálására is, így a böngésző x másodpercenként ütemezetten frissíti a megjelenített oldalt. Ez az oldalt teljes újratöltését jelenti, beleértve a szöveges és multimédiás (képek, animációk) tartalmakat is. Összetettebb dizájnú lapok és gyakori frissítés esetén azt tapasztalja az ember, hogy a böngésző tartalma folyamatosan villog és nincs ideje felépülni a WEB lapnak két frissítés között. Az általam készített interfészre mindkét állítás igaz, sok képet tartalmaz és viszonylag gyakran (2 másodpercenként) frissül. A felhasználói élmény fokozása érdekében egy egyedi ötleten alapuló technikát alkalmaztam, amelynek működését a következőkben tárgyalom. A WEB oldal két részből, két frame-ből áll (HTML keret). A két rész egymáshoz viszonyított területaránya 99,9% - 0,1%, így a második keret nem is látható. A trükk abban áll, hogy a frissítési folyamatokat a nem látható keretben lévő oldal végzi, majd a háttérben futó JavaScript alkalmazás módosítja a látható keretben lévő oldal szöveges tartalmait. A virtuális kezelőpanelen elhelyezett gombok megnyomása szintén az árnyék keretben lévő oldalt utasítják a parancsok elküldésére és ezzel együtt az ott „megjelenő” oldal tartalmának frissítésére. Ezáltal az adatok frissülésekor a felhasználó nem tapasztal semmiféle villogást, a virtuális kezelőpanelen lévő gombok nyomására pedig dinamikusan reagál a fővezérlő. 4.2.5.2. MEGJELENÉS ÉS KEZELÉS A WEB-es felület bal oldalán található a virtuális kezelőpanel, amelyen kiadhatók a rendszer vezérléséhez szükséges legfontosabb utasítások. Az alattuk lévő két gomb a hibaüzenetek megjelenítését és a munkadarab statisztikákat tartalmazó ablakok megnyitását teszik lehetővé. A Hibakódok gomb feliratában szereplő két, zárójelek között olvasható szám, a magas és az alacsony prioritású hibák számát mutatja, amelyek jelenleg a rendszerben aktívak. Az program az oldal közepén állomásonként csoportosítva jeleníti meg az állomások üzemállapotát, a legutoljára megmunkált munkadarab állomáson töltött idejét, az adott állomáson beadagolt munkadarabok számát (amit a kezelő kézzel vagy a Robot rakott be), továbbá azt is számon tartja, hogy hány munkadarab lépett ki az adott állomásnál a 35
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
gyártósorról. A Tesztelő és Rakodó állomásnál a funkciójuk révén van selejtképzés, az Adagoló és Megmunkáló állomásnál pedig valamilyen hiba folytán előfordulhat, hogy egyegy munkadarab elhagyja a gyártósort. Az elkészült munkadarabok száma, szín szerinti bontásban, a Szortírozó állomás adatai között olvasható. A WEB interfész alapképernyőjének megjelenését a 18. ábra mutatja.
18. ábra A WEB interfész alapképernyője
19. ábra A Hibakódok megjelenítése a WEB interfészen Amennyiben a rendszerben van aktív hibakód, akkor a Hibakódok ablak automatikusan megjelenik és tájékoztatja a kezelőt a problémáról. A felugró ablak tetszés szerint be is zárható, majd a Hibakódok gomb megnyomása után bármikor újra megnyitható. Megjelenése a 19. ábra szerinti. Minden hibajelentés tartalmazza a hiba fellépésének helyét, a hiba rövid leírását és instrukciókat a hiba elhárításához. Miután a felhasználó elhárítja a hibát és törli a hibakódokat, egy üzenet tájékoztatja a berendezések megfelelő működéséről. 36
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
A Munkadarabok gomb megnyomása után a 20. ábra szerinti kép látható a számítógép képernyőjén. A munkadarab statisztikákat tartalmazó táblázat egy dinamikusan frissülő adathalmaz, amely mindig csak annyi sort tartalmaz, hogy a rendelkezésre álló adatok megjeleníthetőek legyenek. Annak érdekében, hogy a fővezérlő erőforrásait csak kisebb mértékben terhelje az alkalmazás, (kevesebb Ethernet kommunikáció), a listában maximálisan csak 20 munkadarab adatai jelennek meg. Ez mindig a legelső 20 rekord a fővezérlő adatbankjában. A statisztikák törlése után a megjelenített lista kiürül, és az azután megmunkált darabok adatai ismét láthatóak lesznek a képernyőn. Ettől függetlenül meg kell jegyeznem, hogy az adatbank több mint 500 munkadarab adatait képes eltárolni egyidejűleg. A munkadarab azonosító rendszer technikai megvalósításáról az 5.1.5 és az 5.3.3 fejezetekben lesz szó. A 20. ábra egy 9 munkadarabból álló sorozat megmunkálása közben készült. Az ablakban látható állapot szerint az első hat munkadarab már elkészült, a további három még megmunkálás alatt állt. Pontosan leolvasható az egyes darabok színe, állapota/minősítése, aktuális tartózkodási helye, a soron töltött idejük, hány másodperccel követték egymást a darabok a sorról való kilépésükkor, illetve hányadikként értek célba. Az újonnan beadagolt munkadarabok esetén nem lehet tudni semmit a darabok fajtájáról és színéről. Ilyenkor a táblázatban egy három színű munkadarab jelképezi a darabot. A Tesztelő állomás már meg tudja különböztetni a fekete és nem fekete darabokat. A 7. és 9. számú darab színe nem fekete, ezért a jelképük egy piros-fém darab, ugyanakkor az már biztos, hogy a 8. fekete. A darabok egyértelmű színmeghatározását a Szortírozó állomás tudja elvégezni, így a sorról kilépő darabok mellett már egyértelmű az azonosító szimbólum.
20. ábra Munkadarabokkal kapcsolatos statisztikák a WEB interfészen
37
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
5. AZ UNIVERZÁLIS KERETRENDSZER Amikor elkezdtem az MPS rendszer vezérlésével ismerkedni, elsőként az állomásokat működtető programokat tanulmányoztam. A különböző programokat, más-más programozók készítették, eltérő struktúrával, különböző szokásokkal. Hamar megtapasztaltam, hogy egy más által készített, nagyon hiányosan kommentált, esetleg bonyolult programkódot nagyon nehéz értelmezni, a saját elképzeléseimnek megfelelő formába átalakítani pedig értelmetlen. Ezért úgy döntöttem, hogy saját magam írom újra az öt állomás vezérlőjének programját, olyan formában, amely alkalmassá teszi őket a rendszerbe foglalásra. Az alvezérlők feladatai a következők:
a technológiai helyek vezérlése kapcsolattartás a fővezérlővel (parancsok fogadása, állapotjelentések elküldése) szükség esetén kommunikáció a szomszédos állomásokkal a fellépő hibák kezelése és a hibakódok küldése a fővezérlőnek
A technológiai műveletek állomásonként különbözők, azonban a többi feladat elvégzése hasonlóan történhet mindegyik állomáson. Ezen feladatok elvégzésére készítettem egy olyan keretrendszert, amely apróbb kiegészítések után mindegyik állomáson felhasználható, tehát univerzális. A kódok egységesítésének több előnye is van: egyszer kell kitalálni a működési elvet egyszer kell leprogramozni ha egy kód már jól működik, akkor azt érdemes újrahasznosítani a hasonló feladatok elvégzéséhez
5.1. A KERETRENDSZER ÁLTAL TÁMOGATOTT FUNKCIÓK A rendszer működtetése során számos feladatot kell megoldani. A fővezérlőnek kommunikálni kell az alvezérlőkkel, a kezelő utasításait továbbítania kell az állomások felé. Szükség esetén az alvezérlőknek egymással is kell adatokat cserélni. A működés során fellépő hibákat detektálni, majd kezelni kell, végül tudatni kell a kezelővel a hiba bekövetkezését. A következőkben ismertetem az említett feladatok elvégzéséért felelős rutinok működési elvét. 5.1.1. KOMMUNIKÁCIÓ ETHERNETEN KERESZTÜL 5.1.1.1. EASY_S ÉS IP_TABLE FUNKCIÓMODULOK A vezérlők egymás közötti adatcseréje Ethernet kapcsolaton keresztül történik a FESTO {Easy_S} nevű eszközével. Ez egy előre lefordított funkciómodul, amely segítségével a hálózat lévő bármely másik PLC-nek lehet különböző operandusokat küldeni.
38
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
Az operandusok lehetnek flag-ek, regiszterek, kimenetek vagy bemenetek állapotai, esetleg szövegek (string) is. Az {Easy_S} funkciómodul bemenő paraméterként a következőket várja:
a címzett azonosítója az IP táblázatban az operandus típusa (Flag: 1; Regiszter: 4) a küldendő operandusok száma az operandus címe a helyi PLC-n az operandus címe a távoli PLC-n egy falg szó címe a küldés állapotjelentésének tárolására (a függvény ezen keresztül ad visszatérési értéket)
Meghívása után elküldi a kívánt adatokat a címzettnek, majd befejezi a futását a kézbesítés sikerességétől függetlenül. A következő kódrészlet elküldi a helyi PLC FW10 flag szavának tartalmát a Tesztelő állomást vezérlő PLC FW20 változójába, majd a küldés státuszát az FW300 regiszterbe írja. 0001 0002 0003 0004 0005 0006 0007
CFM 1 WITH WITH WITH WITH WITH WITH
V2 V1 V1 V10 V20 V300
'EASY_S " Sorszám az IP táblázatban " Operandus F:1 " Operandusok száma " Forrás operandus sorszáma " Cél operandus sorszáma " Statusz flag szó címe
Az IP táblázat létrehozásához egy {IP_TABLE} nevű funkciómodult kell meghívnunk a programban. Ez az eszköz egy táblázat formájában tárolja azoknak a PLC-knek az IP címét, amelyekkel kapcsolatot fog tartani a vezérlő. Az {IP_TABLE} a következő paramétereket várja: a kommunikáció iránya (beírás/set: =1, beolvasás/get: =2) a címzett PLC azonosítója az IP táblázatban a címzett PLC IP címe (négy külön blokkban kéri az IP cím négy részét) Az IP tábla feltöltését minden vezérlő főprogramjában az inicializációs szakaszban el kell végezni. Az alábbi példa bemutatja a Tesztelő állomás vezérlőjének felvételét a fővezérlő programjába: 0001 0002 0003 0004 0005 0006 0007
CFM 0 WITH WITH WITH WITH WITH WITH
V1 V2 V192 V168 V0 V2
'IP_TABLE " Beírás / Set " Azonosító az IP táblában " IP cm 1. blokk " IP cm 2. blokk " IP cm 3. blokk " IP cm 4. blokk
39
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
5.1.1.2. AZ ADATKÜLDŐ PROGRAMMODUL (CMP 0) Az {Easy_S} funkciómodul a meghívása után megpróbálja elküldeni a kívánt adatokat a címzettnek, azonban sikertelen kézbesítés esetén nem küldi újra automatikusan az adatcsomagokat. A gyakorlati életben előfordulnak olyan esetek, amikor a hálózat foglaltsága miatt nem sikerül a biztonsági időkorláton belül elküldeni az adatokat (Time out), de ilyenkor újra kell próbálkozni. A FESTO oktató könyvében [12] szereplő egyik mintapéldát felhasználva készítettem egy olyan programmodult, amely a sikertelenül kézbesített adatcsomagokat újraküldi, majd a harmadik sikertelen próbálkozás után hibajelzéssel tér vissza. Ennek az eszköznek a használatával biztosítható, hogy a csomagok akkor is célba érjenek, amikor a hálózat a leginkább leterhelt. A funkciómodul forráskódja a következő: 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033
STEP 0 THEN LOAD TO LOAD TO LOAD TO LOAD TO LOAD TO
FU32 R210 FU33 R211 FU34 R212 FU35 R213 FU36 R214
LOAD TO
V0 R215
STEP Kuldes THEN CFM 1 WITH WITH WITH WITH WITH WITH
R210 R211 R212 R213 R214 V300
'CMP/CFM 1. argumentum 'CMP/CFM 2. argumentum 'CMP/CFM 3. argumentum 'CMP/CFM 4. argumentum 'CMP/CFM 5. argumentum
'EASY_S Easy IP send data " Sorszám az IP táblázatban " Operandus, F:1, R:4 " Operandusok száma " Forrás operandus sorszáma " Cél operandus sorszáma " Statusz flag szó címe
STEP Ellenoriz IF THEN
FW300 = V0 LOAD V0 TO FU32 LOAD V0 TO R215 JMP TO Kilep
" Sikeres adatküldés 'Állomás hibakódja_hálózat
'CMP/CFM 1. argumentum
40
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
0034 " Időtúllépés miatt hiba van a kommunikációban 0035 IF FW300 'Állomás hibakódja_hálózat 0036 = V128 " Időtúllépés miatt hiba van a kommunikációban 0037 THEN INC R215 0038 " Ha háromszori próbálkozásra sem sikeres az adatküldés, akkor megszakítás, és hiba jelzése 0039 IF R215 0040 > V3 0041 THEN LOAD FW300 'Állomás hibakódja_hálózat 0042 TO FU32 " Hibajel átadása kimenetként 0043 JMP TO Kilep 0044 OTHRW JMP TO Kuldes 0045 0046 STEP Kilep 0047 THEN NOP Az FU32 – 36 paraméterek a programmodul bemenő argumentumai, amelyek megegyeznek az {Easy_S} bemenő paramétereivel. A 2-11. sorban áttárolom a bemenő paraméterek értékét az R210-214 sorszámú regiszterekbe. Erre azért van szükség, mert a programban meghívott összes funkció- és programmodul ugyanazokat a bemenő és kimenő paramétereket használja a külső programrészekkel való kapcsolattartásra. Emiatt ha két CMP-t (programmodul) és/vagy CFM-t (funkciómodul) egymásra hívunk, akkor felülíródnak a be- és kimenő paraméterek, ami hibás programműködéshez vezet. A 16-23. sorokban megtörténik az első próbálkozás az adatküldésre, majd a 25-44. sorokban végbemegy az ellenőrzés is. Ehhez fel kell használni az {Easy_S} által visszaadott értéket, amelyet az FW300 flag-be tárol a program. Az {Easy_S} dokumentációjában olvashatók a függvény visszatérési értékei, így a 0 a sikeres adatküldést, a 128 a sikertelent jelöli. Sikeres küldés esetén a modul befejezi a futását, ellenkező esetben újrapróbálkozik. Háromszori sikertelen próbálkozás után a programmodul az {Easy_S} által visszaadott hibakóddal tér vissza, majd befejezi a futását. A visszaadott érték felhasználható diagnosztikai, illetve vezérlési célokra is. 5.1.2. VEZÉRLŐPARANCSOK A vezérlőpanel jeleinek továbbításának legegyszerűbb módja az lenne, ha a fővezérlő minden gombnyomás után továbbítaná a kezelőpanel gombjainak állapotát az alvezérlőknek. Az alvezérlők egyenként lefuttatnák ugyanazt a rutint, amely feldolgozza a gombok állapotát és végrehajtja a szükséges feladatokat. Ennek a megoldásnak két hátránya is van. Semmi értelme nincs annak, hogy ugyanazt a feladatot 5 különböző vezérlő is elvégezze. Másrészt minden gombnyomás után 4 állomásnak kell Ethernet kapcsolaton keresztül átküldeni a gombok állapotát, függetlenül attól, hogy az adott állomásnak hasznos-e az információ vagy sem. Például nem szükséges egy olyan állomáson törölni a hibakódokat, ahol egyébként nincs hiba. A felesleges adatközlés foglalja a csatornát, emiatt esetleg késleltetheti egy 41
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
fontosabb adatcsomag célba érését. Véleményem szerint jobb megoldás lenne, ha a vezérlő feldolgozná a gombnyomásokat, azok alapján parancsokat fogalmazna meg, majd a címzettek üzemállapotának ismeretében továbbítaná a parancsokat a megfelelő alvezérlőknek. Az Ethernet hálózat használata lehetővé teszi a megfelelő feltételek szerint szűrt parancsküldést, amellyel a vezérlés sokkal rugalmasabb működésre képes. 5.1.2.1. A SZÜKSÉGES PARANCSOK MEGHATÁROZÁSA A 4.2.1 részben tárgyaltak szerint a kezelőfunkciókhoz 5 parancsra van szükség, amelyek a Start, Stop, Alaphelyzet, Vészstop, Hibakódok törlése. Mivel az alvezérlők nem ismerik a kezelőpanel gombjainak állapotát, ezért nem tudhatják azt, hogy a korábban benyomott vészstop gombot mikor oldották ki, így azt sem tudhatják, hogy a vészstop állapotot meddig kell fenntartani. Emiatt bevezettem egy Vészstop vége parancsot. A többi gomb megnyomása pillanatnyi beavatkozást vált ki, emiatt az alvezérlőknek nincs szüksége a felengedés pontos idejének ismeretére. A fővezérlő újraindítása (alaphelyzetbe állítása) után ajánlatos az összes alvezérlőt is alaphelyzetbe állítani. Ehhez egy Újraindítás (Reboot) parancsot használok, amelyet a fővezérlő a „feléledés” után elküld minden állomásnak, majd megvárja, hogy azok bejelentkezzenek. Abban az esetben, ha egy állomás megkapja ezt a parancsot, akkor az esetlegesen futó Automata program leállításra kerül, majd az aktuátorok azonnal megállnak az aktuális pozíciójukban (hasonlóan a vészstop állapotba lépéshez). Fontos megjegyezni. hogy az itt említett alaphelyzetbe állítás csak a vezérlők szoftvereire vonatkozik, amely lényegében egy újra inicializálás. Az állomások aktuátorainak alaphelyzetbe állításához, balesetvédelmi okokból, meg kell nyomni az Alaphelyzet gombot. A rendszer további funkcióinak megvalósításakor szükség lehet további parancsok beépítésére is. Ha szükség lesz erre, akkor az új parancsokat az adott funkciónál ismertetem. 5.1.2.2. A PARANCSOK KÓDRENDSZERÉNEK KIALAKÍTÁSA A parancsok adatcsomagok formájában kerülnek továbbításra. Az adatcsomag lehet egy tetszőleges 1 bájtos érték, amely 256 különböző értéket vehet fel. A 0 érték nem ajánlott, mert egy egyébként is 0 értéket tartalmazó cella esetén nem lehet detektálni az értékének megváltozását, így 255 különböző kód áll rendelkezésre a parancsok kódrendszerének kidolgozásához. A kódolás egészen egyszerű, a sorba vett parancsok mindegyke kap egy sorszámot (1-255), amely egyedileg azonosítja az utasítást. Attól függően, hogy az adott utasítást csak bizonyos esetekben kell végrehajtani, vagy bármely tetszőleges időpillanatban, érdemes megkülönböztetni ezeket a kódolásban is. A rendelkezésre álló kódtartományt két részre osztottam, így az állandó érvényű parancsok (pl. Vészstop, Újraindítás) 1-100 kódot kaptak, a feltételektől függő parancsok (pl. Alaphelyzet, Start) 101-255 értéket vehetnek fel. Ez a megkülönböztetés a vezérlő számára biztosítja, hogy az állandó érvényű parancsok elsőbbséget élvezve, további feltételek kiértékelése nélkül azonnal továbbításra kerüljenek. A CPX PLC-k 16 bites architektúrával dolgoznak, emiatt minden regiszterben és flagben két bájt tárolható el (egy gépi szó). Ez az ábrázolható számok tartományát 65535-ig bővíti ki. A felső 8 bitet arra használom fel, hogy a parancshoz hozzárendeljem a parancs címzettjeit. Ezt a jelölést csak a fővezérlő alkalmazza, az állomások szempontjából ez
42
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
közömbös információ. A fővezérlő működésének leírásánál erre a megoldásra még visszatérek. Az 5.1.2.1 részben felsorolt parancsok és a hozzájuk rendelt parancskódok a 4. táblázatban láthatók. 4. táblázat Parancskódok Feltétel nélküli Vészstop! Vészstop vége! Újraindítás!
Parancsok Kód Feltételes 1 Alaphelyzet! 4 Start! 10 Stop! Hibakódok törlése!
Kód 101 102 103 104
5.1.3. ÜZEMZAVAROK ÉS HIBÁK A gyártósor üzemeltetése során bármikor előfordulhatnak olyan hibák, amelyek megzavarják a rendszer működését. A munkám során sok időt fordítottam az MPS próbajáratására és a működés során felmerülő hibák felfedezésére. A hibák egyik oka lehet programozói tévedés, amely a hibás programkód javításával orvosolható. Vannak azonban olyan szórványosan fellépő hibák, amelyek bármely pillanatban bekövetkezhetnek, bármiféle előjel nélkül. Tipikus példa a szórványosan fellépő hibára a Tesztelő állomásról a Megmunkáló állomásra érkező munkadarab csúszási problémája. A csúszdán érkező munkadarabok némelyike elakad, míg mások olyan gyorsan érkeznek a körasztalra, hogy kipattannak annak fészkéből. A jelenség kiszámíthatatlanságát jól mutatja, hogy ugyanannak a munkadarabnak három egymás utáni lecsúszása három különböző végkimenetellel zárult. A későbbiekben ennek a problémának a kiküszöbölésével még foglalkozok. A hibák detektálására többféle módszer használható. Én egy időalapú ellenőrző módszert módosított változatát alkalmaztam. A módszer lényege az, hogy a rendelkezés kiadásával egy időben elindul egy időzítő, amely visszaszámlál egy beállított értékről. Amíg a program várakozik az aktuátor mozgásának befejezésére, folyamatosan ellenőrzi a számláló állapotát. Ha a mozgás nem fejeződik be a beállított időintervallumon belül, akkor az hibára utal, ezért a hiba egyedi azonosítója beíródik egy regiszterbe, szükség esetén a program felfüggeszti a futását, végül az állomás hibajelet küld a fővezérlőnek. Az eredeti módszert Watchdog Timer módszernek nevezik. Széles körben alkalmazzák olyan helyeken, ahol létfontosságú, hogy a vezérlő számítógép folyamatosan beavatkozásra kész legyen, és nem megengedhetők a lefagyások. Ilyen esetben a Watchdog Timer egy hardveres számláló, amely a processzor belső utasításszámlálójával párhuzamosan számol fölfelé. A számláló értékét megfelelő időközönként programból törölni kell. Ha ez a törlés elmarad, akkor a számláló túlcsordul és újraindítja a processzort. Ez a módszer akkor is jó szolgálatot tesz, ha valamilyen programhiba miatt végtelen ciklusba kerül a program. Az én alkalmazáson ennek a módszernek a szoftveresen emulált változata, amely a processzor újraindítása helyett, csak szünetelteti a program futását. A fellépő hiba jellegétől függően különböző lépéseket kell megtenni a további üzemzavarok elkerülése érdekében. Például aktuátorok összeakadása esetén lehet, hogy egy fordított irányú mozgás sikeresen szétválasztja őket, de az is előfordulhat, hogy az a
43
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
legbiztosabb, ha azonnal megáll mindegyik és várakozik a hiba kijavítására. Az egyes esetekben alkalmazott forgatókönyv esetenként különböző, nem lehet olyan univerzális utasítássorozatot készíteni, amely minden körülmények között optimálisan működik. Előfordulhatnak olyan esetek is, amikor nem szükséges megszakítani az adott állomás munkáját, de a kezelőnek tudnia kell az esemény bekövetkezéséről. 5.1.3.1. A FESTO CPX PLC-K BEÉPÍTETT HIBAKEZELŐ MEGOLDÁSA A PLC operációs rendszere saját hibakezelő megoldással rendelkezik. Abban az esetben, ha az `EW` (Error Word – Hibaszó) nullától különböző értéket vesz fel, azonnal beindul a hibakezelési mechanizmus. A PLC leállítja azt a programot, amelyik a hibakódot beírta, a többit felfüggeszti, majd bekapcsolja a beépített hiba visszajelző lámpáját. Amennyiben a vezérlő konfigurálásakor megadunk egy programot, amely a hibakezelésért felelős, akkor lehetőség van a hiba korrigálására, a hibakód törlésére, és a programok újbóli elindítására. Ha nem adunk meg ilyen programot, akkor a hibakód a PLC újraindításával törölhető ki. Én azért nem a beépített lehetőségeket használtam a technológiai folyamatok közben fellépő hibák kezelésére, mert a hiba elhárítása után nem folytatható tovább az a program, ahol a hiba jelentkezett, hanem automatikusan újraindul a legelejétől. Mivel a berendezéseket vezérlő programok általában lépésutasítás jellegűek, ezért meg kellene oldani azt, hogy a PLC automatikusan „visszataláljon” ahhoz az utasításhoz, ahol a hiba előtt abbahagyta a munkát. Ez egyáltalán nem lehetetlen feladat, azonban egyszerűbbnek találtam a saját módszerem alkalmazását. 5.1.3.2. A HIBAKÓDOK KÓDRENDSZERÉNEK KIALAKÍTÁSA Annak érdekében, hogy a fellépő hibajelenségeket azonosítani lehessen és a kezelésüket egyedi forgatókönyv alapján lehessen automatizáltan végrehajtani, minden hibajelenséghez társítani kell egy hibakódot. A hibakód egy egyedi azonosító, amelyet a vezérlő és a gépkezelő is értelmezni tud a megfelelő feloldó kulcs segítségével. A hibakódrendszer kialakítása során hasonlóan jártam el a parancsok kódolásához. Állomásonként áttekintettem a technológiai folyamatok ciklusainak minden lépését és igyekeztem megkeresni az összes olyan momentumot, ahol hiba léphet fel. Azok a hibák, amelyek megakadályozhatják az alaphelyzet felvételét, speciális jelzést kaptak a kódjukban. Ennek bemutatásához az Adagoló állomás egyik hibajelenségét használom fel. Előfordulhat olyan szituáció, hogy az átrakó kar [Automata] üzemmódban nem tud visszafordulni a magazinhoz. Amennyiben ez a hiba az alaphelyzet felvételekor lép fel, akkor meghiúsul az alaphelyzet felvétele. Az [Automata] üzemben fellépő hiba a 2-es kódot kapta. Bináris számrendszerben ez így néz ki:
Annak jelölésére, hogy ez a hiba meghiúsította az alaphelyzet felvételét, a legnagyobb helyiértékű bitjét 1-re állítom. Így az esemény hibakódja a következő lesz:
44
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
Egyszerűen úgy is mondhatnám, hogy az alaphelyzet felvételnél fellépő hibák kódértéke 128-cal több az alapkód értékénél. Ennek a jelölésbeli megkülönböztetésnek adatfeldolgozási szempontból van jelentősége. Két lehetséges példát említenék. Abban az esetben, ha egy adott hibajelenség lekezelését ugyanazzal a procedúrával szeretnénk megvalósítani függetlenül a hiba fellépésének körülményeitől, akkor elégséges csak az egyik hibakódra hivatkozni, mivel az egyik kódból, a hibakód 8. bitjének leválasztásával, előállítható a másik. 0001 IF 0002 AND 0003 = 0004 THEN RESET
(Hibakod V127) V2 Aktuator
" " " "
A hibakódot tart. változó 127D = 01111111B Adott hiba egyéni kódja Kikapcsolja az Aktuátort
A megoldás tényleges alkalmazása az 5.2.6 pontban látható. Amennyiben csak azt szeretnénk megtudni, hogy egy adott hibakód egy alaphelyzetfelvételi hibára utal-e, akkor azt a következőképpen tehetnénk meg: 0001 IF 0002 > 0003 THEN RESET
Hibakod V128 Aktuator
" A hibakódot tart. változó " 128D = 10000000B " Kikapcsolja az Aktuátort
Akkor válik igazán kézzelfoghatóvá ennek a megoldásnak az előnye, ha például egy állomásnál 10 olyan hibaesemény is létezik, amely alaphelyzet felvételi hibát is okozhat, és el szeretnénk végezni a fenti szűrést. Az előbbi kód teljesen univerzális, tetszőleges számú hibalehetőség esetén is működik. Viszont ha az alaphelyzet-felvételi hibák kódjai nem tartalmaznák ezt az egyedi jelölést (8. bit értéke 1), akkor a szűrési feltételben tételesen meg kellene nevezni az összes kódot egyedileg, ami többletmunkával jár. 5.1.3.3. A HIBAKÓDOK TÁROLÁSA A hibakódok egyszerű számok, amelyek regiszterekben tárolhatók. A probléma súlyosságától függően két csoportba soroltam a hibajelenségeket. Az súlyosabb hibák kódjai a `Hibakod` regiszterbe, a figyelmeztető jellegű információk a `Warning` (figyelmeztetés) nevű változóba íródnak. Amennyiben egy állomáson egyszerre több különböző hiba lépne fel, akkor a változókban az utolsó hiba / figyelmeztetés kódját találnánk meg. Ilyen eset például akkor fordulhat elő, ha egy állomáson egyszerre több aktuátor is dolgozik, és egyszerre legalább kettő meg is hibásodik. Mivel az ilyen esemény bekövetkezésének valószínűsége elég alacsony, ezért úgy gondolom, hogy nem követek el nagy hibát azzal, hogy csak 1-1 regisztert használok fel a kódok tárolására. Továbbá a FESTO CPX PLC-k beépített hibakezelő protokollja is csak a legutolsó hiba azonosítóját tudja eltárolni. A hibatároló regiszterek alapértelmezett értéke 1, amely azt jelenti, hogy nincs hiba. A hibakódok legkisebb értéke a 2 lehet. Egy hiba bekövetkezése után az adott állomást vezérlő PLC elküldi a hibakódot a fővezérlőnek. A fővezérlő memóriájában az összes alvezérlő hibaregiszterének helyi másolata megtalálható. A fővezérlő indítása után ezen változók alapértelmezett értéke 0. Az első indításkor a fővezérlő mindegyik állomástól bekéri a hibakódok listáját. Amennyiben minden rendben zajlott az adatátvitelnél, akkor a fővezérlő összes hibatárolójának értéke 1-re változik, illetve ha valamelyik állomáson van aktív 45
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
hibakód, akkor az íródik be a fővezérlő memóriájába. Ha ezek után a fővezérlő bármely hibatárolójának értéke 0 lenne, akkor az hálózati hibára utalna. Ez a magyarázata annak, hogy a hibamentes működést, miért nem a 0 értékű hibakód jelöli. A hibakódok törlésekor a fővezérlő utasítja az érintett állomásokat a hibatárolók ürítésére, de a saját helyi másolatait érintetlenül hagyja. Amikor az állomások kitörölték a hibakódjaikat, akkor átküldik a tárolóik új értékét a fővezérlő memóriájába. Mivel az alvezérlőknél a hibatárolók értéke 1-re lett állítva a küldés előtt, ezért a fővezérlőnél is törlődnek a hibakódok. Ez a megoldás biztosítja azt, hogy a fővezérlőnél tárolt hibatároló másolatok értékei mindig megfeleljenek a valóságnak. 5.1.4. AZ ÜZEMBIZTOS MŰKÖDÉS BIZTOSÍTÁSA Az 4.1.3 részben tárgyalt gondolatkísérlet során már szóba került a hálózati kapcsolat üzemzavara. Annak érdekében, hogy egy ilyen hiba ne tudja lehetetlenné tenni például a [Vészstop] aktiválását, beépítettem egy protokollt a vezérlésbe, amely figyelemmel kíséri a hálózati kommunikáció épségét. Amennyiben egy alvezérlő az adatküldést nem tudja adott időn belül teljesíteni, akkor feltételezi, hogy levált a hálózatról, ezért automatikusan leállítja az állomását. Amikor egy állomás dolgozik, a megmunkálás előtt és a megmunkálás befejezés után is adatokat küld a fővezérlőnek és a következő állomásnak is. Egy felügyelet nélkül maradt berendezés akkor válhat veszélyessé, ha valamely része mozgásban van. Mivel az állomások aktuátorai csakis akkor mozoghatnak, amikor megmunkálás vagy anyagmozgatás történik, és eközben a vezérlő megpróbál kommunikálni a rendszer többi tagjával, ezért biztos, hogy egy váratlanul fellépő hálózati hiba kiszűrésre kerül. Minden alvezérlő hálózati kommunikációs programja címzettekre lebontva számolja a sikertelen adatküldések számát. Ha valamelyik alvezérlőhöz tartozó számláló értéke eléri a húszat, akkor az állomás hibakód formájában jelzi az eseményt a fővezérlőnek. Ha a fővezérlővel hiúsul meg a kapcsolatfelvétel, akkor a PLC `EW` hibaszó regiszterébe beíródik a 128D hibakód érték, majd az állomás azonnal leáll. Ilyenkor a hálózati kapcsolat kijavítása után újra kell indítani az érintett PLC-t. Ha megoldódott a hálózati gond, akkor sikeresen [ON-Line] állapotba került az alvezérlő. Ezután [Alaphelyzet]-be kell állítani az állomást, majd el kell indítani. Üzemszerű körülmények között is gyakran előfordulhatnak ütközések az Ethernetes adatküldésnél, amelyek megnehezítik a hálózati kommunikációt. Ez leginkább akkor figyelhető meg, amikor a fővezérlő elküldi az alvezérlőknek a parancsokat (Alaphelyzet, Automata, Vészstop), majd azok szinte egyszerre próbálják visszaküldeni az állapotjelentésüket az üzemállapotuk megváltozásáról. Amikor a vezérlőnek sikerül elküldeni a kívánt adatot a címzettnek, akkor a címzetthez tartozó számláló nullázódik, így a következő adat küldése előtt ismét nulláról indul a hibaszámláló. 5.1.5. MUNKADARAB AZONOSÍTÓ RENDSZER A korszerű információs technológia lehetőséget biztosít arra, hogy a sorozatgyártásban gyártott alkatrészek, szerelt egységek számára olyan adatbázist hozzunk létre, amelyben számtalan gyártással kapcsolatos információt tudunk eltárolni. Ezek az adatok lehetnek méretek, anyagjellemzők, a gyártás ideje (akár még műszakra lebontva is), a 46
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
gyártást/mérést/szerelést végző személy azonosítója, stb. Az eltárolható információk mennyiségének szinte csak a képzelet szab határt, illetve az ésszerűség, hogy mi az, amire szükségünk van. Mindehhez szükség van egy információhordozóra, egy olvasó (és esetleg író) egységre és egy adatbankra. Az információhordozót a munkadarabon kell elhelyezni, az olvasó egységet pedig a technológiai helyeken. Az adattárolás történhet magán az információhordozón, vagy történhet egy központi adatbankban. Az első esetben a munkadarabon egy összetett adathordozót kell elhelyezni, amelyen minden szükséges információ eltárolható. Erre a célra használhatnak például szöveges címkét, barcode-ot (2D mátrix vonalkód – összetettebb információk tárolására is alkalmas), vagy a korszerű RFID (rádiófrekvenciás azonosító) technológiát. Központi adatbank használata esetén egy egyszerűbb adathordozó is elégséges lehet, mert a munkadarabon csak egy hivatkozást kell elhelyezni az adatbankban tárolt adatokhoz. Ez lehet egy lézergravírozott azonosító vagy egy hagyományos lineáris vonalkód. Az MPS rendszer nem rendelkezik olyan egységgel, amely lehetővé tenne bármilyen elven működő adattárolást a munkadarabokon, azonban szerettem volna demonstrálni egy ilyen azonosító rendszer működését és előnyeit. A fizikai adathordozók hiányában virtuális címkéket hoztam létre, amelyek fizikailag el vannak választva a munkadaraboktól, azonban mégis velük együtt haladnak a gyártósoron. Amikor az egyik állomás átad egy darabot a következőnek, a munkadarab küldésével egy időben Etherneten továbbadja a munkadarabhoz tartozó címkét is. A virtuális címkéknek megvan az a kellemes tulajdonsága, hogy könnyedén lehet írni és olvasni is őket, így minden állomás könnyedén tudja aktualizálni a tartalmukat. A munkadarab azonosító rendszer bevezetésével információkat szeretnék eltárolni a munkadarabok fizikai jellemzőiről, a sorra való belépési és az aktuális tartózkodási helyükről, valamint a gyártósoron töltött idejükről. 5.1.5.1. AZ ADATTÁROLÓ CÍMKE BEMUTATÁSA A munkadarabok egyedi azonosítására egy címkét hoztam létre, amely valójában egy bináris kód. Egy címke 2 bájt (16 bit = 1 szó) méretű, és a munkadarab következő adatait tárolja:
egyedi azonosítója aktuális tartózkodási helye színe minősítése
Az adatok tárolásához négy részre osztottam a szót, annak megfelelően, hogy a minden információ elférjen egy-egy blokkban. Az egyedi azonosító egy szám, amely jelen esetben a munkadarab sorszáma. Amikor a darab a sorra kerül, kap egy sorszámot és a továbbiakban ez fogja azonosítani. Tekintettel arra, hogy az MPS egy kisméretű rendszer és csak demonstrációs célokat szolgál, nem kell arra törekedni, hogy az azonosító nagy változatosságot mutasson. Az azonosító tárolásához 9 bitet (0-8.) használok fel, ezen a tartományon 512 különböző szám ábrázolható. A 0 értéket annak jelölésére használom, ha egy munkadarab még nem rendelkezik sorszámmal, illetve
47
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
nincs regisztrálva a fővezérlőnél, így 511 különböző érték marad. Ez azt jelenti, hogy 511 munkadarab egyedi azonosítását teszi lehetővé a rendszer. (Az MPS teljesítményének ismeretében azt mondhatom, hogy több mint 2,5 óra megállás nélküli munka szükséges ahhoz, hogy ennyi munkadarab átmenjen a soron, de ekkor már az optimalizált teljesítménnyel és kézi kiszolgálással számoltam. Az eredeti teljesítménnyel és robotkiszolgálással ez akár 1 nap is lehet.) A munkadarab tartózkodási helyének tárolására 3 bitet (9-11.) használok fel. A 0-t kivéve az ábrázolható számok közül, pontosan 7 különböző érték tárolható ezen a tartományon. Az állomások kódjait a sorban elfoglalt helyük alapján osztottam ki. 5. táblázat Állomások kódja a címkében Érték
Lokáció Adagoló Tesztelő Megmunkáló Rakodó Szortírozó Robot Magasraktár
1D = 001B 2D = 010B 3D = 011B 4D = 100B 5D = 101B 6D = 110B 7D = 111B
Amikor egy munkadarab érkezik egy állomásra, az állomás frissíti a munkadarab lokációját, majd elküldi a címkét a fővezérlőnek. Jelenleg csak a szűkebb értelemben vett MPS rendszer állomásai futtatják az általam készített vezérlő programokat, emiatt a Robot és a Magasraktár nem ismeri a címkék kezelését. A szín tárolásához 3 bitet (12-14.) használok fel, melynek értékkészlete: 6. táblázat Munkadarab fajták kódja a címkében Érték
Szín
0 1D = 001B 2D = 010B 3D = 011B 4D = 100B
Ismeretlen Piros/Fém Fekete Piros Fém
A sorra érkező munkadarab színe kezdetben ismeretlen, aztán ahogy halad előre, a Tesztelő állomásnál már lehet tudni, hogy fekete vagy nem, a Szortírozó állomásnál pedig egyértelműen kiderül a darab színe. A fennmaradó 1 bitet (15.) a munkadarab minősítésének tárolására használom fel. A Szortírozó állomásról kilépő darabok automatikusan megfelelő minősítést kapnak. Selejtképzés a Tesztelő és a Rakodó állomáson van, de az Adagoló állomás átrakó karjáról és a Megmunkáló körasztaláról leeső munkadarabok is selejt minősítést kapnak. 1 biten két érték tárolható, így a minősítés értéke:
48
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
7. táblázat Munkadarab minősítések kódja a címkében Érték
Minősítés Jó Selejt
0 1D = 001B 5.1.5.2. ADATOK DEKÓDOLÁSA A CÍMKÉBŐL
Amikor egy állomásnak szüksége van a munkadarab adataira, akkor dekódolni kell azokat a címkéből. Ezt a bináris ÉS/VAGY műveletek és bitmaszkok segítségével tehetjük meg. Az eljárás demonstrálása érdekében nézzük meg az alábbi példát. A munkadarab címkéje 0 001 100 000000100. A jobb átláthatóság érdekében csoportosítottam a biteket. A feladat az, hogy derítsük ki, hogy hol van most ez a darab? Milyen a színe? Mi a sorszáma? Milyen minősítést kapott? A lokációt dőlt betűvel szedtem, kiolvasásához el kell végezni egy bitenkénti ÉS műveletet a 0000111000000000 bitmaszkkal. A művelet eredményeként az eredeti címkéből csak azok a helyi értékek maradnak meg, ahol a bitmaszk értéke 1 volt. Elvégezve a műveletet: Címke: Bitmaszk: Eredmény:
0001100000000100 & 0000111000000000 0000100000000000
= 6148D = 3584D = 2048D
A kapott eredményben bekarikáztam azt a részt, amely megmutatja a munkadarab lokációját. Látható, hogy ez a Rakodó állomás kódja. Ahhoz, hogy ebből visszakapjuk a decimális 4 értéket, úgynevezett bináris rotációval el kellene forgatni az eredményt kilencszer jobbra. Az elforgatás után a 100 érték a 0-2. helyi értékre kerül, amely valóban megfelel a decimális 4-nek. A forgatás nem ad új információt az eredményhez, csak a formáját változtatja meg. A számítási feladatok csökkentése érdekében nem alkalmazom a forgatást, inkább átszámoltam a kódok értékeit. Ezek alapján a Rakodó állomás kódja 2048D. A munkadarab színének kiolvasásához a következő műveletet kell elvégezni: Címke: Bitmaszk: Eredmény:
0001100000000100 & 0111000000000000 0001000000000000
= 6148D = 28672D = 4096D
A munkadarab színe piros vagy fekete. Itt is érvényesek az előbb elmondottak, a programokban a 4096D értékkel hivatkozok a piros/fekete színre. A munkadarab azonosítójának kiolvasásához végezzük el a következő bitenkénti ÉS műveletet: Címke: Bitmaszk: Eredmény:
0001100000000100 & 0000000111111111 0000000000000100
= 6148D = 511D = 4D
Az azonosító esetén nincs szükség semmilyen átalakításra, a kapott eredmény megfelel a munkadarab sorszámának.
49
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
A minősítés megállapítására két lehetőség is van. Az egyszerűbb megoldás az, ha beállítunk az FST-ben egy hivatkozást a címkét tároló falg 15. bitjére, például F6.15, majd ennek az értékét könnyedén lehet írni és olvasni is. A másik megoldás az, hogy elvégezzük az előzőekben alkalmazott bináris ÉS műveletet. Címke: Bitmaszk: Eredmény:
0001100000000100 & 1000000000000000 0000000000000100
= 6148D = 32768D = 0D
Tehát a munkadarab megfelelő minősítést kapott, mert az eredmény 0D. A selejt jelzés kódja a 32768D lenne. 5.1.5.3. ADATOK ÍRÁSA/MÓDOSÍTÁSA A CÍMKÉBE Az adatok írása és módosítása két lépésben történik. Első lépésben törölni kell az adott blokk értékét egy bináris ÉS művelettel, majd be kell írni az új értéket egy bináris VAGY művelettel. A törléshez használt maszk megegyezik az olvasáshoz használt maszk bitenkénti negáltjával. A beíráshoz használt maszk megegyezik a kívánt adat értékével. Az előző példa folytatásaként megváltoztatjuk a „4” azonosítójú darab lokációját a Szortírozó állomásra, a színét pedig pirosra. A lokáció aktualizálása előtt törölni kell az előző értékét, ehhez végezzük el az alábbi műveletet: Címke: Bitmaszk: Eredmény:
0001100000000100 & 1111000111111111 0001000000000100
= 6148D = 61951D = 4100D
A Szortírozó állomás kódja 5D, amelyből a megfelelő helyi értékekre forgatás után 2560D lesz. A beíráshoz végezzük el a bináris VAGY műveletet. Címke: Bitmaszk: Eredmény:
|
0001000000000100 0000101000000000 0001101000000100
= 4100D = 2560D = 6660D
A szín módosításához hasonlóan kell eljárni, mint az előbb. Nem fűznék hozzá túl sok kommentárt, amire szükségünk van, az a két bitmaszk. A törléshez a 36863D maszkot használjuk: Címke: Bitmaszk: Eredmény:
0001101000000100 & 1000111111111111 0000101000000100
= 4100D = 36863D = 2564D
A beíráshoz pedig a 12288D értékeket: Címke: Bitmaszk: Eredmény:
|
0000101000000100 0011000000000000 0011101000000100
= 2564D = 12288D = 14852D
Az állomások programjai ezeket a műveleteket hajtják végre a munkadarabok érkezésekor és továbbküldésekor. Először kiolvassák a munkadarab adatait, frissítik a megfelelő mezőket, majd továbbküldik a következő állomásnak. Lehet, hogy valaki megkérdőjelezi ennek az összetett eljárásnak a létjogosultságát, és azt mondja, hogy sokkal egyszerűbb lenne az élet, ha minden információ külön 50
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
adatcsomagban kerülne továbbításra. Az általam megalkotott kódolás 4 különböző információt tárol egy gépi szónak megfelelő adatterületen. Ha egyenként akarnánk továbbítani ezeket az adatokat, akkor minden címke továbbításához négyszer annyi időre lenne szükség, illetve drasztikusan megnőne a hálózati ütközések száma. Abban az esetben, ha több információk akarnánk eltárolni a darabokról, akkor óhatatlanul szükséges lenne a címkék méretének növelése. Azonban egy, az előzőekben bemutatotthoz hasonló kódolás alkalmazásával újabb hasznos információkat rögzíthetünk akár egy gépi szóban is. 5.1.5.4. A MUNKADARABOK ÉLETCIKLUSA A GYÁRTÓSORON A munkadarabok életciklusa ott kezdődik, amikor az Adagoló állomás kiadagolja a magazinból és átadja a Tesztelő állomásnak. A munkadarab felemelése előtt az Adagoló felépít egy címkét, amely segítségével bejelenti a dararabot a fővezérlőnél. A kezdetleges címke még nem tartalmazza a munkadarab egyedi azonosítóját, mivel azt a fővezérlő osztja ki. Amikor a fővezérlő megkapja a címkét, sorszámmal látja el a darabot és hozzárendel egy stoppert, amely méri a munkadarab soron töltött idejét, az úgynevezett soridőt. Ezután a fővezérlő visszaküldi a kiegészített címkét az Adagolónak, amely ezután elindítja a darabot a Tesztelő állomás felé. Amikor a munkadarab megérkezik a Tesztelő állomásra (vagy az összes továbbira), akkor egyidejűleg megérkezik a munkadarab címkéjé is. A bejövő adatok az `MDB_I` változóba íródnak, a továbbküldött adatok az `MDB_O` változóban kerülnek elhelyezésre. A technológiai ciklus kezdetekor el kell végezni a címke áttárolását egyik regiszterből a másikba, ezután aktualizálni kell a munkadarab lokációját, majd a módosított címkét el kell küldeni a fővezérlőnek. Ekkor a fővezérlőben kialakított adatbankban is frissül a darab tartózkodási helye. A technológiai folyamat befejeztével, a darab továbbadása előtt, tovább kell küldeni a címkét a következő állomásnak. A sorról hivatalosan három ponton léphetnek ki munkadarabok, azonban előfordulhat olyan eset is, hogy hiba történik a munkadarab állomások közötti mozgatásakor és ezért hagyja el a sort a darab. Miután a darab végzett a soron, függetlenül a kilépési helytől és okától, le kell állítani a hozzá tartozó soridő mérő stoppert. Ehhez ismét el kell küldeni a darabhoz tartozó címkét a fővezérlőnek. Attól függően, hogy a darab érkezését vagy sorról való kilépését szeretnénk jelezni a fővezérlőnek, más és más regiszterbe kell elküldeni a darab adatait. Abban az esetben, ha a darabot kézzel rakták be valamelyik állomás felvevő pozíciójába, akkor az még nem rendelkezik címkével, ezáltal nincs beregisztrálva a fővezérlőnél sem. Ekkor hasonló procedúra zajlik le, mint amikor az Adagoló állomás indítja el a darabot. A fővezérlő megkapja a hiányos címkét, majd a munkadarab regisztrálásakor azt is adminisztrálja, hogy a munkadarab hol lépett be a sorra.
5.2. A KERETRENDSZER PROGRAMJAI A keretrendszer több programot és programmodult is tartalmaz, amelyek mindegyike a logikailag összetartozó feladatokat látja el. A programok két csoportba oszthatók, egy részük a vezérlési láncba illeszti be az adott vezérlőt, a másik részük az állomás vezérlési feladatait végzi. Az első csoport programjainak neve a „Vezérlő” előtaggal kezdődik, a második 51
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
csoport az „Állomás” előtagot kapta. A programmodulok elnevezési rendszere megegyezik az előbb leírtakkal. A keretrendszer megírásakor fontosnak tartottam azt, hogy az új környezetben történő alkalmazása a lehető legegyszerűbben legyen megoldható, illetve egy olyan személy is könnyedén el tudja ezt végezni, aki nem ismeri az egész rendszer működését. A keretrendszer egy sablon projekt, amelyet kiegészítve a megfelelő paraméterekkel és a technológia helyet működtető programkódokkal, azonnal rendelkezésre áll az MPS rendszer valamely állomásának vezérlő programja. Annak érdekében, hogy a sablont felhasználó programozó csak azokhoz a kódokhoz és paraméterekhez férjen hozzá, amelyekhez feltétlenül szükséges, külön programmodulba emeltem a módosítható kódrészeket. Ezt a megoldást alkalmazom többek között az {P12 – Állomás – Vészstop} programnál is, ahol bizonyos általam programozott feladatokat automatikusan elvégez a keretrendszer, majd a PLC végrehajtja a felhasználó által írt állomásonként specifikus feladatokat tartalmazó {CMP 12 – Állomás – Vészstop - EGYÉNI} programmodult is. Ettől függetlenül a keretrendszer kódját is lehet módosítani, ha szükséges, de a kódok elválasztása csökkenti a rendszerbe bevihető hibalehetőségek számát. A következőkben ismertetem a keretrendszer programjait, szolgáltatásait és azok működését. A leírás egyfajta használati útmutató is, amely segítségével az olvasó megértheti a rendszer működését, vagy akár megírhatja egy új vagy már meglévő állomás programját is. 5.2.1. P0 – VEZÉRLŐ - FŐPROGRAM A {P0 – Vezérlő – Főprogram} lépésutasítás szerkezetű, és két részből áll. Az
az inicializációs szakasz, amely a következő feladatokat végzi el:
inicializálja a programváltozókat konfigurálja az Ethernet kapcsolatot elindítja a szükséges folyamatokat, a szükségteleneket lezárja foglalt jelzést ad az előző állomásnak olyan állapotba állítja a kimeneteket, hogy az általuk kapcsolt aktuátorok befejezzék mozgásukat, valamint az anyagmozgatást végző berendezések biztonságosan megtartsák a mozgatott terhet törli a hibakódokat [ON-Line] üzemállapotba állítja a vezérlőt, majd bejelentkezik a fővezérlőnél Az szakaszban meghívásra kerül a {CMP 2 – Vezérlő – Boot – EGYÉNI} programmodul, amely segítségével be illetve ki kell kapcsolni a megfelelő kimeneteket, be kell állítani az állomás IP tábla sorszámát, át kell adni azoknak a regisztereknek és flageknek a címét (sorszámát), amelyek a következő adatokat tartalmazzák a fővezérlő memóriájában:
állomás üzemállapota állomás utolsó ciklusideje állomás hibakódja állomás által küldött figyelmeztetés (alacsonyabb prioritású hiba) állomásra érkező új munkadarab bejelentése 52
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
állomásnál keletkező selejt munkadarab bejelentése
A felsorolás utolsó pontjában említett adatokat az állomás Etherneten küldi el a fővezérlőnek. Az adatküldéshez használt modul bemenő paraméterei közül az egyik paraméter az adat helyi címe, egy másik paramétere az adat címe a célállomáson. A keretrendszer azonossága miatt a kiindulási pont (változók memóriacíme) minden állomáson megegyezik, így azt nem szükséges állomásonként aktualizálni. A célkoordináta viszont eltérő, emiatt szükséges beállítani az említett paramétereket. Miután ez megtörtént, a hálózati címzések automatizálttá válnak, és a felhasználónak nem kell több tucat paramétert kézzel beállítgatni. A {CMP 2 – Vezérlő – Boot – EGYÉNI} modulba kell beírni azt a néhány utasítást is, amely gondoskodik az aktuátorok biztonságos megállításáról. Ez a műveletsor megegyezhet a [Vészstop] állapotba lépéskor használt forgatókönyvvel, hiszen itt is az a lényeg, hogy minden mozgás megszűnjön, de ez a lehető legbiztonságosabb módon menjen végbe. A főprogram második szakasza, a , egy végtelenített ciklus, amely az inicializációs műveletek elvégzése után aktiválódik és a következő feladatokat végzi: figyeli az újraindítás (vezérlés alaphelyzetbe állítása) kérését és végre is hajtja azt, az állomáson fellépő hiba esetén beállítja a [Hiba] üzemállapotot Az újraindítás végrehajtása úgy megy végbe, hogy egy ugró utasítás visszalépteti a {P0 – Vezérlő – Főprogram}-ot az első lépéshez, ahol ismét végbemegy az inicializáció. A [Hiba] aktiválását végző rutin azonnal működésbe lép, ha a `Hibakod` vagy a `Warning` (figyelmeztetés) regiszterek értéke egytől különböző értéket vesz fel. A 8. sorban szereplő `Folytasd` nevű változó egy engedélyező bit, amely azt jelzi a vezérlésnek, hogy kijavították a hibákat, majd ismét elindították a rendszert. Ha egy hiba felfüggesztette például a {P11 – Állomás – Automata} program futását, akkor a program azután folytatódik, amikor a `Folytasd` felvette az 1 (igaz) értéket. A megfelelő működés érdekében, hiba esetén ezt a változót mindenképpen törölni kell, éppen ezért a [Hiba] üzemállapot beállítása mellett érdemes a `Folytasd` változó törlését is elvégezni. A `Folytasd` törlését a {CMP 11 – Állomás – Automata hibakezelő} is elvégzi a hibakezelés első lépéseként. A hibakezelésről további információk az 5.2.6 szakaszban olvashatók. 0001 IF 0002 0003 0004 0005 0006 THEN 0007 0008 folytatás
N AND <> OR <> LOAD TO RESET
VStop ((Hibakod V1) (Warning V1)) V6 UA Folytasd
'Állapot: Vészstop 'Állomás hibakódja 'Állomás figyelmeztetése
'Állomás üzemállapota 'Állapot: Hibajavítás kész,
5.2.2. P1 – VEZÉRLŐ – PARANCS ÉRTELMEZŐ PROGRAM A {P1 – Vezérlő – Parancs értelmező} lépés utasítás szerkezetű, amely az első lépésben egészen addig várakozik, amíg a `Parancs ` változó nullától különböző értéket nem 53
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
vesz fel. Mindegyik lépés egy-egy lehetséges parancshoz tartozó utasítások összességét tartalmazza. IF – THEN kifejezések segítségével sorba veszi az összes lehetséges parancskód értéket és összehasonlítja a `Parancs` értékével. Amennyiben egyezést talál, végrehajtja a blokkban levő utasításokat, majd törli a változó értékét. A parancsokat fontossági sorrendben értékeli ki, és amennyiben szükséges, az üzemállapotot is módosítja. Véleményem szerint a program működése nem bonyolult, így nem tartom szükségesnek a program sorról sorra történő elemzését, de a és a <Start> blokkokhoz hozzáfűznék néhány gondolatot. A blokkban törlöm a hibaváltozók értékét, majd annak megfelelően, hogy a rendszer milyen üzemállapotban volt a hiba fellépése előtt, más és más üzemállapotot állítok be. Az [Automata] üzemben bekövetkezett hibák javítása után a [Helyreállítva] üzemállapot aktiválódik, a [Vészstop] állapotban végrehajtott hibakód törlés után továbbra is a [Vészstop] marad aktív, más egyéb esetekben, például sikertelen alaphelyzet felvétel után visszaáll a rendszer az [ON-Line] állapotba. A <Start> lépésben aktiválódik az [Automata] üzem, ha az állomás aktuátorai alaphelyzetben vannak és nem még nem fut a {P11 – Állomás – Automata}. Amennyiben az állomás a [Helyreállítva] üzemállapotban volt, akkor beállítja a `Folytasd` változó értékét és az [Automata] üzemállapotot, majd folytatja a korábban megszakított {Automata} programot. 5.2.3. P2 – VEZÉRLŐ – JELENTŐ PROGRAM Ez a program felelős az adatok vezérlőnek való továbbításáért. A program hasonlóan az előzőekhez, szintén lépés utasítás szerkezetű és számos ugró utasítást tartalmaz. Mindegyik blokk egy-egy adat elküldésért felelős. Minden adathoz tartozik egy jelzőbit, amely megmutatja, hogy szükséges-e továbbítani az adott csomagot, vagy sem. Az üzemállapotot, a ciklusidőt és a hibakódokat tartalmazó regiszterek tartalma a jelzőbitek beállítása nélkül is továbbításra kerülnek, amennyiben az értékük megváltozik. Miután egy adatcsomag elküldése sikeresen megtörtént, a hozzá tartozó flag törlődik, majd a program továbblép, és megpróbálja elküldeni a következő adatcsomagot. Sikertelen adatküldés esetén az adott feladathoz tartozó hibaszámláló értéke inkrementálódik, majd szintén továbblép. A program, a ciklikus jellegéből adódóan, újra és újra végigpásztázza a lehetséges feladatokat, és folyamatosan eleget tesz az adatküldésre vonatkozó kéréseknek. Mivel egy sikertelen adatküldés esetén nem törlődik ki a küldést kérelmező jelzőbit, ezért a következő ciklusban újra elküldésre kerül az adott adatcsomag. Ha bármely hibaszámláló értéke eléri a tízet, akkor az állomás azonnal leáll, hasonlóan a [Vészstop] állapothoz. 5.2.4. P9 – ÁLLOMÁS – FELÜGYELET PROGRAM Ez a program a sablonban egy üres program. A kitöltése opcionális, tartalmáról a felhasználó rendelkezhet. A létrehozásának célja az volt, hogy olyan tevékenységeket végezzen el, amelyek megkövetelik a folyamatos felügyeletet, és függetleníteni kell őket az {P11 – Állomás – Automata} programtól. Tegyük fel, hogy egy állomásnál van egy feltétel, amelyet időről időre folyamatosan ki kell értékelni. Az állomások technológiáját vezérlő programok általában lépés utasítás szerkezetűek, mivel a ciklikus vezérlési programokat ebben a legegyszerűbb megírni. Mivel 54
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
az adott feltétel ellenőrzését a megmunkálással párhuzamosan kell futtatni, ezért praktikus egy külön programban elhelyezni az ellenőrző kódot, ellenkező esetben minden lépésbe bele kellene írni ugyanazt az ellenőrző feltételt, ami felesleges munka lenne. Az említett párhuzamosan futó program a {P9 – Állomás – Felügyelet program}. A gyakorlati felhasználásra az egyik példa az aktuátorok alaphelyzetének ellenőrzése. A következő kódrészlet a Tesztelő állomás alaphelyzet feltételét mutatja be: 0001 IF 0002 0003 0004 THEN 0005 OTHRW
AND AND SET RESET
s_Emelo_A s_Kitol_A N s_MDB AH AH
'Emelő henger lenn - AH 'Kitoló henger alaphelyzet 'MDB a felvevő pozícióban 'Alaphelyzet felvéve 'Alaphelyzet felvéve
Mint látható, az alaphelyzet felvételének egyik feltétele az, hogy ne legyen munkadarab az állomás felvevő pozíciójában. Erre azért van szükség, mert egy nem tervezett leállítás (például áramkimaradás, Vészstop) után a soron maradt munkadarabok az újraindításnál különféle problémák forrásai lehetnek. Ezt a problémát az Adagoló állomáson keresztül lehetne a legjobban bemutatni, egy szemléletes példa található az 7.1.2 fejezetben. 5.2.5. P10 – ÁLLOMÁS – ALAPHELYZET PROGRAM Az eddigi programoktól eltérően ez a program csak akkor fut, amikor szükség van rá. Az alaphelyzet felvétele parancs hívja meg, majd miután befejezte a feladatát, bezárja magát. A program első lépésben meghívja az {CMP 10 – Állomás – Alaphelyzet – EGYÉNI} modult, amelyet a felhasználó tölthet ki a saját programjával. A programmodul tartalmával kapcsolatban annyi megkötés van, hogy a befejezése előtt végezzen egy alaphelyzet ellenőrzést, és sikeres alaphelyzet felvétel esetén állítsa be az `AH` (alaphelyzetet jelző) flaget. Erre azért van szükség, mert a {P10 – Állomás – Alaphelyzet} ez alapján aktiválja az [Alaphelyzet] üzemállapotot. Természetesen gondoskodni kell az alaphelyzet felvétel hibakezeléséről is, amelyhez hozzátartozik a hibaesemény kóddal való ellátása, illetve a sikertelenül kivezérelt aktuátorok mozgásának leállítása. Ez utóbbira főként a villamos motor által működtetett eszközök szolgálnak példaként, mert például egy túlterhelt (megszorult) villanymotor le is éghet, amennyiben nem áramtalanítják le időben. A hibakezelésről a következő fejezetben további információk olvashatók, illetve az állomások vezérlő programjaiban gyakorlati megvalósítások is találhatók. 5.2.6. P11 – ÁLLOMÁS – AUTOMATA PROGRAM ÉS HIBAKEZELÉSE A {P11 – Állomás – Automata} program végzi a technológiai folyamatok vezérlését. A program működése teljes egészében a megvalósítandó feladattól függ. A program sablonja a követezőképpen néz ki: 0001 STEP 0 0002 THEN LOAD 0003 TO 0004 SET állomásnak (=1)
V3 UA IP_N_FO
'Állomás üzemállapota 'Szabad jelzés a köv.
55
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
0005 STEP Start 0006 THEN
NOP
0007 STEP Vege 0008 THEN JMP TO Start A <0> lépésben beállítja az [Automata] üzemállapotot és szabad jelzést küld az előző állomásnak. Az 5. sortól kezdődik a megmunkáló program, amely ciklikusan ismétlődik. A <Start> és lépések között tetszőleges számú lépés helyezhető el, illetve a meglévők is átalakíthatók. Az általam szerkesztett {P11 – Állomás – Automata} programok sok lépésből állnak, és szinte minden blokk első IF – THEN szerkezete a hibakereséssel kapcsolatos teendőket végzi. Ha az egyik lépésben utasítást adok egy aktuátor mozogatására, akkor a következő lépésben meg kell bizonyosodni a mozgás végbemeneteléről. Ehhez az 5.1.3 fejezetben bemutatott Watchdog módszert alkalmazom, amely ellenőrzi, hogy a mozgások sikeresen befejeződtek-e egy meghatározott időintervallumon belül. Az említett időintervallum nagysága műveletenként más és más lehet, minden esetben egyedileg kell meghatározni. A várakozás idejének csökkentésével gyorsítható a hiba felismerése, azonban azt is figyelembe kell venni, hogy előfordulhatnak-e olyan környezeti behatások, amelyek jelentősen megnövelhetik a műveletek időigényét. Például ha egy üzemben több pneumatikus berendezés van telepítve és mindegyik egyidejűleg működik, akkor a megnövekedett levegő felhasználás miatt lecsökkenhet a rendszer nyomása, ez pedig a mozgások sebességének csökkenéséhez vezethet. A teljes egészében elektromos működtetésű berendezések esetén a várakozási idő jól kalkulálható, hiszen a villamos energia utánpótlása könnyedén megoldható. A hibaellenőrzést is tartalmazó lépések mindegyike az alábbi példához hasonlóan néz ki: 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015
STEP 1 IF THEN SET WITH STEP 2 IF N THEN CMP 11 WITH SET IF THEN
NOP WatchDog 1s
WatchDog
'WatchDog Timer ' 1s várakozás
V2 Aktuator
'WatchDog Timer 'Állomás - Automata hibakezelő ' Esemény hibakódja ' Tetszőleges aktuátor
Szenzor NOP
' Szenzor jele ' Csinál valamit
STEP 3
A <STEP 2> lépésben a `Szenzor` nevű jeladó jelére vár a program, majd ha azt megkapja, akkor elvégzi az előírt feladatot, ami jelen esetben az, hogy ne csináljon semmit. 56
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
Mivel ez a feltétel a blokk utolsó eleme, ezért csakis akkor lép tovább a program a <STEP 3> lépésre, ha a feltétel teljesül, illetve ha egy korábban elhelyezett feltételben elhelyezett ugró utasítás továbbléptetné. Ha az 2. blokkban csak a 12-13. sor szerepelne és a szenzor jele nem érkezne meg, akkor a PLC az idők végezetéig várná a feltétel teljesülését, ezért a program beragadna. Ennek az elkerülésért felelős a 7-10. sorban olvasható utasítás, amely a kivárási idő letelte után meghívja a {CMP 11 – Állomás – Automata hibakezelő} modult, melynek bemenő paramétere a hibajelenség kódja. A {CMP 11 – Állomás – Automata hibakezelő} modul kódjának alapstruktúrája meghatározott, de a hibajelenségek bekövetkezésekor végrehajtandó utasítások rögzítése a programozó feladata. A funkciómodul feladata kettős, egyrészt a hiba jelentkezésekor elvégzi a szükséges beavatkozásokat, másrészt megszakítja a {P11 – Állomás – Automata} program futását. Amíg a {CMP 11} fut, addig az {Automata} program szünetel, a hibakezelő pedig csak akkor kapcsol ki, ha kijavították a hibát és újra elindították a sort. Miután ez megtörtént, a {CMP 11} kilép, visszaadja a vezérlést az {Automata} programnak, amely végrehajtja a közvetlenül a hibakezelő után álló utasításokat is. Ennek eredményeként a hiba bekövetkezése után a hibakezelőben lévő parancsok hajtódnak végre, az újraindítás után pedig a modulhívást követő utasítások. A {CMP 11 – Állomás – Automata hibakezelő} modul sablonja így néz ki: 0001 STEP 0002 THEN LOAD FU32 0003 TO Hibakod 0004 RESET Folytasd folytatás 0005 LOAD V100 0006 TO WatchDogP 0007 0008 STEP Kezeles 0009 IF NOP 0010 THEN NOP 0011 0012 STEP Varakozas 0013 IF (Hibakod 0014 = V2) 0015 AND s_Sensor 0016 THEN JMP TO AutoHTor 0017 0018 IF Folytasd folytatás 0019 THEN JMP TO Kilep 0020 0021 STEP AutoHTor 0022 THEN LOAD V1 0023 TO Hibakod 0024 LOAD V3 TO UA
'CMP/CFM 1. argumentum 'Állomás hibakódja 'Állapot: Hibajavítás kész,
'WatchDog előválasztó
'Állapot: Hibajavítás kész,
'Állomás hibakódja 'Állomás üzemállapota 57
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
0025 0026 STEP Kilep 0027 THEN SET
WatchDog
'WatchDog Timer
A program az első lépésben beírja a `Hibakod` értékét, majd törli a `Folytasd` flag értékét. A `WatchDogP` időzítő előválasztó regisztere 1 másodperces feltöltést kap Az időzítő újratöltése azért szükséges, mert ha az {Automata} program kikapcsolt időzítővel kapná vissza a vezérlést, akkor ismét hibát detektálna, visszahívná a {Hibakezelő} modult, majd az állandó rekurzió a program megbénulásához vezetne. A 1 másodperc egy átlagos érték, amely az esetek nagy többségében elégséges. Ha bizonyos hibajelenségek esetén mégis eltérő értéket szeretnénk beállítani, akkor azt a <STEP Kezeles> szakaszban megtehetjük. Ehhez egy olyan IF…THEN szerkezetet kell létrehozni, amely a `Hibakod` értékétől függően más és más értéket ír be a `WatchDogP` regiszterbe. A <STEP Kezeles> lépésben megvizsgálja a program, hogy az aktuális hibakód esetén van-e teendője. Minden feltétel utolsó mondatának egy ugró utasításnak kell lennie, amely a <STEP Varakozas> szakaszba lépteti a programot. Amennyiben az ugró utasítás lemarad, akkor az összes további feltétel is kiértékelődik, ami csak időveszteség. Előfordulhat olyan eset, amikor egy hiba miatt csak meg akarjuk szakítani a megmunkálást, de semmilyen más intézkedést nem akarunk tenni, csak várakozni a hiba elhárítására. Ebben az esetben meghívásra kerül a {Hibakezelő}, de a <STEP Kezeles> szakaszban nem kell elhelyezni a hibakódhoz egyéni feltételt, a jelenleg 9-10. sor utasítása továbblépteti a programot a harmadik szakaszba (<STEP Varakozas>). Azért fontos, hogy ez a két sor legyen a <STEP Kezeles> blokk utolsó eleme, mert máskülönben beragadna a program azoknál a hibakódoknál, amelyekhez nincsenek utasítások felsorolva. A <STEP Varakozas> szakaszban az újraindítás jelére várakozik az állomás. Amikor a kezelő elhárította a hibákat és elindította a gyártósort, akkor a `Folytasd` jelzőbit értéke 1 lesz, ezért a program továbbugrik a <STEP Kilep> szakaszra. A 13-16. sorban arra láthatunk példát, hogy nem csak az lehet a hibakezelés befejezésének feltétele, hogy a kezelő törli a hibakódokat és elindítja a sort, hanem egy bármilyen másik tetszőleges esemény. Ezáltal megvalósítható egy automatizált hibakód törlés. Az ilyen esetekben egy adott hibakódhoz egyértelműen hozzá kell rendelni azokat a jeleket, amelyek együttes fennállásakor be lehet fejezni a hibakezelést. Ekkor a program továbbugrik a <STEP AutoHTor> lépésre, ahol törli a hibakódot és az állomás üzemállapotát [Automata]-ra állítja. A megoldás gyakorlati alkalmazására a Szortírozó állomásnál (7.5.4) lehet példákat találni. A {P10 – Állomás – Alaphelyzet} programban alkalmazott hibakeresési megoldás hasonló az előzőekben tárgyaltakhoz. A különbség az, hogy az a hiba felismerése után a {CMP 10 – Állomás – Alaphelyzet – EGYÉNI} modul nem hív meg semmilyen hibakezelő funkciómodult. A hibakereső feltétel THEN részébe be kell írni a hibakód értékét, majd be kell fejezni az alprogram futását. A hibakód értékének 128-nál nagyobbnak kell lennie, jelezve ezzel, hogy a hibakód alaphelyzet felvételi problémára utal (lásd 5.1.3.2). 5.2.7. P12 – ÁLLOMÁS – VÉSZSTOP PROGRAM A {P12 – Állomás – Vészstop} program a Vészstop parancs aktiválása után indul el, majd a Vészstop vége parancs hatására fejezi be futását. Ahogy arról már korábban szó esett 58
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
(5.2), a program két részből áll, melyek közül az első minden állomásnál közös, míg a másik állomásonként egyedi. Az egyedi kód megírása a programozó feladata, semmilyen formai követelmény nem vonatkozik rá. A {Vészstop} program feladata az, hogy az állomás aktuátorai befejezzék mozgásukat, valamint az anyagmozgatást végző berendezések biztonságosan megtartsák a mozgatott terhet. Ehhez nem elég csupán a kimeneteket lekapcsolni, be kell zárni az összes olyan programot is, amelyek újra mozgásba hozhatnák a berendezést. Az elmondottak alapján a {Vészstop} program így néz ki: 0001 STEP Start 0002 THEN RESET 0003 RESET 0004 RESET 0005 0006 RESET állomásnak (=1) 0007 0008 SET 0009 LOAD 0010 TO 0011 0012 CMP 12 0013 0014 STEP Varakozas 0015 IF N 0016 THEN 0017 0018 STEP Kilep 0019 IF 0020 <> 0021 OR 0022 <> 0023 THEN LOAD 0024 TO 0025 OTHRW LOAD 0026 TO 0027 0028 IF 0029 THEN SET 0030 RESET
P10 P11 P9
'Állomás - Alaphelyzet 'Állomás - Automata program 'Állomás - Felügyelet
IP_N_FO
'Szabad jelzés a köv.
VStop V4 UA
'Állapot: Vészstop 'Állomás üzemállapota 'Állomás - Vészstop - EGYÉNI
VStop NOP
'Állapot: Vészstop
((Hibakod V1) (Warning V1)) V6 UA V1 UA
'Állomás hibakódja
NOP P9 P12
'Állomás figyelmeztetése
'Állomás üzemállapota 'Állomás üzemállapota
'Állomás - Felügyelet 'Állomás - Vészstop
A <STEP Start> lépésben a program bezárja a technológiai jellegű programokat, foglalt jelzést mutat a többi állomásnak, beállítja a [Vészstop] üzemállapotot, majd elindítja a {CMP 12 – Állomás – Vészstop – EGYÉNI} alprogramot és végrehajtja az egyedi utasításokat.
59
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
A 2. szakaszban várakozik a program a Vészstop vége parancsra, ha az megérkezik, akkor a `VStop` flag értéke törlődik, majd a program továbblép. A <STEP Kilep> blokk átállítja az üzemállapotot annak függvényében, hogy ha van tárolt hibakód a rendszerben, akkor [Hiba] üzemállapotot vegyen fel a rendszer, míg ha nincs hibakód, akkor [ON-Line] állapotot. Végül a {Vészstop} újra elindítja a {P9 – Állomás – Felügyelő} programot, majd befejezi futását. Amennyiben egy alvezérlő programjába létrehoztunk olyan egyedi programokat, amelyeket a {CMP 12 – Állomás – Vészstop – EGYÉNI} alprogramban bezárunk, majd aztán szeretnénk újraindítani, akkor az újraindító utasításokat be lehet írni az {CMP 10 – Állomás – Alaphelyzet – EGYÉNI} modulba, vagy szükség esetén a {Vészstop} program is kiegészíthető.
5.3. A FŐVEZÉRLŐ A korábban bemutatott keretrendszer felelős az egyes alvezérlők működtetéséért, azonban a fővezérlő nélkül a rendszer használhatatlan, hiszen a fővezérlő képezi a „hidat” a felhasználó és az állomások között. A fővezérlő fordítja le a kezelő utasításait a berendezések számára érthető nyelvre, illetve segíti a felhasználót a rendszerből kinyert adatok értelmezésében. A fővezérlő szerepét az Adagoló állomást irányító PLC tölti be. Az említett PLC egyszerre vezérli az Adagoló állomást és koordinálja az egész rendszer működését is. A fővezérlőn futó programok alapját keretrendszer adta, amelyet kiegészítettem a vezérlési feladatokat ellátó programokkal. A fővezérlő programjainak nevei a „Fővezérlő” előtaggal kezdődnek. 5.3.1. VEZÉRLŐ UTASÍTÁSOK TOVÁBBÍTÁSÁNAK MECHANIZMUSA A fővezérlő egyik legfontosabb feladata a kezelő személy utasításainak közlése az alvezérlők felé. Ez egy összetett folyamat, amely több lépésből áll. A könnyebb megértését az 1. folyamatábra segíti.
1. folyamatábra Utasítások továbbításának folyamata A 4.2.1 pontban bemutatott utasítások mindegyike kiadható a kezelőpanelről és a WEB interfészről is. A {P20 – Fővezérlő – Kezelőpanel olvasó} program feladata, hogy detektálja a gombnyomásokat a kezelőpanelen és a virtuális kezelőfelületen egyaránt. Minden utasításhoz tartozik egy jelzőbit, amely segítségével a {Kezelőpanel olvasó} kommunikálni tud a {P20 – Fővezérlő – Parancs generáló} programmal. A {Parancs generáló} előállítja az adott jelhez tartozó parancskódot, illetve meghatározza, hogy mely állomásoknak kell elküldeni az adott parancsot. A címzettek 60
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
meghatározásakor figyelembe veszi az állomások üzemállapotát. A program működésének egyik sajátossága, hogy [Vészstop] állapotban csak a Hibakódok törlése parancsot engedi megfogalmazni, a többi utasítást figyelmen kívül hagyja. A program másik érdekessége, hogy felépítése miatt a címzettek számát tekintve nagyon univerzális. Jelenleg öt állomásból áll az MPS rendszer, erre a konstrukcióra egy lényegesen egyszerűbb programot is lehetett volna készíteni, ami hasonlóan jól ellátja a feladatát. A célkitűzésem viszont az volt, hogy olyan programot írjak, amely tetszőleges számú alvezérlő esetén is működik, a programkód méretének növekedése nélkül. Ehhez jól átgondolt ciklusszervezésre és dinamikus memóriacímzésre van szükség. Az előállított parancskódot a {P22 – Fővezérlő – Parancs küldő} program sorban, egymás után küldi el a korábban megcímzett alvezérlőknek. Sikertelen küldés esetén legfeljebb addig próbálkozik újra, amíg a sikertelen próbálkozások száma el nem éri a tízet. 5.3.2. ÜZEMÁLLAPOTJELZŐ LÁMPA VEZÉRLÉSE A lámpa vezérlését a {P24 – Fővezérlő – Üzemállapotjelző lámpa vezérlése} program végzi az `UzemAll` nevű változó értéke alapján. A lámpánál használt színkódolásról a 4.2.4 pontban volt szó. Minden üzemállapotnak megfeleltethető egy egyedi azonosító, amelyet az 8. táblázat tartalmaz. Az alvezérlők ezen kódok segítségével közlik állapotukat a fővezérlővel. Ehhez minden üzemállapot váltáskor elküldik a megfelelő kódot a számukra kijelölt regiszterbe. Az `UzemAll` értékének beállításáért a {P23 – Fővezérlő – Üzemállapot figyelő} felelős. A program ciklikusan ellenőrzi az egyes állomások üzemállapotáról kapott adatokat, és annak megfelelően állapítja meg az egész rendszer üzemállapotát. A lámpa mindig a rendszer aktuális állapotát mutatja, tehát a színkódok változása csak azután figyelhető meg, amikor az összes állomás beállt a kívánt üzemállapotba. Ez alól kivétel a [Hiba], mert annak beállításához elég egy állomáson hibát detektálni. 8. táblázat Üzemállapot azonosítók Üzemállapot PLC Off-Line PLC On-Line Alaphelyzet Automata Vészstop Üzemszerű leállás Hiba Helyreállítva
Kód 0 1 2 3 4 5 6 7
5.3.3. MUNKADARABOK KÖVETÉSE Az MPS rendszer rendeltetésszerű használata mellett a munkadarabok az Adagoló állomástól indulnak és végigmennek az egész soron, vagy idő előtt kilépnek a selejt kiválogató helyek valamelyikénél. A sor működésekor darabok átadása mellett a címkék átadása is megtörténik, egyszerre figyelhető meg az adat- és információáramlás. Abban az 61
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
esetben, ha kézzel rakunk be egy darabot bármely állomás felvevő pozíciójába, akkor az információáramlás elmarad, a munkadarabhoz tartozó címke nem áll rendelkezésre, hiszen nincs olyan előző állomás, amely azt elküldhette volna. Ugyan ez a helyzet az Adagolóba berakott darabokkal is, hiszen ott sincs semmiféle előzetes információ a darabokról. A címkék kiosztása a fővezérlő feladata, megvalósításának módja a következő. Amikor új munkadarab érkezik az állomások bármelyikére, azok elküldik a darab címkéjét a fővezérlőnek. A fővezérlő megállapítja, hogy kitől jött a jelentés, illetve elemzi a címkét. Abban az esetben, ha a címkébe nincs azonosító kódolva, akkor felismerhető, hogy az érintett állomáson egy újonnan berakott darab található. Ekkor a fővezérlő kioszt a darabnak egy azonosítót, hozzárendel egy soridő mérő stoppert, majd visszaküldi a korrigált címkét az azt feladó állomásnak. A már beregisztrált darabok esetén a fővezérlőnek nincs más teendője, mint frissíteni az adatbankban a darab aktuális tartózkodási helyét. A munkadarab adatok tárolására létrehozott adatbank a flag-ek számára fenntartott memóriaterületen került kialakításra. Az adattárolás információtartalom szerinti csoportokban történik, pontos módjáról a 9. táblázat ad tájékoztatást. 9. táblázat Munkadarabokról tárolt információk helye az adatbankban Adat helye
Információtartalom
FW1001-1510 FW2001-2510
Munkadarab címkék Munkadarabok sorra való belépési helye és sorról való kilépésének helye (állomás) Munkadarabok sorideje Két egymás követő, megfelelő minősítésű, befejezett munkadarab kilépése közt eltelt idő a Szortírozó állomásnál Munkadarabok kilépési sorrendje a Szortírozó állomásnál
FW3001-3510 FW4001-4510 FW5001-5510
Ahogy arról korábban már volt szó, a munkadarabok egyedi azonosítója egy sorszám, amely megmutatja, hogy az adott darab hányadikként lépett a sorra. Az adatbankban tárolt adatok és a munkadarabok egymáshoz rendelésének az volt a legegyszerűbb módja, hogy belekódoltam a darab azonosítóját az egyes információk memóriacímébe. Az azonosító értéke 1 és 510 közötti lehet (a címke struktúrájából adódóan, lásd 5.1.5.1), így alakult ki a 9. táblázatban látható forma. Ez pontosan meghatározott struktúra teszi lehetővé az adatok dinamikus elérését és módosítását. A dinamikus működés azt jelenti, hogy a programok futás időben címzi meg a változókat, amelyek az adatbankot alkotják. A változók ilyen módon történő elérését az „RINDEXMW – Flag word indexed reading”, írását a „WINDEXMW – Flag word indexed writing” nevű, a FESTO által előre megírt programmodulok teszik lehetővé. Közös bemenő paraméterük az elérni kívánt cím sorszáma, továbbá az íráshoz szükséges a beírni kívánt érték is. Az „RINDEXMW” a kiolvasott értéket a kimenő paramétereként adja át. Az állomások jelentéseinek feldolgozásáért a {P25 – Fővezérlő – Munkadarab bejelentések} felelős. Legfőbb feladata a munkadarabok adatainak frissítése az adatbankban, illetve a még nem regisztrált darabok felvétele az adatbankba. A munkadarabok soron töltött idejének méréséhez egy stoppert is hozzá kell rendelni a darabokhoz. Ez a művelet is teljesen dinamikusan (futás időben) történik, végrehajtásáért a {CMP 25 – Fővezérlő –
62
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
Stopper kiosztó} felelős. Az újonnan felvett darabok korrigált címkéjét a {P26 – Fővezérlő – Sorszám küldő} program küldi el az érintett alvezérlőnek. A {Stopper kiosztó} működése során, hozzárendeli a munkadarabhoz (azonosítójához) a tíz, erre a célra kijelölt időzítő egyikét. A feladatra fenntartott időzítők számának meghatározásakor azt kellett figyelembe venni, hogy több időzítő álljon rendelkezésre, mint ahány darab egyidejűleg a soron tartózkodhat. Az stopper kiválasztásához a program végigpásztázza a kijelölt időzítőket, majd az első szabad találatot lefoglalja. A programot a {Munkadarab bejelentések} indítja el, majd a megfelelő stopper kiválasztása után befejezi a futását. A sorról kilépő munkadarabok adminisztrációs feladatait a {P25 – Fővezérlő – Soridő számító} látja el. Hasonlóan működik a {Munkadarab bejelentések} programhoz, azonban ez csak a sorról kilépő darabokról szóló jelentésekkel foglalkozik. A címke elemzése után megkeresi a darabhoz tartozó stoppert, majd felszabadítja azt, kiszámolja a ciklusidőt, aktualizálja az elkészült/leselejtezett munkadarabok számát tartalmazó regisztereket, majd aktualizálja az adatbankot. A sikeresen megmunkált és szortírozott darabok esetén, meghatározza az aktuális és az előző megfelelő minősítésű munkadarab sorról való kilépése közti időkülönbséget, illetve a kilépés sorrendjét is. Az említett időkülönbség kifejezi a gyártósor termelékenységét, megmutatja, hogy hány másodpercenként készül el egy-egy újabb munkadarab. Minél kisebb ez az érték, értelemszerűen annál nagyobb a sor termelékenysége. A kilépés sorrendjének rögzítése első ránézésre kissé furcsa lehet, hiszen annak meg kellene egyeznie a belépés sorrendjével. A Megmunkáló állomás később ismertetett (7.3.7) szoftvere tartalmaz egy olyan hibajavító funkciót, ami bizonyos esetekben egy-egy munkadarabot kivesz a sorból, majd azt egy teljes körasztal fordulat után ismét visszaengedi a többi közzé. Ilyenkor az újraellenőrzött munkadarabot, akár öt, később elindított darab is megelőzheti a Megmunkáló állomásról való továbblépéskor. Az adatbankban tárolt információk grafikus megjelenítését a fővezérlőn futó JavaScript alapú WEB alkalmazás teszi lehetővé, amely táblázatba rendezve jeleníti meg a darabokkal kapcsolatos összes eltárolt információt. A WEB interfész részletes bemutatásáról a 4.2.5 pontban volt szó.
63
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
6. OPTIMALIZÁLÁS Egy üzem szempontjából mindig az a lényeg, hogy a meglévő berendezések a lehető legnagyobb termelékenységgel dolgozzanak. A termelékenység fordítottan arányos a berendezések ciklusidejével, ezért a termelékenység növelése érdekében csökkenteni kell a ciklusidőt. A legtöbb technológiai helyen a ciklusidő nagy részében mozgások mennek végbe, amelyeket végezhet a szerszám, a munkadarab, vagy akár mindkettő, egyszerre vagy egymás után. Az út, amelyet a szerszámoknak / munkadaraboknak be kell járni, adott. A mozgások sebességének növelésének gátat szab a dinamika, mert egy bizonyos mozgási sebesség elérése után olyan erőhatások ébrednek az irányváltáskor, amelyek miatt a berendezés szétveri saját magát. A klasszikus sebesség – út – idő összefüggés alapján egy v sebességgel mozgó test egy s hosszúságú pályán (6.1)
idő alatt megy végig. A sorban egymás után végzett mozgások teljes időszükséglete az egyes mozgások időszükségletének összege.
∑
(6.2)
Azonban, ha az aktuátorok egyszerre dolgoznak, akkor a teljes időszükséglet a leglassabb mozgás idejével egyenlő, amely kevesebb a részidők összegénél.
(
)
∑
(6.3)
A korábban elmondottak értelmében a t=t(s,v) függvény mindegyik változója konstansnak tekinthető, ezért csakis a párhuzamosítással érhető el a termelékenység növelése. A technológiai folyamatok többsége jól meghatározott lépések egymásutániságából áll, amelyek sorrendjét be kell tartani. Az ilyen esetekben is adódhat lehetőség az időpárhuzamosításra, mégpedig a következőképpen. Tegyük fel, hogy egy aktuátornak egy hosszú pályán kell végigvinni egy munkadarabot, de nincs olyan megkötés, ami előírná a mozgás sebességének állandóságát, például állandó előtolás. A mozgás csak akkor indulhat el, ha a célállomás fogadni tudja a darabot, mert a pálya végpontjában meg kell történni egy tetszőleges eseménynek. Ez azt jelenti, hogy az indítás feltétele egy olyan esemény, ami 64
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
helyileg távol zajlik a kiindulási ponttól, de az ténylegesen nem teszi lehetetlenné a mozgatás elindítását. A mozgáspálya kettéosztása után a pálya első része gond nélkül megtehető, majd az osztópontban kivárható az indítási feltétel teljesülése. A mozgáspálya kettéosztásánál meg kell határozni azt a biztonsági távolságot, amelynél nem szabad közelebb állni a célponthoz. Egy hosszú pálya esetén feltételezhető, hogy a biztonsági távolság lényegesen rövidebb a teljes úthossznál, így a köztes pontból a végpontba érni már lényegesen rövidebb idő alatt is lehetséges, mint ami a teljes út megtételéhez szükséges. Ezt az ötletet használom fel az Adagoló állomás optimalizációja során. Az olyan berendezéseknél, amelyek önmagukban is több feladatot látnak el egyszerre, valamint több munkadarabbal dolgoznak, érdemes átgondolni, hogy mik azok a műveletelemek, amelyeket függetleníteni lehet egymástól és egy időben el lehet végezni, egy vagy több másik művelettel együtt. Elképzelhető, hogy az egyik helyen egy ellenőrzési procedúrát kell elvégezni, míg a másik helyen párhuzamosan mehet a megmunkálást. Erre tipikus példa a Megmunkáló állomás. Az előző megállítások egyetlen berendezés önálló vizsgálata esetén érvényesek, azonban egy gyártósor esetén a berendezés környezetét is figyelembe kell venni. Egy soron az egyes állomások csakis akkor adhatják tovább a munkadarabjaikat, amikor a következő állomás fogadni tudja azt. Az olyan gyártósoroknál, ahol egy technológiai helyen egyszerre csak egy darab tartózkodhat, csakis akkor léphet tovább szalag (futószalag-rendszerű gyártás esetén), amikor minden állomás elvégezte a feladatát. Ilyenkor a gyártósor csakis annyira lehet gyors, mint a leglassabb állomása. Szűk keresztmetszetnek nevezzük azt a berendezést vagy folyamatot, ami visszafogja a termelést. Egy gyártósor optimalizálásánál arról beszélünk, hogy megkeressük a szűk keresztmetszetet, majd javítunk az adott állomás teljesítményén. Előfordulhat, hogy a javítás után egy újabb féket találunk a rendszerben, amelyet ismét igyekszünk feloldani. Az optimalizálás elméletileg a végtelenségig folytatható, de a gyakorlati életben ott érdemes meghúzni a határt, amikor a sor áteresztőképessége kellően nagy és az összes állomás ciklusideje nagyjából megegyezik, mert ilyenkor egyiknek sem kell várni a másikra. Az áteresztőképesség egy gazdasági mérőszám, amely arányos a termelékenységgel. Az előbbi kijelentés azt is magában hordozza, hogy a problémának az nem megoldása, ha a rendszer többi tagját „butítjuk” a szűk keresztmetszet szintjére, hiszen ekkor olyan tartalékokat hagyunk a rendszerben, amelyek anyagilag érzékenyen érinthetik az üzemet.
65
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
7. AZ ÁLLOMÁSOKAT VEZÉRLŐ SZOFTVEREK BEMUTATÁSA A következőkben bemutatom az MPS rendszer állomásainak általam készített új programjait. Az új programok az 5. fejezetben bemutatott keretrendszerre épülnek és megírásukkor törekedtem arra, hogy az állomások gyorsabb működésre legyenek képesek nagyobb üzembiztosság mellett. A két célkitűzés ugyan éles ellentétben áll egymással, de a gyakorlati tapasztalat szerint látványos javulást sikerült elérni az új vezérlés alkalmazásával. Az új programok teljes forráskódja és az állomások működését bemutató demonstrációs videók megtalálhatók az elektronikus mellékletek között.
7.1. ADAGOLÓ ÁLLOMÁS Az Adagoló állomás szerkezeti felépítéséről és alapvető működéséről a 2.1 pontban volt szó. 7.1.1. FEJLESZTÉSEK ÉS OPTIMALIZÁLÁSOK Az állomást működtető eredeti vezérlő programnak az volt a hibája, hogy felesleges köröket ment az átrakó kar a darabok felvétele előtt, valamint az adagoló és a munkadarab előkészítő műveletek sorosan, egymás után hajtódtak végre, amik együttesen nagyon megnövelték a ciklusidőt. Az én elképzelésem az volt, hogy miután az átrakó kar elhagyja a kifutót és felemelte a munkadarabot, akkor már elő lehetne készíteni a következő darabot, így mire a kar visszaérkezik a magazinhoz, addigra viheti is az újabb munkadarabot. A másik fontos változtatás az, hogy bevezettem az átrakó kar számára egy várakozási pozíciót az Adagoló és Tesztelő állomás között, így a kart meg lehet állítani a kettő között félúton is. Ez két ponton is gyorsítja az állomás működését. Egyrészt az új munkadarabok kitolásánál, másrészt a megfogott darabok Tesztelő állomásnak való átadásánál. A ciklus elején az átrakó kar elindul a Tesztelő felé, de félúton megáll. Megvárja, hogy a kitoló henger munkadarabot toljon a kifutóra, majd a kar visszatér a magazinhoz, felveszi a darabot és ismét elindul a várakozási pozícióba. Ha a Tesztelő állomás fogadja a darabot, akkor a kar beáll a Tesztelő felőli véghelyzetébe, átadja a darabot, azután elindul visszafelé. Amikor ismét elérte a várakozási pozíciót, akkor megáll és megvárja a következő munkadarab előkésztését. Mivel a kitoló henger már akkor elkezdi az új munkadarabot kitolni, amikor a kar felemelte az előző darabot a kifutóról, ezért a külső megfigyelő csak annyit lát az eseményekből, hogy a kar átadta a darabot a következő állomásnak, majd azonnal visszafordul a magazinhoz és már viszi is a következő darabot. A köztes pozíció pontos meghatározásához be kellett építeni egy új szenzort a rendszerbe. A felhasznált szenzor egy induktív elven működő érzékelő, amely az átrakó kar véghelyzet-jelző tuskói közzé szerelt belső kulcsnyílású csavar fejét érzékeli. A szenzorhoz szerkesztettem egy konzolt, amelynek alkatrészrajza a mellékletek között megtalálható. Az érzékelő elhelyezésénél azt kellett figyelembe venni, hogy az átrakónak mindenféleképpen
66
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
meg kell állni azelőtt, hogy a Tesztelő állomás kitoló hengerével ütközhetne, ugyanakkor a munkadarab mégis a lehető legközelebb kerüljön az átadási pozícióhoz. 7.1.2. ALAPHELYZET ÉS VÉSZSTOP PROGRAMOK Az állomás alaphelyzetét és vészforgatókönyvét a 10. táblázat szerint határozta meg. 10. táblázat Az Adagoló állomás aktuátorainak viselkedése [Alaphelyzet] és [Vészstop] állapotban Aktuátor Átrakó kar Kitoló henger Vákuum generátor Ejektor
[Alaphelyzet] Magazinnál – Áll Külső véghelyzetében – Áll Kikapcsolva Kikapcsolva
[Vészstop] Aktuális pozícióban – Áll Külső véghelyzetében – Áll Kikapcsolva Kikapcsolva
Egy jó {Alaphelyzet}, vagy egy {Vészstop} program akkor a legjobb, ha a rendszer előző állapotától függetlenül mindig tökéletesen ellátja a feladatát. A következő példa azt hivatott bemutatni, hogy mi történik akkor, ha az állomás váratlan leállása után egy munkadarab marad a munkatérben. Tegyük fel, hogy egy hiba miatt aktiválni kellett a [Vészstop]-ot, miközben az átrakó kar épp egy munkadarabot akart átrakni a Tesztelő állomás felvevő pozíciójába. A kar megállt félúton a két állomás között, a vákuummegfogón ottmaradt egy munkadarab. Az újraindítást követően a munkadarab továbbra sem esik le a megfogóról, a szívóvezetékben lévő vákuum egy ideig még a megfogón tartja a munkadarabot. A ciklus elején a magazin kitol egy munkadarabot a kifutóra, majd amikor a kar az alaphelyzete felé mozdul, a vákuummegfogón maradt munkadarabot rácsapja a kifutóra kitolt munkadarabra. Ezután beindul a vákuum generátor, felszívja azt a munkadarabot, ami egyébként is rajta volt a megfogón, majd a szerkezet elszállítja a darabot a Tesztelő állomáshoz. Az utoljára kitolt munkadarab még a kifutón van, de a vezérlő erről nem tud, ezért a kitoló megpróbál kitolni egy újat. Ezután folyamatosan két munkadarab lesz a kifutón és a kitoló henger a következő darabbal nyomja az előző darabot a kar felvevő pozíciójába. Ez mindaddig nem jelent túl nagy gondot, míg le nem állítjuk a rendszert. Ekkor ugyanis a második munkadarab ott marad a kifutón, mert az állomás nem is tud a jelenlétéről. Ha újra elindítjuk az állomást, akkor ismét előáll az előbbi helyzet, megint lesz egy plusz játékos a pályán. Ez egy komolyabb probléma, amelyet feltétlenül ki kell küszöbölni. A felvázolt eset akkor is megtörténhet, ha a váratlan leállítás előtt egy munkadarab volt a kifutón. Az Adagoló állomás általam írt vezérlő programja már az alapproblémát is sikeresen felismeri, így a felvázolt helyzet nem tud kialakulni. A megoldás abban áll, hogy az alaphelyzet felvétele előtt meg kell győződni arról, hogy van-e munkadarab a szívófejen, illetve a kifutón. Az alaphelyzet felvétel első lépéseként a vezérlő kikapcsolja a vákuumgenerátort és az ejektort, valamint külső véghelyzetébe állítja a kitoló hengert. Az állomáson nincs olyan szenzor, amely közvetlenül alkalmas lenne az állomáson maradt munkadarabok észlelésére. Az egyetlen eszköz, amelyet fel lehet használni erre a célra, az a vákuummegfogó. Ha a vákuumgenerátor beindításával sikerül vákuumot létrehozni a szívóvezetékben és az a generátor kikapcsolása után sem épül vissza környezeti nyomásra, akkor van munkadarab a megfogón. 67
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
A megfogón lévő darab észlelése könnyen megoldható, azonban a kifutón maradt darabok esetén kicsit bonyolultabb a helyzet. A vákuummegfogó csak azokat a darabokat tudja felvenni, és ez által vizsgálni, amelyek a kifutó végén lévő felvevő pozícióban vannak. Annak érdekében, hogy a vizsgálat hiteles legyen, biztosítani kell, hogy egy esetlegesen a kifutón lévő munkadarab eljusson ebbe a pozícióba. Ezután el kell végezni egy „emelési próbát”, amely kiértékelése után megállapítható a munkadarab jelenléte. Az emelési próba során a megfogó felszívja a munkadarabot, majd megemeli. Abban az esetben, ha az átrakó kar az alaphelyzetében áll és nincs alatta munkadarab, akkor a megfogó végén lévő tapadókorong hozzáér a kifutóhoz, ezáltal a szívóvezeték vége ugyanúgy lezáródik, mint amikor munkadarabot emel a berendezés. Ha bekapcsoljuk a vákuumgenerátort, akkor kialakul a vákuum, de amikor eltávolodik a megfogó a kifutótól, akkor azonnal megszűnik. Ha az emelési próba után a vákuumkapcsoló aktív, akkor munkadarab maradt az állomáson. A kifutón maradt munkadarabok felvevő pozícióba terelését a kitoló hengerrel lehet megoldani. Erre csak akkor van lehetőség, ha a magazin töltöttségét jelző jeladó azt jelzi, hogy a magazin üres, ellenkező esetben a hibakeresés közben idéznénk elő a hibát. Azért, hogy növeljem a munkadarabok észlelésének valószínűségét, bevezettem egy jelzőbitet, amelyet az {Automata} program állít be, amikor a kitoló henger munkadarabot tol a kifutóra. Ha a magazin üres (tehát nem lehet elvégezni a vizsgálatot a kitoló hengerrel) és a `KifutoMDB` flag éréke 1, akkor véget ér az alaphelyzet felvétel, de a jelzőbit értéke is törlődik. Amennyiben az átrakó kar a magazinnál áll, akkor a kitolás elvégzése előtt a kart a várakozási pontra kell küldeni, máskülönben a kitoló henger oldalról a vákuummegfogónak nyomná a munkadarabot. Amennyiben a kitoló műveletet nem sikerül 1 másodperc alatt végrehajtani, akkor azt lehet feltételezni, hogy két munkadarab van a kifutón egymás mögött, és a kitoló henger be nem fejezett lökete miatt nem jelez a véghelyzeti jeladója. A hiba miatt azonnal befejeződik az alaphelyzet felvétel, majd a vezérlés közli a kezelővel a hiba okát. Ha kettőnél kevesebb munkadarab van a kifutón, akkor a kitolási művelet sikeresen végbemegy. Ez után meg kell győződni arról, hogy van-e munkadarab a felvevő pozícióba. Ehhez vissza kell küldeni az átrakót a felvevő pozícióba, majd el kell végezni a már említett emelési próbát. Abban az esetben, ha a megfogón és a felvevő pozícióban is van egy-egy darab, akkor az átrakó kar visszatéréskor összeüti a két munkadarabot. Sérülékeny alkatrészek esetén ez nem kívánatos, ezért érdemes egy vákuumozási próbát tenni még a kar alaphelyzetbe küldése előtt. Az elmélet gyakorlati megvalósítását a {CMP 10 – Állomás – Alaphelyzet – EGYÉNI} modul tartalmazza. Kis túlzással azt lehetne mondani, hogy az Adagoló állomás {Alaphelyzet} programja bonyolultabb, mint egy átlagos {Automata} program. Cserébe viszont nagyon jó megbízhatósággal végzi a feladatát. Az alaphelyzet felvételéről készítettem egy demonstrációs videót, amely megtalálható az elektronikus mellékletek között. A [Vészstop] állapotban a {Vészstop – EGYÉNI} programmodul megállítja az átrakókart az éppen aktuális pozíciójában, a kitoló hengert a külső véghelyzetébe küldi, majd a vákuumgenerátort és az ejektort kikapcsolja.
68
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
7.1.3. AUTOMATA PROGRAM Az Adagoló állomás {Automata} programja valamelyest különbözik a keretrendszer {Automata} programjától. Mivel az Adagoló a sor első állomása, ezért nem rendelkezik foglaltságot jelző StationLink jeladóval (de vevővel igen), így azt nem is kell kapcsolgatnia. Szintén az előző ok miatt, az Adagolónak induláskor munkadarabot kell kérnie a kiszolgáló robottól, a többi állomásnál erre sem látunk példát. A ciklus elején fel kell emelni az átrakó kart a kifutóról, ki kell tolni egy munkadarabot, majd a kart vissza kell küldeni a magazinhoz. Minden egyes munkadarab kiadagolása után jelezni kell a robotnak a munkadarabok számának csökkenését. Ezt a PLC egyik kimenetének kapcsolásával lehet megtenni, amely össze van huzalozva a robotvezérlővel. Az impulzus hosszának 0,1s időtartamot állítottam be, amelyet a T3 időzítő mér. Az impulzus kikapcsolását a {P9 – Állomás – Felügyelet} program végzi, mert ez idő alatt az {Automata} program be tudja regisztrálni a munkadarabot a fővezérlőnél, majd tovább tud dolgozni anélkül, hogy a jel lekapcsolásának időpontját ki kellene várnia. A munkadarab felszívása akkor indítható, ha a kar a magazinnál áll, tehát jelet az ad az alaphelyzeti jeladója. Abban az esetben, ha a munkadarab fejjel lefelé van a kifutón, akkor a megfogó felütközik a munkadarab alsó homloklapján, így nem fordul a kar teljesen az alaphelyzetébe, emiatt nem ad jelet a mikrokapcsoló. Az elmondottak miatt a vákuumgenerátor indítási feltételét úgy határoztam meg, hogy a kar alaphelyzetbe küldésétől számítva legkésőbb 1 másodperc után, vagy a végálláskapcsoló jelzése után azonnal elindul a generátor. Ha túl hamar kapcsoljuk be a vákuumgenerátort vagy túl sokáig járatjuk, akkor levegőt pazarolunk. A bekapcsolás maximális időtartamának szintén egy másodpercet állítottam, de a vákuumkapcsoló jele azonnal lekapcsolja a generátort. Mivel a munkadarab felszívására többször is szükség lesz a későbbiek, ezért a vákuumgenerátor be- és kikapcsolásáért felelős utasításokat egy külön programmodulba írtam. Ez a modul a {CMP 13 – Adagoló – MDB felszívás / vákuum generálás} névre hallgat. A munkadarab mozgatása az után lehetséges, miután a kitoló henger elengedte a darabot. Itt azzal igyekszek csökkenteni a ciklusidőt, hogy nem a kitoló henger külső véghelyzetbe érkezését adtam meg a továbblépés feltételének, hanem a belső véghelyzetének elhagyását. A következő lépésben elindul a kar a Tesztelő állomás felé, a várakozási ponthoz érve továbbküldi a munkadarab azonosítóját a Tesztelőnek, majd várakozik a szabad jelzésre. Ezzel párhuzamosan elindul egy új munkadarab kitolása, persze ennek az a feltétele, hogy ne legyen érvényben Stop parancs. Előfordulhat, hogy a sor egy másik részén történt hiba miatt sokáig kell várakozni a munkadarab átadására. Ilyenkor a nem tökéletes tömítés miatt levegő szökik a vákuumozott térbe, ezért a vákuumkapcsoló kikapcsol, de a munkadarab még egy ideig a megfogón marad. Annak érdekében, hogy a munkadarab biztosan a helyén maradjon, a várakozás ideje alatt a program folyamatosan figyeli a vákuumkapcsoló jelét, és ha megszűnik a jel, akkor beindítja a vákuumgenerátort. Amennyiben nem sikerül megtartania a munkadarabot, akkor azt jelzi a fővezérlő felé, majd a ciklus elejére ugrik. A darab átadásakor a szívóvezetékben kialakult vákuumot meg kell szüntetni az ejektor bekapcsolásával. Itt is érvényes az, hogy nem szabad a szükségesnél tovább 69
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
bekapcsolva tartani az ejektort, mert az levegő pazarlás lenne. A kikapcsolás a vákuumkapcsoló jelének megszűnése után történik. A ciklus befejeztével az átrakó kart vissza kell küldeni a magazin felé, majd el kell küldeni a ciklusidőt a fővezérlőnek, jelezve ezzel, hogy a munkadarab továbbhaladt a következő állomásra. Miközben a kar visszafelé halad a magazinhoz, a várakozási pontban ismét megáll és várakozik egy új munkadarab kitolására. Megfelelő munkadarab utánpótlás esetén ez a várakozás olyan rövid, hogy a külső megfigyelő észre sem veszi. Amennyiben Stop parancs van érvényben, akkor az Adagoló a még esetleg korábban a kifutóra tolt munkadarabot átadja a Tesztelőnek, majd az átrakókar visszatér az alaphelyzetébe és az {Automata} program leáll. Az üzem közben fellépő hibák többsége akkor jelentkezhet, amikor az aktuátorok egyik véghelyzetükből a másikba mozognak. Ilyenkor a hibakezelés első lépése mindig az, hogy az adott aktuátort vissza kell állítani az előző helyzetébe, vagy meg kell állítani. A hiba elhárítása után az {Automata} program megismétli a hibát kiváltó sikertelenül végrehajtott műveletet. A munkadarab elvesztése az egyetlen olyan hiba, amely nem javítható, és egy új munkaciklus indítását eredményezi.
7.2. TESZTELŐ ÁLLOMÁS A Tesztelő állomás szerkezeti felépítéséről és alapvető működéséről a 2.2 fejezetben volt szó. Az általam írt vezérlőprogram több módosítást is tartalmaz az eredeti vezérléshez képest. A következőkben felsorolom az eredeti program hiányosságait, amelyeket az általam írt program már pótol: Nem vette figyelembe a piros/fém és fekete munkadarabok közötti magasságkülönbséget, emiatt nem hitelesen működött a munkadarabok minősítése. Nem követte nyomon a csúszdán lecsúszó munkadarab sikeres célba érését, elakadás esetén több munkadarabot is a csúszdára tolt egymás után. Nem volt képes hatékonyan összehangolt működésre a Megmunkáló állomással, de ez abból is adódott, hogy a Megmunkáló sem volt képes több munkadarabbal dolgozni egyszerre. 7.2.1. ALAPHELYZET ÉS VÉSZSTOP PROGRAMOK Az állomás alaphelyzetét és vészforgatókönyvét a 11. táblázat szerint határozta meg. 11. táblázat A Tesztelő állomás aktuátorainak viselkedése [Alaphelyzet] és [Vészstop] állapotban Aktuátor Emelő henger Kitoló henger Légpárnás csúszda
[Alaphelyzet] Alsó véghelyzetében – Áll Belső véghelyzetében – Áll Kikapcsolva
70
[Vészstop] Aktuális pozícióban – Áll Belső véghelyzetében – Áll Kikapcsolva
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
7.2.2. ÖSSZEHANGOLÁS A MEGMUNKÁLÓ ÁLLOMÁSSAL Az állomások programjainak írásakor törekedtem arra, hogy minél inkább fokozzam a gyártósor termelékenységét. Ehhez kulcsfontosságú volt Megmunkáló állomás több munkadarabos vezérlésének elkészítése, majd a Tesztelő és a Megmunkáló állomás működésének összehangolása. A Megmunkáló állomás vezérlésének tárgyalása a következő fejezet témája lesz, azonban a Tesztelővel való szoros kapcsolata miatt muszáj néhány dolgot már most megemlítenem. A Megmunkáló állomás új programja lehetővé teszi azt, hogy a berendezés több munkadarabbal dolgozzon egyszerre. Ez azt jelenti, hogy akkor is képes új munkadarabot fogadni, ha már zajlik a megmunkálás. A régi program ezt nem tette lehetővé, emiatt az állomás nagyon lecsökkentette a sor áteresztőképességét. Az új munkadarabok küldésekor figyelni kell arra, hogy a körasztal csak azután indulhat el, miután a munkadarab megérkezett az állomásra. Ellenkező esetben a darab a körasztal két küllője közzé érkezne, és elhagyná a munkateret. A Tesztelő állomás akkor indíthatja a darabot, amikor a szabad jelzést kap a Megmunkálótól, de ez még nem garantálja, hogy a Megmunkáló meg is várja a darabot, hiszen az nem tudhat arról, hogy darabot akarnak neki küldeni. Nyilvánvaló, hogy kétirányú kommunikációra van szükség, amelyben az egyik fél jelzi a munkadarab küldési szándékát, a másik nyugtázza azt, és megvárja a darabot. Amikor a Megmunkáló állomásra munkadarab érkezik, akkor a StationLink jeladón keresztül foglalt jelzést ad a Tesztelőnek, és ezt a jelet egészen addig tartja, amíg a körasztalon van munkadarab. Ha a Tesztelő darabot akar küldeni, akkor elküldi Etherneten keresztül a továbbítani kívánt munkadarab adatait, majd várakozik a Megmunkáló válaszára. A Megmunkáló fogadja a munkadarab címkéjét, és az első adandó alakalommal, amikor a körasztal csúszda aljánál lévő fészke üres, szabad jelzést küld a StationLink jeladón keresztül. Ekkor a Tesztelő elküldi a darabot, majd amikor a munkadarab megérkezik a Megmunkálóhoz, az egész folyamat elölről kezdődik. Miután a Tesztelő állomás továbbküldött egy darabot, meg kell bizonyosodnia arról, hogy az megérkezett-e a célállomásra. Ehhez csak annyit kell tennie, hogy figyeli mikor ad a Megmunkáló ismét foglalt jelzést. Ha a foglalt jelzés nem érkezik meg 3 másodpercen belül, akkor az arra utal, hogy a darab elakadt a csúszdán. Ez a megoldás kizárja annak lehetőségét, hogy feltorlódjanak a munkadarabok a légpárnás csúszdán, valamint a hibakeresést is kényelmessé teszi. További részletek a következő pontban és az 7.3 fejezetben. 7.2.3. AUTOMATA PROGRAM Az indítás feltétele az, hogy munkadarab érkezzen a felvevő pozícióba és a fénysorompó szabad jelzést adjon. Amikor az Adagoló állomás átrakó karja megérkezik a munkadarabbal, a Tesztelő állomás kapacitív szenzora érzékeli a munkadarab jelenlétét, de a fénysorompó által azt is látja, hogy a kar belelóg a munkatérbe, ezért a tálca emelése ütközéshez vezetne. Miután a kar elhagyta a munkateret, egy rövid biztonsági késleltetés után fel lehet emelni a tálcát. Az emelés felső véghelyzetében el kell végezni a magasságmérést, majd ki kell értékelni a mérés eredményét. A megfelelő minősítésű munkadarabokat rá kell tolni a légpárnás csúszdára, de a kitolás előtt be kell indítani a légpárnás csúszdát. Csak addig van szükség a légrásegítésre, 71
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
amíg a munkadarab elér a csúszda végéig, azután minden további másodperc levegőpazarlás lenne. Ha a munkadarab elakad a csúszdán, akkor egy biztonsági időzítő 3 másodperc után automatikusan lekapcsolja a levegőt. A csúszda kikapcsolásáért és a munkadarab sikeres célba érésének figyeléséért a {P15 – Tesztelő – Csúszda kikapcsoló} program felelős, amely a csúszda bekapcsolásával egy időben indul, majd a munkadarab érkezése után befejezi a futását. A munkadarab kitolásának az a feltétele, hogy a {Csúszda kikapcsoló} inaktív legyen, és a Megmunkáló szabad jelzést adjon. A munkadarab kitolása után az emelő elindul lefelé, valamint visszahúzza a kitoló hengert. Az időspórolás érdekében ez a két mozdulat egyszerre indul, és a program nem várja meg azt, hogy a továbbadott munkadarab megérkezzen a Megmunkálóhoz, arra ott van a {Csúszda kikapcsoló}. Amikor az emelő az alsó véghelyzetébe ér, szabad jelzést ad az Adagolónak. A selejt minősítésű darabokat a mérés után le kell engedni, majd az alsó csúszdára kell tolni. A selejtcsúszdán nincs semmilyen érzékelő, ami képes lenne megállapítani a csúszdán lévő munkadarabok számát, ezért a csúszdán lévő munkadarabok számát egy számláló tartja nyilván. A program azzal a feltételezéssel él, hogy a kezelő minden {Automata} indítás előtt kiüríti a csúszdát, de a sor leállításáig nem vesz el egyet sem az összegyűlt darabok közül. Mivel a csúszdán 5 munkadarab fér el egyidejűleg, ezért a számláló maximális értékét ötre állítom az {Automata} első lépésében. A hatodik selejt kitolása előtt a program hibakóddal megáll, és várakozik a hibakód törlésére, illetve a csúszda kiürítésére. Ha a kezelő elmulasztja a csúszda kiürítését, akkor a továbbiakban nem egyezik meg a számláló értéke a valósággal. A Tesztelő és a Megmunkáló állomás ciklusideje úgy viszonyul egymáshoz, hogy mire a Tesztelő továbbítani tud egy darabot, addigra éppen kifut abból a kb. 1,5 másodperces időtartamból, amíg a Megmunkáló fogadni tudná a darabot. Ekkor újabb minimum 1,5 másodperc telik el, míg a körasztal oszt egyet, és ismét munkadarabot tud fogadni az állomás. Annak érdekében, hogy az anyagáramlás folyamatosabb legyen, a Tesztelő állomás már akkor bejelenti a következő darabot a Megmunkálónál, amikor elkezdi az emelést. Ennek az a feltétele, hogy a {Csúszda kikapcsoló} program már inaktív legyen, máskülönben az újonnan elküldött munkadarab címke felülírná a még csúszdán lévő darab címkéjét, amelyre a Megmunkáló várakozik. A tálca indítása pillanatában még nem ismert a munkadarab minősítése, így előfordulhat az is, hogy a munkadarab selejt és nem kell továbbküldeni. Ekkor az állomás Etherneten jelzi a Megmunkálónak, hogy az előző küldési kérelme érvénytelen és nem kell várnia a munkadarab érkezését. 7.2.4. KIEGÉSZÍTŐ PROGRAMOK Az {Automata} programmal időnként párhuzamosan fut a {P15 – Tesztelő – Csúszda kikapcsoló}, illetve a {P14 – Tesztelő – Sorompó figyelő}. A {Csúszda kikapcsoló} programot az {Automata} indítja el a megfelelő minősítésű munkadarabok kitolásakor. A program lépés utasítás szerkezetű és két lépésből áll. Az első lépésben figyeli a Megmunkáló állomás StationLink jeladóját, ha az szabad jelzésről foglaltra vált, akkor kikapcsolja a csúszdát, majd befejezi a futását. Mellette egy biztonsági időzítő méri a munkadarab elküldése óta eltelt időt, amely segítségével felismerhető a darab elakadása a csúszdán. Ha a számláló lejárt, akkor az állomás jelzi a hibát a fővezérlőnek,
72
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
majd átlép a második lépésre. A hibakódok törlése után program visszakapcsolja a csúszdát újabb 3 másodpercre, visszalép az első lépésre és várja a munkadarab célba érését. A {Sorompó figyelő} program feladata az, hogy gondoskodjon az emelő henger vezérléséről olyankor, amikor a fénysorompó idegen tárgyat érzékel a munkatérben. A program indításáért az egyik {P9 – Állomás – Felügyelet} programban elhelyezett utasítás felel, leállítását saját maga végzi. A {Sorompó figyelő} le tudja kezelni az olyan helyzeteket, amikor az emelő henger már épp elindult felfelé vagy lefelé, de hirtelen valami a munkatérbe kerül. Ilyenkor úgy rendelkezik, hogy visszaküldi a tálcát a kiindulási hely felé, majd amikor az idegen test eltűnik a munkatérből, akkor ismét az eredeti cél felé vezérli az emelőt. A tálca pillanatnyi helyzetének behatárolására egy időzítőt használ a program, amelyet az emelő elindításkor kell bekapcsolni. Miközben a tálca fel-le mozog, a fénysorompó minden alkalommal jelet ad, hiszen a tálca ténylegesen megszakítja a fénysugarat. Az időzítő helyes beállításával kiszűrhetők azok a fals jelek, amelyeket az üzemszerű működés okoz. A berendezés pneumatikus rendszerének átállításakor (fojtások állítása, nyomás megváltoztatás) a programot is újra kell kalibrálni, máskülönben rendellenesen működhet a berendezés. Előfordulhat, hogy valaki megkérdőjelezi ennek a funkciónak létjogosultságát amiatt, hogy az emelő nagyon gyorsan mozog egy rövid löketen, és ha menet közben valami bekerül a munkatérbe, akkor ott már esélytelen bármit is tenni az ütközés elkerülése érdekében. Ez a berendezés jelenlegi teljesítmény centrikus beállításai mellett valóban igaz, azonban megváltozik a helyzet akkor, ha lelassítjuk a berendezést, vagy elképzeljük legalább 2:1 méretarányban. Az állomások programjainak írásakor megpróbáltam elvonatkoztatni attól, hogy ez egy kisméretű bemutató rendszer, és igyekeztem olyan funkciókat is beleépíteni a vezérlésekbe, amelyek üzemi körülmények között is hasznosak lehetnek. Az elmondottak miatt úgy gondolom, hogy ez a funkció a gyakorlatban hasznos lehet, és hozzájárulhat a berendezés üzembiztos működéséhez.
7.3. MEGMUNKÁLÓ ÁLLOMÁS A Megmunkáló állomás szerkezeti felépítéséről és alapvető működéséről a 2.3 fejezetben volt szó. 7.3.1. FEJLESZTÉSEK ÉS OPTIMALIZÁLÁSOK A Megmunkáló állomás volt az az egység, amelynél a legtöbb fejlesztési lehetőség adódott mind hardveres, mind szoftveres téren. Az eredeti szoftverrel vezérelt állomás egyszerre csak egy munkadarabbal tudott dolgozni, így nem használta ki annak lehetőségét, hogy az állomás akár négy művelet elvégzésére alkalmas egyidejűleg. Az általam írt program igyekszik kihasználni az állomásban rejlő összes lehetőséget, így a körasztal minden osztása után egy időben végzi el a következő feladatokat:
fogad egy darabot a Tesztelő állomástól elvégzi a tesztelő csap alatt lévő darab orientáció ellenőrzését kifúrja a fúrási pozícióban lévő darabot továbbadja a Rakodó állomásnak az átadó pozícióban lévő darabot
73
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
Az új több munkadarabos üzemmód lehetővé teszi az állomáson időegység alatt megmunkálható darabok számának növelését. A Megmunkáló állomás teljesítménye nagyban meghatározza az egész sor teljesítményét. Az állomás és az egész sor gördülékeny működéséhez elengedhetetlen, hogy a Tesztelő állomás megfelelő ütemben küldje az új munkadarabokat, valamint a Rakodó állomás is ugyanabban a tempóban szállítsa el a kész darabokat. A többi állomás optimálásakor azt tűztem ki célul, hogy azok ciklusideje minél inkább közelítse meg a Megmunkáló ciklusidejét. 7.3.2. AZ ÁLLOMÁS JELLEGZETES HIBAJELENSÉGEI A Megmunkáló állomáson több hibajelenség is megfigyelhető volt, amelyek más és más helyeken jelentkeztek, azonban a gyökerük közös volt. A hiba forrása minden esetben az volt, hogy munkadarab nem megfelelően érkezett meg a Tesztelő állomásról. Attól függően, hogy a munkadarab milyen sebességgel halad a csúszdán, a következő események mehetnek végbe: a munkadarab túl lassan érkezik:
elakad a csúszda vége előtt, ezért nem érkezik meg a Megmunkálóhoz nem hagyja el teljesen a csúszdát, ezért amikor forogni kezdene a körasztal, a darab beékelődik a körasztal fészke és a csúszda vége közé, akadályozva ezzel a körasztal elfordulását
a munkadarab túl gyorsan érkezik:
az érkező darab átugrik a körasztal fészkének peremén és tovább csúszik az asztal közepe felé a darab visszapattan a fészek oldaláról:
az asztalon marad, de kimozdul az orientáció ellenőrzéshez alkalmas pozícióból vagy felborul leesik a körasztal alá
megfelelő sebességű csúszás estén a munkadarab az optimális pozícióba érkezik A munkadarabok nem megfelelő érkezésének bemutatásához készítettem egy demonstrációs videót, amely megtalálható az elektronikus mellékletek között. Az állomás, és ezzel az egész sor, üzembiztos működése érdekében gondoskodnom kellett a hibák megelőzéséről, felismeréséről és kezeléséről is. A legnagyobb hangsúly mindig a megelőzésen van, mert ha sikerül kivédeni egy hibát, akkor azzal meg lehet spórolni a hibakezelés és az üzemleállás költségeit, kellemetlenségeit. A csúszási problémák megoldása érdekében megnöveltem a darabok haladási sebességét a csúszdán, így a hibalista első két lehetséges szituációját kezeltem. A sebességnövelés után a darabok állandó jelleggel elhagyták a körasztal fészkeit, emiatt olyan ütközőket terveztem a körasztalhoz, amelyek felemésztik az érkező darabok mozgási energiájának nagy részét. Az ütközők egy L alakú alumínium profilból készültek, alkatrészrajzuk megtalálható a mellékletek között. A megfelelő csillapítás érdekében az ütköztető felületre egy-egy gumilapot ragasztottam. Két ütközőt szereltem fel minden fészekhez és úgy állítottam be őket, hogy a homloklapjaik 90°-ot zárjanak be egymással,
74
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
egyfajta prizmához hasonlóan. A megfelelően beállított ütközők rendszerint megfelelően teljesítették feladatukat, azonban még ez után is előfordult, hogy a darabok valamelyest visszapattantak a körasztal pereméről (vagy az ütközőről) és leestek a körasztalról. A probléma teljes eliminálásához szerkesztenem kellett egy terelő elemet, amely megakadályozza, hogy a darab el tudja hagyni a munkateret a fészek szájának irányába. A végleges megoldást egy hajlított lemez alkatrész jelentette, amely a körasztalról leesni igyekvő darabot „visszafésüli” a fészekbe, miközben a körasztal forog. A terelő lemez megfelelő beállítása után a darabok megfelelő pozícionálása is megoldottá vált, mert a lemez vége az optimális pozícióba tolja a darabot, így az orientáció ellenőrzés garantáltan megfelelően megy végbe. 7.3.3. ALAPHELYZET ÉS VÉSZSTOP PROGRAMOK Az állomás alaphelyzetét és vészforgatókönyvét a 12. táblázat szerint határozta meg. 12. táblázat A Megmunkáló állomás aktuátorainak viselkedése [Alaphelyzet] és [Vészstop] állapotban Aktuátor Körasztal Orientáció ellenőrző Fúrógép Emelő Rögzítő Kilökő
[Vészstop]
[Alaphelyzet] Diszkrét pozícióban – Áll Kikapcsolva Kikapcsolva Felső véghelyzetében – Áll Kikapcsolva Kikapcsolva
Aktuális pozícióban – Áll Kikapcsolva Kikapcsolva Felső véghelyzetében – Áll Kikapcsolva Kikapcsolva
Amennyiben az alaphelyzet felvételekor azt észleli a vezérlő, hogy a körasztal pozíció jeladója nem ad jelet, akkor elindítja az asztal forgását, majd a következő észlelhető pozícióban megállítja. A körasztal minden fészkének üresnek kell lennie. 7.3.4. KÜLÖNLEGESEBB PROGRAMTECHNIKAI MEGOLDÁSOK 7.3.4.1. A VIRTUÁLIS KÖRASZTAL A virtuális körasztal a Megmunkáló állomás körasztalának programozás technikai leképzése. A virtuális körasztalt első sorban az `f_vKA` flag reprezentálja, amelynek 0-5. bitje a körasztal egy-egy adott pontban lévő fészkéhez van társítva. Ezek a pontok az állomáshoz kötött fix koordinátarendszerben értelmezendők, nem mozognak együtt a körasztallal. Mindegyik bit a hozzá tartozó pontban lévő fészek töltöttségét mutatja. A 0. bit a felvevő, az 1. az orientáció ellenőrző, a 2. a fúró, a 3. a kilökő pozíciót jelöli. A 4. és 5. bit az 2. és 1. pozícióval szemben lévő fészkekhez tartozik. A virtuális körasztal vizuális szemléltetése a 21. ábra látható. Az adatábrázolás és a valóság párhuzamba állításhoz végezzük el a következő gondolatkísérletet. Tegyük fel, hogy a körasztal minden második pozíciójában van egy munkadarab. Írjuk le az `f_vKA` változó bináris értékét egy papírcsíkra, majd az 5. bit után vágjuk el a papírcsíkot és a két végét illesszük össze. Ekkor egy hengerpalástot kapunk, amely 6 szektorból áll, épp úgy, mint a körasztal. Az egyes szektorokból kiolvasható, hogy hol vannak munkadarabok és mely fészkek üresek. 75
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
Ahogy arról már többször szó esett, a körasztalon 6 munkadarab lehet egyidejűleg. Nyilván kell tartani a darabok adatait (címkét), mérni kell az állomáson töltött idejüket. Egy munkadarab meglétének a tárolásához elég egyetlen bit, vagy ott van a darab, vagy nincs. Az ilyen információ egy gépi szóban is eltárolható az összes darabra vonatkozóan. Egy címke tárolásához viszont egy teljes gépi szó szükséges, ezért ehhez 6 változóra van szükség. f_vKA, 1 f_Ujra, 1 MDB_vKA1 T_vKA1
f_vKA, 2 f_Ujra, 2 MDB_vKA2 T_vKA2
f_vKA, 0 f_Ujra, 0 MDB_vKA0 T_vKA0
M
T
f_vKA, 3 f_Ujra, 3 MDB_vKA3 T_vKA3
f_vKA, 5 f_Ujra, 5 MDB_vKA5 T_vKA5
f_vKA, 4 f_Ujra, 4 MDB_vKA4 T_vKA4
21. ábra A virtuális körasztal demonstrálása A címkék és a megmunkáláshoz szükséges idő méréséhez használt stopper azonosítójának (részletek 7.3.4.2) tárolásához olyan változókat hoztam létre, amelyek szintén a munkatér adott pontjaihoz vannak kötve és eltárolják az aktuálisan ott lévő darabok adatait. Ezek a változók a következők: 13. táblázat A Megmunkáló állomás címke tároló változói Változó neve
Feladata
MDB_vKA0…5 munkadarab címkéje az adott pozícióban T_vKA0…5 munkadarabhoz rendelt stopper azonosítója MDB_vKA_ ideiglenes változó a körbeforgatáshoz T_vKA_ Amikor egy munkadarab érkezik a körasztalra, akkor az `f_vKA` (a virtuális körasztal felvevő pozícióhoz tartozó) 0. bitje beállítódik, a darab címkéje beíródik az `MDB_vKA0` változóba. Amikor a Megmunkáló átadja a darabot a Rakodó állomásnak, akkor az `f_vKA` 3. bitje és az `MDB_vKA3` értéke törlődik. Amikor a körasztal elfordul egy osztásnyit, akkor a virtuális körasztalt is el kell forgatni. Azoknál az információknál, ahol egy változóban az összes munkadarabra 76
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
vonatkozóan tárolunk adatokat, ott egy bináris balra rotáló (SHL) parancsot kell alkalmazni a forgatáshoz. Azoknál az információknál, ahol egy változóban csak egy munkadarab adatait tudjuk eltárolni, ott az egyes változókból át kell tölteni az adatokat a következő pozícióhoz tartozó változókba, egyesével, egymás után sorban. A virtuális körasztal forgatásáért a {CMP 22 – Megmunkáló – Virtuális körasztal forgatása} felelős. 7.3.4.2. DINAMIKUS CIKLUSIDŐMÉRÉS A munkadarabok állomáson töltött idejének mérése ennél az állomásnál bonyolultabb, mint a többinél, hiszen esetenként akár 6 munkadarabot kell szimultán mérni. Ehhez egy olyan megoldást dolgoztam ki, amely a darabok érkezésének pillanatában dinamikusan osztja ki stoppereket a munkadarabokhoz, majd az állomásról való távozásukkor „visszaváltja” őket. A mérésekhez 6 időzítőt jelöltem ki, mivel maximálisan ennyire lehet szükség. A dinamikus jelző arra utal, hogy az időzítők nem a körasztal bizonyos pontjaihoz (nincs előre meghatározott fészek – stopper egymáshoz rendelés) vannak kötve, hanem a munkadarabokhoz. A program mindig csak annyi időzítőt használ fel, amennyit feltétlenül muszáj, továbbá az érkező darabokhoz mindig a legelső szabad stoppert kapcsolja hozzá. Egy adott pozícióban lévő munkadarabhoz társított időzítő azonosítója a `T_vKAx` változóban van eltárolva. Az, hogy a stopperek mindig ugyanazokhoz a fészkekhez legyenek hozzárendelve, azért nem lehetséges, mert a körasztal nem rendelkezik olyan referenciaponttal, amely alapján egyértelműen lehetne azonosítani az egyes fészkeket. A dinamikus ciklusidőmérés jelentőségét akkor érthetjük meg igazán, hogyha megismerjük az állomás egyik általam kitalált funkcióját, amelyről az 7.3.7 pontban lesz szó. Előjáróban elég annyit tudni, hogy bizonyos esetekben egy-egy darab akár másfél kört is megtehet a körasztalon, miközben új darabok is érkezhetnek az állomásra. Emiatt a darabok nem ugyanabban a sorrendben hagyják el az állomást, mint ahogyan érkeztek. Ilyenkor a tovább maradó darab stoppere később szabadul fel, mint ahogy az várható lenne, de a programnak ez nem okoz gondot, mert ő mindig az első szabad stoppert keresi. Az időzítők kiosztásáért a {CMP 20 – Megmunkáló – Stopper kiosztó}, a visszaváltásukért a {CMP 21 – Megmunkáló – Stopper visszaváltó} modul felelős. 7.3.5. AUTOMATA PROGRAM A Megmunkáló állomás {Automata} programja különleges abból a szempontból, hogy nem maga végzi az egyes technológiai folyamatok vezérlését, csak menedzseli azokat a programokat, amelyek ezekért a feladatokért felelősek. A Megmunkáló állomás egy ciklusa a körasztal pozícióba érkezésétől az ismételt elindulásig tart. Ez azt jelenti, hogy egy darab elkészítéséhez három ciklus szükséges, mivel az adott munkadarab a körasztal harmadik osztása után kerül az állomás kilökő pozíciójába. Ennek ellenére, amikor ciklusidőmérésről beszélek, akkor a munkadarab állomáson töltött idejének mérését értem ez alatt, de a ciklusidő megnevezés használata kényelmesebb és jobban illeszkedik az eddigi terminológiába. Az {Automata} minden ciklus elején feltérképezi a körasztalt, majd meghatározza, hogy az aktuális ciklusban mely technológiai folyamatokat kell elindítania. Ehhez felhasználja a vezérlő memóriájában eltárolt „térképet”, a virtuális körasztalt (7.3.4.1), amely nyilvántartja a körasztal fészkeinek foglaltságát. Értelem szerűen nem szükséges a darab 77
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
orientációját ellenőrizni, kifúrni, vagy a kilökni, ha az adott pozícióban nincs semmi. Amennyiben a felvevő pozícióban levő fészek üres, az {Automata} elindítja a {P17 – Megmunkáló – Várakozás munkadarabra} programot, melynek működéséről bővebben az 7.3.6 pontban lesz szó. Az orientáció ellenőrzéséért a {P14 – Megmunkáló – Orientáció ellenőrzés}, a fúrásért a {P15 – Megmunkáló – Fúrás}, a darab kilökéséért a {P16 – Megmunkáló – Kilökés} program felelős. A felvevő, a tesztelő és fúró pozíció rendelkezik egy-egy kapacitív szenzorral, amely meg tudja állapítani a munkadarabok jelenlétét. Egy jó hibakezelési lehetőség, ha összehasonlítjuk a szenzorok jeleit a virtuális körasztal adataival, ugyanis ezzel felismerhetők az olyan esetek, amikor leesik egy darab a körasztalról, vagy valaki szándékosan elveszi azt onnan. Erről bővebben az 7.3.7 pontban lesz szó. A technológiai folyamatok indítása után az {Automata} addig várakozik, amíg a többi program befejezi a futását. Ezután újraindul a ciklus. Ha a ciklus végén a körasztal kiürült, akkor azonnal szabad jelzést ad a Tesztelő állomásnak, ellenkező esetben elindít egy új ciklust, folytatva ezzel az asztalon lévő darabok megmunkálását. Abban az esetben, ha a körasztal átadó és a Rakodó állomás felvevő pozíciójában is egy-egy munkadarab tartózkodik egyidejűleg, akkor a Rakodó állomás nem tudja felvenni a felvevő pozícióban lévő darabot, mert a megfogója felütközik a még körasztalon lévő darab tetején. Az egy munkadarabos üzemmód esetén ez nem jelentett problémát, mert a Megmunkáló csak akkor fogadta a következő darabot, amikor az előzőt már átadta a Rakodónak, majd mire az új munkadarab is a kilökő pozícióba ért, addigra a Rakodó már rég elvitte az előző darabot. A hiba megelőzése érdekében a körasztal forgatásának feltételeihez hozzá kellett adni azt is, hogy ha a fúrási pozícióban van munkadarab, akkor csakis a Rakodó állomás szabad jelzése után lehet elindítani a körasztalt, mert akkor már biztosan felemelte a Rakodó az előzőleg átadott darabot. 7.3.6. P17 – MEGMUNKÁLÓ – VÁRAKOZÁS MUNKADARABRA PROGRAM A {Várakozás munkadarabra} program felelős a Tesztelő állomásról küldött munkadarabok sikeres célba éréséért. A programot az {Automata} indítja el minden ciklusban, a technológiai folyamatok előtt, kivéve, ha a felvevő pozícióban már van darab. Amennyiben érkezik egy címke a Tesztelőtől, akkor a Megmunkáló szabad jelzést küld vissza, és várakozik a darab érkezésére. Ha a darab nem érkezik meg 5 másodpercen belül, akkor az állomás hibakódot küld a fővezérlőnek, majd várakozik a hibakódok törlésére. Amennyiben a hibakód törlése után 2 másodperccel továbbra sem érkezik meg a várt darab, akkor ismét hibakódot küld. A programot a {P9 – Állomás – Felügyelet} programban elhelyezett utasítás zárja be, amikor a várt munkadarab megérkezett. Ha a technológiai folyamatok befejezéséig nem érkezik címke a Tesztelő állomástól (nincs küldési szándéka), akkor a program bezárja saját magát. Ahogy arról az 7.2.3 pontban már szó esett, a Tesztelő állomás az előtt kér engedélyt a munkadarabok továbbítására, mielőtt minősítené a darabot. Így előfordulhat, hogy mégsem kell várni a darab érkezésére. Ezt a Tesztelő úgy jelzi, hogy elküld egy címkét a 65535D értékkel. Ha a {Várakozás munkadarabra} észleli a címke érkezését, akkor azonnal befejezi a futását.
78
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
7.3.7. P14 – MEGMUNKÁLÓ – ORIENTÁCIÓ ELLENŐRZÉS Az {Orientáció ellenőrzés} program felelős a tesztelési feladat levezényléséért. A tesztelő csap alsó véghelyzetbe indítás után ellenőrzi a program, hogy sikeresen leért-e a csap, illetve van-e munkadarab az adott pozícióban. A vizsgálathoz a körasztal alatt elhelyezett kapacitív szenzor és a tesztelő csap tengelyének végére szerelt tárcsát figyelő induktív szenzor jelét kell beolvasni. A szenzorok mindegyike kétfajta jelet adhat, 1-et vagy 0-át. Két szenzor esetén 4 különböző jelpárosítást olvashatunk a PLC bemenetén, amelyek mindegyike hasznos információkat hordoz magában. #
Van MDB? (kapacitív)
Lement a csap? (induktív)
1.
NEM, 0
NEM, 0
2.
NEM, 0
IGEN, 1
3.
IGEN, 1
NEM, 0
4.
IGEN, 1
IGEN, 1
Jelentés A munkadarab fejjel lefelé áll vagy felborult, ezért selejt. Nincs munkadarab a fészekben, valószínűleg elhagyta a munkateret. Lehet, hogy a darab jól orientált, de igazításra szorul. A munkadarab megfelelően orientált.
Véleményem szerint, a 4 lehetőség közül a 3. szorul csak némi magyarázatra. Ahogy az 7.3.2 pontban már említettem, az állomás működése során előfordult, hogy a munkadarabok, az érkezésük utáni visszapattanás miatt, az orientáció ellenőrzés szempontjából nem a megfelelő pozícióba érkeztek, elmozdultak a körasztal széle felé. Az ilyen darabok orientáció ellenőrzése során a tesztelő csap nem tudott lemenni a darab furatába, holott a darab megfelelően orientált volt. Ilyenkor a vizsgálat kiértékelés során ellentmondásos eredmények születtek. A darab alatt elhelyezett szenzor észlelte a darab alsó lapját (tehát az orientáció jó lehet), de a csap nem tudott lemenni (tehát az orientáció rossz). Ez a vizsgálati eredmény tipikusan a visszapattant daraboknál figyelhető meg, emiatt programból is jól kezelhető. A téves selejtminősítés elkerülése érdekében bevezettem egy protokollt, amely az ellentmondásos vizsgálati eredményű darabokat újravizsgáltatja. Az eljárás lényege az, hogy a darab igazítása után ismét el kell végezni az orientáció ellenőrzést. Az újraellenőrzésre és igazításra váró darabokat meg kell jelölni, ehhez bevezettem az `f_Ujra` változót, amely szerkezetében megegyezik az `f_vKA` flaggel. Az `f_vKA` ismertetésénél elmondottak az `f_Ujra`-nál is érvényesek. A tesztelő pozícióban nincs olyan aktuátor, amely el tudná végezni a darab radiális irányú igazítását, azonban a fúró pozícióban használatos rögzítő csap tökéletesen alkalmas a feladat elvégzésére. A körasztal osztása után megtörténik a darab igazítása, de ahhoz, hogy a darab visszajusson a tesztelő pozícióba, majdnem egy újabb teljes fordulatot kell megtennie a körasztalnak. Amikor a darab másodjára is megérkezik a tesztelő pozícióba, ismét végbemegy a vizsgálat. Ha az eredmény hasonló az előzőhöz, vagy egyértelműen rossz, akkor a darab selejt minősítést kap. Ellenkező esetben sikerült megmenteni egy munkadarabot.
79
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
Az újraellenőrzés bemutatásához készítettem egy demonstrációs videót, amely megtalálható az elektronikus mellékletek között. Adja magát a kérdés, hogy megengedhetjük-e magunknak azt, hogy időt áldozzunk egy bizonytalan mérés megismétlésére? A válasz az, hogy attól függ, milyen arányban áll a munkadarab értéke az említett procedúra elvégzéséhez szükséges idő alatt kiesett bevétel értékével. Egy drága alapanyagból vagy előgyártmányból készült darab esetén valószínűleg megéri a plusz időráfordítást. Természetesen az állomás akkor is tud új darabokat felvenni, tesztelni, megmunkálni és leadni, amíg újravizsgálandó darabokat tart a körasztalon. A munkadarabok fogadásakor figyelembe veszi azt is, ha a felvevő pozícióban már van egy második körös darab, így nem fordulhat elő, hogy az egyik darabot ráengedje a másikra. Amennyiben egy darab elhagyja munkateret a tesztelő vagy a megmunkáló pozícióban, akkor az állomás hibakódot állít be, majd felfüggeszti a munkát. Ekkor a vezérlés lehetőséget biztosít arra, hogy a darabot a kezelő személy (vagy egy intelligens kiszolgáló egység) visszahelyezze a megfelelő helyre. Amennyiben a hibakódok törlése és az állomás újraindítása után továbbra sincs munkadarab a megfelelő fészkekben, akkor az állomás jelenti a fővezérlőnek, hogy az adott darab elveszett és selejt minősítést ad neki. A tesztelő csap felemelése után a program befejezi futását. 7.3.8. P15 – MEGMUNKÁLÓ – FÚRÁS A {Fúrás} program funkciója kettős, egy részt vezérli a fúrási műveletet, másrészt elvégzi a darab igazítását, amennyiben arra szükség van (lásd az előző pontban). Az {Orientáció ellenőrzés}-hez hasonlóan, ez a program is ellenőrzi a darab jelenlétét a fúrás elvégzése előtt. A hibakezeléssel kapcsolatban az ott leírtak az irányadók itt is. Amennyiben a darab megfelelően áll a fészekben és nincs megjelölve igazításra, akkor a rögzítő csap hozzászorítja a fészek oldalához a darabot, a fúrógép elvégzi a fúrást, majd a csap elengedi a darabot. Ha csak igazítani kell a darabot, akkor a program ugróutasítások segítségével átlép a fúró előtolását és főorsóját kapcsolgató utasításokon, és csak a rögzítő műveletet végzi el az egység. A rögzítő csap visszahúzása és a fúrógép alaphelyzetbe emelése után a program befejezi futását. 7.3.9. P16 – MEGMUNKÁLÓ – KILÖKÉS A {Kilökés} végzi el a darab továbbadásával kapcsolatos teendőket. A kilökés a Rakodó állomástól kapott szabad jelzés és a munkadarab címke továbbítása után indulhat. A kilökő egység működési idejét úgy határoztam meg, hogy a vezérlő 0,3 másodperccel azután kapcsolja le a megfelelő kimenetét, miután a Rakodó állomás StationLink jeladója ismét foglalt jelzést ad. Erre azért volt szükség, mert a kilökő egység nem rendelkezik véghelyzet jeladókkal, így egy rövid működtető impulzus nem tolja ki megfelelően a darabot a körasztal fészkéből, egy hosszú impulzus pedig növeli az állomás ciklusidejét. A darabok Rakodó állomásnak való átadásakor hasonló jelenség figyelhető meg, mint a Megmunkáló állomásra érkező daraboknál. A kemény, de rugalmas munkadarab dinamikusan ütközik egy szintén kemény fém felülettel, emiatt a darab valamelyest visszapattan. Ezt a visszapattanást hivatott kompenzálni a kilökő kar 0,3 s-os rátartása a darabra. 80
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
Abban az esetben, ha nem sikerül a darab átadása 0,6 másodpercen belül, akkor a kilökő kikapcsol, majd 0,8 másodperc után újra próbálkozik. Ha másodjára sem jár sikerrel, akkor hibakódot állít be, majd felfüggeszti a munkát. A munkadarab átadása után gondoskodni kell a darab virtuális körasztalról való törléséről, a ciklusidő számításáról, majd a stopper felszabadításáról. A feladatok végeztével a program befejezi futását. 7.3.10. P18 – MEGMUNKÁLÓ – MDB IGAZÍTÁSA A RAKODÓNÁL Az MPS rendszerrel való munkám során azt tapasztaltam, hogy időnként gond adódott a munkadarabok Rakodó állomásnak való átadásával. A probléma mélyebb okfejtése az 7.4.2 pontban olvasható, jelenleg elég csak annyit tudni, hogy a fellépő hibák javításához meg kell igazítani a darabot a Rakodó állomás felvevő pozíciójában. A két állomás összehangolt működése lehetővé tette, hogy az igazításhoz felhasználjam a Megmunkáló kilökő egységét, elkerülve ezzel az emberi beavatkozás szükségességét. Amennyiben a Rakodó állomás hibát észlel, akkor kérelmezi a Megmunkálónál a darab igazítását. Ehhez elküld Etherneten egy flag-et, amely hatására a Megmunkáló bekapcsolja a kilökő egységet, hasonlóan az előző pontban leírt procedúrához. Az igazítás befejezése után a Megmunkáló Etherneten keresztül igazolja vissza a Rakodónak a kérés teljesítését. A {MDB igazítása a Rakodónál} programot a {Felügyelet} program indítja, majd az igazítás elvégzése után saját magát állítja le.
7.4. RAKODÓ ÁLLOMÁS 7.4.1. FEJLESZTÉSEK ÉS OPTIMALIZÁLÁSOK A Megmunkáló állomás megnövelt kapacitásának legjobb kihasználása érdekében biztosítani kellett, hogy az elkészült darabok minél gyorsabban elszállításra kerüljenek a Rakodó állomás felvevő pozíciójából. Ehhez jelentősen fel kellett gyorsítani a Rakodó állomást. Az emelő henger sebességét a lehető legnagyobbra állítottam, a próbajáratások alapján ennek nem voltak dinamikai korlátai. Az átrakó egység sebességnövelésének gátat szabott az, hogy a túl gyorsan mozgó szánszerkezet, rajta az emelő hengerrel és a megfogóval, a véghelyzetekbe érkezéskor jelentős csavaró lengéseket keltett a tartó oszlopban. Abban az esetben, ha az átrakó henger és a felépítménye két oszlopra lenne felszerelve, akkor jelentősen meg lehetett volna növelni a rakodás sebességét is, azonban a munkaasztalon jelenleg nincs elég hely egy második oszlop beépítésére. A mozgások párhuzamosítására munkadarabok felvételi és leadási helyein volt lehetőség. A munkadarabok függőleges és vízszintes irányú mozgatása, bizonyos szabályok betartása mellett, egy időben is megoldható. Amikor a Rakodó állomás át akar szállítani egy darabot a Szortírozó állomásra, akkor a darab megfogása és megemelése után el lehet indítani az átrakó hengert is. Itt fontos, hogy a vízszintes irányú mozgás csak azután indulhat, ha az megfogó már biztosan kiemelte a darabot a fogadási pozícióból, máskülönben a darab beleakadna az ott kialakított fészek oldalába. A darab lerakása akkor indulhat el, amikor az átrakó henger már majdnem elért a véghelyzetébe. Visszafelé hasonló megfontolások alapján halad a megfogó, de ezúttal már üresen. Mivel az állomás nem
81
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
rendelkezik olyan szenzorokkal, amelyek hatékonyan tudnák segíteni ennek az optimalizálásnak a lehetőségét, ezért a meglévő szenzorok és időzítők jeleiből kell kiindulni az aktuátorok kapcsolásánál. Amikor a mozgások függőleges, majd vízszintes sorrendben követik egymást, akkor az emelő henger alsó véghelyzetének elhagyása után lehet el indítani az átrakót. A függőleges, majd vízszintes mozgáskombináció esetén a selejtcsúszda helyzet jeladójának jelére indulhat az emelő henger lefelé. A munkadarab mozgáspályája a következőképpen néz ki.
Módosított
Eredeti 22. ábra A Rakodó állomás mozgáspályája
Az állomás eredeti programja szerint a Rakodó csak azután fogadott új munkadarabot, ha már elvitte az előzőt és vissza is ért a felvevő pozícióba. Annak érdekében, hogy a Rakodó minél kevesebb ideig várakoztassa a Megmunkálót, az új program szerint a Rakodó állomás már akkor szabad jelzést ad, amikor az emelő henger felemelte a munkadarabot a felső véghelyzetébe. Ennek eredményeként, az új darab már a felvevő pozícióban várakozhat, mire az átrakó visszaér a fogadó pozícióba. Az így kapott munkadarab előtárazást a mozgáspárhuzamosítással kombinálva elérhető, hogy a megfogó visszafelé jövetben is rövidebb úton közelítse meg a darabot. Ebben az esetben ténylegesen csak időzítők jeleire lehet hagyatkozni, ugyanis nincs olyan szenzor, ami kijelölhetné a megfogó süllyesztésének kezdőpozícióját. Attól függően, hogy az átrakó a Szortírozó állomástól vagy a selejtcsúszdáktól jön vissza, különböző időzítést kell beállítani a megfogó süllyesztésének elindításához. Az új darabok érkezésekor figyelembe kell venni, hogy felgyorsított emelő henger gyorsabban engedi le a megfogót az új munkadarabhoz, mint ahogy a Megfogó állomás kilökője elengedné a darabot (rá kell tartani a darabra, lásd 7.3.9. pontban). A megfogó és a kilökő kar ütközésének elkerülését egy késleltető időzítő biztosítja, amely a munkadarab detektálásnak pillanatában indul és 0,4 másodperccel késlelteti a megfogó leengedését. Ezt a késleltetést akkor is kell alkalmazni, amikor az átrakó henger alaphelyzetbe érése előtt akarjuk elindítani a megfogó leengedését, mert ilyenkor is előfordulhat az aktuátorok összeakadása. 7.4.2. AZ ÁLLOMÁS JELLEGZETES HIBAJELENSÉGEI A Rakodó állomás egyik jellegzetes hibajelensége a munkadarabok felvételénél jelentkezhet. Ha az érkező munkadarab nem megfelelően áll a felvevő pozícióban, akkor a lefelé haladó megfogó felütközik a darab tetején. Ennek kompenzálására bevezettem egy eljárást, amely az esetek többségében sikeresen kezeli ezt a problémát. Felütközés esetén az emelő henger felemeli a megfogót, majd az állomás vezérlője kérést küld a Megmunkálónak, 82
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
hogy a kilökője segítségével igazítsa meg a darabot. A darab igazítása után a Megmunkáló visszajelez a Rakodónak, amely ezután újra megpróbálja felvenni a munkadarabot. Ugyanezt a funkciót használom a Rakodó állomás egy másik hibajelenségének elhárítására. A próbajáratások során néha azt tapasztaltam, hogy bár látszólag sikeresen megérkezett az új munkadarab a Rakodóhoz, az állomás észlelte is, azonban a megfogó mégsem indult el a darabért. Az történt, hogy a darab az érkezésekor a fészekbe szerelt optikai szenzor észlelte a darabot, a vezérlő elindította a megfogó leengedését késleltető időzítőt, azonban a darab visszapattant a fogadó modul fészkéből és eltávolodott az oda elhelyezett szenzortól. A késleltetés letelte után az optikai szenzor már nem észlelte a darabot, így nem is indult el az új ciklus. A probléma kezelése érdekében úgy programoztam az állomást, hogy az ilyen esetekben szintén küldjön igazítási kérést a Megmunkálónak. A kilökés után rosszul pozícionált munkadarabok automatikus igazításáról készítettem egy demonstrációs videót, amely megtalálható az elektronikus mellékletek között. 7.4.3. ALAPHELYZET ÉS VÉSZSTOP PROGRAMOK Az állomás alaphelyzetét és vészforgatókönyvét a 14. táblázat szerint határozta meg. 14. táblázat A Rakodó állomás aktuátorainak viselkedése [Alaphelyzet] és [Vészstop] állapotban Aktuátor Átrakó henger Emelő henger Megfogó
[Alaphelyzet] Felvevő pozíció fölött – Áll Felső véghelyzetben – Áll Szorít
[Vészstop] Aktuális pozícióban – Áll Aktuális pozícióban – Áll Szorít
A [Vészstop] állapotban mindegyik aktuátor azonnal megáll, a megfogó viszont nem engedi el a pofái között tartott darabot. Ennek baleset- és értékvédelmi okai vannak. Ha egy nagyobb berendezés esetén a vészleállítás hatására lezuhan egy munkadarab a szállítóberendezésről, akkor az kárt tehet az dolgozókban, a többi berendezésben, de akár a munkadarab is tönkremehet. 7.4.4. AUTOMATA PROGRAM A ciklus elején fel kell venni az állomásra érkező munkadarabot, amelyet a darab minősítésétől függően át kell adni a Szortírozó állomásnak, vagy a selejtcsúszdára kell pakolni. A megfogó leengedése előtt ki kell várni, hogy a Megmunkáló állomás kilökő karja biztosan elengedje a darabot. Amennyiben probléma merülne fel a darab felvétele közben, akkor az {Automata} program kérelmezi a darab megigazítását a Megmunkáló állomásnál, ahogy erről az 7.4.2 pontban már volt szó. A darab felemelése után a Rakodó szabad jelzést küld a Megmunkálónak. Selejt munkadarabok esetén az átrakó hengert meg kell állítani a selejtcsúszda felett, le kell engedni a megfogót, majd el kell engedni a darabot. Közben jelezni kell a robotnak a munkadarab selejtcsúszdára érkezését, továbbá a fővezérlőnek is a darab sorról való kilépését. Az állomást vezérlő PLC az egyik kimentén keresztül kommunikál a robottal, minden újabb selejt darabnál küld egy impulzust a robot felé. A jel bekapcsolását az
83
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
{Automata} végzi, a kikapcsolását viszont a {P9 – Állomás – Felügyelet} programban elhelyezett utasítás hajtja végre. Így az {Automata} addig is tovább tud dolgozni, amíg várakoznia kellene az impulzus kikapcsolására. A megfelelő minősítésű darabok esetén az átrakót a Szortírozó állomás felőli véghelyzetébe kell vezérelni. A megfogót csak akkor szabad leengedni, ha a Szortírozó állomás szabad jelzést küld. Ha ez a jelzés már akkor megérkezik, amikor az átrakó henger még nem ért a véghelyzetébe, akkor a darab leengedése már a selejtcsúszda fölötti jeladó elhagyása után elindítható. A darab leengedésének másik feltétele az, hogy a Rakodó sikeresen átküldje a darab címkéjét a Szortírozó állomásnak. A megfogó felemelése után az átrakót vissza kell küldeni az alaphelyzetébe. Amennyiben már megérkezett a következő munkadarab az állomásra, akkor az átrakó alaphelyzetbe érkezése előtt elindítható a megfogó leengedése. Az indítás pontos idejének meghatározásához két időzítő jelét kell figyelni. Az egyik a darab felvételét késleltető időzítő, a másik pedig az, amely attól függően van beállítva, hogy honnan indult vissza az átrakó a felvevő pozícióba, lásd 7.4.1. Az új ciklus kezdete előtt el kell küldeni a fővezérlőnek az állomás ciklusidejét. 7.4.5. FELÜGYELET PROGRAM Amiatt, hogy a munkaciklus bármely pillanatában megérkezhet egy új munkadarab, ezért a StationLink jeladó kezelését a {Felügyelet} program végzi. A darab érkezését figyelő optikai szenzor jelére foglalt jelzést küld a Megmunkálónak, majd elindítja az új munkadarab felvételét késleltető időzítőt. A robotos kommunikáció befejezéséért szinten ez a program felelős.
7.5. SZORTÍROZÓ ÁLLOMÁS A Szortírozó állomás felépítéséről és alapvető működéséről a 2.5 pontban volt szó. 7.5.1. FEJLESZTÉSEK ÉS OPTIMALIZÁLÁSOK A Szortírozó állomás optimalizálásakor azt tartottam szem előtt, hogy az állomás ciklusideje minél jobban megközelítse a Rakodó ciklusidejét, ugyanis az anyagáramlás ekkor a leginkább folyamatos a sor végén. A Szortírozó állomás központi eleme az elektromos hajtású szállítószalag, amelynek sebessége meghatározza a munkadarabok haladási sebességét. A szalag sebességét nem lehet növelni, így a terelő karok mozgatását végző munkahengerek gyorsításának sem lett volna sok értelme, mert az a ciklusidő változásában nem jelentett volna szinte semmit. Az optimalizáláshoz a munkadarabok előtárazásának lehetőségét tudtam felhasználni. Az Szortírozót vezérlő eredeti program az után adott szabad jelzést a Rakodónak, amikor az állomáson lévő darab már elhagyta a szalagot és lecsúszott a csúszdán, emiatt feltartotta a Rakodó állomást, illetve az egész sort is. Az új program szerint működő Szortírozó állomás a darab szalagra engedése után felkészül a következő fogadására és szabad jelzést küld a Rakodónak. Ennek eredményeként a Rakodó hamarabb elindulhat az új munkadarabjáért, valamint a szalagon lévő darab csúszdára kerülése után azonnal elindulhat az új darab szortírozása.
84
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
7.5.2. AZ ÁLLOMÁS JELLEGZETES HIBAJELENSÉGEI A Szortírozó állomás az egyik legmegbízhatóbban működő állomás az MPS rendszerben. A próbajáratások során egyetlen hibára lettem figyelmes, amely az állomás „túlpörgetése” miatt jelent meg. Az állomás finomhangolása és optimálása közben sorra vettem a vezérlő programban előforduló várakozásokat és igyekeztem megtalálni azok minimum értékeket, amelyeknél még biztonságosan működik az állomás, de már a ciklusidőben is látható a módosítás eredménye. A munkadarab azonosítását késleltető időzítő állítgatása során azt tapasztaltam, hogy a várakozási idő kritikus szint alá csökkentése esetén az állomás nem tudta megkülönböztetni a fém munkadarabokat a pirosaktól. Mindkét típusú darabot a piros daraboknak kijelölt csúszdára szortírozta. A hibát az állomás konstrukciós kialakításának sajátosságaival lehet megmagyarázni. Az új munkadarabok érkezését figyelő és az anyagtulajdonságokat megállapító szenzorok a szalag mentén egymás után vannak elhelyezve. Az első érzékelő egy tárgyreflexiós optikai szenzor, amely észleli a darab jelenlétét. Ennek jelére indul el a szalag, és szállítja a darabot a másik optikai és az induktív szenzor elé, ahol a stophenger eltorlaszolja az útját. A munkadarab azonosítása után a stophenger továbbengedi a darabot a csúszdák felé. A munkadarab színét és anyagát csak akkor lehet teljes biztonsággal megállapítani, ha az elért a stophengerig, mert ekkor látja a darabot egyszerre az optikai és az induktív szenzor is. Ehhez a szalag elindítása után mindössze néhány tized másodperc szükséges, azonban ha elkapkodjuk a szenzorok jeleinek kiolvasását, akkor a vezérlő rosszul azonosítja a darabot, emiatt rossz csúszdára is fogja küldeni. Az említett várakozási idő túlzott lecsökkentése miatt, már az előtt megtörtént a munkadarabok azonosítása, mielőtt a darab elérhetett volna az induktív szenzorig. Emiatt a szenzorok jeleinek beolvasásakor még akkor sem adott jelet az induktív jeladó, ha fém darab volt az állomás felvevő pozíciójában. Az azonosítást késleltető időzítő beállításakor tekintettel kell lenni arra is, hogy a darab érkezését figyelő szenzor már akkor ad jelet, amikor a Rakodó állomás a szalag fölé engedte a darabot, de még nem engedte el. Ezzel egy időben elindul a késleltető időzítő is. Ezután még ki kell nyitni a megfogó pofáit, majd fel kell emelni a megfogót is ahhoz, hogy a darab elinduljon a stophenger felé. Az ehhez szükséges időt is bele kell kalkulálni a vizsgálat késleltetésébe. Ha a Rakodó állomást átkalibráljuk, akkor előfordulhat, hogy emiatt a szoros időzítéssel dolgozó Szortírozónál hibák jelentkeznek. Az említett példán jól megfigyelhető, hogy egy összehangolt rendszernél az egyik állomás működésének megváltozása hogyan befolyásolhatja a másik működését. 7.5.3. ALAPHELYZET ÉS VÉSZSTOP PROGRAMOK Az állomás alaphelyzetét és vészforgatókönyvét a 15. táblázat szerint határozta meg.
85
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
15. táblázat A Szortírozó állomás aktuátorainak viselkedése [Alaphelyzet] és [Vészstop] állapotban Aktuátor Szállító szalag Stophenger Első terelőkar Második terelőkar
[Alaphelyzet] Kikapcsolva Külső véghelyzetében – Áll Külső véghelyzetében – Áll Külső véghelyzetében – Áll
[Vészstop] Kikapcsolva Külső véghelyzetében – Áll Külső véghelyzetében – Áll Külső véghelyzetében – Áll
7.5.4. AUTOMATA PROGRAM Az új ciklus indításának feltétele, hogy új munkadarab érkezzen az állomásra. Amennyiben az új darab már az előző ciklus befejezése előtt megérkezik, akkor a szalag elszállítja az új darabot a stophengerig (mivel még mozgásban van), ekkor azonban a felvevő pozícióban levő optikai szenzor már nem lát rá a darabra. A program megfelelő működése érdekében bevezettem a `Van_MDB` nevű jelzőbitet, amelyet a {Felügyelet} program állít be a munkadarabok érkezésekor. A jelzőbit „1” értéke a ciklus és egyben a szalag indításának feltétele. A darab fajtájának megállapítása után meghatározza a vezérlő, hogy melyik csúszdára kell irányítani a munkadarabot, majd ennek megfelelően beállítja a terelő karokat. Ezzel egy időben behúzza a stophengert, így továbbengedi a darabot. A stophengert csak addig kell behúzva tartani, amíg a darab elhalad előtte, ismételt kinyomását egy időzítés késlelteti, amelyet a {Felügyelet} program figyel. Amikor a stophenger ismét elzárta az állomás felvevő pozícióját a szalag többi részétől, az állomás szabad jelzést küld a Rakodónak, megteremtve ezzel egy munkadarab előtárazásának lehetőségét. Egyidejűleg törli a `Van_MDB` értékét. A darab továbbengedésének pillanatában a terelő karok még valószínűleg nem vették fel a megfelelő pozíciót, azonban mire a darab elérne a szalag első leágazáshoz, addigra a karok is beállnak a megfelelő helyzetbe. Ha valami hiba folytán ez mégsem történne meg, akkor a vezérlő azonnal leállítja a szalagot és jelzi a problémát a fővezérlő felé. Ha időközben sikerülne megfelelően beállítani a karokat, akkor a Szortírozó automatikusan törli a hibakódot, újraindítja a szalagot és dolgozik tovább. Ennek bemutatására készítettem egy demonstrációs videót, amely megtalálható az elektronikus mellékletek között. A darab csúszdára érkezését egy optikai fénysorompó észleli, a szenzor egyszerre figyeli mind a három csúszdát. Amikor a darab csúszni kezd, megszakítja a fénynyalábot, ekkor a szenzor „1” jelet ad, majd miután lecsúszik a darab, akkor a szenzor nem ad jelet. Ha a csúszdák valamelyike megtelik, akkor a szenzor folyamatosan tartja a jelét. A darab szenzor előtti elhaladása normál esetben csak néhány tized másodpercig tart. Ezért ha 0,5 másodperc alatt nem csúszik tovább a darab, akkor az azt jelenti, hogy a csúszdák valamelyike megtelt. Ekkor az állomás felfüggeszti az Automata programot, és jelzi a hibát a fővezérlő felé. Mivel az állomást vezérlője tudja, hogy milyen fajtájú volt az utoljára leválogatott darab, ezért a hibajelentésben azt is meg tudja nevezni, hogy melyik csúszda telt meg. Az MPS kézi „etetése” és a robotkiszolgálás együttes alkalmazása esetén könnyen előfordulhat, hogy a kiszolgáló robot nem tudja tartani a tempót az MPS-sel és emiatt összegyűlnek a darabok a sor végén. Ha a kézi beadagolás abbamarad, akkor egy idő után a 86
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
robot is utoléri magát, így amikor a csúszda megürül, akkor az állomás automatikusan törli a hibakódot és folytatja a munkát. Persze az is megfelelő, ha kézzel vesszük le a darabokat a csúszdákról. A munkadarab sikeres lecsúszása után jelenteni kell a robotnak az új elszállítandó darabot. A Szortírozó állomás ugyanúgy kommunikál a robottal, mint ahogy a Rakodónál már láttuk, azonban itt mindegyik fajta munkadarabhoz egy-egy saját kimenet tartozik. A kommunikáció befejezésekor a kimeneteket a {Felügyelet} program kapcsolja ki. A ciklus végén az állomás elküldi a munkadarab adatait és az állomás ciklusidejét a fővezérlőnek, jelezve ezzel, hogy a darab végzett a soron.
87
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
8. TERMELÉKENYSÉG MÉRÉSE A dolgozatomban többször utaltam rá, hogy az eredeti szoftverekkel vezérelt MPS rendszerben olyan tartalékok maradtak, amelyek miatt a sor lényegesen kisebb termelékenységgel dolgozott, mint amire egyébként képes lenne. Munkám befejeztével összehasonlító méréseket végeztem, amelyek alapján számszerűen is kifejezhető a sortermelékenységének növekedése. Az új vezérlés lehetővé teszi a mérések automatikus elvégzését, hiszen az munkadarabonként méri a darabok soron való áthaladásának idejét. A régi szoftverek ezt nem tették lehetővé, így más megoldást kellett találnom. Az MPS működésének bemutatásához videó felvételeket készítettem, amelyekből egy videó szerkesztő szoftverrel kiolvashatók az időkódok, lehetővé téve ezzel különböző mérések elvégzését. Az így kapott mérések pontosabbak, mint egy stopper használata, főleg akkor, ha egyszerre több munkadarab soridejét akarjuk mérni. A méréseket háromszor végeztem el mindkét vezérlés esetén, és a kapott eredmények átlagait táblázatba foglaltam. Minden alkalommal kilenc munkadarabot használtam a próbajáratásokhoz. A munkadarabok sorrendje minden esetben a következő volt: piros, fekete, fém, piros, ..., fém. A próbajáratásokhoz nem használtam a Robot kiszolgálást, mert az lassú működése miatt kiegyenlítette volna a két konstrukció teljesítménykülönbségét. A mérések előtt kézzel táraztam be a munkadarabokat az Adagoló állomás magazinjába, majd ezután indítottam el a sort [Automata] üzemben. 16. táblázat Soridőmérések átlageredményei Ssz.
Eredeti [s]
Új [s]
1. 2. 3. 4. 5. 6. 7. 8. 9. Átlag:
22,15 25,67 22,92 21,94 22,95 22,79 22,04 22,82 23,02 22,92 s
16,58 17,18 17,51 16,77 17,32 17,74 16,98 16,9 17,18 17,13 s
A 16. táblázat alapján a munkadarabok átlagos sorideje 25,26%-kal csökkent az eredeti értékhez képest. Abban az esetben, ha a soron egyszerre csak egy darab halad, a jelenlegi robotkiszolgálás mellett általában ez az állapot áll fenn, akkor ez az érték 31,85%ra változik, ugyanis egy munkadarabos üzemben az új vezérléssel 15,62 másodperc az átlagos soridő. Ennek az az oka, hogy a Megmunkáló állomás minden ciklusban megvárja a
88
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
Tesztelő állomásról érkező darabokat, de az Adagoló és a Tesztelő még mindig lassabban tudja előkészíteni a darabokat a kelleténél. Az átlagos soridő csak a sebességnövekedés területén mutatja meg a fejlődést, azonban azt nem veszi figyelembe azt, hogy hány munkadarab van a gyártósoron egyszerre, nincs tekintettel az időpárhuzamosításokra. A termelékenység tényleges jellemzésére az általam „követés”-nek elnevezett mennyiség a leginkább megfelelő mérőszám. A követés azt fejezi ki, hogy hány másodpercenként készül el egy-egy újabb munkadarab? A mérések átlagértékei a 17. táblázatban láthatók. 17. táblázat A követés átlagértékei Ssz.
Eredeti [s]
Új [s]
2. 3. 4. 5. 6. 7. 8. 9. Átlag:
15,14 8,77 10,64 12,65 11,54 11,01 12,49 11,88 11,77 s
3,72 3,35 2,17 3,46 3,35 2,19 2,92 3,3 3,06 s
A követést a 2. darabtól van értelme számolni, hiszen az 1. darab 0 másodperccel követné saját magát. Az eredményekből egyértelműen látszik, hogy az MPS rendszer termelékenysége majdnem 400%-kal (384,6%) nőtt.
89
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
ÖSSZEFOGLALÁS A szakdolgozatom témája az MPS rendszer bemutatása és egy hozzá tartozó vezérlés fejlesztése volt. A dolgozatomban igyekeztem a lehető legpontosabb leírást adni a rendszer minden részéről, illetve megpróbáltam felhívni a figyelmet azokra a megoldásokra, amelyek valamilyen szempontból különlegesek. A vezérlés tervezésének kezdeti szakaszában összefoglaltam a vezérléssel szemben támasztott követelményeket és kidolgoztam a vezérlés koncepcióját. Sikerült megoldást találnom arra is, hogy a meglévő berendezések felhasználásával alakítsam ki az új vezérlést. A kezelés megkönnyítése érdekében létrehozott WEB interfész használatával hasznos információkhoz juthat a kezelő személyzet a berendezések állapotáról, illetve ha a rendszert egy nyilvános elérésű hálózatra kapcsoljuk, akkor egy távoli helyről is megoldható a gyártósor irányítása. Sokszor elvonatkoztattam attól, hogy az MPS rendszer egy viszonylag kisméretű, oktató célú gyártórendszer, amely relatíve kevés veszélyt rejteget a kezelő személy számra. Éppen ezért olyan megoldásokat építettem be a vezérlésbe, amely jelentősen megnövelik az üzembiztonságot. Munkám során megtapasztaltam, hogy minél nagyobb egy rendszer, annál több hibalehetőséget rejt magában. A tervezés során különös figyelmet fordítottam egy fejlett hibakezelés és diagnosztikai megoldás létrehozására, amely hasznos tanácsokkal tudja segíteni a kezelőt egy-egy váratlanul fellépő hiba elhárításánál. Jelen pillanatban a két egymás követő meghibásodás közötti időtartam legalább egy nagyságrenddel nagyobb annál, amit a kezdetekben tapasztaltam. Az MPS rendszer eredeti szoftverei csak egymástól független, egyéni munkára tették alkalmassá az egyes állomásokat, nem valósítottak meg semmiféle összehangolást a berendezések között. Ez nagyon meglátszott a gyártósor teljesítményén. Az öt állomás működésének megfelelő összehangolása után a sor termelékenysége csaknem 400%-kal megnőtt. Ehhez persze az is hozzájárult, hogy az egyes berendezések folyamataiban megkerestem azokat az időpárhuzamosítási lehetőségeket, amelyek még nem voltak kiaknázva. Erre a legjobb példa a Megmunkáló állomás, amelynek új szoftvere lehetővé teszi, hogy az állomás egyszerre akár három munkadarabon végezzen manipulációs és megmunkálási műveleteket. Az MPS rendszerben még mindig sok fejlesztési lehetőség van, akár a működési sebesség fokozása szempontjából, akár a még megbízhatóbb üzemeltetés biztosítása terén. A jövőbeni fejlesztés lehetőségét leginkább a Robot kiszolgálás és a Magasraktár működésének gyorsításában látom. Emellett módosítani kellene az említett két eszköz programját aszerint, hogy azok is beilleszthetők legyenek a vezérlési láncba, illetve támogatni tudják az általam készített vezérlés szolgáltatásait.
90
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
KÖSZÖNETNYILVÁNÍTÁS Szeretnék köszönetet mondani Dr. Barna Balázs és Dr. Hegedűs György Tanár Uraknak, akik folyamatos konzultációs lehetőségeikkel, észrevételeikkel és szakmai tanácsaikkal sokat segítettek a szakdolgozatom elkészítésében.
91
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
ÁBRAJEGYZÉK 1. ábra Az MPS gyártórendszer ................................................................................................ 3 2. ábra Az Adagoló állomás...................................................................................................... 4 3. ábra A Tesztelő állomás........................................................................................................ 7 4. ábra Az emelő munkahenger szerkezeti felépítése [3] ......................................................... 8 5. ábra A Megmunkáló állomás .............................................................................................. 10 6. ábra A fúró modul lineáris hajtóműve [5] .......................................................................... 12 7. ábra A Rakodó állomás....................................................................................................... 13 8. ábra A Szortírozó állomás .................................................................................................. 16 9. ábra A Magasraktár............................................................................................................. 18 10. ábra A Robot ..................................................................................................................... 19 11. ábra A szervotranszporter munkahengere [8] ................................................................... 20 12. ábra A robot tengelyei [9] ................................................................................................. 21 13. ábra A robot terhelhetősége a távolság függvényében [9]................................................ 21 14. ábra A StationLink rendszer ............................................................................................. 23 15. ábra Az elkészült vezérlőpanel ......................................................................................... 30 16. ábra Üzemállapotjelző lámpa kapcsolási rajza ................................................................. 32 17. ábra Az elkészült üzemállapotjelző lámpa ....................................................................... 34 18. ábra A WEB interfész alapképernyője ............................................................................. 36 19. ábra A Hibakódok megjelenítése a WEB interfészen....................................................... 36 20. ábra Munkadarabokkal kapcsolatos statisztikák a WEB interfészen ............................... 37 21. ábra A virtuális körasztal demonstrálása .......................................................................... 76 22. ábra A Rakodó állomás mozgáspályája ............................................................................ 82 23. ábra Az Adagoló állomás új programjának folyamatábrája ............................................... 3 24. ábra A Megmunkáló állomás új programjának folyamatábrája ....................................... 10
92
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
IRODALOMJEGYZÉK [1] F. Didactic, „Station Verteilen Handbuch (648811 DE/EN 04/06 R2.2),” 2006. [2] F. Didactic, „Station Prüfen Handbuch (648812 DE/EN 04/06 R2.2),” 2006. [3] Festo, „Linear drive units DGO Catalogue,” 2012. [4] F. Didactic, „Station Bearbeiten Handbuch (648813 DE/EN 04/06 R2.2),” 2006. [5] Festo, „Zahnriemenachsen DGE Katalog,” 2013. [6] F. Didactic, „Station Handhaben Handbuch (655633 DE/EN 04/06 R2.2),” 2006. [7] F. Didactic, „Station Sortieren Handbuch (648821 DE/EN 04/06 R2.2),” 2006. [8] Festo, „Linear drives DGP/DGPL Catalogue,” 2013. [9] Mitsubishi, „MELFA BFP-A8790-R Manual”. [10] „IT szótár.hu,” IT-Extreme 2006, [Online]. Available: http://eisi.itszotar.hu/?q=246. [Hozzáférés dátuma: 5 11 2013]. [11] Z. Nagy, „PLCweb Project,” [Online]. Available: http://users.atw.hu/plcweb/plc/plc%20main.htm. [Hozzáférés dátuma: 25 06 2013]. [12] Festo, Automatisieren mit FST, 2004.
93
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
MELLÉKLETEK
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
M1. AZ ADAGOLÓ ÁLLOMÁS VEZÉRLÉSI DIAGRAMJAI 18. táblázat Az Adagoló állomás szenzorainak és aktuátorainak jelölései SZENZOROK Megnevezés/Funkció Következő állomás szabad
Jelölés IP_FI
Fajta Optikai
Magazin üres
B4
Optikai
Kitolóhenger alaphelyzet
1B1
Reed-relé
Kitolóhenger véghelyzet
1B2
Reed-relé
Vákuumkapcsoló
2B1
Mechanikus
Átrakó kar alaphelyzet Átrakó kar véghelyzet Átrakó kar középen
3B1 3B2 3B3
Mechanikus Mechanikus Induktív
Megnevezés/Funkció Kitolóhenger
Jelölés 1A1
Fajta Munkahenger
Vákuumgenerátor Átrakó kar
2A1 3A1
Forgató henger
AKTUÁTOROK
1. ütemdiagram Az Adagoló állomás eredeti programjának ütemdiagramja
M-1
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
2. folyamatábra Az Adagoló állomás eredeti programjának folyamatábrája
M-2
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
23. ábra Az Adagoló állomás új programjának folyamatábrája M-3
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
M2. A TESZTELŐ ÁLLOMÁS VEZÉRLÉSI DIAGRAMJAI 19. táblázat A Tesztelő állomás szenzorainak és aktuátorainak jelölései SZENZOROK Megnevezés/Funkció Következő állomás szabad
Jelölés IP_FI
Fajta Optikai
Munkadarab érkezett
PART_AV
Kapacitív
Emelő henger alaphelyzet
1B1
Reed-relé
Emelő henger véghelyzet
1B2
Reed-relé
Kitolóhenger alaphelyzet
2B1
Reed-relé
Munkadarab nem fekete Biztonsági fénysorompó Magasságmérő komparátor
B2 B4 COMP
Optikai Optikai Potméter
Megnevezés/Funkció Emelő henger
Jelölés
Fajta Munkahenger
Kitolóhenger Légpárnás csúszda
2A1 3A1
AKTUÁTOROK
1A1
M-4
Munkahenger
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
3. folyamatábra A Tesztelő állomás eredeti programjának folyamatábrája M-5
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
4. folyamatábra A Tesztelő állomás új programjának folyamatábrája
M-6
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
2. ütemdiagram A Tesztelő állomás eredeti programjának ütemdiagramja Megfelelő minősítésű munkadarab
3. ütemdiagram A Tesztelő állomás eredeti programjának ütemdiagramja Selejt minősítésű munkadarab
M-7
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
M3. A MEGMUNKÁLÓ ÁLLOMÁS VEZÉRLÉSI DIAGRAMJAI 20. táblázat A Megmunkáló állomás szenzorainak és aktuátorainak jelölései SZENZOROK Megnevezés/Funkció Következő állomás szabad
Jelölés IP_FI
Fajta Optikai
Munkadarab érkezett
PART_AV
Kapacitív
MDB a vizsgáló pozícióban
B1
Kapacitív
MDB a megmunkáló pozícióban
B2
Kapacitív
Körasztal pozícionált
B3
Induktív
Orientáció rendben Fúró felső véghelyzetben Fúró alsó béghelyzetben
B4 I3 I4
Induktív Mechanikus Mechanikus
Megnevezés/Funkció Fúró emelő
Jelölés M1
Fajta Villanymotor
Körasztal hajtása Fúró motorja Szorító aktuátor Vizsgáló aktuátor Kilökő aktuátor
M2 M3 M4 M5 M6
Villanymotor Villanymotor Mágnestekercs Mágnestekercs Mágnestekercs
AKTUÁTOROK
M-8
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
5. folyamatábra A Megmunkáló állomás eredeti programjának folyamatábrája
M-9
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
24. ábra A Megmunkáló állomás új programjának folyamatábrája
M-10
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
4. ütemdiagram A Megmunkáló állomás eredeti programjának ütemdiagramja Megfelelően orientált munkadarab
5. ütemdiagram A Megmunkáló állomás eredeti programjának ütemdiagramja Rosszul orientált munkadarab
M-11
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
M4. A RAKODÓ ÁLLOMÁS VEZÉRLÉSI DIAGRAMJAI 21. táblázat A Rakodó állomás szenzorainak és aktuátorainak jelölései SZENZOROK Megnevezés/Funkció Következő állomás szabad
Jelölés IP_FI
Fajta Optikai
Munkadarab érkezett
PART_AV
Optikai
Poz. henger fogadó pozíció
1B1
Reed-relé
Poz. henger átadó pozíció
1B2
Reed-relé
Poz. henger 1. csúszdánál
1B3
Reed-relé
Poz. henger 2. csúszdánál
1B4
Reed-relé
Emelő henger véghelyzet
2B1
Reed-relé
Emelő henger alaphelyzet Munkadarab nem fekete
2B2 3B1
Reed-relé Optikai
Megnevezés/Funkció Pozícionáló henger
Jelölés 1A1
Fajta Munkahenger
Emelő henger Pneumatikus megfogó
2A1 3A1
Munkahenger Munkahenger
AKTUÁTOROK
M-12
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
6. folyamatábra A Rakodó állomás eredeti programjának folyamatábrája
M-13
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
7. folyamatábra A Rakodó állomás új programjának folyamatábrája
M-14
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
6. ütemdiagram A Rakodó állomás eredeti programjának ütemdiagramja Megfelelő minősítésű munkadarab
7. ütemdiagram A Rakodó állomás eredeti programjának ütemdiagramja Selejt minősítésű fekete munkadarab
8. ütemdiagram A Rakodó állomás eredeti programjának ütemdiagramja Selejt minősítésű piros/fém munkadarab
M-15
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
M5. A SZORTÍROZÓ ÁLLOMÁS VEZÉRLÉSI DIAGRAMJAI 22. táblázat A Szortírozó állomás szenzorainak és aktuátorainak jelölései SZENZOROK Megnevezés/Funkció Munkadarab érkezett
Jelölés PART_AV
Fajta Optikai
Terelőkar 1 KI
1B1
Reed-relé
Terelőkar 1 BE
1B2
Reed-relé
Terelőkar 2 KI
2B1
Reed-relé
Terelőkar 2 BE Munkadarab fém Munkadarab nem fekete Csúszdák fénysorompója Magasságmérő komparátor
2B2 B2 B3 B4 COMP
Reed-relé Induktív Optikai Optikai Potméter
Megnevezés/Funkció Terelőkar 1
Jelölés 1A1
Fajta Munkahenger
Terelőkar 2 Stophenger
2A1 3A1
Munkahenger Munkahenger
AKTUÁTOROK
M-16
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
8. folyamatábra A Szortírozó állomás eredeti programjának folyamatábrája
M-17
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR SZERSZÁMGÉPEK TANSZÉKE
9. folyamatábra A Szortírozó állomás új programjának folyamatábrája
M-18