You are on page 1of 10

Budapesti Mszaki s Gazdasgtudomnyi Egyetem Villamosmrnki s Informatikai Kar Irnytrendszerek gazat

nll Laboratrium Beszmol

Beszmolt rta s szerkesztette: Kovcs Dniel GI4PQJ Harmadves villamosmrnk hallgat

Tanszki s cges konzulensek: Dr. Kiss Blint Kovcs Gbor Divnyi Andrs Haraszti Rbert

1. A feladat ismertetse
nll laboratrium tmjaknt az Allen-Bradley PLC-k programozsa ipari alkalmazsokban elnevezs tmt vlasztottam. Ezt a tmt az egyetemmel karltve a Gamma Digital kft. rta ki. A Gamma Digital kft. rszrl Divnyi Andrs a Siemens PLC-vel foglalkoz csoportba osztott be s Haraszti Rbertet nevezte ki konzulensemnek. A feladatomat Haraszti Rbert nevezte meg. A megoldand feladatom egy keresztezds modell megvalstsa volt PLC segtsgvel. A modellben szerepl lmpknak termszetesen meg kellett felelnik a KRESZ-ben meghatrozott elveknek. Az tkeresztezds egy futca s egy mellkutca tallkozst szimullja. A futca kln jobbra kanyarod svval kellett, hogy rendelkezzen. A keresztezds lmpinak, mint a val letben is, kikapcsolhatnak kellett lennik. Az jra bekapcsolst kveten hag ynom kellett egy kis biztonsgi idsvot, ami azt jelenti, hogy ezen id alatt az sszes kzlekedsi lmpnak pirosan kell vilgtania.

2. A fejleszt krnyezet
A fejleszts elkezdshez a Gamma Digital kft rendelkezsemre bocstott kt virtulis gpet. Ezeket a virtulis Windows XP-ket Oracle VM VirtualBox elnevezs programmal lehet megnyitni. Az egyik virtulis gp csak egyfajta fejlesztkrnyezetet tartalmazott, ezen nem volt lehetsges a megjelents megoldsa, mg a msik gpen lehetsgem volt egy msik fejleszt krnyezettel s a vizualizls megoldsra alkalmas programmal megismerkedni. A fejleszts nagy rszt az els virtulis gpen vgeztem, ahol a STEP7 Lite elnevezs Siemens ltal gyrtott programmal dolgoztam. Ebben a programban szles vlasztkbl lehet a megfelel PLC-t felpteni, majd erre fejleszteni. A megfelel alkatrszeket a gyrtsi szmuk alapjn lehet kivlasztani. A fejleszts legels lpse a megfelel PLC felptse (A CPU, tpegysg, analg, digitlis be- illetve kimenetek, kommunikcis eszkzk beptse). Ezt kveten lehet nekillni a programozsnak. Minden program tartalmaz egy szervezmodult (OB1), ezt az opercis rendszer ciklikusan meghvja, s ezzel indtja a felhasznli program ciklikus feldolgozst. A megvalstand feladatot fggvnyekben (FC), vagy funkcimodulokban (FB) rhatjuk meg. A fggvny s a funkcimodul kztt a legnagyobb eltrs az, hogy a funkcimodul rendelkezik sajt adatterlettel. Ezeket az adatterleteket (DB) a program lefutshoz szintn a PLC-re kell tlteni. Lehetsg van j adattpus (UDT) ltrehozsra is. A Symbol table-ben lehet megadni a globlis vltozkat. Ezek azok a vltozk, amiket a szimulci sorn vizsglhatunk. Az STEP7 Lite fejlesztkrnyezet felptst mutatja be az 1. bra. A megrt programot az S7-PLCSIM Simulating Modules segtsgvel lehet szimullni. Ebben a programban ltrehozhatunk klnbz tpus bemeneteket s kimeneteket, ezeket tudjuk figyelni, illetve bemenetek esetn rtket adni nekik. A szimulci elindtshoz csatlakoztatni kell az S7 Lite-ot az S7-PLCSIM-hez. A PLCSIM-ben tallhat fkapcsol RUN vagy RUN-P llsba kapcsolsval lehet a szimulcit megkezdeni. A szimulci futtatshoz azonban szksg van az sszerakott hardware s a programkd letltsre a PLC-re.

1. bra A STEP7 Lite fejlesztkrnyezet felptse

A megjelents elksztshez a msik virtulis gpet hasznltam. Ezen az opercis rendszeren a fejlesztshez a SIMATIC Manager elnevezs programot, mg a megjelentshez a SIMATIC WinCC flexible alkalmazst hasznltam. A szimullshoz itt is a PLCSIM program volt segtsgemre. A SIMATIC Manager programot csak a megjelents tmogatsra hasznltam, ebben csak a megjelentshez szksges extra vltozkat hoztam ltre. Az S7 Lite-ban megrt programot kimentettem .awl formtumban s azt a SIMATIC Manager segtsgvel megnyitottam. Mivel a szimblum tblt nem menti ki az eredeti program, ezrt itt jra ltre kellett hoznom. A SIMATIC Manager-rel hasonl feladatokat lehet megoldani, mint az S7 Lite -tal. A projekt ltrehozsnak lpsei megegyeznek a korbban lert lpsekkel. Azonban mg a msik opercis rendszeren az S7 Lite s a PLCSIM kztt a kapcsolat csatlakozs utn ltrejtt, itt egy kicsit bonyolultabb volt a helyzet, ugyanis a SIMATIC Manager s a PLCSIM kztt tbbfajta kapcsolati mdot is ltre lehet hozni. A fejleszts sorn n MPI-on keresztli kommunikcit hasznltam. A WinCC flexible alkalmazs segtsgvel oldottam meg a megjelentst. A WinCC s a SIMATIC Manager szintn MPI-on keresztl kommuniklnak egymssal. A legels feladat a kapcsolat belltsa volt. A kapcsolat ltrejtte utn a megfigyelni kvnt vltozkat kellett felvennem (Tag-ek). Kivlasztottam a szimblumtblba korbban behelyezett vltozkat. A vltozk rtkt alapbl msodpercenknt frissti csak a program, de ez nekem nem volt j, hiszen ebben az esetben pldul a villogsbl nem ltszdna semmi sem. Emiatt a frisstsi idt levettem 100 ms-ra. Ezt kveten a grafikus megjelentst oldottam meg: ltrehoztam a szksges nzetet s ezen megrajzoltam a lmpkat, a keresztezdst illetve a gyalogos tkelhelyeket valamint az zemmd gombot felhelyeztem. A bal fels sarokba helyezett kp mindig szemllteti, hogy ppen milyen zemmdban van a rendszer. A lmpk egyes kijelzit hozzktttem nekik megfelel vltozkhoz, gy a szimulcin lehet ellenrzi a kvnt mkds vgrehajtst.

3. A program felptse
A feladat kzhez kapst kveten el kellett alapvet dntseket kellett hoznom a program elksztshez. Ilyen fontos dnts volt a programozsi nyelv, a tnyleges mkds, az idztsek mikntje, valamint a program szerkezeti felptse. A programot ltraprogramozsi nyelv (LAD) segtsgvel hoztam ltre, mivel ez kzel llt a Digitlis Technika trgyban megismert gondolkozsi mdhoz. Ezutn megterveztem a lmpk nappali mkdsnek idzts diagramjt. Ez az idzts diagram az albbi brn lthat:

2. bra Az idzts diagram

Az indulst kveten a mellkutck zld lmpja kapcsol be (A_ZOLD), mikzben a futca kt lmpja pirosat mutat (A1_PIROS, A2_PIROS). A 30 msodperc letelte utn a zld lekapcsol s megjelenik 5 s-ra a srga lmpa (A_SARGA). A lekapcsolst megelz 5s-ban a gyalogos zld lmpa (GY_ZOLD) villogssal jelzi a szabad jelzs kzeled vgt. A srga lmpa lekapcsolst kveten a teljes ciklus tovbbi idtartalma alatt a piros lmpa (A_PIROS) vilgt. A mellkutca piros lmpjnak bekapcsolst kveten a futca bal oldali lmpjn bekapcsol a srga lmpa ( A1_SARGA) a piros lmpa (A1_PIROS) mell, jelezve ezzel a kzeled zld (A1_ZLD) jelzst. A zld lmpa vilgtsi ideje itt is szintn 30 s, valamint a gyalogos zld lmpa (GY1_ZOLD) termszetesen ennl a lmpnl is jelzi a kzeled tiltst villogssal. A zld lmpa megjelensvel egy idben a jobbra kanyarodst engedlyez lmpa (JOBB) bekapcsolt llapotba kerl s egszen a futca jobb oldali lmpjnak a zldjnek (A2_ZLD) vgig ebben az llapotban is marad. Ezt az llapotot kveti a srga lmpa (A1_SARGA) 5 s-ig, majd ezt kveten a teljes ciklus vgig pirosban ( A1_PIROS) marad a lmpa. A futca baloldali lmpjnak pirosba vltst kveten elindul a futca msik lmpjn a srga jelzs (A2_SARGA). A srga lmpt kvet zld jelzs (A2_ZLD) idtartalma 30 s. Az 5 s-os srga jelzs 4

(A2_SARGA) leteltt a 5 s ideig a piros lmpa bekapcsolsa vltja fel (A2_PIROS). Ez alatt az 5 s alatt a mellkutcban felkapcsoldnak a srga lmpk (A_SARGA). Ezzel vget r a teljes ciklus s kezddik ellrl a lert folyamat, amennyiben nem rkezik zemmd vltst kezdemnyez megszakts. A bekapcsolst ksleltet idztk (TON) hasznlata megneheztette egy kicsit a feladatot. A jelek bekapcsolsa sokkal knnyebb lett volna pulzus idztvel (TP). A kt idzt kztti klnbsget az albbi bra szemllteti:

3. bra Az idztk kimenetei

A bal oldali bra a TON idzt viselkedst, a jobb oldali bra a TP idzt viselkedst mutatja be. Az brbl ltszik, hogy a TON idzt esetn mindig a bemenjelhez kpest vett ksleltetst lehet megadni, ezzel nmagban nem lehet megadott hosszsg impulzust ltrehozni. Emiatt a ciklus ltrehozshoz s jraindtshoz ki kellett tallnom egy megoldst, ami lehetv teszi a folyamatos mkdst. Ezt a megoldst majd a ksbbiek sorn rszletezem (FC1 bemutatsnl). A program szerkezetnek felptsekor gyelnem kellett az zemmdok megfelel mkdsre s azok kztti vltsok megoldsra. Az adott zemmdok kvetsi sorrendjt illetve engedlyezst a szervezmodulban (OB1) valstottam meg. Az zemmdok kvetsi sorrendje:

4.bra A mkds menete

Elindtst kveten alapllapotban nappali zemmdban indul a rendszer. Van egy bemenet, aminek segtsgvel az llapotokat lehet vltoztatni. Nappali zemmd esetn gombnyomsra nem vlt azonnal, elbb megvrja a ciklus vgt. Jelen esetben a ciklus vge nem a teljes vgig futst jelenti, hanem azt az llapotot, amikor a hrom piros lmpa egyszerre vilgt. Ez hromszor fordulhat el a teljes ciklus folyamn, ha bekvetkezik, akkor egy vltoz (TPIROS) TRUE rtket vesz fel. Ha nem rkezik megszakts, akkor a nappali zemmdban marad a rendszer. jszakai mkds megszaktsa szintn gombnyomssal trtnik. Az tmeneti zemmd 15 s-ig ll fenn, ezutn automatikusan tkap5

csol nappali zemmdba. Az idztt nappali zemmdban alaphelyzetbe lltom, gy lehetsgem van a kvetkez alkalommal is a 15 s-ot mrni. Az OB1 modul legvgn a megjelentshez szksges VILAGIT vltoznak adok rtket. Ez a vltoz teszi lehetv, hogy a lmpk ne csak bekapcsolt llapotban, hanem a kikapcsolt llapotban is ltszanak. Ez indokolja, hogy mirt mkdik minden egyes zemmdban. A Nappali zemmd teljes mkdst az FC4 fggvnyben valstottam meg. A fggvny kt bemenettel rendelkezik, valamint kimeneteknt az sszes lmpt lltja. A nappali zemmd nappal s jszaka is mkdhet, ez amiatt van, mivel az alaphelyzetbe lltst jszaka vgzem el. A fggvny engedlyezst kveten egy felfut l rzkel (FELFUTO) segtsgvel FALSE llapotban lltom az sszes piros lmpt, mind az autsokra, mind a gyalogosokra vonatkozkat. Erre azrt van szksg, mert a rendszer tmeneti zemmdbl rkezik, ahol ezek a lmpk gtek, de a nappali zemmd ke zdetn mr nem kell az sszesnek bekapcsolva lennie. Azokat a lmpkat is kikapcsolom, amik gve maradhatnnak, mivel az zemmdon bell egy kln fggvny (FC2) vgzi el a kimenetek lltst s abban meg van oldva a pontos mkds. A mkdst megvalst fggvnyen kvl mg tartalmaz a nappali zemmd egy msik fggvnyt is: ez a Keret szerkezet elnevezs FC1 fggvny. Ez a na ppali mkds alapja. A Keret szerkezet fggvnyben kt egyenknt 2 perces impulzust hozok ltre, amik peridikusan vltjk egymst. Ezek az impulzusok a keretei a teljes ciklusnak, ezzel nemcsak a bekapcsolshoz adok egy kezdjelet, hanem gy a ciklus vgt is meg tudom llaptani. Erre a fggvnyre a TON idztk hasznlata miatt van szksgem. A mkdse azon az elven alapul, hogy az idztk 2 percig felvltva szmolnak s a bekapcsolsukat kveten engedlyezik a kt kimenet kzl az egyiket (KERET2, KERET3). Mivel a szmllk 2 percig szmolnak, emiatt az ppen aktulis kimenet pont osan kt percig lehet aktv. A kimenetek lltsban segdvltozkat hasznltam (KERET, KERET1), ezzel elkerltem a kimenetek kzvetlen lltst. A Keret szerkezet fggvny kimenett hasznlom fel a Nappali mkds nev fggvnyben (FC2), ahol a tnyleges lmpa belltsokat elvgeztem. Ez a fggvny a legfontosabb s egyben legbonyolultabb is. Itt szintn megjelenik az jszakai mkdst jelz vltoz ( EJ), mint bemenet, ez az idztk miatt szksges. Az FC2 kimenetei adjk kzvetlenl a Nappali zemmd kimeneteit. Mivel ez a fggvny jszaka is mkdhet, ezrt meg kellett akadlyoznom, hogy akrmilyen mdon befolysolja a normlis jszaki zemet. Ezt gy oldottam meg, hogy az sszes piros s srga lmpt folyamatosan FALSE rtken tartom jszaka. Ez nem fogja befolysolni az jszaki mkdst, mivel az jszaki zem ksbb fut le, mint a nappali, gy fellrja a nappal belltott rtkeket. Az azonban fontos, hogy FALSE rtket vegyenek fel, mivel a villogst csak gy lehet szrevenni, ha FALSE llapotban vannak a lmpk. Azrt csak a piros s srga lmpkat lltom FALSE rtkbe, mivel az jszakai zemmdba val vlts felttele az sszes piros lmpa egyidej fennllsa. Ebben az llapotban az egyik srga lmpa is g, de nem lehet megmondani, hogy ppen melyik, mivel brmelyik esetn jhet a megszaktskrs, ezrt az sszes srga lmpt is FALSE rtkre lltom. Miutn lekezeltem az jszakai mkds engedlyezsbl szrmaz nehzsget, megvalsto ttam a tnyleges nappali mkdst. Kzvetlenl egyik kimenetet sem lltottam mindegyikhez segdvltozkat hasznltam. A bejv jel rkezst kveten belltottam az alaphelyzetet, ami a mellkutca lmpjnak zldbe, a futca lmpinak pirosba lltst jelenti. A futca piros lmpinak vilgtsa nem egysges egyik esetben sem, emiatt mindkt lmpa esetn a piros ellltshoz kt segdvltozt hasznltam. Ezek segtsgvel lltottam el az els s a msodik piros ciklust, majd ezek VAGY ka pcsolatval a tnyleges kimenetet. A bejv keretek vltozst egy lefut jel rzkelvel figyeltem, 6

ennek segtsgvel a keretek vltsakor egy alaphelyzetbe llt jelet (RST) generltam. Ennek a megoldsnak a segtsgvel indulnak el jra az idztk minden ciklusban ellrl. Az els, egyedli srga jel megjelenshez szksges 30 s-ot egy idzt rgtn a bemeneti jel megrkezst kveten el kezdte szmolni. Ez a 30 s gyakorlatilag a zld idtartalmt szabja meg. A srga megjelenst kveten a zldet FALSE helyzetbe lltottam, valamint a piros lmpa bekapcsolshoz szksges 5 s -os idztt bekapcsoltam. Az elzben felkapcsolt srga jel mg nem a kimenetre kerl egyedli srga jelnek felel meg. Az egyedl megjelen srga jelet a bekapcsolt srga vltoz s a neglt piros vltoz S kapcsolataknt kaptam meg. A mellkutcban mg egy alkalommal megjelenik a srga, azonban ekkor mr a pirossal egy idben. Ennek a srga jelnek a kikapcsolst az idzt alaphelyzetbe lltsa oldja meg. A gyalogos zld belltshoz hrom segdvltozt hasznltam fel . A GY_ZOLD1 elnevezs vltoz egytt vltozik az autsoknak szl zld lmpval, ennek megfelelen ez egy 30 s hoszszsg TRUE rtk vltoz. Ennek a negltja szolgltatja a gyalogosoknak a piros jelzst (GY_PIROS). A GY_ZOLDS2 vltoz egy 25 s-os bekapcsols ksleltet kimenetn tallhat. Ez a vltoz 5 s-ig van bekapcsolt llapotban: ez az az 5 s, amg a villogsnak mkdnie kell. A GY_ZOLD2 a Villog fggvny (FC7) kimenete, ez lltja el az 500 ms-onknt vltoz jelet. A fggvnyt a korbban belltott GY_ZOLDS vltoz engedlyezi. A tnyleges kimenetet (GY_ZOLD) a GY_ZOLD1 s a GY_ZOLD2 negltjnak az S-elsvel kaptam. A negls azrt fontos, mivel a GY_ZOLD2 vltoz kezdetben FALSE rtk, gy a kimenet TRUE rtk lesz. A villog mkdst gy kellett kialaktanom, hogy ebben az esetben negltan mkdik. A villog mkdst ksbb az jszakai mkdsnl rszletesebben elmagyarzom. A Villog fggvnyek minden esetben kln alaprtkre lltst kaptak, ezek felttele az egyes lmpk srgitl fgg. Azonban arra gyelnem ke llett, hogy jszaka ne maradjon az alaprtkre llts bekapcsolva, emiatt az jszakai vltoz (EJSZ) negltja szerepel az alaprtkre llts felttelben.

5. bra A gyalogos zld ellltsa

A futcai lmpkon hasonl metdus szerint lltottam be a lmpkat, emiatt azt nem mutatom be kln. A lmpk belltsban csak az idztk viszonytsa s az idztk hossza tr el. A jobbra kanyarodst engedlyez zldet (JOBB) az idzts diagramrl leolvashatan a kvetkez mdon lltottam el: Az engedlyezs akkor jhet ltre: ha a futca bal oldali lmpja zlden vilgt mr ugyanez a lmpa srgba vltott a jobb oldali lmpn piros s a srga egyszerre g ha ezen a lmpn a zld vilgt.

Ezeknek az llapotok fennllsa esetn a jobbra kanyarods engedlyezve van. Az jszakai zemmd (FC5) a nyomgomb lenyomst s a ciklus vgt kveten kezddik el. A Nappali zemmd megvrja, amg az sszes piros lmpa bekapcsol, ennek szlelst kveten rgtn tkapcsol jszakai zemmdba. Ennek kvetkeztben, mihelyst a pirosak TRUE rtkt vesz7

nek fel, rgtn ugyanebben a fordulsi ciklusban mr az jszakai zemmd fellrja a pirosak rtkt, ezrt nem jelenik meg a kimeneten a felkapcsolt piros lmpa, gy rgtn a srga lmpa elkezd villogni. Az jszakai mkds kezdetn az sszes piros s srga lmpt, valamint a jobbra kanyarod lmpt FALSE rtkre lltom. Ez a Nappali zemmd jszakai engedlyezse miatt szksges, mivel engedlyezve marad, nem tnnek el a kimenetrl az ott lv belltsok. Ez jelentsen mdostan a kimenetek llapott, azonban az jszakai zemmd futsa ksbbi, mint a Nappali zemmd, gy az ott belltott kimeneteket fellrja. Az egyik piros lmpa kikapcsolst kveten belltom a hrom lmpa srgjnak a segdvltozjt (A1_SARGAS,A2_SARGAS,A_SARGAS) TRUE-ba. A villogst a Villog fggvny (FC7) segtsgvel valstottam meg. Ez csak az jszaki llapotban mkdhet, viszont az alaphelyzetbe lltsa az tmeneti llapotban trtnik. A fggvny kimenete a VILLOG vltoz, ami szolgltatja az 500 ms-onknt vltoz jelet. A segdvltozk s a VILLOG vltoz s kapcsolata adja meg a srga lmpk villogst. A Villog fggvny (FC7) mkdse hasonlt a Keret szerkezet (FC1) mkdshez, azonban itt ngy idztt hasznlok. Ezek egyms utn kapcsoldnak be, gy ellltva a kimenetet. Az ala phelyzetbe llts ktflekpp trtnhet meg: kls krs hatsra: RESET bemenet (Nappali mkds esetn hasznlom) bels alaphelyzetbe llts: jszakai mkds esetn

Az jszaki mkds sorn az idztket az utnuk kvetkez idzt lltja alapllapotba, gy a vill ogs folyamatosan fenntarthat. A kimeneti jel gy lett definilva, hogy a Nappali mkds esetn a neglt mkds esetn rendesen mkdjn. Az tmeneti mkds (FC6) a nyomgomb lenyomst kveten jut rvnyre , amennyiben a rendszer jszakai zemmdban volt. Az tmeneti zemmd FALSE llapotba lltja a srga lmpkat, s az sszes piros lmpt TRUE llapotba helyezi.

4. A szimulci
A szimulcit a WinCC program segtsgvel valstottam meg. Elszr a gyalogos tkelket rajzoltam meg, majd ezekhez igaztottam hozz a zld terletet, ami a jrdt szimbolizlja. Ezeken a zld ngyszgeken helyeztem el a lmpkat gy, hogy az adott gyalogostkelre az a lmpa vonatkozik, amelyik a rvidebb oldalt ,,mutatja a gyalogostkelnek. Az autsokra vonatkoz lmpk a meglls helyt jelz vastag fehr vonalhoz igaztottam. A kperny bal fels sarkban tallhat a nyomgomb, valamint az zemmd jelz bra. Az zemmdot jelz bra a napszaknak megfelelen vltozik. Az egyes zemmdok megjelentst bemutat brk:

6. bra Nappali mkds

7. bra jszakai mkds

8. bra tmeneti mkds

5. sszefoglals
A kzlekedsi modell megvalstsa sorn lehetsgem nylt megismerkedni a PLC-vel, annak mkdsvel valamint programozsval. A LAD programozs alapjait, alkotelemeit megtanultam, ennek segtsgvel bonyolultabb feladatok megoldshoz szksges gondolkozsmdot elsajttottam. Megismerkedtem a Siemens cg ltal kiadott fejlesztkrnyezetekkel (STEP7 Lite, SIMATIC Manager, WinCC), ezek hasznlatnak alapjaibl zeltt kaptam.

6. Irodalomjegyzk
Dr. Ajtonyi Istvn: PLC s SCADA-HMI rendszerek I. Dr. Ajtonyi Istvn, Dr. Gyuricza Istvn: Programozhat irnytberendezsek, hlzatok s rendszerek http://support.automation.siemens.com

10