Programming | PLC programming » Haraszti Róbert - Üveggyári szállítószalagok irányítása Allen Bradley PLC-vel

Datasheet

Year, pagecount:2009, 42 page(s)

Language:Hungarian

Downloads:407

Uploaded:August 08, 2013

Size:2 MB

Institution:
[BME] Budapest University of Technology and Economics

Comments:

Attachment:-

Download in PDF:Please log in!



Comments

No comments yet. You can be the first!

Content extract

Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Irányítástechnika és Informatika Tanszék Villamosmérnöki szak Üveggyári szállítószalagok irányítása Allen-Bradley PLC-vel Haraszti Róbert Konzulens: dr. Katona László adj Juhos Gábor, Rockwell Automation 2009. 1 Szakdolgozat téma kiírás *kiírás helye+ 2 2 Hallgatói Nyilatkozat Alulírott Haraszti Róbert, a Budapesti Műszaki es Gazdaságtudományi Egyetem hallgatója kijelentem, hogy ezt a szakdolgozattervet meg nem engedett segítség nélkül, saját magam készítettem, és a szakdolgozattervben csak a megadott forrásokat használtam fel. Minden olyan részt, melyet szó szerint, vagy azonos értelemben, de átfogalmazva más forrásból átvettem, egyértelműen, a forrás megadásával megjelöltem. Kelt: Budapest, 2009. május 14 . Haraszti Róbert 3 3 Kivonat A mai világban a gyártóüzemek ki vannak hegyezve a termékek minél

gazdaságosabb előállítására. megbízhatóságának Ezt növelésével és a a termelés hibázás, gyorsaságának, a meghibásodás lehetőségének csökkentésével érik el. A programozható logikai vezérlők (PLC-k) által vezérelt gyártósorok ezeknek a kritériumoknak megfelelnek, így érthető, hogy az egész világon elterjedtek az ipari automatizálásban. A síküveggyártás során egy folyamatos termelő tevékenység folyik, melynél a leállások súlyos termeléskieséshez vezethetnek, ezért a hibázások még inkább megelőzendők. Emiatt is különösen fontos, hogy a gyártósoroknál alkalmazott vezérlő algoritmusok biztosítsák a megfelelő biztosságot, és a hibakezelésre is megfelelően fel legyenek készítve. A szakdolgozatomban megvizsgáltam általánosságban a síküveg gyártásához kapcsolódó technológiát, az ehhez kapcsolódó speciális igényeket. A gyártósor egy részét behatóbban tanulmányoztam, megismertem

az ott alkalmazott berendezéseket és ezek helyes működéséhez szükséges feltételeket. Megismertem a PLC-k főbb tulajdonságait, egy konkrét alkalmazáshoz használt gyártmány sajátosságait. A PLC program fejlesztéséhez szükséges programcsomag használatát elsajátítottam. Elkészítettem a megismert berendezések irányítására szolgáló program tervét, majd ezt leprogramoztam. A gépek felügyelete, valamint a folyamatba történő egyszerű operátori beavatkozás érdekében egy grafikus terminálon futó alkalmazást is megvalósítottam. A kész program megfelelő működését egy PLC emulátoron teszteltem. 4 4 Abstract Nowadays the economy has the need for products that are inexpensive to produce. This can be achieved by increasing the throughput and the reliability of factories and by minimizing the chance of failures. The production lines managed by programmable logic controllers (PLCs) satisfy these requirements, thus no wonder they are

widespread in control engineering. The float glass production is a continuous process, during which the outages lead to severe product drop-outs with high costs, and therefore failures are not allowed by any means. Algorithms used in production lines should ensure total safety and should be prepared for error handling. In my thesis project I examined float glass production, the process and the special needs of the technology. Analyzing a part of the line I looked into the instruments and their working conditions. After familiarizing myself with the main features of PLCs I studied a specific product’s properties. I also looked at the needed programming software of those PLCs. Making the control algorithms for the previously studied instruments and creating the actual program for the PLC was the next step. For the easy administration and supervision of the production a graphical representation of the line was created, which is displayed on a terminal. The complete program was

tested on an emulated PLC, in order to ensure that everything is working properly. 5 5 Tartalomjegyzék 1 Szakdolgozat téma kiírás . 2 2 Hallgatói Nyilatkozat . 3 3 Kivonat. 4 4 Abstract . 5 5 Tartalomjegyzék . 6 6 Bevezető . 8 7 8 6.1 PLC rendszerek az iparban . 8 6.2 Üveggyártás speciális igényei . 9 6.3 A feladat . 11 6.31 Feladatleírás . 11 6.32 Megvalósítandó elemek . 12 6.33 Szakaszok és tulajdonságaik . 12 Felhasznált eszközök, programok . 17 7.1 Gyári rendszerterv . 17 7.2 Allen-Bradley PLC . 17 7.3 PanelView terminál . 18 7.4 PowerFlex frekvenciaváltók . 19 Tervezés . 20 8.1 Adatstruktúrák . 20 8.2 Működési algoritmusok . 22 8.21 Görgősorok . 23 8.22 Oldalirányú tájoló . 24 8.23 Széthúzó görgők. 24 8.24 Tábla elemeinek szétválasztása . 25 8.25 Porozó . 26 8.26 Lefúvás . 26 8.27 Szimuláció . 26 8.28 Virtuális tengelyek . 27 8.29 Sideleg . 27 6 8.3 9

Program-rutinok . 28 Megvalósítás . 31 9.1 Programozási rendszerterv . 31 9.11 RSLogix 5000 . 31 9.12 FactoryTalk View32 . 32 9.13 RSLogix Emulate 5000 . 33 9.14 RSLinx . 34 9.2 PLC program . 34 9.3 Terminál . 35 10 Tesztelés . 38 11 Összefoglalás . 39 11.1 Értékelés . 39 11.2 Továbblépési lehetőségek . 39 12 Mellékletek . 40 12.1 CD tartalma. 40 12.2 Ábrajegyzék . 40 12.3 Irodalomjegyzék. 41 13 Köszönetnyilvánítás . 42 7 6 Bevezető 6.1 PLC rendszerek az iparban Korunkban a termelő tevékenységek központjai a gyárak, gyártóüzemek lettek. Az egyre növekvő piaci igények kielégítésére egyre hatékonyabb, egyre nagyobb kapacitású gyártósorokat helyeznek üzembe. Ezeknek az irányítását – a termelés gyorsítása, valamint a gazdaságosság miatt – egyre inkább az elektronikus, számítógépes vezérlések veszik át, kiszorítva az olyan emberi tényezőket a folyamatból, mint a reakcióidő és a

hibázás lehetősége. Ez a megoldás viszont csak akkor életképes, ha a számítógépes rendszerben elértük a megfelelő szintű biztonságot, valamint az esetleges hibák fellépésére fel van készítve a rendszer. Jelenleg a legelterjedtebben a programozható logikai vezérlő (Programmable Logic Controller, PLC) alapú irányítástechnikai rendszereket használják. A PLC képességei lehetővé teszik bonyolult feladatok gyors végrehajtására, valamint a fejlett kommunikációs eszközeik segítségével egy összetett hálózatban is összehangoltan tudnak működni. A hozzá kapcsolható egyéb szoftverekkel a szolgáltatásai nagyban kiterjeszthetők, ezek közül a legfőbb a folyamatvizualizálást lehetővé tevő, ún. SCADA rendszer, mely segítségével az egyszerű felhasználó (gyártósori munkás) számára is könnyen átláthatóvá válik az éppen zajló folyamat. Nagy gyártósorok mellett kisebb felhasználásra is alkalmazhatunk PLC-ket, ezt

lehetővé teszi a moduláris felépítésük, aminek köszönhetően építhetünk a felhasználás céljának legjobban megfelelő eszközparkot, azaz a felesleges funkciók kihagyásával a hatékonyságot is növelhetjük. A modularitás másik nagy előnye a könnyű karbantartás: az egyik modul meghibásodása esetén nem kell az egész egységet kidobni, elegendő a problémás modult cserélni, és minimális – vagy éppen semennyi – leállási idő után folytatódhat a termelési folyamat. A PLC-k kialakulása az autóiparhoz köthető, ugyanis 1968-ban a General Motors pályázatot írt ki olyan programozható vezérlőberendezés fejlesztésére, ami az alábbi szempontoknak megfelel: egyszerű, moduláris felépítés, kis méret; 8 mozgó alkatrészt ne tartalmazzon; galvanikusan leválasztott bemeneti/kimeneti fokozatok; könnyű programozhatóság és újraprogramozás; valós idejű működés; nagy megbízhatóság, minimális karbantartás; versenyképes

ár. [1] Napjaink legújabb PLC-i is megfelelnek a fenti kritériumoknak, viszont a teljesítményük nagymértékben megnőtt, valamint a grafikus felhasználói felületek fejlettsége megkönnyíti a munkát. Ezt a részét nevezzük ember-gép kapcsolatnak (Human-Machine Interface, HMI), ami a legtöbb helyen egy SCADA rendszer része (Supervisory Control And Data Acquisition, felügyeleti irányítás és adatgyűjtés). Ezek az összetett rendszerek valósítják meg az egész létesítményre vonatkozó irányítást és az adatgyűjtést. Címszavakban összefoglalva a jelen kori készülékek legfontosabb előnyeit: univerzális hardver, ezáltal gazdaságos megoldás; gyors prototípusfejlesztés; a programtervezés, a szimuláció, a validálás, az installálás könnyen elvégezhető; hosszú élettartamúak; ipari kivitelben készülnek; diagnosztikai feladatok ellátására is képesek; programozásuk rendszerint számítógépes támogatással, grafikus

szemléltetéssel történik; kommunikációs felületük révén hierarchikus ill. osztott folyamatirányításra alkalmasak. [2] 6.2 Üveggyártás speciális igényei A feladatom egy síküveg-gyártó üzemhez kapcsolódik, az ilyen gyártósorokat két részre oszthatjuk: „melegvég” és „hidegvég”, amelyek teljesen más technológiát alkalmaznak. Az üveggyártás során az alapanyagként szolgáló anyagokat – homokot, valamint egyéb ásványokat – egy kemencében folyékony halmazállapotúra melegítik, majd egy ónfürdőn végigúsztatva – ahol a folyékony ón tetején úszik a folyékony üveg (6.1 ábra) – folyamatos 9 és kontrollált hűtés során az üveg megszilárdul. A hűtőszalagból kilépve az üveg átér a „hidegvég” szakaszra, amikor a szilárd üveget görgősorokon továbbítva megfelelő méretre vágják, minőségellenőrzésnek vetik alá, esetlegesen különböző bevonatokat kap, majd megtörténik a sorról való

leszedés, akár gépi, akár kézi erővel. A fentiekből látható, hogy a két szakasz teljesen más technológiát kíván: a melegvég főként hőmérsékletek a megfelelő beállítására, kémiai folyamatokra helyez hangsúlyt, a főbb érzékelői a hőmérséklet-szenzorok (akár infravörös technológiával beavatkozóként 6.1 ábra – Ónfürdő [5] pedig a is), hűtő-fűtő berendezések szolgálnak. A hidegvég ezzel szemben elsősorban a mechanikai feldolgozásról szól, a hőmérséklet helyett a pozíciót, méretet és az esetleges anyaghibákat mérik, a beavatkozást pedig a megfelelő motorok által működtetett görgősorok, vágógépek és tájoló berendezések alkotják (6.2 ábra) A bevonósorok – ahol a bevonatos üvegek és tükrök készülnek – megint más eszközöket alkalmaznak, hiszen a technológia is eltérő. A hidegvégen a fősor elágazásokat tartalmazhat, amennyiben a kemencéből kijövő üveg mennyisége

nagyobb, mint amit a fősoron lévő leszedők kezelni tudnak, illetve 6.2 ábra – Hidegvégi görgősor [4] a bevonósorokra való továbbítást is közvetlen görgősorokkal való kapcsolat biztosíthatja. Ezeket a leágazásokat sideleg-nek hívják, az angol elnevezés alapján. Programozható logikai vezérlőkkel remekül lehet irányítani az üveggyári folyamatokat, ami a hidegvégen jelentős részben csak vezérlés – a melegvégen pedig nagyrészt 10 szabályozás – és ha az egészet kiegészítjük egy könnyen használható SCADA interfésszel, akkor az operátori beavatkozásokat is meg tudjuk könnyíteni, ezáltal növelve a hatékonyságot. A hidegvégen az üveg kereszt- és hosszirányú vágásai megtörténnek, majd az üvegtáblákat ún. „batch”-ekbe rendezik Egy batch általában pár üvegtáblából áll, amik egy görgősor-szakaszon elférnek. Az üvegtáblák száma az egy „jumbo” méretű üvegtől a sok apró tábláig változhat,

a megrendelésektől függően. A batch-et a jelen feladat specifikációja „cap”-nek nevezi, valamint a batch-et alkotó üvegtáblákat „lite”-nak. 6.3 A feladat 6.31 Feladatleírás Feladatom épülőben volt lévő hidegvégi egy üveggyár sideleg-rész irányításának megvalósítása. Az eszközök megvalósítják egy batch fősorról való átvételét, oldalirányú tájolását, a több táblából álló szétválasztását, batch-ek valamint a leszedés előtti porozást, ami 6.3 ábra - Megvalósítandó rész sematikus ábrája Bordó színnel látszanak a szakaszok azonosítói. azért szükséges, hogy az egymásra rakott üvegtáblák ne ragadjanak össze. A megvalósítandó szakaszt a benne található motorokkal, a motorokhoz tartozó szakasznevekkel a 6.3 ábra mutatja Az A7 görgősor után a sideleg további részei következnek, amiknek a felprogramozása nem az én feladatom. A sideleg további főbb részei: a törő, ahol a hibás

üvegtáblákat kiemelik a gyártósorról, összetörik, majd a cserepeket újra felhasználják a gyártáshoz; néhány további tájoló; valamint a végén a leszedő. A sideleg többi részére vonatkozó programrutinok is ugyanabban a PLC-ben lesznek megvalósítva, mint az általam felprogramozandó rutinok. Ezeknek a megírása nem az én feladatom, az integrálás a programozás egy későbbi szakaszában lesz megvalósítva. 11 Meg kellett valósítani az alapfeladatok, valamint az összehangolt működéshez szükséges belső ellenőrzések mellett a gyártósorhoz kapcsolódó biztonsági funkciókat is, ugyanis semmi esetre sem szabad a dolgozók testi épségét veszélyeztetni. 6.32 Megvalósítandó elemek Az üveggyár tervrajzai rendelkezésemre álltak, ezek már tartalmazták a villamossági terveket is, a beépítendő eszközök listáját, a be- és kimeneti eszközöket. A tervek alapján az irányítást egy PLC fogja végezni, amely feldolgozza a

beérkező jeleket, és vezérli a hozzá kapcsolt eszközöket. A motorok frekvenciaváltókon keresztül kerülnek meghajtásra, melyek felprogramozása sablon-programok alapján fog történni a gyártósor telepítése során. A sideleg felügyelete és kezelése egy operátori panelen keresztül történik majd, amely grafikusan megjeleníti az eszközöket és a működésüket, és lehetőséget biztosít arra, hogy a megfelelő beavatkozásokat meg lehessen tenni. Erre a panelre szükséges egy vezérlő programot megírni, valamint összehangolni a működését a PLC-vel. Mivel a gyártósor, ahova ez a rendszer készül, várhatóan csak 2010-ben jut olyan szintre, hogy tesztelni lehessen a valós gépen, valamint mivel egy esetleges hibás működés tönkreteheti a drága gépeket, ezért egy szimulátor programot kell írni, ami lemodellezi a gyártósor gépeinek működését, az üveg helyét, valamint az általa keltett bemeneti jeleket. Ezt a szimulátort az

egyszerűség kedvéért a grafikus kezelőfelületre is lehet integrálni, ezáltal könnyen látható lesz, ha valami nem működik megfelelően. 6.33 Szakaszok és tulajdonságaik A megvalósítandó irányítás által érintett gépsor szakaszokra bontható, amely kisebb, egyszerűbben összehangolható feladatokra bontja az egész sor vezérlését. Ezeket A1-A20-ig jelöljük, az A jelöli az A sideleget, a szám pedig a soron elfoglalt helyét. Az érintett szakaszokat összefüggésében a 6.3 ábra mutatja, a 11 oldalon 6.331 A1 – görgősor és oldalirányú tájoló A sideleg elején található szakasz, amely két részből áll: egy motor meghajtja a görgősort, egy motorpár pedig az üveg oldalirányú tájolását végzi el. 12 A görgősor felel azért, hogy a bejövő üveget fogadja, majd amint megtörtént az esetlegesen szükséges oldalirányú tájolás és szabad a következő szakasz, továbbítja az üvegtáblát. Az üvegtábla helyzetét egy

optikai érzékelő („photo limit switch”) segítségével állapítjuk meg, ami a görgősor vége előtt egy kevéssel van elhelyezve. Az érzékelő az üveg felett vagy alatt kerül rögzítésre, és reflexiós módon működik: 6.4 ábra – Egy görgősor sematikus ábrája A görgők összekapcsolt hajtása miatt a görgők együtt forognak. az érzékelő által kibocsájtott fény az üveg felületéről visszaverődik, míg ha nincs üveg, nincs visszaverődés. A szenzoroknál megvan a ponált/negált működés beállításának lehetősége: vagy akkor jelez 1-est, ha érzékel visszaverődést, vagy akkor, ha nem érzékeli. Egy görgősorról akkor lehet üveget továbbítani, ha a fogadó szakaszon nincs üveg. Az üvegtábla adatainak továbbítása a szakaszok között a PLC-n belüli adatcserével valósulhat meg. A fősorról való átvétel jelzésére a PLC-k közötti Ethernet kapcsolaton túl direkt kábelkapcsolat is szolgál, ami a tábla átvételének

összehangoltságát, megfelelő időzítését biztosítja. Erre a többi szakasznál nincs szükség, hiszen egy PLC-n belül történik mindkét szakasznak az irányítása, így nem lépnek fel szinkronizálási problémák. Amennyiben a fősorról érkező batch oldalirányú tájolása szükséges (ezt, az éppen érkező batch egyéb adataival együtt, a fősortól kapja meg a PLC), egy ún. „lifting frame”, azaz egy emelőkeret felemeli az üvegtáblá(ka)t, hogy azt oldalirányba el lehessen tolni. Az eltolásért egy motor által meghajtott tájoló „léc” felel, melynek a bal és a jobb oldali végállása között egy „home” pozíció jelöli a referenciát, és ez a viszonyítási alap ahhoz, hogy az operátor által (SCADA rendszerben) 6.5 ábra – Emelőkeret és oldaltájoló beállított távolságba tolja a kiemelt táblát. Mielőtt érkezik az üveg, a megadott távolság előtt 50-60 mm-rel megáll a tájoló, majd az üveg felemelkedésekor az

üveget betolja a végső állásába. 13 6.332 A2 – görgősor Az A1 és A4 görgősorok közötti szakasz, ami csak az üvegtábla továbbítását végzi el: fogadja az üvegtáblát az előző szakaszból, és ha szabad a következő, akkor azonnal továbbítja felé. Az üvegtábla helyzetének érzékelésére egy optikai szenzor szolgál, röviddel a szakasz vége előtt. 6.333 A3 – széthúzó görgők Egy-egy batch megfelelő méretűre vágása minden esetben a fősoron történik. A tábláknak az egymástól való szétválasztása, hogy közöttük maradjon hely – ami a leszedéshez szükséges – 6.6 ábra – Széthúzó görgők csak akkor valósulhat meg a fősoron, ha négy, vagy kevesebb üvegtáblából áll a batch. Így előfordulhat, hogy az egymástól való széthúzás a sidelegen történik, jelen esetben az A3 szakaszban. Széthúzásra egy nagyobb méretű, kissé lassabban forgó henger szolgál, ami egy kissé az üveg síkja fölé nyúlik.

Ez alulról nyomja az üveget, míg fentről két ellen-henger segíti a munkáját. A szakasz után lévő görgősor meghatározott sebességgel forog, míg az előtte lévő görgők egy beállított értékkel lassabban, ezzel biztosítva az üvegtábla elemei közötti rés keletkezését. A lassítás mértéke a SCADA rendszeren keresztül állítható A széthúzó görgők („dynamic break out rolls”) után egy optikai érzékelő szolgál a számolásra. A távozó üvegtáblákat végigkövetve meg tudjuk állapítani, hogy hány táblából áll ténylegesen a batch, illetve hogy van-e megfelelő távolság az elemek között. Amennyiben hibát észlelünk, azaz nem megfelelő a táblák száma (túl sok, vagy túl kevés), esetleg az üvegek túl hosszúak vagy túl rövidek, az egész batch-et a törőbe küldjük. Hiba léphet fel, amennyiben a fősoron az üvegeket nem megfelelő számú vagy méretű táblára vágták, vagy ha az üvegtáblák eltörtek. Az

értékek tűréshatárai a telepítéskor végzett tesztek alapján történnek beállításra. 14 6.334 A4 – görgősor, tábla szétválasztása Miután a batch elemei szét lettek egymástól húzva az A3 szakaszban, az A4-ben lévő görgősor továbbítja őket az A5 felé. A görgősor viszont az egyes üvegtáblákat csak egyesével küldi tovább, így biztosítja, hogy a leszedéshez az egyes üveg-darabok egyenként érkezzenek. Amint egy üveg-elem végét érzékeli, a görgősor megáll, és a következő táblát egy új, külön batch-ként küldi tovább. Egy-egy optikai érzékelő jelzi az üveg helyzetét a szakasz elején (a jelét az A3 szakasz dolgozza fel, ld. 6333), valamint a szakasz végén 6.335 A5 – görgősor Az A4 és A7 görgősorok közötti szakasz, ami csak az üvegtábla továbbítását végzi el: fogadja az üvegtáblát az előző szakaszból, és ha szabad a következő, akkor azonnal továbbítja felé. Az üvegtábla helyzetének

érzékelésére egy optikai szenzor szolgál, röviddel a szakasz vége előtt. 6.336 A6 – lefúvás Ez a szakasz végzi el az üvegre rakódott törmelék és egyéb szennyeződések lefújását. A lefúvó – „chips blower” – működése egyszerű, hiszen folyamatosan megy. Az A5 szakasz felett helyezkedik el. 6.337 A7 – görgősor Az A5 és A9 görgősorok közötti szakasz, ami csak az üvegtábla továbbítását végzi el: fogadja az üvegtáblát az előző szakaszból, és ha szabad a következő, akkor azonnal továbbítja felé. Az üvegtábla helyzetének érzékelésére egy optikai szenzor szolgál, röviddel a szakasz vége előtt. A porozó (A10) is ezen a szakaszon van 6.338 A10 – porozó Megtisztítás után az üvegtáblákat megfelelő porral kell bevonni, hogy a rakodáskor az üvegek ne ragadjanak össze. A speciális port nagyfeszültséggel sztatizálják, hogy az 15 üvegtábla függőleges helyzetében se hulljon le róla. Maga a porozó –

„powder applicator” – két részből áll: egy szélesebb, mozgatható részből, valamint egy kisebb, fix pozíciójú részből. A nagyobbik részt – az üvegtábla szélességétől függően – vagy a sor közepére toljuk ki, ahol elegendő szélességű ahhoz, hogy az egész táblát egyedül lefedje, vagy pedig a sor szélén marad visszahúzva, és a kisebbik porozóval együtt lefedik a sort teljes szélességében. 6.7 ábra – Porozó kitolt állapotban, üvegtáblával Nagyobb üvegtáblák esetén mindkét porozó működik, a nagy porozó visszahúzott állapotban van. Ennek megfelelően a két porozó külön-külön kapcsolható ki és be, valamint a nagy porozó vezérelhető a sor közepére és a szélére. 6.339 Egész sideleg Néhány dolog az egész sideleg-et érinti, például a vészstop és a módváltások. Vészstopkapcsolók találhatók a sor két oldalán, valamint a terminálnál is Ezek kétállású kapcsolóként viselkednek, tehát

kézzel kell a megnyomott kapcsolót kioldani, amint elmúlt a veszély. Ezek a kapcsolók a vezérlő programtól függetlenül leállítják a gépeket, ezzel biztosítva a gyors reakcióidőt és a hibázás kizárását. Ilyen esetekben mindig operátori beavatkozás szükséges ahhoz, hogy a sort újraindítsák, és ezért nem kell törődni az adatok megőrzésével. Három működési módja van a sideleg-nek: „cycle on”, amikor a rendszer automatikusan végzi a dolgát; „cycle off”, amikor felfüggeszti a működését, de nem lehetséges a kézi vezérlés, ezt nevezzük „hold” állapotnak is; valamint a „manual”, azaz kézi mód, amikor az operátor irányíthatja a gépeket. 16 7 Felhasznált eszközök, programok 7.1 Gyári rendszerterv Feladatom elkezdésekor már adottak voltak a gyárban beszerelésre kerülő eszközök típusai, valamint azoknak az elrendezése. tervező cég Az irányítást – Rockwell Automation – miatt adott volt,

hogy Allen-Bradley termékek kerülnek alkalmazásra. A széles termékpalettából végül a ControlLogix válaszották ki a PLC-t tervezés során, a következő fejezetben ismertetett tulajdonságai miatt. 7.1 ábra – Az eszközök rendszerterve Az általunk használt eszközök a 7.1 ábra szerint jelölt módon fognak egymáshoz kapcsolódni. A PLC-hez, mint központi egységhez direkt kábelkapcsolattal kapcsolódnak a szenzorok és egyéb bemenetek jelei (a sor melletti vezérlőpanelek jelei is ide tartoznak). A PLC kommunikációs moduljai lehetővé teszik különböző protokollok használatát: a PowerFlex egységek és a PLC között ControlNet protokollon történik majd a kommunikáció, a terminál és a PLC között pedig Ethernet kapcsolat épül ki. Etherneten keresztül fog kapcsolódni a PLC a gyár többi PLC-jéhez is, így jutnak el az érkező üvegtáblák adatai a sideleg-re. 7.2 Allen-Bradley PLC Központi egységként egy Allen-Bradley

ControlLogix PLC fogja kiszolgálni a sideleget, amihez csatlakoztatva lesznek a szükséges be- és kimeneti modulok. A PLC-hez kapcsolódik ControlNet hálózaton keresztül motoronként egy PowerFlex 700 modul, ami az aszinkron motorok irányítását fogja elvégezni. Ezek természetesen a megfelelő 17 kapcsolószekrényekben lesznek elhelyezve a hozzájuk kapcsolódó egyéb villamos berendezésekkel, amik a nagy- és kisfeszültségű ellátást és a kommunikációs kapcsolatot biztosítják. Kiválasztásánál szempont volt, hogy rendelkezzen mindazokkal 7.2 ábra – ControlLogix keret, modulokkal [6] a tulajdonságokkal, amik ebben az alkalmazásban szükségesek: a nagyfokú szabadsággal a modulok összeállításakor, a nagy számítási teljesítménnyel, a kártyák feszültség alatti cseréjének lehetőségével, a modulok szintjén megvalósuló hibajelentésekkel, a modulok szoftveres beállítási lehetőségével, valamint a hardveres és

szoftveres diagnosztika támogatásával. Előnyt jelentett a mozgási utasítások támogatása, a fejlett kommunikációs képességei, valamint a redundancia támogatása – bár ez utóbbi nem ennél a sideleg-nél, hanem az üveggyár hibára érzékenyebb részein kerül kihasználásra. Kiemelt tulajdonságai közé tartozik a multi-tasking, illetve a multi-processoring képessége. A multi-tasking lehetővé teszi, hogy több program is fusson egy kontrollerben – bár ez nem jelent párhuzamos végrehajtást. A multi-processoring segítségével a nagy számítási feladattal rendelkező, rövid ciklusidőt igénylő felhasználásokat lehet felgyorsítani több processzor egy keretbe történő elhelyezésével. Mivel jelen alkalmazás során gyors reakcióidőkre van szükségünk a mozgásokhoz, és mindezek mellett a pozíciókból sok számítást is el kell végezni, ezért ezek a tulajdonságok fontosak. 7.3 PanelView terminál Az operátorok általi kezelés egy

PanelView terminálon keresztül fog történni. Ez egy nagy, 1024x768 képpont felbontású érintőképernyővel fog rendelkezni, így az ellenőrzés és a beavatkozás egyszerűen, grafikus megjelenítéssel végezhető. Az adatbevitel a panel érintőképernyőjén fog történni. Ezen termékcsaládba tartozó eszközök remekül kiegészítik a ControlLogix PLC-ket, nagy fokú kompatibilitás érhető el az adatstruktúrák kezelésének támogatása miatt – hiszen nincs szükség adat-konverzióra, – és a programozásuk is remekül összehangolható. 18 A terminál szoftvere elvégzi a megfelelő PLC(k)ből történő adatkiolvasást, valamint a felhasználó által megadott adatok bevitelét. A rendelkezésére álló információkat, valamint az ezekből előállítható értékeket grafikusan és alfanumerikusan is tudja ábrázolni. Jelen feladatban a terminálnak az alábbi funkciókkal kell rendelkeznie: megjeleníti a sideleg sematikus képét, az éppen zajló

folyamatok jelzésével, operátor számára lehetővé teszi különböző paraméterek beállítását a terminálról (specifikációban részletezve), beleintegrálhatónak kell lennie egy keretrendszerbe, ami a képernyő felső és alsó részén foglal el megadott méretű helyet (specifikációban részletezve), a szimulációt segítő kezelőfelületet kell tartalmaznia. 7.4 PowerFlex frekvenciaváltók Mivel a görgősorok meghajtására aszinkron motorokat használnak, ezért a PLC és a motorok közé frekvenciaváltókat szerelnek, hogy a kiadott parancsokból a motor számára szükséges fizikai értékeket előállítsa. A frekvenciaváltók programozása nem a szakdolgozatom keretébe tartozik, a szükséges feladatainak ellátására előre megírt programok állnak rendelkezésünkre. A vezérlésük a PLC által kiadott parancsokkal történik, ezeknek a konkrét rutinoknak a beépítése a rendszerbe ugyancsak a szakdolgozatomon kívül eső feladat. 19 8

Tervezés Kezdésként a program felépítését terveztem meg, az algoritmusok hierarchiáját és feladatait, az adatstruktúrákat, amiket az egyes szekciók megkívánnak. Ezek után az algoritmusok megtervezése volt hátra, amik közül több is hasonló alapokra épült, mint ahogy a 6.33 fejezetben láthatunk hasonló funkciójú szakaszokat 8.1 Adatstruktúrák Az RSLogix 5000 fejlesztőkörnyezet lehetővé teszi saját adatstruktúrák, ún. User Data Type létrehozását. Ezeken belül beszédes nevekkel, a megfelelő adattípusok használatával a hatékony és gyors programozást tehetjük lehetővé. A gyártósor külföldön kerül megépítésre, ezért a kód későbbi felhasználhatósága, javíthatósága miatt a változók nevei angol nyelvűek. Az adattípusok megtervezésénél figyelembe kellett venni az egyes szakaszok, berendezések igényeit, az eltárolni kívánt adatokat, a kommunikációra használt biteket, valamint a működési módoknak a

státuszbitjeit. Sok helyen a bemenetek pufferelésére is szükség volt, hiszen a megfelelő működés érdekében egy feldolgozási ciklusban ugyanazt az értéket kell figyelembe venni, a ControlLogix PLC pedig a bemeneteket a feldolgozás pillanatában olvassa be, nincs benne beépített puffer. Mivel a program alkotásakor az egyes rutinok könnyű átláthatósága és egyszerű újrafelhasználhatósága érdekében a funkciókat külön rutinokba fogom tenni, ezért a rutinok közti kommunikációra szolgáló biteket be kell építeni az adattípusokba. Tipikus példa erre, hogy egy oldaltájoló megfelelő pozícióba állításához szükséges, konkrétan a motornak szóló utasítások kiadását nem az a rutin végzi el, ami az egész ciklust irányítja, hanem ott csak jelzi az igényt a tájoló megfelelő pozíciójába állításához, majd egy másik rutin ezt figyeli, és kiadja a megfelelő utasításokat és figyeli a motor helyzetét. Így a kód átlátható

lesz és az egyes rutinok könnyen alkalmazhatóak lesznek másik környezetben. Egy-egy görgősor speciálisan az elindításhoz és a megálláshoz tartozó kérések regisztrálására szolgáló biteket kell, hogy kezelje, valamint a görgősor működéséről történő visszajelzés is szükséges. Az üvegtáblák továbbítására szolgáló jelzőbitek is a görgősorok adatstruktúrájába illenek: a szakasz ürességét, az üvegtábla megérkezését, valamint a 20 továbbítási igényt is jelezniük kell. Mindezek mellett a szakasz működési módjára vonatkozó állapotbiteket is tartalmaznia kell (automatikus vagy kézi mód). Numerikus adatként tároljuk a görgősor sebességére vonatkozó adatokat: alap sebesség (ami az egész sideleg-re érvényes), valamint ennek a szakaszra vonatkoztatott szorzója, amit többek közt az A3 szakaszban lévő széthúzó görgőknél megadott sebességcsökkentés is befolyásol. Porozókhoz ugyancsak készült saját

adattípus. A kis- és a nagy porozónak külön vezérlés, valamint visszajelzés bitek szükségesek, a nagy porozónak a kitolt és a visszahúzott, valamint mindkét porozónak a bekapcsolt és kikapcsolt állapotához. Itt megjelentek a terminálról adott parancsok jelzésére szolgáló bitek is, amiknek a figyelését meg kell oldani a rutinokban. A működési módra vonatkozó változók itt is megjelennek A többi szakaszra a fentieknél egyszerűbb struktúrákat alkalmazunk, hasonló elvek mentén kialakítva. Szakaszok mellett az üvegtáblák, illetve egy-egy batch adatait is el kell tárolni. Ezeknél az üveg fizikai paraméterei mellett – mint a szélessége, a hossza, hány táblából áll – a táblára vonatkozó azonosító adatokat is a batch-csel együtt kell kezelni. Ide tartoznak a batch kezelésére vonatkozó adatok – küldjük-e törőre, kell-e oldaltájolás – és egy azonosító szám, ami megkülönbözteti őket egymástól. A batch

struktúrán belül egy-egy üvegtábla adatait is el kell tárolni, erre egy újabb adattípus szolgál, amiből utána egy tömböt beágyazunk a batch típusába. Ezen belül egy-egy tábla fizikai méreteit tároljuk el, valamint az utána következő rés nagyságát (amit a széthúzó görgőknél le is mérünk). Minden görgősorhoz tartozni fog egy üveg-struktúra, és a rutinok egyik szakaszból a másikba fogják áthelyezni a batch adatait. Összefoglalva az adattípusokat a 8.1 táblázat mutatja Adatstruktúra BLOWER DATA Mérete 4 byte Leírás Lefúváshoz. Tartalmazza a kézi és automata mód közötti váltáshoz szükséges jelző-biteket, valamint a visszajelzésre szolgáló bitet. BREAK OUT DATA 20 byte Széthúzó görgőkhöz. A hossz, ill elemszám-kalkulációhoz szükséges változókat is tartalmazza. 21 Adatstruktúra CAP DATA Mérete 176 byte Leírás Egy batch-hez. Sok numerikus adatot tartalmaz, valamint tartalmaz egy LITE DATA típusból

álló tömböt, hogy az egyes tábla-elemeket is el lehessen benne tárolni. CONVEYOR DATA 28 byte Görgősorhoz. A táblák fogadásához és továbbításához szükséges bitek, valamint a motorok vezérlésére szolgáló biteket is tartalmazza. LFRAME 16 byte Emelőkerethez. Kéréseket és visszajelzéseket is tartalmaz MOTION DATA 72 byte Virtuális tengelyek kezeléséhez, valamint a későbbiekben integrálásra kerülő PowerFlex vezérlő modulok számára. POWDERING 16 byte Porozóhoz. A kis és a nagy porozó kapcsolásának, kitolásánakvisszahúzásának vezérlésére, visszajelzésre SIDE ALIGNMENT ZONE DATA 8 byte 12 byte Oldaltájoláshoz. Vezérlés és visszajelzés HMI változók A teljes sidelegre vonatkozó adatok kezeléséhez, mint a sebesség beállítása, auto/kézi módok. LITE DATA 16 byte Egy üvegtáblához. Ez a típust használjuk fel a CAP DATA típuson belül. 8.1 táblázat – Adatstruktúrák összefoglalása 8.2 Működési

algoritmusok A rutinok megtervezésére folyamatábrát használtam, ahol az ovális részekben a feltételek találhatók, amik alapján az egyik lépésről továbbléphetünk a következőre. Ez a jelölési módszer később, a megvalósításnál nagyban megkönnyítette a munkát, hiszen az SFC nyelv szintaktikája hasonlít erre a formára. Az algoritmusok diagramjainak szövegét angol nyelven írtam le, a külföldön történő felhasználás dokumentálása céljából. Mindegyik algoritmusra elmondható, hogy a 6.33 részben (12 oldal) leírt szakaszspecifikációk szerinti működéseket valósítják meg 22 8.21 Görgősorok Több görgősor is található a sidelegen, amiknek az alapvető működése megegyezik. Inicializáláskor feltételezzük, hogy nincs üveg a szakaszban, és felkészülnek az üveg fogadására, amennyiben a megfelelő módok vannak beállítva (tehát sem kézi, sem Hold módban nem fogják az üveget fogadni). Amennyiben egy vészstop után

kerül a rendszer inicializálásra, és mégis van üveg a táblán, azt az operátor kézi módba kapcsolás után tudja eltávolítani, illetve a SCADA rendszeren keresztül meg tudja adni a tábla méreteit és helyét. (Ez a funkció egy későbbi szakaszban kerül majd integrálásra az általam megvalósított programmal.) Amikor az üvegtábla az előző szakaszból készen áll a transzferre, akkor a várakozó szakaszból továbblépünk, elindítjuk a görgősort hajtó motorokat, és egészen addig hajtjuk, amíg a szakasz végén lévő optikai érzékelő nem jelzi az üvegtábla megérkezését. Ekkor a görgősort leállítjuk, hogy megvárjuk a következő szakasz szabad jelzését, illetve hogy az hajtsunk üveggel végre megérkezéssel egyéb (pl. együtt műveleteket oldaltájolás). A elvégezzük a szükséges adat-módosításokat, hogy a bejövő tábla adatait átvegyük az előző szakasztól. Amint a tábla készen áll a továbbításra,

jelezzük ezt a következő szakasz számára. Ezután várakozunk a szabad jelzésre, amikor a görgősort újra elindítjuk, és – a biztonság kedvéért – egészen addig működtetjük, amíg nem kapjuk meg a jelzést a következő szakasztól, hogy az üvegtábla megérkezett. Ha a megérkezés ciklusában a 8.1 ábra – Egy görgősor algoritmusa 23 következő szakasz szabad, és az üvegtáblán nem kell álló helyzetű műveleteket végezni, akkor ugyanabban a ciklusban továbbindítjuk az üveget – tehát lényegében meg sem áll az üvegtábla. A tábla továbbhaladásával a ciklus újrakezdődik, az inicializálás utáni lépéssel, amikor a szakasz üres, és várja az üvegtábla érkezését. Egy szimpla görgősor algoritmusa látható a 8.1 ábra diagramján, a későbbi külföldi felhasználás miatt angol nyelvű feliratokkal. 8.22 Oldalirányú tájoló Egyetlen oldalirányú tájoló található a sideleg általam felprogramozandó

részén, méghozzá az A1 szakaszban. Itt egy görgősort kell kiegészíteni a tájolás algoritmusával A 8.21 fejezetben leírt algoritmusba egy elágazást kellett helyezni, miszerint ha szükség van oldaltájolásra1, akkor a továbbítás előtt ezt hajtsa végre, amennyiben erre nincs szükség, egyből jelezze a továbbítási szándékot. Az oldaltájolást két eszköz hajtja végre: egy emelő keret, aminek van fent és lent állapota, valamint egy tájoló, aminek van home, standby és align pozíciója (kiinduló, felkészülési és tájoló helyzet), rendre egyre beljebb a sor szélétől, a 6.331 fejezetben leírtak szerint. A tájolás végrehajtása az alábbi módon történik: az üveg mozgásakor az emelő keret lent, a tájoló pedig a home/standby pozícióban van. Az üveg megállása után a keret felemelkedik, és a tájoló előrehalad az align pozícióig. Ezután a tájoló visszatér standby pozícióba, a keret pedig leereszkedik. Az üveg kész a

továbbításra, és ezután a lépések megegyeznek a szimpla görgősornál látott továbbítással. 8.23 Széthúzó görgők Ez a szakasz két görgősor között található, emiatt az üveg továbbítását nem kell elvégeznie, viszont az előtte lévő görgősort figyelnie kell. Az inicializálás során a görgőket alaphelyzetbe állítjuk, azaz kikapcsoljuk. Ezek után a program figyeli az előző szakaszra való megérkezést, és amikor onnan továbbításra kész a tábla, akkor eldönti, hogy a széthúzás szükséges-e vagy sem, és a görgőket ettől függően emeli ki vagy hagyja lent, kikapcsolt állapotban. 1 Az oldaltájolás szükségességét a fősorról kapott adatok határozzák meg. 24 Amikor elindul az üveg az előző szakaszból, akkor elkezdi számolni az üveg-elemek és a közöttük lévő rések számát és nagyságát. Az átvitel végén – amit a következő szakaszra való megérkezés jelez – a várt adatokat összehasonlítja

a számolt értékekkel, és amennyiben eltérés mutatkozik, a batch-et a törőre küldi, azaz a batch megfelelő bitjét átállítja, együtt az adatokként tárolt rés-értékekkel. Újra az inicializálás következik, amivel a szakasz felkészül a következő tábla érkezésére. 8.2 ábra – Széthúzó görgők algoritmusa 8.24 Batch elemeinek szétválasztása Egy-egy batch tábláit az A4 szakaszból csak egyesével engedjük tovább. Ezt a görgősor rutinjának a módosításával értem el. Az algoritmusba egy elágazást tettem a batch megérkezése után, ami figyeli, hogy mennyi tábla van a batch-ben. Ha van még tábla, akkor az üveg engedésekor nem várja meg, míg a következő szakaszhoz megérkezik az üveg, hanem leállítja a görgősort amint a következő tábla elejét érzékeli a szakasz végénél lévő optikai érzékelő. Ekkor frissíti a batch adatait – csökkenti a táblák számát – majd jelzi, hogy a batch (egyik táblája)

átvitelre kész. Amikor már az utolsó tábla is elfogyott a batch-ből, a szakasz felkészül a következő fogadására. 25 8.25 Porozó Porozó berendezés egy görgősor felett helyezkedik el, és ezáltal a működése az előtte és az alatta lévő görgősor-szakaszokkal kell, hogy összhangban legyen. Ez egy teljesen új algoritmus megírását kívánta. Az inicializálás után – ahol a porozókat alaphelyzetbe állítjuk – az előző görgősor-szakasz(oka)t figyelve állapítjuk meg, hogy melyik beállítás szükséges a következő üvegtáblához, és ezt a beállítást egy elágazás után meg is tesszük: a nagy porozó egység sor fölé kitolását, vagy a visszahúzását. Amint az üvegtábla az előző szakaszról elindul, a porozó(k) amikor is bekapcsol(nak), megérkezik a majd következő szakaszra az üveg, kikapcsolnak, és újra kezdődik a következő tábla figyelése. 8.26 Lefúvás 8.3 ábra – Batch szétválasztás

algoritmusa Igen egyszerű algoritmus tartozik a lefúváshoz, hiszen a szerkezet állandóan be van kapcsolva, kivéve, amikor a sideleg-et kézi módban leállítják, illetve vészstop esetén. Éppen ezért nem készült az előzőekhez hasonló diagram, csupán egy szöveges leírás. 8.27 Szimuláció Eme rutin célja a megírt program tesztelése. A többi rutin által adott kérésre az eszközök normális működése szerint reagál, és produkálja a megfelelő visszajelzéseket és egyéb bemeneteket. 26 8.28 Virtuális tengelyek Azért, hogy az üvegtáblák helyét pontosan lehessen szimulálni, felhasználjuk az RSLogix fejlesztőkörnyezetben alkalmazható virtuális tengelyeket, melyek úgy viselkednek, mintha valós, meghajtott tengelyek lennének: ki lehet adni a megfelelő mozgás-utasításokat, le lehet olvasni a tengelyek sebességét, helyzetét és egyéb tulajdonságait. Jelen esetben a szimuláció miatt hasznos a virtuális tengelyek használata, ezek

vezérlését a görgősorrutinokon belül valósítottam meg. Minden egyes görgősorindításkor a virtuális tengelyt is elindítjuk, illetve a görgősor leállításával együtt a virtuális tengely is leáll. A szimuláció során ezekből a tengely-adatokból beállított kiszámítható és a sor-sebességből a fotocellák bekapcsolásának szimulált időpontja, amikor megfelelő beállításával a jelző-bitek a sideleg programja az üveg jelenlétét 8.4 ábra – Porozó algoritmusa érzékeli. 8.29 Sideleg Az egész zónára vonatkozó rutinokat – vészstop, módváltások – egy külön rutinban valósítottam meg, és mivel ez egy-egy ciklusban a szakaszok rutinjai előtt fut le, ezért ennek a kimenetét a többi rutin fel tudja használni. Ez fontos lehet a vészstop kezelésénél, de ugyanúgy a módváltásoknál is. 27 8.3 Program-rutinok A PLC-be töltött programot több rutinra bontottam, azonban a feladat jellegéből adódóan

minden rutin egy feladatba („task”) került, azon belül pedig egy programba. Ezek a MainTask, valamint a MainProgram. A MainTask egy periodikusan meghívott feladat, amelyet a processzor 10 ms-onként hajt végre. Ez biztosítja az elegendő reakcióidőt, és így a folyamat kontrolláltan folyik. Az egyes szakaszokhoz tartozó folyamatokat SFC nyelven programoztam le, az ezeket kiszolgáló háttér-folyamatokat pedig LAD nyelven. A rutinokat a könnyebb áttekinthetőség céljából táblázatba foglaltam: Rutinnév Nyelv Leírás MainRoutine LAD A fő rutin, amiből a többi rutin meghívása történik. BlowerA6 LAD Lefúvás rutinja, ami tartalmazza a kézi és az automata mód közötti váltást. BreakOutA3 LAD Széthúzó görgők rutinja, ami a módváltást, a görgő vezérlését irányítja, meghívja az SFC-ket. BreakOutA3 Auto SFC Széthúzó görgők állapotgépe, amely az előző szakaszon lévő táblát érzékeli, és ennek függvényében

végzi el a beállításokat. BreakOutA3 Counter SFC Széthúzó görgők számoló rutinja, amely az üveg helyzetét érzékelve számolja a távolságokat, valamint az üvegtáblán belüli elemszámokat. ConveyorA1 LAD Görgősor rutin, ami a módváltást, a görgőt, az oldaltájolást és az emelő keretet meghajtó motor vezérlését irányítja. Kezeli a HMI által kezdeményezett parancsokat. ConveyorA1 Auto SFC Görgősor állapotgép, ami figyeli az előző szakaszt, kontrollálja az átvitelt és az ehhez kapcsolódó jelzéseket, majd az üveg megérkezésekor a továbbítást kezdeményezi. A virtuális tengelyeket kezeli az üvegtáblák helyének követése érdekében. Speciálisan ez a rutin végzi az oldaltájolás szükségességének ellenőrzését, valamint az oldaltájolás elvégzését. 28 Rutinnév Nyelv Leírás ConveyorA2 LAD Görgősor rutin, ami a módváltást, a görgőt meghajtó motor vezérlését irányítja. ConveyorA2 Auto

SFC Görgősor állapotgép, ami figyeli az előző szakaszt, kontrollálja az átvitelt és az ehhez kapcsolódó jelzéseket, majd az üveg megérkezésekor a továbbítást kezdeményezi. A virtuális tengelyeket kezeli az üvegtáblák helyének követése érdekében. ConveyorA4 LAD Görgősor rutin, ami a módváltást, a görgőt meghajtó motor vezérlését irányítja. ConveyorA4 Auto SFC Görgősor állapotgép, ami figyeli az előző szakaszt, kontrollálja az átvitelt és az ehhez kapcsolódó jelzéseket, majd az üveg megérkezésekor a továbbítást kezdeményezi. A virtuális tengelyeket kezeli az üvegtáblák helyének követése érdekében. A táblákat elemenként engedi tovább. ConveyorA5 LAD Görgősor rutin, ami a módváltást, a görgőt meghajtó motor vezérlését irányítja. ConveyorA5 Auto SFC Görgősor állapotgép, ami figyeli az előző szakaszt, kontrollálja az átvitelt és az ehhez kapcsolódó jelzéseket, majd az üveg

megérkezésekor a továbbítást kezdeményezi. A virtuális tengelyeket kezeli az üvegtáblák helyének követése érdekében. ConveyorA7 LAD Görgősor rutin, ami a módváltást, a görgőt meghajtó motor vezérlését irányítja. ConveyorA7 Auto SFC Görgősor állapotgép, ami figyeli az előző szakaszt, kontrollálja az átvitelt és az ehhez kapcsolódó jelzéseket, majd az üveg megérkezésekor a továbbítást kezdeményezi. A virtuális tengelyeket kezeli az üvegtáblák helyének követése érdekében. PowderingA10 LAD Porozó rutin, ami a módváltást, a motorok vezérlését irányítja. Kezeli a HMI által kezdeményezett parancsokat. PowderingA10 Auto SFC Porozó állapotgép, amely a bemenetek figyelésével állítja a porozók helyzetét, valamint a be- és a kikapcsolást 29 Rutinnév Nyelv Leírás kezdeményezi. Simulate LAD Szimulációs rutin, amely a valós jeleket reprodukálja a virtuális tengelyek és a többi rutin

által adott kimenetek alapján. Az emulátor fizikai ki- és bemeneteit is felhasználja tesztelési célokra. ZoneA LAD Teljes sidelegre vonatkozó adatok kezelése, automatikus/kézi módok közötti váltás, valamint a vészstopra való reagálás tartozik a feladataihoz. FirstPassAxes LAD Első futáskor a virtuális tengelyek beállított adataiból a megfelelő segéd-változókat hozza létre. SetParameters ST Első futáskor beállítja a szükséges paramétereket a változóknak. 8.2 táblázat – Rutinok leírása 30 9 Megvalósítás 9.1 Programozási rendszerterv A fejlesztéshez szükséges programok az 9.1 ábra szerinti rendszerbe szerveződnek a programozás során, ahol a zöld nyilak az Ethernet kapcsolatot jelölik, szaggatottan az a kapcsolat, ami az eszközök végső felprogramozásához szükséges. Az általam elvégzett munka csak a számítógépben lévő programok és kapcsolatok meglétét igényelte. A programozást lényegében két

környezetben végeztem: a PLC-re az RSLogix 5000, míg a terminál fejlesztésére a View32 programot használtam. A számítógépre telepített RSLogix 9.1 ábra – A programíráshoz szükséges programok rendszere Emulate program egy valós PLCként viselkedett a fejlesztés és a tesztelés alatt, amely az RSLinx program szerviz-folyamatain keresztül kommunikált a fejlesztő szoftverrel. A panel programozására szolgáló programot az operációs rendszer felhasználóit is menedzselő része miatt egy virtuális gépen használtam. A hoszt és a virtuális gép között NAT kapcsolat volt, így a két rendszer látta egymást, és a View32 a virtuális gépből elérte a hosztgépen futó emulátort, így fejlesztés közben online kapcsolatban tudtam a panelprogramot tesztelni. 9.11 RSLogix 5000 A ControlLogix PLC-k fejlesztőkörnyezete az RSLogix 5000, amely segítségével teljes mértékben ki lehet használni a PLC-ben rejlő lehetőségeket. A program

segítségével 31 különböző feladatokat amelyeken típusú és lehet belül prioritású létrehozni, szubrutinokba szervezve struktúrát adhatunk a kódnak. A rutinok megírására az elterjedt PLC-s programnyelvek használhatók: létradiagram (ladder diagram, LAD), struktúrált szöveg (structured text, ST), funkcióblokk 9.2 ábra – RSLogix 5000 futás közben diagram (function block diagram, FBD), valamint sorrendi funkció ábra (sequential function chart, SFC). Jelen esetben a LAD, SFC és a ST nyelveket használtam a feladat jellegéből adódóan. A program használata könnyen elsajátítható, intuitív és átlátható kezelőfelülete egyszerűvé teszi a munkát. Az RSLogix 5000 környezet lehetővé teszi szimbolikus linkek alkalmazását a programozás során, ami azt jelenti, hogy nem szükséges a fizikai címeket ismerni egy program megírásához, akár teszteléséhez sem, hanem egyszerűen létre lehet hozni ún. alias-okat Ez nagyban

egyszerűsíti a végső eszközök megléte nélküli programírást 9.12 FactoryTalk View32 Terminálra történő fejlesztést végezhetünk a FactoryTalk View32 Machine Edition programmal (régebben: RSView 32), aminek a segítségével grafikus tervezőfelület áll rendelkezésünkre az operátor által látott képek megrajzolására, valamint a rajzi elemek animálására is rengeteg lehetőségünk van. A kommunikációt fel tudjuk benne építeni, és előre 9.3 ábra – Factory Talk View32 futás közben beépített panelekkel segíti az adatbevitelt akár érintőképernyők esetén is. 32 A program lehetőséget ad a megírt program tesztelésére, mely során kapcsolatba lép a futó PLC-vel, és le lehet tesztelni rajta minden funkciót, amit a panel elvégezne. 9.13 RSLogix Emulate 5000 9.4 ábra – RSLogix Emulate 5000 futás közben, szimulált be- és kimenetekkel Szimulációs célokra az RSLogix Emulate 5000 programot használtam, amely képes

egy valós PLC-t szimulálni, végrehajtani a megírt programot, kommunikálni a terminállal, valamint fizikai be- és kimeneteket is lehet vele tesztelni. A program kezelése egyszerű, a kívánt processzor-beállítások megadása után a használt programok számára PLC-ként viselkedik, ugyanúgy lehet rá letölteni a programokat, és akár online tesztelést is lehet rajta végezni. A program létrehoz egy virtuális keretet, amibe lehet akár több processzort is rakni, valamint szimulált be-kimeneti modulokat. Funkciói nagy részben megegyeznek a Logix5000 család képességeivel, viszont képes arra, hogy a program futását lelassítsa, töréspontokat elhelyezve a programban képes megállítani a futást, „single scan” módban csak egy-egy ciklust hajt végre, valamint változók monitorozását is el tudja végezni. Lehetőséget biztosít a View32 programmal való összehangolásra a terminálok fejlesztésének ellenőrzésére. Viszont nem tökéletes másolata

egy Logix5000 processzornak: a számítási teljesítménye össze sem hasonlítható egy valós PLC-n tapasztalható értékekkel, így a programok futási idejének optimalizálására nem alkalmas, főleg ha több processzor található a virtuális keretben. A valós be-kimenetek kezelése sem valósítható meg a programmal, mint ahogy hálózati kártyát sem képes kezelni. A program megírásakor nem állt rendelkezésemre a PLC, a terminál, valamint a hozzájuk kapcsolódó gépsor, így a program tesztelését ezen az emulált PLC-n végeztem. A fejlesztőkörnyezet lehetővé teszi, hogy az így megírt programokat könnyedén át lehessen 33 ültetni más PLC-re, esetünkben a szimulált PLC-ről a valós ControlLogix processzorra. Ez természetesen csak a telepítéskor fog megvalósulni. 9.14 RSLinx A fent említett eszközök és programok kommunikációját felügyelő és kezelő program, amely segítségével felderíthetjük a hálózatra kapcsolt

eszközeinket, azok moduljait, valamint az azokon keresztül elérhető – akár más hálózaton keresztül kapcsolódó – többi egységet. Ezen a programon keresztül teremti meg a kapcsolatot az RSLogix és a View32 is a felprogramozni kívánt egységekkel. Az RSLinx Ethernet protokollon, vagy soros porton 9.5 ábra – RSLinx futás közben keresztül kommunikál a számítógéphez kötött PLC-kkel, és az általuk látott DeviceNet vagy ControlNet protokollon keresztül elérhető egységekkel. 9.2 PLC program Mivel az RSLogix fejlesztőkörnyezet nagyon felhasználóbarát, és rengeteg olyan funkcióval rendelkezik, ami megkönnyíti a programozást, ezért – a lehetőségek megismerése után – egyszerű volt a megtervezett algoritmus beprogramozása. Szimbólumok használatával sikerült elérni, hogy egy-egy változtatáskor ne kelljen átírni az összes előfordulási helyet, hanem csak egy helyen módosítva a programot elérhető volt többek közt az

is, hogy az emulátoron való bemenetek kapcsolgatása helyett/mellett a terminál programjával is lehessen irányítani a PLC-t. A virtuális tengelyek nagyban hozzájárultak, hogy a szimuláció egyszerűen megvalósítható legyen. A beépítésre kerülő PLC helyett alkalmazott szimulátor egyszerű használatában az RSLogix rendszer nagy segítségemre volt. Teszteléshez elegendő volt a processzor mellett egy virtuális be-kimeneti modult berakni a virtuális keretbe, ez biztosított 32 bemenetet és ugyanennyi kimenetet. A szimulátor rutin kezelte a bemeneteket, valamint a folyamat 34 megfelelő változóit a kimenetekre vezette ki, hogy a tesztelés során a helyes működést ellenőrizni lehessen. A hibák felderítésére az online módban való hibakeresést is előszeretettel használtam, ahol a változók figyelését, valamint az SFC-k aktuális állapotát a fejlesztőprogramban lehetett követni, és egy-egy nem megfelelő működés esetén gyorsan

sikerült az okokat kideríteni. 9.3 Terminál A PLC program nagy részének elkészülte után kezdhettem hozzá a terminál programjának a fejlesztéséhez. A rajzok elkészítésénél szempont volt, hogy a képernyő felső és alsó részén ki kell hagyni a SCADA rendszer keretének a helyet, ez az egész gyárban egységes fejléc és állapotsor lesz. Az általam elkészített képernyő várhatóan csak a telepítés közeledtével lesz integrálva ebbe a rendszerbe. A specifikációban megadott vázlatok alapján rajzoltam meg a sideleg sémáját, valamint az üveggyári irányításban elterjedt jelöléseket használtam a folyamatok állapotainak jelzésére. Az alábbi alkotóelemek láthatók a panelen: , , , , : üvegtábla, törőre küldött tábla, tábla sorszámmal; : görgősorok kikapcsolva, bekapcsolva; : egyéb berendezés kikapcsolva, bekapcsolva; : fősori átvitel kezdeményezve; , : vészstop kikapcsolva, bekapcsolva. A View32 fejlesztőkörnyezete

rengeteg lehetőséget nyújt a programozáshoz, biztosít kiterjedt animációs lehetőségeket, viszont a jelenlegi alkalmazás ennek csak a töredékét használta ki. Mivel a billentyűzetet kevésbé lehetett használni itt, mint az RSLogix 5000-nél, ezért egy kicsit lassabban ment a programozás, és összességében felhasználóbarátnak találtam ezt a programot, mint az előzőeket. 35 kevésbé Fejlesztés során a View32 képes online lekérni a PLC-ből a változókat, amiket utána fel tudunk használni a kijelzőn megjelenő objektumok animálására, illetve megjelenítésére. A program lehetőséget ad offline változó lista feltöltésére is, a megírt ACD fájlból ki tudja olvasni a változókat, és a PLC kapcsolat hiányában azokat használja. A HMI felhasználói adatokat felületén is rendszerbe, képes és beállított bevinni a a megfelelő változóját átállítva jelzi a PLC 9.6 ábra – Terminál képe online, cycle on

módban számára, hogy adatot kíván közölni. Ezt a programban figyelni kell. Emiatt a HMI és a PLC program fejlesztése párhuzamos szakaszokat is tartalmazott A terminálon valósítottam meg azokat a funkciókat is, amik a valóságban a gyártósor mellett elhelyezett kapcsolók lesznek. Ezeknek a specifikációja ugyancsak rendelkezésemre állt, így a terveken is szereplő vezérlőpaneleket meg tudtam valósítani. A használat megkönnyítése érdekében ezek csak akkor látszanak, amikor a való életben hatásuk lenne a rendszerre, tehát ha a sideleg cycle off vagy manuális módban van. Az erre szolgáló kapcsolók a View32 saját alakzatai között megtalálhatók, és a forgásuk animálását az általuk betöltött funkcióhoz képest állítottam 9.7 ábra – Terminál képe online, kézi módban be, például a kézi-automata kapcsoló helyzete a hozzájuk tartozó egység kézi vagy automata módjától függ. A forgatható

kapcsolók mögött pedig két nyomógombot helyeztem el, 36 melyek arra szolgálnak, hogy a két oldalra „tekerést” regisztrálják. Ezek a gombok csupán a technikai megvalósítás miatt kellettek. Mindegyik kapcsoló méretét úgy alakítottam ki, hogy szabad kézzel használhatóak legyenek, az érintőképernyő megkívánja a nagy méretű gombokat. 37 10 Tesztelés Miután a rendszer felprogramozása megtörtént, a funkciók tesztelését végeztem el a megírt szimulációs rutin segítségével. Ez a rutin figyeli a virtuális tengelyek mozgását, és amint megtette az üveg a megfelelő távolságot – ezeket a sideleg tervei alapján állítottam be – az optikai szenzor nevében jelez, és a program úgy érzékeli, hogy az üveg megérkezett. Tesztelés során lehetőségem volt kipróbálni az algoritmust, hogy a megfelelő biztonsági feltételek megfelelően működnek-e: például nem enged tovább üvegeket, ha a következő szakasz nem üres. A

szimuláció segítségével az automatikus működés folyamatosságát tudtam ellenőrizni, hogy a sor a beérkező üvegtáblákat fogadja és továbbítja, elvégzi a megfelelő műveleteket a megfelelő sorrendben. Ezen funkciók tesztelése különböző tulajdonságú üvegtáblák sorra való küldésével valósult meg, illetve az egymás után érkező táblák többféle kombinációjával, minden egyes szakasznál. A tesztelés során az üvegtáblák feltorlódását figyeltem, az egyes üvegtáblákon elvégzett műveletek helyes sorrendjét és megtörténtét, a berendezések vezérlésének megfelelő időzítését. Sajnos ennek a szimulációnak vannak korlátai is: az egyes modulok elromlását nem tudjuk kipróbálni. Legfőképpen azért, mert az egyes berendezések szintjén történő hibakezelés előre megírt rutinokban történik, a rendszer integrálásakor kerül egyesítésre az általam felprogramozott résszel. Ezekben a rutinokban az egyes

eszközöknek kiadott utasításokkal egy időben egy időzítő is elindul, és ha egy (eszközöktől függő) megadott idő múlva nem érkezik visszajelzés arról, hogy működik, akkor hibát jelez, amit a terminál keretrendszerének alarm-kezelése fel tud dolgozni. Összességében elmondható, hogy a tesztelésben sokat jelentett a szimuláció megírása, hiszen előjöttek olyan problémák, amik csak a folyamatos működésnél látszottak. A program kisebb-nagyobb hibáinak kijavításában nagy szerepe volt a tesztelésnek. Mindezek hozzájárultak ahhoz, hogy a későbbi telepítéskor a tesztelés kevesebb időt vegyen igénybe, és ezzel a beüzemeléshez szükséges időt is csökkenthetjük. 38 11 Összefoglalás 11.1 Értékelés A feladattal töltött fél év során a kitűzött feladatot sikerült elvégezni. Szakdolgozatkészítésem során megismerkedtem egy, a programozható logikai vezérlők fejlesztésére szolgáló, igen nagy tudású

fejlesztőkörnyezettel, ezen belül a PLC-re és a HMI panelre való fejlesztő-programokkal. A gyakorlatban próbálhattam ki a programtervezés és a program megvalósítás lépéseit, és ennek eredményeként egy valós, ipari felhasználásra szánt, komplex programot készítettem. A programírás során előjöttek tipikus programozási hibák is, de ezeken sikerült túllépnem. A program elkészítéséhez elengedhetetlen volt egy síküveggyár alapvető működési elvének megismerése, valamint egy adott részfolyamatának behatóbb tanulmányozása. Dokumentációként ez a szakdolgozat, valamint a 12. fejezetben (Mellékletek) található programkódok szolgálnak, amelyek lehetővé teszik egy nagyobb irányító rendszerbe való integrálást. 11.2 Továbblépési lehetőségek Az általam megírt program a kitűzött célt megvalósítja, következő lépésként az üveggyár további részeinek a programozása merül fel. Legelőször a sideleg további

szakaszainak a felprogramozása, utána pedig az épülő üveggyár további programrészleteinek megírása következik, amik után ezeknek az integrációjára kerül sor. Mindezek után készen áll a rendszer a telepítésre Az építés megfelelő fázisába érve a PLC-k és a gyártósor helyszíni telepítése is megtörténik, és ekkor a PLC helyszíni tesztelését is elvégzik. A ki- és bemenetek ellenőrzése után a program letöltése, és a valós gépeken való tesztelés következik. Ha minden teszt rendben lezajlott, a gyártósor készen áll az átadásra. Átadás után csak az utókövetés, más néven support marad hátra, ami még évekig fennáll, és ha a program jól sikerült, akkor nincs is vele semmi teendő. Így egy újabb termelő egység valósult meg 39 12 Mellékletek 12.1 CD tartalma A szakdolgozathoz mellékelt CD-n az alábbiak találhatók meg: A szakdolgozat elektronikus formában; a PLC program forráskódja RSLogix 5000 formátumban;

a PLC program forráskódja PDF dokumentumban; a terminál program forráskódja View32 ME formátumban. 12.2 Ábrajegyzék 6.1 ábra – Ónfürdő [5] 6.2 ábra – Hidegvégi görgősor [4] 6.3 ábra - Megvalósítandó rész sematikus ábrája Bordó színnel látszanak a szakaszok azonosítói. 6.4 ábra – Egy görgősor sematikus ábrája A görgők összekapcsolt hajtása miatt a görgők együtt forognak. 6.5 ábra – Emelőkeret és oldaltájoló 6.6 ábra – Széthúzó görgők 6.7 ábra – Porozó kitolt állapotban, üvegtáblával Nagyobb üvegtáblák esetén mindkét porozó működik, a nagy porozó visszahúzott állapotban van. 7.1 ábra – Az eszközök rendszerterve 7.2 ábra – ControlLogix keret, modulokkal [6] 8.1 ábra – Egy görgősor algoritmusa 8.2 ábra – Széthúzó görgők algoritmusa 8.3 ábra – Batch szétválasztás algoritmusa 8.4 ábra – Porozó algoritmusa 9.1 ábra – A programíráshoz szükséges programok rendszere 9.2 ábra

– RSLogix 5000 futás közben 9.3 ábra – Factory Talk View32 futás közben 9.4 ábra – RSLogix Emulate 5000 futás közben, szimulált be- és kimenetekkel 9.5 ábra – RSLinx futás közben 9.6 ábra – Terminál képe online, cycle on módban 9.7 ábra – Terminál képe online, kézi módban 40 12.3 Irodalomjegyzék [1] Ajtonyi, István és Gyuricza, István. Programozható irányítóberendezések, hálózatok és rendszerek. Budapest : Műszaki Könyvkiadó Kft, 2007 [2] Ajtonyi, István. PLC és SCADA-HMI rendszerek I Miskolc : Aut-Info Kft, 2007 [3] SCADA. Wikipedia *Online+ Wikimedia Foundation, Inc., április 28, 2009 *Cited: április 29., 2009+ http://enwikipediaorg/wiki/SCADA [4] Float Glass Production Line Chinamet-Product Shows. Chinamet [Online] Chinamet Trade Service, 2009. *Cited: május 1., 2009+ http://www.chinametcom/en/proshow/prodetailsjsp?productid=20356 [5] Tin bath. Five Stein *Online+ Five Stein, 2009. *Cited: május 1., 2009+

http://www.fivesgroupcom/FivesStein/EN/Expertise/Glass/Products/FloatGlass/TinBath/Pa ges/TinBath.aspx [6] Automation Systems - Overview. Rockwell Automation [Online] Rockwell Automation, Inc., 2009 *Cited: május 1., 2009+ http://www.abcom/en/epub/catalogs/12762/2181376/104830/2746667/tab2html [7] Rockwell Automation. Logix5000 Controllers Common Procedures Milwaukee, USA : Rockwell Automation Inc., 2005 Publication 1756-PM001H-EN-P 41 13 Köszönetnyilvánítás Köszönettel tartozom konzulenseimnek, Katona Lászlónak és Juhos Gábornak, valamint édesapámnak a szakdolgozat megírásához nyújtott szakmai segítségért. Köszönöm P. Tóth Andrásnak és Széll Andrásnak, hogy megalkották a diploma.schbmehu oldalt Köszönöm családomnak, hogy támogatta tanulmányaimat és barátnőmnek, hogy mellettem volt. 42