Download as pdf or txt
Download as pdf or txt
You are on page 1of 190

PLC programozs az IEC 1131-3 szabvny szerint

Jancskrn Anweiler Ildik fiskolai docens PTE PMMFK Mszaki Informatika Tanszk

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

Tartalomjegyzk
Az IEC-1131-3 szabvny.......................................................................................................... 8 A programszervezsi egysgek felptse ............................................................................... 8 A vltozk deklarlsa ........................................................................................................... 8 Plda egy tipikus vltozdeklarcira................................................................................ 9 A programszervezsi egysg (POU) trzse............................................................................ 9 Az IEC-1131-3 szabvnyban ajnlott programozsi nyelvek ............................................ 9 Az IEC programozi krnyezet ............................................................................................ 10 Erforrs eloszts................................................................................................................... 11 A programszervezsi egysgekrl rszletesen...................................................................... 13 A programszervezsi egysg rszei...................................................................................... 13 Plda a programszervezsi egysg felptsre (fggvnyblokk).................................... 14 Deklarci ............................................................................................................................ 14 Vltoztpusok ..................................................................................................................... 15 A szervezsi egysgek kapcsoldsi felleteinek jellegzetessgei .................................. 15 A formlis paramter s a visszatrsi rtk rtelmezse .................................................... 15 Plda a FB formlis paramtereinek bels s kls rtelmezsre .................................. 16 A fggvnyblokk..................................................................................................................... 17 Hordozhatsg s objektum orientltsg.......................................................................... 17 A fggvnyblokkban hasznlhat vltoztpusok............................................................ 17 A fggvny .............................................................................................................................. 17 A fggvny vltoztpusai s a fggvnyrtk ................................................................ 18 A program............................................................................................................................... 18 Nyelvi elemek, adattpusok, vltozk ................................................................................... 19 Egyszer nyelvi elemek ....................................................................................................... 19 Foglalt kulcsszavak .............................................................................................................. 19 A klnbz adattpusok szmbrzolsa............................................................................ 19 A konstansok ttekintse...................................................................................................... 20 A felhasznl ltal definilhat nevek, cmkk ................................................................... 20 Vltozk s adattpusok ......................................................................................................... 21 A vltozdeklarci legfontosabb elemei ............................................................................ 21 Adattpusok............................................................................................................................. 21 Elemi adattpusok................................................................................................................. 21 Szrmaztatott adattpusok .................................................................................................... 22 ltalnos adattpusok ........................................................................................................... 23 A vltozattribtumok........................................................................................................... 23 Plda az attribtumok hasznlatra .................................................................................. 24 Kzvetlen cmzs vltozk................................................................................................... 24 Plda kzvetlen cmzs vltozk deklarlsra ............................................................. 25 A szervezsi egysg trzsrsze ............................................................................................... 26 Az utastslista...................................................................................................................... 26 Az akkumultor .................................................................................................................... 26 Mveletek, parancsok........................................................................................................... 26 Mdost opertorok ............................................................................................................ 27 A mveletek csoportostsa ................................................................................................... 28 Mveletek logikai (BOOL) vltozkkal .............................................................................. 28 Mveletek ltalnos (ANY) adattpussal ............................................................................. 28 Ugr s hvutastsok (programszervezsi utastsok)....................................................... 28 A fggvnyek s a fggvnyblokkok hasznlata ................................................................. 29 A fggvnyek hvsa............................................................................................................ 29

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Plda fggvnyhvsra ......................................................................................................... 29 Plda mveletre .................................................................................................................... 30 Plda standard fggvny hvsra ........................................................................................ 30 A fggvnyblokk hvsa....................................................................................................... 30 Plda a felhasznli fggvnyblokk hvsra .................................................................. 31 Programtervezs funkcitervben.......................................................................................... 33 A standard fggvnyek .......................................................................................................... 34 A standard fggvnyblokkok be- s kimeneti paramtereinek rtelmezse s adattpusa... 37 RS trol........................................................................................................................... 37 SR trol........................................................................................................................... 38 Felfut l detektlsa: az R_TRIG fggvnyblokk.......................................................... 38 Lefut l detektlsa: az F_TRIG fggvnyblokk ........................................................... 39 A szmllk............................................................................................................................. 40 CTD (Count Down) lefel szmll..................................................................................... 40 CTU (Count Up) felfel szmll ........................................................................................ 40 CTUD (Count Up-Down) fel-le szmll............................................................................ 41 Az idztk .............................................................................................................................. 42 Impulzus idzt (TP = Time Pulse) .................................................................................... 42 Bekapcsols-ksleltetses idzt ........................................................................................ 43 Kikapcsols-ksleltetses idzt ......................................................................................... 43 A PLC konfigurlsa ............................................................................................................. 45 A PLC projekt felptse........................................................................................................ 45 A konfigurci sszetevi.................................................................................................... 46 A CONFIGURATION jellemzi ..................................................................................... 46 A RESOURCE jellemzi ................................................................................................. 46 A TASK s a fut program .............................................................................................. 47 Plda TASK deklarcira................................................................................................. 48 PLDATR............................................................................................................................ 49 Kvetvezrlsek .................................................................................................................... 50 Szellztets felgyelete ........................................................................................................ 50 sszerendelsi tblzat .................................................................................................... 50 Karno-tbla....................................................................................................................... 51 Funkciterv....................................................................................................................... 52 Utastslista ...................................................................................................................... 53 Ltradiagram .................................................................................................................... 54 Kvetvezrls tervezse dntsi tblzattal ....................................................................... 55 Stancols............................................................................................................................... 55 sszerendelsi tblzat .................................................................................................... 56 A dntsi tblzat ............................................................................................................. 56 A reduklt fggvnytblzat ............................................................................................ 56 Ltradiagram .................................................................................................................... 57 A program utastslistja.................................................................................................. 57 Gyakorl feladat Szivattyk vezrlse.............................................................................. 58 Kvetvezrls trolssal....................................................................................................... 59 Troltartlyrendszer: feltlts vezrlse............................................................................ 59 sszerendelsi tblzat .................................................................................................... 59 Funkciterv....................................................................................................................... 60 Krdsek:.......................................................................................................................... 61 Gyakorl feladat: Gyrkapu vezrlse .......................................................................... 62 sszerendelsi tblzat .................................................................................................... 62

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! sszerendelsi tblzat .................................................................................................... 63 Megolds .......................................................................................................................... 64 Utastslista ...................................................................................................................... 64 Funkciterv....................................................................................................................... 64 Gyakorl feladat: utastslista elemzse I. ....................................................................... 65 Kvetvezrls impulzus idztvel ...................................................................................... 66 Ktkezes reteszels............................................................................................................... 66 sszerendelsi tblzat .................................................................................................... 66 A szktett fggvnytblzat............................................................................................ 66 Funkciterv....................................................................................................................... 67 A program utastslistja.................................................................................................. 67 Vszjelzs............................................................................................................................. 68 sszerendelsi tblzat .................................................................................................... 68 Funkciterv....................................................................................................................... 69 Utastslista ...................................................................................................................... 69 Gyakorl feladat: utastslista elemzse II....................................................................... 70 Kvetvezrls idztkkel .................................................................................................... 71 Szlltszalagok egyttes vezrlse ..................................................................................... 71 sszerendelsi tblzat .................................................................................................... 72 Funkciterv....................................................................................................................... 72 Utastslista ...................................................................................................................... 74 Gyakorl feladat: Szlltszalag vezrlse........................................................................ 77 sszerendelsi tblzat .................................................................................................... 77 Munkadarabok tmeneti trolsa ......................................................................................... 78 sszerendelsi tblzat .................................................................................................... 78 Funkciterv....................................................................................................................... 79 Utastslista ...................................................................................................................... 79 Tiszttberendezs elektro-pneumatikus vezrlse .............................................................. 80 sszerendelsi tblzat .................................................................................................... 80 Funkciterv....................................................................................................................... 81 Utastslista ...................................................................................................................... 81 Gyakorl feladat: utastslista elemzse III. .................................................................... 82 Kvetvezrlsi feladatok megoldsa llapotgrf segtsgvel .......................................... 83 Vagontlt berendezs ........................................................................................................... 83 sszerendelsi tblzat .................................................................................................... 83 A vezrls llapotai .......................................................................................................... 84 llapotgrf ....................................................................................................................... 84 Az llapotgrf funkcitervbe trtn trsnak szablyai .................................................. 84 Funkciterv....................................................................................................................... 85 Utastslista ...................................................................................................................... 86 tjavtst jelz lmpa........................................................................................................... 89 sszerendelsi tblzat .................................................................................................... 89 A vezrls llapotai .......................................................................................................... 90 llapotgrf ....................................................................................................................... 91 Az llapotgrf trsa funkcitervbe illetve utastslistba.............................................. 92 Funkciterv....................................................................................................................... 92 Utastslista ...................................................................................................................... 94 Jelek llapotgrfon kvli feldolgozsa ................................................................................ 97 Zsilipajtk vezrlse............................................................................................................... 97 sszerendelsi tblzat .................................................................................................... 98

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Rvid ideig hat jelek feldolgozsa az llapotgrfon kvl ............................................. 98 Az llapotgrf................................................................................................................... 99 Az llapotgrf trsa funkcitervbe illetve utastslistba.............................................. 99 Funkciterv..................................................................................................................... 100 A fggvnyblokk listja ................................................................................................. 104 A fprogram listja......................................................................................................... 106 Komplex vezrlsi feladat szmllval............................................................................... 109 Tablettaadagol berendezs vezrlse ............................................................................... 109 sszerendelsi tblzat .................................................................................................. 110 Az llapotgrf................................................................................................................. 111 A vezrlalgoritmus felptse........................................................................................... 112 A fprogram ................................................................................................................... 112 A funkciterv trsa utastslistba............................................................................... 113 Funkciterv..................................................................................................................... 115 A fggvnyblokk utastslista ........................................................................................ 120 temvezrelt lefutvezrlsek............................................................................................. 123 Kzlekedsi lmpa vezrlse ............................................................................................... 123 sszerendelsi tblzat .................................................................................................. 123 Megolds 1. vltozat ................................................................................................... 123 Utastslista .................................................................................................................... 124 Megolds 2. vltozat, utastslista............................................................................... 125 Folyamatvezrelt lefutvezrlsek ...................................................................................... 127 Az zemmd programrsz (fggvnyblokk)...................................................................... 127 Az zemmd fggvnyblokk ............................................................................................... 128 A fggvnyblokk utastslistja: .................................................................................... 128 Szakaszos zem folyadkkever berendezs vezrlse ................................................... 129 sszerendelsi tblzat .................................................................................................. 131 A lptetlnc .................................................................................................................. 132 A fprogram ................................................................................................................... 133 Az zemmd fggvnyblokk ......................................................................................... 135 Funkciterv..................................................................................................................... 135 Utastslista .................................................................................................................... 137 A lptetlnc fggvnyblokk ......................................................................................... 138 Funkciterv..................................................................................................................... 138 Utastslista .................................................................................................................... 141 A lpskijelzs fggvnyblokk ...................................................................................... 143 Funkciterv..................................................................................................................... 143 Utastslista .................................................................................................................... 143 A parancskiads fggvnyblokk .................................................................................... 144 Funkciterv..................................................................................................................... 144 Utastslista .................................................................................................................... 145 Pldk lefutvezrlsekre .................................................................................................... 146 Prsgp vezrlse ............................................................................................................... 146 sszerendelsi tblzat .................................................................................................. 147 Lptetlnc ..................................................................................................................... 149 A fprogram ................................................................................................................... 150 A lptetlnc fggvnyblokk funkcitervben ................................................................ 152 Utastslistban............................................................................................................... 156 Utastslistban............................................................................................................... 160 Utastslistban............................................................................................................... 161

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Kezeli fellet VSZKI-kapcsolval, tbbfle zemmd vlasztsnak lehetsgvel. 163 A fggvnyblokk utastslistja ..................................................................................... 163 Digitlis vezrlsek ............................................................................................................... 169 Sajt kszts fggvnyblokk: Motorblokkok felgyelete.............................................. 169 sszerendelsi tblzat .................................................................................................. 170 A fggvnyblokk formlis paramterei.......................................................................... 170 A fggvnyblokk funkcitervben................................................................................... 171 Utastslista .................................................................................................................... 171 A program utastslistja................................................................................................ 173 sszerendelsi tblzat .................................................................................................. 175 A vezrlprogram........................................................................................................... 176 Alapjelad ............................................................................................................................. 178 sszerendelsi tblzat .................................................................................................. 178 A vezrlprogram........................................................................................................... 178 Tmbk hasznlata a trol nlkli kvetvezrlsekben ............................................... 180 sszerendelsi tblzat .................................................................................................. 180 A be- s kimenetek kztti fggvnykapcsolat.............................................................. 180 A fggvnytblzat ........................................................................................................ 181 A vezrlalgoritmus ....................................................................................................... 182 Tmbk hasznlata temvezrelt lefutvezrlseknl...................................................... 183 temdiagram.................................................................................................................. 183 sszerendelsi tblzat .................................................................................................. 183 Ha S0=1, a kimenetek temezse:.................................................................................. 184 Az temgenertor ........................................................................................................... 184 A vezrlalgoritmus ....................................................................................................... 184 Irodalomjegyzk ................................................................................................................... 187

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

Az IEC-1131-3 szabvny
Az IEC-1131-3 szabvny (International Electronical Comission : www.plcopen.org) a programozhat logikai vezrlberendezsek (tovbbiakban: PLC = Programmable Logic Controller) programozsi nyelvre s a PLC-projektek felptsre tartalmaz elrsokat. A felhasznli program legkisebb, nllan kezelhet szoftveregysge programszervezsi egysg, tovbbiakban a POU (Program Organisation Unit). az n.

A POU tpusai: a fggvny, a fggvnyblokk s a program, a sorrendnek megfelelen nvekv funkcionalitssal. A fggvny azonos bemenetekre mindig ugyanazt az eredmnyt, fggvnyrtket adja. A fggvnyblokknak ezzel szemben sajt adatterlete (memrija) van, melynek segtsgvel kpes az elz llapotok informciira emlkezni (ez az n. instanckpzs). A kimeneti rtkeket gy a bemeneteken kvl a trolt adatok is befolysolhatjk, az elz llapotok fggvnyben ms-ms eredmnyt produklva. A programok jelentik a felhasznli program legmagasabb hierarchia szinten lv egysgt, a programok biztostjk a tbbi POU-nak is a PLC-perifrikhoz val hozzfrs lehetsgt. Megklnbztethetnk standard, gyrt-specifikus s felhasznl ltal ksztett (felhasznli) programszervezsi egysgeket. Az IEC-1131-3 szabvny elrja a leggyakrabban elfordul standard fggvnyek (pl.: aritmetikai, sszehasonlt fggvnyek) ill. standard fggvnyblokkok (pl.: idztk, szmllk) hvsi fellett s viselkedst.

A programszervezsi egysgek felptse Minden POU kt rszbl tevdik ssze: a deklarcis rszbl s a programtrzsbl. A vltozk deklarlsa Az IEC-1131-3 szabvny az informcik trolsra s feldolgozsra vltozkat hasznl. Vannak olyan PLC-rendszerek, amelyekben a vltozkat merkereknek (nmet nyelterlet) ill. flageknek (angol) nevezik. A szabvny szerint a vltozk memriaterleten trtn elhelyezsrl mr nem a programksztnek kell gondoskodnia, vagyis az n. abszolt trolsi cmet mr nem kell manulisan megadni. A fejlesztrendszer feladata a vltozhoz az adattpusnak megfelel mret trolterlet hozzrendelse. Elfordulhatnak azonban olyan esetek is, amikor szksgess vlhat a pontos memriacm ismerete (pl, soros kommunikci). A szabvny megengedi a felhasznlnak a kzvetlen memriacm kijellst, azzal az ajnlssal, hogy ez csak a program tpus szervezsi egysg deklarcis rszben trtnjen. Az IEC-1131-3 szabvny tbb adattpust elre definil (BOOL, BYTE, INTEGER stb.), amelyek a bitek szmban, az eljelek kezelsben stb. klnbzhetnek egymstl. Lehetsg van felhasznli adattpusokat is deklarlni (struktrk, mezk). A vltozt hozzrendelhetjk elemmel vdett fizikai cmhez is, (remanens memria) gy ramkimarads esetn megrzi rtkt. A vltoz rvnyessge attl fgg, hogy hol deklarljk. gy megklnbztetnek globlis s loklis vltozkat. A POU deklarcis rsze szveges formtum s fggetlen az alkalmazott programozsi nyelvtl. Egy rszk grafikusan is megadhat (be- s kimeneti paramterek).

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Plda egy tipikus vltozdeklarcira VAR_INPUT (*bemeneti vltoz*) kapcsol : BOOL; (*binris rtk*) END_VAR VAR_OUTPUT (*kimeneti vltoz*) fordszam : REAL; (*vals rtk*) END_VAR VAR_RETAIN (*loklis vltoz, elemmel pufferelt*) motorsz : INT; (*eljeles egszszm*) Motornev : STRING[10]; (*karakterlnc*) Veszki : %IX2.0 : BOOL (*a bemeneti perifria 2.0-s bitje*) END_VAR

A programszervezsi egysg (POU) trzse A programszervezsi egysg trzse a deklarcis rszt kveti, a PLC ltal vgrehajtand parancsok lersa, jellemzen az albb felsorolt valamelyik programozsi nyelv szintaktikjnak megfelelen. Az IEC-1131-3 szabvnyban ajnlott programozsi nyelvek utastslista jellemzje: o gpkzeli, akkumultorra pl, assembly tpus nyelv; o a nmet utastslista nyelven alapul (Anweisungsliste: AWL); o soronknt egy parancs a megengedett; o a legtbb fejleszti krnyezet biztostja a hasznlatt. LD ANDN ST A B C

ltradiagram jellemzje: o az szak-amerikai programozsi stluson alapul, az USA-ban szabvnyos; elektromos rajzjeleket hasznlja; o standardizlt rel-kszlet s ltraprogramozsi szimblumok.

A B C -| |--|/|----------------( )

funkciterv jellemzje: o Eurpban elterjedten hasznlt grafikus programozsi nyelv;

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! o a programelemek, mint blokkok sszekthetk, hasonlan a logikai ramkri rajzokhoz; o olyan alkalmazsokban hasznljk, amelyek vezrlkomponensek kztti adat vagy informciramlst tartalmaznak.

AND A B C

strukturlt nyelv jellemzje: o PASCAL-ra emlkeztet, magas szint, blokkszervezs nyelv; o megengedi az sszetett utastsokat is; o tmogatja a ciklikus vgrehajtst (REPEAT-UNTIL; WHILE-DO);tmogatja a feltteles vgrehajtst (IF-THEN-ELSE; CASE); o a fggvnyeket (SQRT(), SIN()).

C:= A AND NOT B


lefut nyelv: llapotgrf, lptetlnc jellemzje: a vezrlsi feladat sorosan s prhuzamosan vgrehajtand lpsek sorozataknt tervezhet. A lptetlnc szemlletesen mutatja be a program lefutst, mikzben megadja, hogy mely idpontban, milyen felttelek teljeslse estn, milyen beavatkozs engedlyezhet a vezrelt folyamatban. Az IEC-1131-3 szabvny a vezrl algoritmus strukturlsban hangslyozza a programtervezsi technika jelentsgt.

1.lps parancs felttelon 1 2.lps parancs felttelon 2 3.lps

Az IEC programozi krnyezet A legtbb fejlesztrendszer biztostja az albbi feltteleket:

10

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! grafikus programozi fellet; tbb ablakos rendszer; egrmveletek; legrdl men; beptett hypertextes helpfunkci; szoftveres ellenrzs a tervezs sorn.

Erforrs eloszts Egy ltalnos vezrl berendezs (PLC) tbb kzponti egysget (CPU-t) vagy specilis processzorokat tartalmazhat, amelyeket az IEC-1131-3 szabvny erforrsoknak (resources) nevez. Egy erforrson tbb taszk futhat, amelyek a prioritsuk, vagy a vgrehajts tpusa (ciklikus, periodikus, interrupt) alapjn klnbznek egymstl. A programokat taszkokhoz rendeljk, ez eredmnyezi a futsidbeli programot. Egy program tbb taszkhoz is hozzrendelhet (instancls).

1. bra Az IEC-1131-3 szabvny szerinti szoftvermodell

A PLCprojektet azokbl a szervezsi egysgekbl pthetjk fel, amelyeket a gyrt mellkelt ill. a felhasznl programozott. A felhasznli programokbl knyvtr kpezhet, amelynek tesztelt egysgei ms projektekbe is tmsolhatk.

11

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Az IEC-1131-3 szabvny tmogatja a felhasznlk trekvst a hordozhatsgra, azaz hogy amennyire lehetsges a fggvnyek, fggvnyblokkok hardverfggetlenek legyenek. A 2. brn lthatjuk a felhasznli programok lehetsges kompatibilitsi szintjeit. Az, hogy egy fejlesztrendszer melyik kompatibilitsi szintet biztostja, megmutatja azt is, hogy mennyiben felel meg a szabvny elrsainak.

2. bra Kompatibilitsi szintek

12

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! A programszervezsi egysgekrl rszletesen POU tpus program fggvnyblokk fggvny kulcssz PROGRAM FUNCTION_BLOCK FUNCTION jelents fprogram a PLC-perifrik hozzrendelseivel, globlis vltozkkal ptelem be- s kimeneti vltozkkal, a leggyakrabban hasznlt POU tpus A PLC mveletek kszletnek kibvtsre szolgl fggvny

Fggvny (FGV): paramterezhet POU statikus vltozk nlkl (emlkezet nlkl), amely azonos bemeneti paramterekre mindig azonos eredmnyt szolgltat. Fggvnyblokk (FB): paramterezhet POU statikus vltozkkal, azonos bemeneti rtkekre adott kimeneti rtkek fggnek a bels ill. globlis vltozk memriban trolt rtkeitl. Program (PRG): fprogramknt szolgl. Minden olyan vltozt itt kell deklarlni, amelyet fizikai cmekhez akarunk rgzteni (pl. a PLC be- s kimeneteihez). Egybknt olyan, mint a FB. Mindegyik POU sajt, lezrt tulajdonsgokkal rendelkezik s a compiler a tbbi POU-tl fggetlenl kpes lefordtani. A fordtnak egybknt szksge van minden informcira azokrl a programelemekrl (prototpusok), amelyeket az adott POU hv. A lefordtott POU-k ksbb a LINK eljrssal fzhetk ssze egysges programm. A programszervezsi egysg rszei Egy POU az albbi brn lthat rszekbl pl(het) fel. A POU tpus megadsa a POU-nv-vel (s az adattpus is a FGV-eknl). Deklarcis rsz a vltozdeklarlsokkal. POU-trzs az utastsokkal. PROGRAM PRG-nv FUNCTION_BLOCK FB_nv be/kimeneti vltozk loklis vltozk (deklarcis rsz) utastsok (POU-trzs) FUNCTION FGV_nv tpus

END_PROGRAM

END_FUNCTION_BLOCK
3. bra A POU rszei

END_FUNCTION

13

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Plda a programszervezsi egysg felptsre (fggvnyblokk) FUNCTION_BLOCK FB_nv FUNCTION_BLOCK TOVABBKAPCS VAR_INPUT BE1: BOOL; END_VAR VAR_OUTPUT KI1: BYTE; KI2: BOOL; END_VAR VAR LOKALIS: BYTE; END_VAR LD BE1 AND LOKALIS ST KI1 ST KI2

be/kimeneti vltozk loklis vltozk

utastsok (POU-trzs)

END_FUNCTION_BLOCK

END_FUNCTION_BLOCK

Deklarci Az IEC-1131-3 szabvny a vltozkat a felhasznli adatok inicializlsra, tovbbi feldolgozsra s kztes trolsra hasznlja. Ezeket a vltozkat minden POU elejn deklarljk A deklarci megadja, hogy a vltoz milyen adattpusba tartozik, illetve milyen egyb sajtossgokkal rendelkezik. A deklarci a vltoztpusoknak megfelel blokkokra tagoldik. A deklarciblokk (VAR_* END_VAR kztt) meghatrozza a vltoz tpust, tbb vltozt is tartalmazhat. A blokkok sorrendje, azonos vltozra vonatkoz gyakorisga tetszleges, illetve implementcifgg, a szabvny nem rgzti.

14

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Vltoztpusok
A vltoztpusok engedlyezett hasznlata

vltoztpus VAR VAR_INPUT VAR_OUTPUT VAR_IN_OUT VAR_EXTERNAL VAR_GLOBAL VAR_ACCESS

engedlyezett a hasznlat PROGRAM FUNCTION_BLOCK FUNCTION igen igen igen igen igen igen igen igen nem igen igen nem igen igen nem igen nem nem igen nem nem

Lthat, hogy a fggvnyeknl van a legnagyobb korltozs, csak loklis s bemeneti vltozi lehetnek. A szmts eredmnyt a fggvnyrtkben adjk vissza, amely az AKKU-ban kpzdik. Fggvnyblokkban nem lehet globlis vltozt deklarlni, ez csak a programban (ill. az a fltti hierarchiaszinteken lv programozsi elemekben) megengedett. A szervezsi egysgek kapcsoldsi felleteinek jellegzetessgei Azzal, hogy a POU vltozit vltoztpusokhoz rendeljk, meghatrozzuk azok lehetsges kapcsolatt a tbbi POU-val, vagyis a csatlakoztatsi vltozk s a loklis vltozk adatkrt is. A POU-kapcsoldsi fellete lehet: hvsi fellet: formlis paramterek (be ill. Be/kimeneti paramter) visszatrsi rtk: kimeneti rtk vagy fggvnyrtk globlis csatlakozsi fellet: globlis/externlis vltozkkal.

A formlis paramterek helybe a POU hvsakor az n. aktulis paramterek kerlnek. A formlis paramter s a visszatrsi rtk rtelmezse Formlis paramter: (VAR_INPUT): az aktulis paramter tadsa rtkknt trtnik, azaz nem maga a vltoz, hanem csak a kpija addik t a hvott POU-nak. gy a feldolgozs a hv POU-ban lv vltozt nem mdostja. Formlis paramter: (VAR_IN_OUT): az aktulis paramter, mint mutat kerl tadsra. gy tulajdonkppen maga a vltoz kerl tadsra, rtke a POU-ban mdosthat. Visszaadott rtk (VAR_OUTPUT): a hvott POU nem adja t a vltozt, csak az rtke olvashat ki a POU futsa utn. A tovbbi feldolgozs (a hv POU-ban) nem befolysolja a (hvott POU-ban) trolt vltozt. Abban az esetben, ha nagymennyisg adatot, vagy adatstruktrt akarunk tadni a hvott programszervezsi egysgnek, clszer a VAR_IN_OUT vltoztpus hasznlata, mivel gy nem trtnik tbbszrs trterlet foglals. A formlis paramtereknek s a visszatrsi rtknek az a klnleges tulajdonsga teht, hogy a hv programban is lthatk s hivatkozhatunk rjuk anlkl, hogy deklarltuk volna ket. A POU-k adatcsere fellett ezrt igyekezznk jl dokumentlni. A be- s kimeneti vltozk vdettek a nemkvnatos fellrstl.

15

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!


A vltoztpusok hozzfrsi lehetsgeinek sszefoglal tblzata

hozzfrsi rtelmezs jogosultsg kls bels VAR I O A loklis vltoz csak a POU-n bell lthat, dolgozhat fel. VAR_INPUT I O A bemeneti vltoz a hv programban lthat s rhat, a POU-n bell csak olvashat. VAR_OUTPUT O I O A kimeneti vltoz a hv programban lthat s ott csak olvashat, A POU-n bell rhat s olvashat is. VAR_IN_OUT IO I O A POU-n bell s kvl is rhat olvashat. VAR_EXTERNAL I O I O Az external tpus vltozt egy msik POU-ban mint global vltozt deklarltk. gy minden POUban elrhet, s mint loklis vltoz mdosthat. Az j rtket megrzi a POU futsa utn is. VAR_GLOBAL IO I O A global vltozt a POU-n bell deklarljk s a kls POU-kban mint external vltoz deklarlhat s hasznlhat. A POU-n bell gy viselkedik, mint egy loklis vltoz. VAR_ACCESS IO I O Globlis vltoz a konfigurciban. Az erforrsok kztti kommunikcis csatorna deklarlsra szolgl. A POU-n bell mint globlis vltoz kezelhet. I = rhat O = olvashat vltoztpus Plda a FB formlis paramtereinek bels s kls rtelmezsre FUNCTION_BLOCK Fbketto VAR_INPUT bemenet : BYTE; END_VAR VAR_OUTPUT kimenet : BYTE; END_VAR VAR lokalis: BYTE; END_VAR LD bemenet AND lokalis ST kimenet END_FUNCTION__BLOCK

FUNCTION_BLOCK FBegy VAR peldaFB: FBketto; END_VAR LD 48 ST peldaFB.bemenet CAL peldaFB LD peldaFB.kimenet END_FUNCTION__BLOCK

16

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! A fggvnyblokk Az IEC-1131-3 szabvny legfontosabb szoftvereleme. A strukturlt programrs hatkony eszkze. Programbl vagy fggvnyblokkbl hvhat s fggvnyt vagy fggvnyblokkot hvhat. A fggvnyblokk fogalmt tulajdonkppen ktfle rtelemben hasznljk. Az egyik rtelmezs a fggvnyblokkot, mint tpust jelenti, ezt kapjuk a FB megrsval. A msik megjelensi formja a deklarls segtsgvel egyediestett (instance) fggvnyblokk. Az egyediests sorn a fggvnyblokk-tpusban meghatrozott mret adatterletet a fordt lefoglalja az egyedi FB szmra, gy annak sajt, nll adatterlete lesz. Az a FB_nv teht, amelyet a FB rs sorn a FB-nak adunk, tpusazonostknt szolgl a deklarcis rszben, a FB hvsa az egyedi nvvel trtnik. (lsd a fenti pldban Fbketto - peldaFB ) A fggvnyblokkot abban a POU-ban, amelyben hvni akarjuk, deklarlnunk kell, mgpedig annyiszor, ahny egymstl klnbz felhasznlst akarunk. Ezltal biztosthatjuk a megfelel, egymstl elklnlt s vdett adatterlet lefoglalst, amely adatterlet az egyediestett FB emlkezeteknt mkdik. Itt trolja a rendszer a FB be- s kimeneti ill. loklis vltozit. Ez vonatkozik a standard s a felhasznli fggvnyblokkokra is. (Mivel ez statikus trfoglalst jelent, nagy adatblokkokkal dolgoz fggvnyblokk igen sok helyet foglalhat le. Tervezik ezrt a VAR_DYN END_VAR tpus deklarcit.) Hordozhatsg s objektum orientltsg Az albbi korltozsokat a hordozhatsg, a platformfggetlensg biztostsa miatt rgztettk: kzvetlen fizikai cmet loklis vltozkhoz nem rendelhetnk, adatokhoz kizrlag a csatlakozsi felletknt deklarlt vltozkon keresztl juthat, a fggvnyblokkban globlis vltozk nem deklarlhatk. A fggvnyblokkban hasznlhat vltoztpusok A fggvnyblokknak tetszleges szm, vagy semennyi be/kimeneti paramtere lehet, ill. loklis s externlis vltozkat is felhasznlhat. A VAR_INPUT, VAR_OUTPUT, VAR_IN_OUT s VAR_EXTERNAL tpus vltozkat a hv program is ltja, hivatkozni rjuk az egyedi_FB_nv.vltoznv formtummal lehet. A bemeneteknek a FB hvsa eltt adhatunk rtket, a kimeneteket a FB hvsa utn krdezhetjk le A fggvny Rendszeresen ismtld feladatokhoz clszer fggvnyeket alkalmazni. A fggvny tbb hvsi paramtert tartalmazhat, a vgrehajts eredmnye pedig egyetlen kimeneti vltozban helyezkedik el, mely lehet egyetlen adat, de lehet akr tbbelem, tmb tpus is. A fggvny azonos bemeneti paramterekre mindig azonos eredmnyt szolgltat, fggetlenl attl, hogy hnyszor, ill. mely idpillanatban trtnt a hvsa. Nagyszm, gyakran hasznlt fggvnyt standardizltak, azaz tulajdonsgait, szmtsi algoritmust, hvsi paramterlistjt a szabvnyban rgztettk. Ezt a gyjtemnyt egszthetik ki egy adott projektben a gyrtspecifikus s a felhasznl ltal ksztett fggvnyek

17

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! A fggvny vltoztpusai s a fggvnyrtk A fggvnynek egy vagy tbb (tetszleges szm) bemeneti paramtere lehet, de csak egy rtket adhat vissza, ez a fggvnyrtk. A fggvnyrtk tetszleges adattpus lehet, akr szrmaztatott adattpus is. A loklis vltozit nem lehet RETAIN-nel pufferelni. A fggvnyek rvnyessgi terlete globlis, azaz minden POU rszre rendelkezsre ll, nem kell kln a hv POU-ban deklarlni. A fggvny hvsa a fggvny nevnek megadsval s a bemeneti adatok teljes paramtertadsval trtnik. A paramtertads sorn az elsknt deklarlt bemeneti vltozt berjuk az AKKU-ba, a tbbi vltozt a fggvny hvsi sorban, a fggvny neve utn, egyms kztt vesszvel elvlasztva, felsoroljuk. A program A fggvnyblokk s a fggvny alprogramok, a PROGRAM fprogram. Mlti-taszkos opercis rendszerben egymssal prhuzamosan tbb fprogram is futtathat. A program sajtossgai: a FB-hoz kpest lehetv teszi: o kzvetlen (direkt) cmzs vltozk hasznlatt, o globlis vltoz deklarlst. a programot a PLC-konfigurcin bell taszkhoz rendeljk, a programot explicit ms POU nem hvhatja. Kis rendszereknl a program feladata az is, hogy kln konfigurcis fjl nlkl biztostsa a PLC-perifrik vltozkhoz rendelst. A lehetsgek opercis rendszertl s kiptettsgtl (gyrttl) fggek. Azonos programot tbb taszkhoz is hozzrendelhetnk, ezt az n. konfigurcis rendszerben definilhatjuk. A szervezsi egysgek lehetsges hvsi kapcsolatt mutatja be a kvetkez bra: PROGRAM

FGGVNY FGGVNY

FGVBLOKK

FGGVNY

FGVBLOKK

4. bra A fggvny s a fggvnyblokk hvsi lehetsgei

A rekurzv hvs nem megengedett!

18

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

Nyelvi elemek, adattpusok, vltozk Egyszer nyelvi elemek Minden PLC programozsi nyelv tulajdonkppen alapvet, tovbb nem bonthat nyelvi elemek sokasgbl pl fel. Ezen nyelvi elemekbl ll ssze a vltozdeklarci, az utastssorok, vgezetl az egsz program. A nyelvi elemek lehetnek: klnleges jelentssel br karakterek: (,),+,-,*,$,;,:=,#,space; kulcsszavak: a programnyelv szavai; klnbz adattpusok szmbrzolsra szolgl karakterkombincik; a felhasznl ltal definilt nevek, cmkk. Foglalt kulcsszavak A kulcsszavak a szabvny ltal lert s egyrtelm jelentssel br standard nevek, amelyek nem hasznlhatk a felhasznl ltal definilt vltozk neveiknt vagy cmkeknt. Ilyenek: elemi adattpusok nevei; standard fggvnyek nevei; standard fggvnyblokkok nevei; standard fggvnyek bemeneti paramtereinek a nevei; standard fggvnyblokkok be/kimeneti paramtereinek a nevei; az utastsok, parancsok nevei. A klnbz adattpusok szmbrzolsa A szmbrzolshoz elrt helyesrsi konvenci tartozik. A konstanson bell szkzk alkalmazsa helyett megengedett trelvlasztnak az alhzs jel. (A szkzk csak a SRTING vltozkban hasznlhatk!)

19

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! A konstansok ttekintse adattpus binris bool byte egsz szm vals plda 0, 1 FALSE, TRUE 11, 16#0B, 2#0000_1011 -13 45165 vagy 45_165 +125 13.12 123.45 0.123 1.23E-3 SZTRING T#12.3ms vagy TIME#12.3ms t#2h_7m_19s DATE#2001-12-31 vagy D#1995-12-31 TOD#12:16:14.56 vagy TIME_of_DAY#12:16:14.16 DT#2001-12-31-12:16:14.56 v. DATE_AND_TIME#2001-12-3112:16:14.56 jelents 1 bit bool-algebrai kifejezs 11 decimlis, hexadecimlis s kettes szmrendszerben egsz szm: -13 egsz szm: 45 165 egsz szm: 125 vals szm: 13,12 vals szm: 123,45 vals szm: 0,123 vals szm:0,00123 res sztring sztring 12,3ms idtartam 2 ra 7 perc 19 msodperc idtartam dtum: 2001 12. 31. idpont: 12ra 16perc, 14,56msodp dtum s id egytt: 2001 12. 31 12ra 16perc, 14,56msodperc

karaktersor idtartam dtum napi id dtum s idpont

A felhasznl ltal definilhat nevek, cmkk Karakterrel vagy alhzs jellel kezdd alfanumerikus karaktersorozat, maximlis hossza implementcifgg. Klnbz programelemek, vltozk, cmkk, szrmaztatott adattpusok, konfigurcik, erforrsok azonostsra szolgl felhasznl ltal adott nevek.
Pldk felhasznli nevekre:

megengedett nevek VALT2 SZELEP3X7 VESZ_KI _3kevero 2VALT 3X7 VSZ KI 3kever

nem megengedett nevek

20

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

Vltozk s adattpusok A vltozk segtsgvel trtnik a felhasznl-specifikus adatterletek adattpus ltal meghatrozott mret helyfoglalsa s azonostsa. A vltozdeklarci legfontosabb elemei vltoztpus VAR_OUTPUT RETAIN attributum

tarolo1

: vltoznv

BYTE

:= adattpus

12; kezdrtk

END_VAR vltoztpus vge A vltoznv: betvel vagy alhzs jellel kezdd, kis- s nagybetk, szmok, alhzsok sorozatbl ll, max. 64 karakter hossz. Nem tartalmazhat: szkzt, kezetes betket s kulcsszavakat. A kis- s nagybetk kztt nincs megklnbztets. A kezdeti rtkads := opertorral lehetsges. A deklarcis sor vgt ; jelzi. Megjegyzseket, kommentrokat (* *) zrjelek kztt rhatunk. Adattpusok Elemi adattpusok binris/ bitminta BOOL BYTE WORD DWORD LWORD eljeles eljel nlkli egszszm egsz INT SINT DINT LINT UINT USINT UDINT ULINT vals REAL LREAL idpont, idtartam, dtum, karaktersor TIME DATE TIME_OF_DAY DATE_OF_TIME STRING

Az elemi adattpusokat az adott kulcsszavak egyrtelmen meghatrozzk. A kezdeti rtkek a := hozzrendelsi opertorral adhatk meg. Amennyiben nincs kezdeti (inicializlsi) rtkads, a vltozk a default rtkeket veszik fel. Az albbi tblzatban sszefoglaltuk a standard elemi adattpusok jellemzit.

21

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! adattpus BOOL rtelmezs hossz (bit) 1 8 16 32 64 8 16 32 64 8 16 32 64 32 64 rtkkszlet [0,1] [0,,16#FF] [0,,16#FFFF] [0,,16#FFFF FFFF] [0,,16# FFFF FFFF FFFF FFFF] [-128,,+127] [-32 768,,+32 767] [-2 147 483 648,..,+2 147 483 647] 63 [-2 ,,+263-1] [0,,+255] [0,,+65 535] [0,,+232-1] [0,,+264-1] +/-3,4 E+/-38 default rtk 0 0 0 0 0 0 0 0 0 0 0 0 0 T#0s D#000101-01 TOD#00 :00:00 DT 0001 01-0100:00:000 (res)

ktrtk binris szm BYTE bitsorozat 8bit WORD bitsorozat 16bit DWORD bitsorozat 32bit LWORD bitsorozat 64bit SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL TIME DATE TIME_O F_ DAY DATE_ AND_ TIME STRING short integer integer double integer long integer unsign. short integer unsigned integer unsign. double int. unsign. long integer real; vals szm, long real idtartam dtum formtum: YYYY-MM-TT idpont formtum: HH:MM:SS dtum s id vltoz hosszsg karakterlnc

Szrmaztatott adattpusok A szrmaztatott adattpusokat az elemi adattpusokbl lehet j, a felhasznl ltal megadott kulcsszval ellltani. Tpusdeklarcinak is nevezik. Az ilyen tpusdefincik a PLCprojektben globlisan felhasznlhatk, a programoznak lehetsge van a feladatmegvalstshoz illeszked adatstruktra kialaktsra. A tpusdefinilst a TYPE END_TYPE kulcsszavak hatroljk. Ide sorolhatk: az egyedi felhasznlnvvel elltott, esetenknt korltozott rtktartomny vltozk; az azonos adattpus elemi vltozbl ll, ARRAY kulcsszval definilt tmbk; az adatstruktrk: a magas szint programnyelvekhez hasonlan, a STRUCT . END_STRUCT kulcsszavak kztt deklarlt hierarchikus vltozk.

22

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! ltalnos adattpusok Az elemi adattpusok hierarchikus csoportba foglalsra az IEC-1131-3 szabvny n. ltalnos adattpusokat definil. Ezek az adattpusok az ANY rvidtssel kezddnek, pl.: az sszes egszszm adattpus (integer: INT) sszefoglal neve az ANY_INT lesz. A legltalnosabb, brmely elemi adattpust elfogad az ANY paramter. Deklarciban az ANY-vel kezdd adattpus nem hasznlhat!
Az ltalnos adattpus

ANY ANY_BIT BOOL BYTE WORD DWORD LWORD ANY_NUM ANY_DATE ANY_INT ANY_REAL INT UINT REAL DATE SINT USINT LREAL TIME_OF_DAY DINT UDINT DATE_OF_TIME LINT ULINT

TIME STRING

A standard fggvnyek s fggvnyblokkok be/kimeneti paramtertpusainl tallkozhatunk az sszefoglal nevekkel, s azt jelzi, hogy az adott fggvny(blokk) tbbfle elemi adattpussal is meghvhat. Ez az n. fggvnytlapolsi technika. Az ANY-vel kezdd adattpus felhasznli fggvnyben ill. fggvnyblokkban nem megengedett, illetve a szabvny nem rgzti.

A vltozattribtumok RETAIN : elemmel pufferelt adatterleten trolt vltozk. Melegindts esetn megrzik elz rtkket. CONSTANT : lland rtk vltoz. R_EDGE, F_EDGE felfut- ill. lefut-lhez rendelt vltoz. READ_ONLY, READ_WRITE. rsvdett ill. rhat/olvashat vltoz.

A vltoztpusokhoz rendelhet attribtumok sszefoglal tblzata R_EDGE, vltoztpus RETAIN CONSTANT F_EDGE VAR + + VAR_INPUT VAR_OUTPUT + VAR_IN_OUT VAR_EXTERNAL VAR_GLOBAL + + VAR_ACCESS -

READ_ONLY, READ_WRITE +

A READ_WRITE attribtum csak a VAR_ACCESS tpus vltoz jellsre engedlyezett.

23

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Plda az attribtumok hasznlatra VAR_OUTPUT RETAIN puffer1 : BYTE; END_VAR VAR_INPUT LEFUTO : BOOL F_EDGE; END_VAR VAR CONSTANT allando1 : BYTE:= 16#FF; END_VAR Kzvetlen cmzs vltozk A fizikai cmek kzvetlenl is megszlthatk a programban. (Bemenetek, kimenetek, bels vltoz, merkerek.) Ez trtnhet: kzvetlen (direkt) brzols vltozval; szimbolikus nev, kzvetlen (direkt) cmzs vltozval.

Az ilyen vltozk deklarlsa az AT kulcsszval s a fizikai cm megadsval trtnik. A cmek felptse az albbi tblzat szerinti. A kzvetlen cmeket hierarchikus cmeknek is szoktk nevezni, % jellel kezddnek, amelyet egy bet kvet: I (bemenet, Q (kimenet) vagy M (vltoz, merker). Az ezt kvet bet a cm hosszra ad informcit. Az X bitcm elhagyhat. kzvetlen PLC-cmek % I Q M SEMMI X B W D L v,w,x,y,z pldul: % I % Q % M % M % I % Q magyarzat kezdjel bemenet kimenet merker bit bit (opcionlis) bjt sz duplasz hossz sz hierarchikus cm, jobbrl balra n a hierarchiartk. A hossza s interpretlsa gyrtfgg. Pl.: z-bit, y-bjt, x-modul, w-vonal, v-erforrs 1. modul, 2. bjt 3-ik modul, 0. bjt 5. modul, 2. bjt, 0. bit 5. modul, 2. bjt, 0. bit 1. modul, 0. bjt, 4. bit 0.erforrs,0.vonal,0-ik modul, 1. bjt, 4. bit

W D X B

0.0.1.2 0.0.3.0 0.0.5.2.0 0.0.5.2.0 0.0.1.0.4 0.0.0.1.4

A bitcm 0..7 kztt vltozhat. A bjtcm gpfgg (sszesen mennyi be/kimenet ill. merker definilhat.) Gyakran elrs, hogy a sz csak pros bjtcmen kezddhet. (Ne felejtsk el, hogy kzvetlen cmzs vltozkat csak a fprogramban lehet deklarlni!) 24

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Plda kzvetlen cmzs vltozk deklarlsra VAR (*kzvetlen brzols vltozk*) AT%IW6 : WORD; AT%QD4 : DINT; (*szimbolikus nev, kzvetlen cmzs vltozk*) INP_BYTE AT%IB0; OUT_WORD AT%QW0; END_VAR LD INP_BYTE BYTE_TO_WORD ST OUT_WORD .

25

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

A szervezsi egysg trzsrsze Az utastslista Sororientlt nyelv: egy parancs egy sor. A parancssor elemei: CMKE : OPETOR/FGV OPERANDUS(LISTA) MEGJEGYZS (* *) jelek kztt

mvelet (parancs) vagy fggvnynv kettspont

nincs; egy vagy tbb konstans; vltoz: a mvelethez; bemeneti jel(ek) vesszvel elvlasztva : a FGV-hez.

ugrsi cmke (az adott sorra); a kettsponttal egytt el is maradhat

Soronknt egy megjegyzs megengedett. A pontosvessz (;) az utastslistban nem hasznlhat sem hatrol karakterknt, sem kommentrkezdetknt. A mvelet (parancs) s az operandus kztt legalbb egy szkzt kell hagyni. Nem ktelez a tabultor hasznlata. Az akkumultor Az assembly nyelvek gyakran indulnak ki egy fizikailag is meglv processzorakkumultorbl. Az utastslists nyelv szintn ismeri ezt az akkumultort, amelynek CURRENT RESULT (CR), aktulis eredmny a neve, de nem gy kezeli, mint egy fix hosszsg regisztert. A fordt (compiler) gondoskodik arrl, hogy rendelkezsre lljon a feldolgozand adattpusnak megfelel hosszsg adatterlet (akku-trol). Ms assembly nyelvektl eltren, nincs kln specilis sttuszbit. Az sszehasonltsok eredmnye (igaz/hamis, 0/1), a CR ben kpzdik. A feltteles ugrs vagy hvs a CR rtktl fgg. Szintaktikai hibt okoz, ha klnbz adattpusok kztt akarunk mveletet vgrehajtani, vagyis, ha a CR adattpusa ms, mint az operandus adattpusa. Egy mvelet a CR rtkt : belltja (B); mdostja (M); vltozatlanul hagyja (V); nem definilja (U).

A kvetkez fejezet tblzata mutatja az elemi mveletek fenti mveleti csoportba sorolst is. Mveletek, parancsok Az albbiakban sszefoglaljuk az utastslista mveleteit. Ezek kzl nhnyat n. mdost opertorokkal is kibvthetnk. 26

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Mdost opertorok A mdost opertorok j jelentst adnak a mveleteknek. negls N a parancs vgrehajtsa eltt az operandust neglja. zrjel ( ) segtsgvel a CR rtkt egy utastssorozat eredmnyvel hozhatjuk kapcsolatba. A zrjelek egymsba gyazhatk. Pl.: LD ADD( ADD( ADD ) ) ST 1 2 3 4 valt1

a mvelet feltteles vgrehajtsa C vannak olyan mveletek, amelyek eredmnye logikai rtk. Ha ez igaz, az utastst vgrehajtja, ha nem a program a mveletet tugorja, s a kvetkez sorral folytatja a futst. Pl.: LD GT JMPC JMP valt1 CR=1, ha valt1>20, egybknt CR=0. 20 B2 TOVABB

B2 : . TOVABB : ..

27

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! A mveletek csoportostsa Mveletek logikai (BOOL) vltozkkal mvelet mveletcsoport rtelmezs LD LDN B betlts a CR-be AND ANDN M s kapcsolat a CR s az operandus kztt AND( ANDN( OR ORN M vagy kapcsolat a CR s a mvelet operandusa kztt OR( ORN( XOR XORN M kizr-vagy kapcsolat a CR s a mvelet operandusa XOR( XORN( kztt ST STN V CR rtknek /negltjnak trolsa az operandusban S V operandus belltsa igaz (1) rtkre, ha CR=igaz R V operandus belltsa hamis (0) rtkre, ha CR=igaz ) V a zrjeles mvelet vge Megjegyzs: a legtbb fejleszti rendszer kibvti a fenti mveleteket azonos nvvel, de standard fggvnyknt ANY_BIT adattpusra. Ezzel biztostjk, hogy azonos mveleti nvvel, szhosszsg adatokra is alkalmazhat a parancs. A felhasznlnak nem kell klnbsget tennie, hogy alapmveletet, vagy standard fggvnyt hv. Mveletek ltalnos (ANY) adattpussal mvelet LD ST ADD ADD( SUB SUB( MUL MUL( DIV DIV( GT GT( GE GE( EQ EQ( NE NE( LE LE( LT LT( ) mveletcsoport B U M M M M M M M M M M U rtelmezs AZ OPERANDUS CR-be tltse CR rtknek trolsa az operandusban az operandus rtkt hozzadja a CR-hez az operandus rtkt levonja a CR-bl az operandus rtkvel szorozza a CR-t az operandus rtkvel osztja a CR-t CR > operandus? igen:CR=1, nem: CR=0. CR >= operandus? igen:CR=1, nem: CR=0. CR = operandus? igen:CR=1, nem: CR=0. CR operandus? igen:CR=1, nem: CR=0. CR <= operandus? igen:CR=1, nem: CR=0. CR < operandus? igen:CR=1, nem: CR=0. a zrjeles mvelet vge

Ugr s hvutastsok (programszervezsi utastsok) mvelet mveletcsoport JMP V vagy U JMPC JMPCN U CAL V CALC CALCN U RET V vagy U RETC RETCN U FGV_nv M rtelmezs felttel nlkli ugrs CR-fgg feltteles ugrs felttel nlkli hvs CR-fgg feltteles hvs felttel nlkli visszatrs CR-fgg feltteles visszatrs fggvnyhvs cmkre FB FGV-bl, FB-bl

A fenti tblzatban lv mveletek operandusai cmkk ill. egyedi FB_nevek.

28

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

A fggvnyek s a fggvnyblokkok hasznlata A fggvnyek hvsa A fggvnyek hvsa utastslistban a fggvnynv megadsval trtnik. Az aktulis paramtereket vesszvel elvlasztva fzzk hozz. A paramtertads gy trtnik, hogy az elsknt deklarlt bemeneti vltozt berjuk az AKKU-ba, a tbbi vltozt a fggvny hvsi sorban, a fggvny neve utn, vesszvel elvlasztva soroljuk fel. A fggvnyek rvnyessgi terlete globlis, nem kell kln deklarlni. A fggvnynek pontosan egy kimeneti paramtere van, amely a CR-be kerl. Ez gy lehetsges, hogy a fggvnytrzsben van egy olyan trolsi utasts, amely a fggvnynvvel azonos nev vltoznak ad rtket. Ezt a vltozt a fordt automatikusan generlja, a deklarcis rszben nem kell a felhasznlnak kln definilnia. Plda fggvnyhvsra A fggvny deklarlsa: FUNCTION felhasznaloi : INT VAR_INPUT fgvpar1, fgvpar2, fgvpar3: INT; END_VAR LD fgvpar1 ADD fgvpar2 ADD fgvpar3 ST felhasznaloi (*visszatrsi rtk*) END_FUNCTION A fggvny hvsa: VAR par1: INT :=10; par2: INT :=20; par3: INT :=30; eredm: INT; END_VAR LD par1 felhasznaloi par2, par3 (*msodik hvs*) felhasznaloi par2, par3 ST eredm A msodszori hvs utn az eredm vltozban trolt rtk: 110.

29

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Gyakran nem is vesszk szre, hogy nem mveletet, hanem egy standard fggvny hvst tartalmazza az utastssor. Ennek felismerse a fordt feladata. Plda mveletre Var valt1: BOOL; END_VAR LD TRUE AND valt1 Plda standard fggvny hvsra Var valt1: WORD; END_VAR LD 16#77F AND valt1 A fggvnyblokk hvsa A fggvnyblokk a CAL vagy a CALC/CALCN paranccsal hvhat. Az IEC-1131-3 szabvny a FB-hvs hromfle szintaktikjt engedi meg: hvs a bemeneti paramterek zrjelbe zrt listjval; hvs eltt a bemeneti paramtereknek a megfelel cmre trolsval; implicit hvs a bemeneti paramterek, mint opertorok felhasznlsval.

A harmadik mdszer csak a standard fggvnyblokkoknl alkalmazhat. (Ilyenkor a rendszer kpes a standard fggvnyblokkok bemeneteit mint mveleteket (parancsokat) rtelmezni. Erre csak kevs fejleszti rendszer van felksztve.) Az albbi pldban egy standard fggvnyblokk, a bekapcsols-ksleltetses idzt szabvny szerinti hrom lehetsges hvst mutatjuk be. Az idzt deklarlsa: VAR indit, ki : BOOL :=0; (*indit: futsengedlyez input, ki: kimenet*) idozito1: TON; (*standard FB TON deklarls egyedi nven*) ertek: TIME; (*id adatttpus vltoz*) END_VAR

30

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! A fggvnyblokk hvsa: 1. mdszer (*paramtertads*) 2. mdszer LD t#500ms ST idozito1.PT LD indit ST idozito1.IN CAL idozito1 3. mdszer LD t#500ms PT idozito1 LD indit IN idozito1

CAL idozito1(IN:=indit, PT:= t#500ms)

A kimeneti paramterek kirtkelse mindhrom mdszernl azonos: LD ST LD ST idozito1.Q ki idozito1.ET ertek

A deklarcis rsz s a kimenetek kiolvassa mindhrom mdszernl azonos. Klnbsg a bemeneti paramtertadsban s a FB-hvsban van. Plda a felhasznli fggvnyblokk hvsra Lssunk egy pldt felhasznli fggvnyblokk hvsra is. A fggvnyblokknak csak a deklarcis rszt adjuk meg, a FB-trzsnek a plda szempontjbl nincs jelentsge. A fggvnyblokk: FUNCTION_BLOCK Fblokk VAR_INPUT par1: TIME; par2;: WORD; par3: INT; END_VAR ..(*utastsok sorozata*) END_FUNCTION_BLOCK PROGRAM progr1 VAR_GLOBAL fgvblk1: Fblokk; globvalt : INT; END_VAR VAR BE: WORD AT %IW4; END_VAR . END_PROGRAM

31

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Hvsok: 1. mdszer: CAL fgvblk1(par1:= t#20ms, par2:=BE, par3:=globvalt) vagy: CAL fgvblk1(par1:= t#20ms, par2:=BE) (A hinyz formlis paramter aktulis rtke az els hvskor a kezdeti rtk vagy a default rtk, ksbbiekben az utols hvs rtke.) 2. mdszer: LD ST LD ST LD ST CAL t#20ms fgvblk1.par1 BE fgvblk1.par2 globvalt fgvblk1.par3 fgvblk1

32

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

Programtervezs funkcitervben

5. bra Plda a funkciterv elemeire

A funkcitervben a vezrlalgoritmust grafikus objektumok kapcsolatrendszereknt ptjk fel. Az objektumok lehetnek: sszekapcsolsok; ugrsok grafikus jelei; fggvnyek s fggvnyblokkok hvsa; csatlakoztatsok.

A funkciterv logikus, jl ttekinthet programtervet eredmnyez, melyben a hibafelismers, program-mdosts lnyegesen egyszerbb, mint az utastslistban. A funkcitervben az informci ramls irnyt balrl jobbra s fellrl lefel, sorosan, lpsenknt kell elkpzelnnk, azaz a funkciterv nem analg egy ramkri tervvel. A korszer fejlesztrendszerek lehetv teszik a vezrlalgoritmus funkcitervvel trtn lerst, de ezt fordtskor mindig tkonvertljk utastslistba. Nem felejtkezhetnk el teht arrl, hogy br korszerbb programtervezsi mdszerrel dolgozunk, a gpen fut programunk idben sorban egyms utn kvetkez informci-feldolgoz gpi parancsok sorozata, amely nem felel meg egy digitlis ramkr prhuzamosan fut ramjeleinek.

33

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! A standard fggvnyek Az IEC-1131-3 szabvny a standard fggvnyeket az albbi nyolc csoportba foglalja: 1. 2. 3. 4. 5. 6. 7. 8. Tpusvltsra szolgl fggvnyek (adattpus konvertlsa). Numerikus fggvnyek. Aritmetikai fggvnyek. Bitsorozat fggvnyek (lptet s bitsoros logikai fggvnyek). sszehasonlt s kivlaszt fggvnyek. Karaktersorozat feldolgoz fggvnyek (sztring-mveletek). TIME adattpus specilis fggvnyei. Szmllval kapcsolatos specilis fggvnyek.

Az albbi tblzat a fenti felosztsnak megfelelen csoportostott standard fggvnyek jellemzit tartalmazza. standard fggvny (a bemeneti paramterekkel) Tpuskonvertl fggvnyek *_TO_** (ANY) ANY ANY_INT ANY_NUM ANY_REAL ANY_REAL ANY_REAL ANY_REAL ANY_REAL ANY_REAL ANY_REAL ANY_REAL ANY_REAL ANY_REAL ANY_NUM TIME TOD DT ANY_NUM TIME ANY_NUM TIME TIME TOD TIME DT TIME ANY_NUM TRUNC (ANY_REAL) Numerikus fggvnyek ABS (ANY_NUM) SQRT (ANY_REAL) LN (ANY_REAL) LOG (ANY_REAL) EXP (ANY_REAL) SIN (ANY_REAL) COS (ANY_REAL) TAN (ANY_REAL) ASIN (ANY_REAL) ACOS (ANY_REAL) ATAN (ANY_REAL) Aritmetikai fggvnyek (IN1,IN2) ADD (ANY_NUM, ANY_NUM) ADD (TIME, TIME) ADD (TOD, TIME) ADD (DT, TIME) MUL (ANY_NUM, ANY_NUM) MUL (TIME, ANY_NUM) SUB (ANY_NUM, ANY_NUM) SUB (TIME, TIME) SUB (DATE, DATE) SUB (TOD, TIME) SUB (TOD, TOD) SUB (DT, TIME) SUB (DT, DT) DIV (ANY_NUM, ANY_NUM) 34 tpuskonverzik elemi adattpusok kztt REAL szm egszt adja abszolt rtkkpzs ngyzetgyk termszetes alap logaritmus 10-es alap logaritmus exponens szinusz fgv. koszinusz fgv. tangens fgv. arcszinusz fgv arckoszinusz fgv. arctangens fgv. sszeads idsszegzs idsszegzs idsszegzs szorzs idszorzs kivons idkivons idkivons idkivons idkivons idkivons idkivons oszts fggvnyrtk adattpusa jelents

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! standard fggvny (a bemeneti paramterekkel) DIV (TIME, ANY_NUM) MOD (ANY_NUM, ANY_NUM) MOVE(ANY_NUM,ANY_NUM) Lptet fggvnyek (IN1,N) SHL (ANY_BIT, N) SHR (ANY_BIT, N) ROL (ANY_BIT, N) ROR (ANY_BIT, N) Bitsoros fggvnye k (IN1,IN2) AND (ANY_BIT, ANY_BIT) OR (ANY_BIT, ANY_BIT) XOR (ANY_BIT, ANY_BIT) NOT (ANY_BIT, ANY_BIT) Kivlaszt fggvnyek (IN1,IN2) SEL (G,ANY, ANY) MAX (ANY,ANY) MIN (ANY,ANY) LIMIT (MN,ANY,MX) MUX (K,ANY, ANY) sszehasonlt fggv. (IN1,IN2) GT (ANY,ANY) GE (ANY,ANY) EQ (ANY,ANY) LT (ANY,ANY) LE (ANY,ANY) NE (ANY,ANY) Karaktersor fggvnyek (IN1,IN2) LEN (STRING) LEFT (STRING,L) RIGHT (STRING,L) MID (STRING,L,P) CONCAT (STRING,STRING) INSERT (STRING,STRING,P) DELETE (STRING,L,P) REPLACE(STRING,STRING,L,P) FIND (STRING,STRING) fggvnyrtk jelents adattpusa TIME idoszts ANY_NUM maradkrtket ad oszts ANY_NUM egyenlsg ANY_BIT ANY_BIT ANY_BIT ANY_BIT ANY_BIT ANY_BIT ANY_BIT ANY_BIT ANY ANY ANY ANY ANY BOOL BOOL BOOL BOOL BOOL BOOL INT STRING STRING STRING STRING STRING STRING STRING INT bitmintt adott rtkkel balra tolni bitmintt adott rtkkel jobbra tolni bitmintt adott rtkkel balra forgatni bitmintt adott rtkkel jobbra forgatni bitsoros S sszekapcsols bitsoros VAGY sszekapcsols bitsoros XOR sszekapcsols bitsoros NEGLS bin. kivlaszts1 2-bl maximum minimum korltozs multiplexer (1-N-bl) nagyobb, mint nagyobb, egyenl egyenl kisebb, mint kisebb, egyenl nem egyenl karaktersor hossza karaktersor balrl karaktersor jobbrl karaktersor kzprl karaktersor sszefzs karaktersor beszrs karaktersor trls karaktersor csere pozci keress adattpus UINT ANY_INT ANY_INT BOOL ANY_INT ANY ANY 35

A tblzat rvidtseinek magyarzata bemenet jelents N a lptetend bitek szma L balpozci a karaktersoron bell P pozci a karaktersoron bell G a kivlasztand elem a 2 db bemenetbl K a kivlasztand elem N db bemenetbl MN minimlis rtk a limitlshoz MX maximlis rtk a limitlshoz

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

Standard fggvnyblokkok Az IEC-1131-3 szabvny szmos fggvnyblokkot definil, ezzel biztostva, hogy rendelkezsre lljanak a legfontosabb, trolsi tulajdonsggal rendelkez fggvnyblokkok. A szabvnyban lert fggvnyblokkok az albbi t csoportba sorolhatk: 1. 2. 3. 4. 5. Bistabil elemek (flip-flopok, R/S-trolk). lkirtkelk. Szmllk. Idztk. Kommunikcis fggvnyblokkok.

Az albbi tblzatban sszefoglaljuk a a standard fggvnyblokkok jellemzit, kivve a kommunikcis fggvnyblokkokat. A kommunikcis fggvnyblokkokat a szabvny kln fejezete rja le (IEC 1131-5), ezt a gyrtk ltalban sajt fggvnyblokkokkal is kiegsztik, trgyalsval jelen munkban nem foglalkozunk. a fggvnyblokk neve s a kimeneti jelents bemeneti paramterek rtk(ek) R/S trolk SR (S1,R) Q SET dominns RS (R,S1) Q RESET dominns lkirtkelk R_TRIG (CLK) Q felfut l felismerse F_TRIG (CLK) Q lefut l felismerse Szmllk CTU (CU,R,PV) Q,CV felfel szmll CTD (CD,LD,PV) Q,CV lefel szmll CTUD (CU,CD,R,LD,PV) QU,QD,CV fel/le-szmll Idztk TP (IN,PT) Q,ET impulzusad TON (IN,PT) Q,ET bekapcsols-ksleltetses idzt TOF (IN,PT) Q,ET kikapcsols-ksleltetses idzt RTC (EN,PDT) Q,CDT valsidej ra

36

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! A standard fggvnyblokkok be- s kimeneti paramtereinek rtelmezse s adattpusa bemenet/kimenet jelents R RESET jel bemenet S SET jel bemenet R1 RESET dominns S1 SET dominns Q kimenet (ktllapot) CLK (tem) bemenet (ClocK) CU (Count Up) szmlls felfel bemeneti impulzus CD (Count Down) szmlls lefel bemeneti impulzus LD (LoaD) szmllrtk betltse bemenet PV (Preset Value) szmllrtk QD lefelszmlls kimenete (Down) =1, ha CV=0 QU felfelszmlls kimenete (Up) =1, ha CVPV CV Aktulis szmllrtk (Current Value) IN idzt indtsa (INput) PT idrtk (Preset Time) ET az indtstl eltelt id (Elapsed Time) PDT dtum/idrtk (Preset Date and Time) CDT aktulis dtum/idrtk (Current Date and Time) adattpus BOOL BOOL BOOL BOOL BOOL BOOL R_EDGE R_EDGE INT INT BOOL BOOL INT BOOL TIME TIME DT DT

A standard fggvnyblokkok kimeneti rtke az els futtats sorn nulla, kivve a valsidej rt. A standard fggvnyblokkok bemeneti paramterei kulcssznak minslnek. A standard fggvnyblokkokat a programkszts sorn gy tudjuk felhasznlni, hogy a deklarcis rszben egy egyedi nvhez mint FB-tpust rendeljk hozz. A POU-trzsben ezen egyedi nvvel dolgozunk. A paramtertads a fggvnyblokkoknl trgyalt mdon lehetsges.

Trolk RS trol Funkcitervbeli jellse:

6. bra RS-trol

RESET dominns flip-flop. Ha a SET s RESET jel egyidejleg 1 rtk, a RESET jel hatrozza meg a kimenetet, vagyis Q1=0. Az RS fggvnyblokk az albbi funkcitervvel lerhat algoritmus szerint mkdik:

37

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

7. bra Az RS-trol bels algoritmusa

SR trol Funkcitervbeli jellse:

8. bra SR-trol

SET dominns flip-flop. Ha a SET s RESET jel egyidejleg 1 rtk, a SET jel hatrozza meg a kimenetet, vagyis Q1=1. Az SR fggvnyblokk az albbi funkcitervvel lerhat algoritmus szerint mkdik:

9. bra Az SR-trol bels algoritmusa

Felfut l detektlsa: az R_TRIG fggvnyblokk brzols funkcitervben:

10. bra A felfut l detektlsa

A Q kimenet abban a programciklusban 1, amelyben a CLK bemeneti vltoz rtke 0-rl 1re vlt.

38

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! A fggvnyblokk algoritmusa funkcitervben:

11. bra Impulzus felfut lre

Utastslistban: LD ANDN ST LD ST CLK M0 Q CLK M0 .

Lefut l detektlsa: az F_TRIG fggvnyblokk brzols funkcitervben:

12. bra A lefut l detektlsa

A Q kimenet abban a programciklusban 1, amelyben a CLK bemeneti vltoz rtke 1-rl 0ra vlt. A fggvnyblokk algoritmusa funkcitervben:

13. bra Impulzus lefut lre

Utastslistban: LDN AND ST LD ST CLK M0 Q CLK M0 . 39

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

A szmllk CTD (Count Down) lefel szmll brzolsa funkcitervben:

14. bra A lefel szmll

A be/kimeneti jelek rtelmezse: jells jelents CD A CD bemeneten megjelen jel felfut lre a szmll rtkt eggyel cskkenti. LOAD A LOAD bemeneten lv jel felfut lre a szmll rtkt PV-vel teszi egyenlv (a szmll kezdeti rtknek belltsa). PV A szmll kezdeti rtke. Alaprtelmezs=0. Q A szmll ktllapot kimenete. rtke=1, ha a szmll rtke: CV=0. CV A szmll rtke.

CTU (Count Up) felfel szmll brzolsa funkcitervben:

15. bra A felfel szmll

40

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! A be/kimeneti jelek rtelmezse: jells jelents CU A CU bemeneten megjelen jel felfut lre a szmll rtkt eggyel nveli RESET A RESET bemeneten lv jel felfut lre a szmll rtkt 0-val teszi egyenlv (a szmll kezdeti rtknek belltsa). PV A szmll fels hatrrtke. Q A szmll ktllapot kimenete. rtke=1, ha a szmll rtke: CVPV. CV A szmll rtke.

CTUD (Count Up-Down) fel-le szmll brzolsa funkcitervben:

16. bra A fel/le szmll

A be/kimeneti jelek rtelmezse: jells jelents CU A CU bemeneten megjelen jel felfut lre a szmll rtkt eggyel nveli. CD A CD bemeneten megjelen jel felfut lre a szmll rtkt eggyel cskkenti. RESET A RESET bemeneten lv jel felfut lre a szmll rtkt 0-val teszi egyenlv (a szmll kezdeti rtknek belltsra). LOAD A LOAD bemeneten lv impulzus jelre a szmll rtkt PV-vel teszi egyenlv (a szmll kezdeti rtknek belltsa). PV A szmll kezdeti rtke. Alaprtelmezs=0. QU A szmll ktllapot kimenete. rtke=1, ha a szmll rtke: CVPV. QD A szmll ktllapot kimenete. rtke=1, ha a szmll rtke: CV=0. CV A szmll rtke.

41

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

Az idztk Clunk az ltalnos, gptl fggetlen programfejleszts elsajtttatsa, ezrt az albbiakban csak a szabvnyban rgztett idztket mutatjuk be. Gyrttl s tpustl fggen az idztk palettja sokkal szlesebb is lehet. Impulzus idzt (TP = Time Pulse) Funkcitervbeli jellse:

17. bra Az impulzus idzt funkcitervbeli brzolsa

Az idzt viselkedst bemutat iddiagram:

18. bra Az impulzus idzt iddiagramja

A be/kimeneti jelek rtelmezse: jells jelents IN Az IN bemeneten jelentkez felfut lre indul az idzts. PT A kimeneten megjelen impulzus idtartamt lltja be. PT rtkt a FB mindig csak IN felfut lre krdezi le. Kztes mdostsa nincs hatssal. Q Az idzt ktllapot kimenete. Belltsa az iddiagram szerint. ET Az indts ta eltelt id.

42

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Bekapcsols-ksleltetses idzt Funkcitervbeli jellse:

19. bra A bekapcsols-ksleltetses idzt funkcitervbeli brzolsa

Az idzt viselkedst bemutat iddiagram:

20. bra A bekapcsols-ksleltetses idzt iddiagramja

A be/kimeneti jelek rtelmezse: jells jelents IN Az IN bemeneten jelentkez felfut lre indul az idzts. PT A kimeneten megjelen jel ksleltetsnek idejt adja meg. Q Az idzt ktllapot kimenete. Belltsa az iddiagram szerint. ET Az indts ta eltelt id. rtke nem lehet nagyobb PT-nl. Kikapcsols-ksleltetses idzt Funkcitervbeli jellse:

21. bra A kikapcsols-ksleltetses idzt funkcitervbeli brzolsa

43

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Az idzt viselkedst bemutat iddiagram:

22. bra A kikapcsols-ksleltetses idzt iddiagramja

A be/kimeneti jelek rtelmezse: jells jelents IN Az IN bemeneten jelentkez felfut lre a kimenet 1-re vlt. PT Az IN bemenet lefut le utn PT ideig a Q kimeneten mg fenntartand az 1 jel. Q Az idzt ktllapot kimenete. Belltsa az iddiagram szerint. ET A lefut l ta eltelt id. rtke nem lesz negatv.

44

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

A PLC konfigurlsa Az IEC-1131-3 szabvny ajnlsa szerint a strukturlt szoftvermodell biztostja a felhasznli programok knnyebb ttekinthetsgt, egyenknti szintaktikai ellenrzst, hordozhatsgt. Ebben a fejezetben Az IEC-1131-3 szabvny azon konfigurcis elemeit ismertetjk, amelyek a programszervezsi egysgek sszehangolsnak fontos segdeszkzei. Itt definiljuk a programok futsi tulajdonsgait, a kommunikcis kapcsolatokat s a hardver sszerendelseket. A mai modern opercis rendszerek a PLC oldalrl tmogatjk ezeket a konfigurcis elemeket. Egy CPU pldul tbb programot is tud egyszerre futtatni (multitaszking). A PLC projekt felptse A PLC-projekt, amelyet egy jl krlhatrolhat irnytsi feladat megvalstsra hoznak ltre, az albbi brn lthat hierarchikus felptssel jellemezhet. Lthatjuk, hogy az elz fejezetekben trgyalt programszerkezet fltti hierarchiaszinteken megjelenik a taszk (TASK) a fut programmal, az erforrs (RESOURCE) s a konfigurci (CONFIGURATION).

a konfigurci elemei CONFIGURATION

RESOURCE

TASK/ FUT PROGRAM

PROGRAM

FGVBLOKK FGVBLOKK

FGGVNY

FGVBLOKK

FGGVNY

FGGVNY

FGVBLOKK

A PLC projekt felptse az IEC-1131-3 szabvny szerint

A POU-kbl kpezik a hvsi hierarchit, a konfigurcis elemek pedig arra szolglnak, hogy ezekhez a POU-khoz futtassi sajtsgokat s hardverelemeket rendeljenek hozz. Rszletezve: a programok s fggvnyblokkok futsi jellemzit, a kommunikcis kapcsolatokat, a programvltozk lekpezst a PLC hardvercmeire. 45

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! A konfigurci sszetevi A konfigurcis elemek hatrozzk meg a PLC-rendszer vals sszetevit: a konfigurcit: a PLC-rendszert, mint egy keretbe ptett, akr tbb (elosztott) kzponti egysggel br, folyamatkzeli (gpegysg szint) irnytrendszert. az erforrst: (esetleg multitaskingot lehetv tev) CPU-t. a taszkot: a programok s program tpus fggvnyblokkok futsi sajtossgait. (A PLC program egyediestse.) a fut programot: a programbl ill. fggvnyblokkbl s a TASK-bl kpzett egysget. A CPU fprogramja egy PROGRAM tpus POU. A fprogramokhoz s a fggvnyblokkokhoz hozzrendeljk a futsi sajtossgaikat, mint pl. a periodikus vgrehajtst, prioritsi szintet. A fut program egy rgztett (lezrt) tulajdonsgokkal rendelkez programegysg, amely termszetesen egy adott CPU-n kpes csak futni. A CONFIGURATION jellemzi Az IEC-1131-3 szabvny a CONFIGURATION elemet hasznlja arra, hogy a PLC rendszer erforrsait (RESOURCE) sszefogja s biztostsa kzttk az adat s informcicsert. A konfigurci rszei: CONFIGURATION konfigurci-nv Tpusdefincik Globlis deklarcik RESOURCE-deklarci ACCESS-deklarci END_CONFIGURATION A konfigurciban deklarlt tpusokat, globlis vltozkat az egsz projekt ltja s hasznlhatja. (Tbb CPU is.) A konfigurcik kztti adatcsert a VAR_ACCESS segtsgvel hozhatjuk ltre. Lteznek ezen kvl egyb, konfigurcik kztti kommunikcit biztost fggvnyek is, ezek az IEC-1131-5 szabvny rja le. A konfigurcira plda: CONFIGURATION PLC_gep1 VAR_GLOBAL END_VAR RESUORCE CPU_szszalag ON RESUORCE CPU_henger ON VAR_ACCESS END_VAR A RESOURCE jellemzi A RESOURCE deklarls biztostja a TASK-ok hozzrendelst a PLC-rendszer fizikai erforrsaihoz.

CPU_001 CPU_002

END_RESOURCE END_RESOURCE

46

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! . Az erforrs rszei: RESOURCE erforrs-nv ON Globlis deklarcik TASK-deklarci END_ RESOURCE Az erforrs-nv lesz a PLC-CPU szimbolikus neve. A RESOURCE-ban deklarlt globlis vltozk csak az adott CPU-n bell lthatk s hasznlhatk. Az erforrson bell rendeljk hozz a TASK-hoz a program tpus POU-t. A konfigurci s az erforrs nem tartalmaz parancs rszt, csak deklarcis rsze van. Az erforrs deklarcira plda: RESOURCE CPU_szszalag ON TASK PROGRAM WITH END_RESOURCE RESOURCE CPU_henger ON TASK PROGRAM WITH END_RESOURCE A TASK s a fut program A TASK definci feladata a program s fggvnyblokkjainak futsi sajtossgait rgzteni. Rgebbi PLC-rendszerekben szoksos volt specilis blokkok megadsa (pl. szervezi blokk), amelyek rgztett futtatsi sajtossgokkal rendelkeztek. Ezeket tlthette fel utastsokkal a felhasznl, ha ciklikus vagy megszakts/esemny feldolgozst kvnt. A TASK bevezetsvel ezen tulajdonsgokat expliciten s gyrttl fggetlenl lehet megfogalmazni. Ezltal a programok jobban dokumentlhatk s knnyebben vrakoztathatk. TASK deklarlsra plda: TASK task-nv (task-tulajdonsgok) CPU_001 erforrs

CPU_002

PROGRAM program-nv WITH task-nv : progr-nv (PROGRAM csatlakoztats) A futsidej program neve a program-nv lesz. Ez tulajdonkppen egy progr-nv tpus POU instanclsa, egyediestse. A (PROGRAM csatlakoztats) adja meg a formlis paramtereknek megfelel aktulis paramterek listjt. A TASK lehetsges tulajdonsgait a kvetkez tblzatba foglaltuk ssze.

47

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! TASK-paramter jelents SINGLE A paramterhez rendelt jel emelked le indtja el a program egyszeri lefutst. INTERVAL Ha ez a paramter nem egyenl nullval, akkor a TASK-hoz rendelt program ciklikusan fut. Ez a paramter szolgl a ciklusid megadsra s tllpsnek ellenrzsre. PRIORITY A TASK-hoz rendelt program prioritst adja meg az erforrson egyidejleg fut tbbi programhoz viszonytva. A priorits hatsa attl fgg, hogy a PLC opercisrendszere milyen mdon szablyozza tbb TASK feldolgozst. (Teht implementcifgg.) ltalban ktfle feldolgozsi md lehetsges. Az egyik szerint (preemtive scheduling) a fut taszk azonnal megszakad, ha egy magasabb priorits taszk futni akar. A msik mdszer a taszk a futst nem szaktja meg, az lefut. Ezutn a rendszer a vrakoz taszkok kzl a legnagyobb prioritst indtja el. (nonpreemtive scheduling) Mindkt eljrs clja, hogy a legmagasabb priorits taszknak adja t az erforrs felgyelett. Plda TASK deklarcira TASK T_gyors (INTERVAL:=t#8ms, PRIORITY:=1); PROGRAM berendezes WITH T_gyors : progrA(szabpar:=%MW3,szabert:=hibakod) TASK T_megszakit (SINGLE := trigger, PRIORITY:=1); PROGRAM berendezes WITH T_megszakit : progrB Kis PLC rendszerekben (egy erforrs, egyetlen futtathat programmal) a konfigurci szerept teljesen tveheti a fprogram. A programban deklarljuk a rendszerben szksges globlis vltozkat, a kzvetlen lekpezs s a szimbolikus vltozkat. A futsi tulajdonsgokat a fejlesztrendszer ill. a PLC kpessgei (implicit) behatroljk, belltjk.

48

PLDATR
Az IEC-1131-3 szabvny rvid ismertetse utn, a jegyzet tovbbi fejezeteiben pldaprogramokon keresztl ismerkednk meg a PLC programozsnak technikjval. Az irnytott technolgiai folyamattal meglv folyamatos jelkapcsolat s a sajtos felhasznli programfuttats (jellemzen ciklikus feldolgozs) a programoztl, a klasszikus programfejlesztsnl megszokottl kiss eltr ltsmdot, gondolkodsmdot kvn. A pldaprogramok sorval ezt a problmafelismer s megold kpessget szeretnnk a hallgatkban kifejleszteni. A pldk a nehzsgknek megfelel sorrendben kvetik egymst. A feladatok egy-egy kiemelt tma ismertetst, begyakoroltatst clozzk, nem trekedtnk minden esetben a teljes technolgiai folyamatnak, ill. az sszes biztonsgtechnikai elrsnak megfelel vezrlalgoritmus kidolgozsra. Az esettanulmnyokhoz a legtbb tletet a [8] irodalombl vettk. A programokat Az IEC-1131-3 szabvnynak megfelelen, az S40 programfejleszti rendszerben ksztettem s a KlcknerMoeller cg PS4-341-MM1 programozhat vezrljn teszteltem.

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

Kvetvezrlsek Szellztets felgyelete Egy mlygarzsba 4 db szellztett ptettek be. A szellztets felgyelett a szellzvezetkekben lv ramlsjelzk ltjk el. A garzs bejratnl a szellztetstl fggen jelzlmpa engedlyezi a behajtst. Jelzsek: Ha ngy, vagy hrom ventiltor mkdik, ezek gondoskodnak a megfelel szellzsrl, s a lmpa zldet mutat. Ha kt ventiltor mkdik, a lmpa srgt jelez. Ha kettnl kevesebb ventiltor mkdik, piros jelzst kell adni. sszerendelsi tblzat Bemenetek 1. ramlsjelz 2. ramlsjelz 3. ramlsjelz 4. ramlsjelz Kimenetek Piros lmpa Srga lmpa Zld lmpa A fggvnytblzat:
OKT 00 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17 I4 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 I3 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 I2 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 I1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 P 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 S 0 0 0 1 0 1 1 0 0 1 1 0 1 0 0 0 Z 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 1

Jel I1 I2 I3 I4 P S Z

Logikai hozzrendels 1. ventiltor zemel: 2. ventiltor zemel: 3. ventiltor zemel: 4. ventiltor zemel: vilgt, ha: vilgt, ha: vilgt, ha: I1=1 I2=1 I3=1 I4=1 P=1 S=1 Z=1

Cm I0.0 I0.1 I0.2 I0.3 Q0.2 Q0.1 Q0.0

50

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

Karno-tbla Piros (P):

Srga (S):

Zld (Z):

Mivel egy lmpnak mindig vilgtania kell, elegend, ha a kapcsolsi feltteleket csak kt lmpra rjuk meg, a harmadik pedig akkor lesz igaz, ha a msik kett hamis. Mivel a srga logikai fggvnye a leghosszabb, ezrt legyen: S=P&Z

51

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Funkciterv Piros lmpa vilgt: Zld lmpa vilgt:

Srga lmpa vilgt:

52

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Utastslista PROGRAM SZELLOZ VAR I1 AT %I0.0.0.0.0: I2 AT %I0.0.0.0.1: I3 AT %I0.0.0.0.2: I4 AT %I0.0.0.0.3: PIROS AT BOOL; SARGA AT BOOL; ZOLD AT BOOL; END_VAR LDN ANDN ANDN OR( NOT ANDN ANDN ) OR( NOT ANDN ANDN ) OR( NOT ANDN ANDN ) ST I1 I2 I3 I1 I2 I4 I1 I3 I4 I2 I3 I4 PIROS

BOOL; BOOL; BOOL; BOOL; %Q0.0.0.0.2: %Q0.0.0.0.1: %Q0.0.0.0.0:

LD AND AND OR( AND AND ) OR( AND AND ) OR( AND AND ) ST

I1 I2 I3 I1 I2 I4 I1 I3 I4 I2 I3 I4 ZOLD

LDN PIROS ANDN ZOLD ST SARGA END_PROGRAM

53

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Ltradiagram A programtrzs ltradiagramban brzolva:

54

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

Kvetvezrls tervezse dntsi tblzattal


A be- s kimeneti vltozk kztti kapcsolatot dntsi tblzat segtsgvel is felrhatjuk. (DIN 66241). A dntsi tblzat a dntsi feladatok tblzatos lersa. Viszonylag kevs dntsi szabllyal lerhat vezrlsi feladatoknl clszer alkalmazni. A tblzat kt f rszre oszthat: a felttelrszre s a kvetkezmny rszre. Problmalers R1 Felttelek 1.bemen vltoz 2.bemen vltoz . . n.bemen vltoz R2 Szablyok R3 ... Rn Egybknt

Felttel vagy esetlersok szablyok megadsval. (Az olyan bemeneti jelkombincira, amelyre nincs szably, az EGYB oszlop vonatkozik!)

Kvetkez- 1.kimen vltoz mnyek 2.kimen vltoz . . n.kimen vltoz

A felttelektl fgg kvetkezmnyek (akcik) jellse.

Jelllapotok:

0 : hamis 1 : igaz - : nincs jelentsge a felttelnek az adott szablyban.

A fggvnytblzattl csak a vltozk s kvetkezmnyeik elrendezsben klnbzik, gy a dntsi tblzat fogalmilag nem jelent j lersi mdot. Alkalmazsnak elnye akkor jelentkezik, ha a vezrlsi feladat visszavezethet kombincis hlzatra s nincs szksg a lehetsges bemeneti jelkombincik mindegyikre. A dntsi tblzattal lert vezrlsi feladat a fggvnytblzathoz hasonlan transzformlhat t vezrlprogramm. Az albbi vezrlsi feladat plda a dntsi tblzat hasznlatra. 6 db bemenjel esetn 26=64 a lehetsges bemenjel-kombincik szma. Egy ilyen nagymret igazsgtblzat nehezen tekinthet t, nehezen kezelhet.

Stancols
A gp hengere csak az albbi felttelek esetn mkdtethet: 1. A kt kzi nyomgomb egyidejleg lenyomva (most nincs ktkezes reteszelsi elrs). 2. A vdrcs zrva (leeresztve) s a lbkapcsol benyomva. 3. A vdrcs zrva s a kt kzi nyomgomb kzl az egyiket benyomtk. Ezen kvl mindhrom esetben szksges mg, hogy a kszlket mr bekapcsoltk s a kivgminta a helyn van.

55

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! sszerendelsi tblzat Bemenetek
BE - kapcsol 1. kzi nyomgomb 2. kzi nyomgomb Lbnyomgomb Vdrcs Kivgminta

Jel S1 S2 S3 S4 S5 S6

Logikai ssszerendels
bekapcsolva: benyomva: benyomva: benyomva: Vdrcs leeresztve: Kivgminta a helyn: S1=1 S2=1 S3=1 S4=1 S5=1 S6=1

Cm I0.0 I0.1 I0.2 I0.3 I0.4 I0.5

Kimenetek
Prshenger P leeresztve: P=1 Q0.0

A dntsi tblzat Problmalers BE - kapcsol 1. kzi nyomgomb 2. kzi nyomgomb Lbnyomgomb Vdrcs Kivgminta Prshenger A reduklt fggvnytblzat S6 1 1 1 1 S5 0 1 1 1 S4 0 0 0 1 S3 1 0 1 0 S2 1 1 0 0 S1 1 1 1 1 P 1 1 1 1 S1 S2 S3 S4 S5 S6 P 47 1 1 1 0 0 1 1 Szablyok 63 1 1 0 0 1 1 1 65 1 0 1 0 1 1 1 71 1 0 0 1 1 1 1 Egybknt

A diszjunktv norml forma: P = S6S5S4S3S2S1 V S6S5S4S3S2S1 V S6S5S4S3S2S1 V S6S5S4S3S2S1

56

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Ltradiagram

A program utastslistja
PROGRAM STANC VAR S1 AT %I0.0.0.0.0: S2 AT %I0.0.0.0.1: S3 AT %I0.0.0.0.2: S4 AT %I0.0.0.0.3: S5 AT %I0.0.0.0.4: S6 AT %I0.0.0.0.5: P AT %Q0.0.0.0.0: END_VAR LD( AND AND ANDN ANDN AND ) OR( AND ANDN ANDN AND AND ) OR( ANDN AND ANDN AND AND ) S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6

BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL;

OR( S1 ANDN S2 ANDN S3 AND S4 AND S5 AND S6 ) ST P END_PROGRAM

57

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

Gyakorl feladat

Szivattyk vezrlse

A technolgiai berendezs egy tmeneti folyadktrol, a belp folyadkram mennyisge idben vltozhat. A tartlyban 3 db szintrzkelt ptettek be, a fels kett akkor ad jelet, ha a folyadkszint az rzkelt elrte vagy fltte van, az als pedig akkor ad jelet, ha a folyadkszint alatta van. A tartly a kilp vezetkbe ptett kt db szivattyval rthet le.

23. bra Szivattyk vezrlse

A vezrlsnek kzi s automata zemmdot is kell biztostania. Kzi zemmdban (S1=1) a szivattykat a kezelszemly mkdtetheti a szivattykhoz tartoz be- ill. kikapcsol nyomgombokkal. Automata zemmdban (S1=0) a vezrlsnek kell megakadlyoznia a folyadk tlfolyst. Emelked folyadkszintnl: S8 s S7 kztt az 1. sz. szivatty mkdjn; S7 felett mindkt szivatty kapcsoljon be. Cskken folyadkszintnl, ha S8 szintrzkel jelez, mindkt szivatty lljon le. Feladat: sszerendelsi tblzat, funkciterv, utastslista.

58

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

Kvetvezrls trolssal Troltartlyrendszer: feltlts vezrlse Hrom troltartly tele llapott az S1, S3, S5 jeladk, az res jelet az S2, S4, S6 jeladk szolgltatjk az elbbi sorrendben. A vezrlsnek gondoskodnia kell arrl, hogy res jelzsnl egyszerre csak egy trolt tltsn fel. A tartly feltltse akkor fejezdik be, ha a tele jel megrkezik. A tartlyokat kzi szeleppel rtik.

24. bra Troltartlyok feltltsnek vezrlse

sszerendelsi tblzat Bemenetek


1. tartly tele 2. tartly tele 3. tartly tele 1. tartly res 2. tartly res 3. tartly res Jel S1 S3 S5 S2 S4 S6 Logikai sszerendels Cm I 0.0 I 0.2 I 0.4 I 0.1 I 0.3 I 0.5

A tartly tele, ha:


A tartly tele, ha: A tartly tele, ha: A tartly res, ha: A tartly res, ha: A tartly res, ha:

S1=1 S3=1 S5=1 S2=1 S4=1 S6=1

Kimenetek
1. tartly mgnesszelep 2. tartly mgnesszelep 3. tartly mgnesszelep Q1 Q2 Q3 A szelep nyitva, ha: A szelep nyitva, ha: A szelep nyitva, ha: Q1=1 Q2=1 Q3=1 Q0.0 Q0.1 Q0.2

59

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Funkciterv Utastslista : PROGRAM PR3TART VAR S1 AT %I0.0.0.0.0: BOOL; S2 AT %I0.0.0.0.1: BOOL; S3 AT %I0.0.0.0.2: BOOL; S4 AT %I0.0.0.0.3: BOOL; S5 AT %I0.0.0.0.4: BOOL; S6 AT %I0.0.0.0.5: BOOL; Q1 AT %Q0.0.0.0.0: BOOL; Q2 AT %Q0.0.0.0.1: BOOL; Q3 AT %Q0.0.0.0.2: BOOL; END_VAR LD S LD OR OR R LD S LD OR OR R LD S LD OR OR R S2 Q1 S1 Q2 Q3 Q1 S4 Q2 S3 Q1 Q3 Q2 S6 Q3 S5 Q1 Q2 Q3

END_PROGRAM

60

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Krdsek: Ha egyszerre tbb tartly is res jelzst ad, a fenti program milyen sorrendben fogja feltlteni ket? Hogyan mdostan a programot, ha az lenne a feladat, hogy a lerls sorrendjben tltse fel a tartlyokat? Hogyan mdostan a programot, ha a start/stop jelet is figyelembe kellene vennie, azaz csak akkor ellenrizze a szintjelzket s mkdtesse a szelepeket, ha a START gombot benyomtk?

61

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Gyakorl feladat: Gyrkapu vezrlse

Egy gyrkaput a kapusflkbl elektromotorral mkdtetnek. Az elektromotort kt teljestmnykapcsolval lehet a nyits illetve zrs irnyba kapcsolni. Q1: balra, a kapu kinylik. Q2 jobbra, a kapu zrdik. A kt relt nem lehet egyidejleg kapcsolni, klcsnsen reteszeljk egymst a kapcsolsi oldalon is. A kapu vghelyzeteit vglls-kapcsolk (S1: a kapu zrva, S2: a kapu nyitva) jelzik.

25. bra Gyrkapu vezrlse

A kapusflkben helyeztk el a kapu kezeli pultjt. A kaput kzi ill. automata zemmdban lehet nyitni/zrni. A kvnt mkds automata zemmdban: a gomb rvid idej benyomsval a kapu a vghelyzetig folyamatosan nylik, illetve zrdik. A mvelet a STOP gomb benyomsval brmikor megszakthat. A vezrlst gy kell megoldani, hogy ha a motor az egyik irnyba mkdteti a kaput, a msik irnyba tvltani csak a STOP benyomsa utn lehessen. Ha a kapu vghelyzetbe r, a motor lell. Kzi zemmdban a motor addig nyitja vagy zrja a kaput, amg a megfelel gombot lenyomva tartjk s a kapu mg nem rte el a vghelyzett. sszerendelsi tblzat Bemenetek a kapu zrva a kapu nyitva AUT/KZI vltkapcsol NYIT nyomgomb STOP nyomgomb ZR nyomgomb Kimenetek zrs irnyba kapcsol rel nyits irnyba kapcsol rel Jel S1 S2 A_K NYIT STOP ZAR Q1 Q2 Logikai sszerendels jelez, ha : S1=1 jelez, ha : S2=1 AUTOMATA, ha : A_K=1 benyomva: NYIT=1 benyomva: STOP=0 benyomva: ZAR=1 behzva: behzva: Q1=1 Q2=1 Cm I0.0 I0.1 I0.2 I0.3 I0.4 I0.5 Q0.1 Q0.2

62

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Impulzuskapcsol Egy jelzlmpa (Q0) az S0 nyomgomb (rvid idej) megnyomsra bekapcsol. Ha az S0 gombot ismtelten megnyomjk, a lmpa kialszik.

26. bra A kvnt mkdst szimull program frontpanelkpe

Iddiagram:

27. bra Az impulzuskapcsol iddiagramja

A bemeneti jelen fellp emelked l (0-1 tmenet) a kimenet llapotvltozst okozza. sszerendelsi tblzat Bemenet
Nyomgomb

Jel
S0

Logikai sszerendels
benyomva: S0=1

Cm
I0.0

Kimenet
Jelzlmpa Q0 vilgt: Q0=1 Q0.0

63

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Megolds

Utastslista PROGRAM NYGLAMPA VAR S0 AT %I0.0: BOOL; Q0 AT %Q0.0: BOOL; M0: BOOL; M1: BOOL; M2: BOOL; END_VAR LD S0 ANDN M1 ST M0 LD ST S0 M1

Funkciterv

LD M0 ANDN Q0 S M2 LD M0 AND Q0 R M2 LD M2 ST Q0 END_PROGRAM

64

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Gyakorl feladat: utastslista elemzse I. Feladat: rja t az albbi utastslistt funkcitervbe, majd prblja meg elemezni a bemenjel s a kimenjel kapcsolatt! FUNCTION_BLOCK FGVBLOKK VAR_IN_OUT PAR1: BOOL; END_VAR LDN PAR1 ST PAR1 END_FUNCTION_BLOCK PROGRAM ELEMZ1 VAR I0 AT %I0.0.0.0.0: BOOL; Q0 AT %Q0.0.0.0.0: BOOL; M0: BOOL; FGVB:FGVBLOKK; END_VAR LD I0 ANDN M0 CALC FGVB (PAR1:=Q0) LD I0 ST M0 END_PROGRAM

A bemenjel idbeli vltozsa: I0

t A kimenjel idbeli alakulsa a bemenjel fggvnyben (megoldand feladat!): Q0

65

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

Kvetvezrls impulzus idztvel Ktkezes reteszels A balesetveszly elkerlse vgett egy prsgp mkdtetst az n. ktkezes reteszelssel kell biztostani. A prs csak akkor engedhet le, ha a kezel az S1 s S2 nyomgombot adott idn bell (0,1s) egyszerre nyomja le. A kt nyomgombot egymstl megfelel tvolsgra kell elhelyezni. Nem engedlyezhet a prsmvelet, ha az egyik vagy a msik nyomgomb folyamatosan be van nyomva. (Pl.: kitmasztjk). Ugyangy, az excenter feletti nyoms azonnal megsznik, ha abbahagyjk a nyomgombok mkdtetst. Egy prselsi mvelet utn a prs a kiindulsi (fels) helyzetbe kerl s ott is marad, csak a kt nyomgomb jbli, 0,1s-on belli lenyomsa eredmnyez jabb mveletet.

28. bra Stancolgp

sszerendelsi tblzat Bemenetek Baloldali nyomgomb Jobboldali nyomgomb Kimenet Prs A szktett fggvnytblzat P1elz rtke T1 idzt 0 1 1 0 1 1 minden egyb estben S1 1 1 1 S2 1 1 1 P1 1 1 1 0 P1 mkdtetve: P1=1 Q0.1 Jel S1 S2 Logikai sszerendels benyomva: benyomva: S1=1 S2=1 Cm I0.1 I0.2

66

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

Funkciterv

A program utastslistja PROGRAM ketkret VAR S1 AT %I0.1 : BOOL ; S2 AT %I0.2 : BOOL ; P1 AT %Q0.1 : BOOL ; END_VAR VAR T1 : TP ; M0 : BOOL ; END_VAR VAR CONSTANT T11 : TIME := T#0.1S ; END_VAR LD OR ST LD ST S1 S2 T1.IN T11 T1.PT LD OR AND AND ST M0 P1 S1 S2 P1

CAL T1 LD ST T1.Q M0

END_PROGRAM

67

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

Vszjelzs Ksztend 1 Hz frekvencij vszjelzs, amely egy S1 kapcsol mkdtetsre a kimeneten (L1 jelzlmpa) azonnal 1-jellel indul, az impulzus:sznet arny 1:2. Ha a kapcsolt tkapcsoljk, az utols teljes temciklus befejeztvel megszakad az temgenerls.

29. bra Iddiagram

30. bra A kvnt mkdst szimull program frontpanelkpe

sszerendelsi tblzat Bemenet Nyomgomb Kimenet Jelzlmpa L1 vilgt, ha: L1=1 Q0.0 Jel S1 Logikai sszerendels benyomva: S1=0 Cm I0.0

A megoldshoz kt db impulzus idzt (T1, T2) szksges, amelyek felvltva mkdnek. Az egyik idzt ktllapot kimenetnek 10 jelvltsa indtja a msik idztt. A T1 idzt binris kimenete megegyezik az temgenertor L1 kimenetvel.

68

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Funkciterv

Utastslista
ROGRAM PRVESZJ VAR VESZJEL AT %I0.0.0.0.0: BOOL; LAMPA AT %Q0.0.0.0.0: BOOL; FGVBL: VESZJ; END_VAR CAL FGVBL(S1:=VESZJEL) LD FGVBL.L1 ST LAMPA END_PROGRAM FUNCTION_BLOCK VESZJ VAR_INPUT S1: BOOL; END_VAR VAR_OUTPUT L1: BOOL; END_VAR VAR T1: T2: T1K: T2K: END_VAR TP; TP; TIME := t#0.33S; TIME := t#0.66S; LDN S1 ANDN T2.Q ST T1.IN LD T1K ST T1.PT CAL T1 LDN T1.Q ST T2.IN LD T2K ST T2.PT CAL T2 LD T1.Q ST L1 END_FUNCTION_BLOCK

69

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Gyakorl feladat: utastslista elemzse II. rja t az albbi utastslistt funkcitervbe, majd prblja meg elemezni a bemenjel s a kimenjel kapcsolatt, ha a bemenjel 1-rl 0-ra vlt, s ott is marad! PROGRAM ELEMZ2 VAR I0 AT %I0.0.0.0.0: BOOL; Q0 AT %Q0.0.0.0.0: BOOL; M1: BOOL; M2: BOOL; T1: TON; END_VAR LD I0 ORN M1 ST T1.IN LD t#1s ST T1.PT CAL T1 LD T1.Q ST M1 LDN I0 AND M1 S M2 LD M1 AND Q0 R M2 LD M2 ST Q0 END_PROGRAM A bemenjel idbeli vltozsa: I0

t A kimenjel idbeli alakulsa a bemenjel fggvnyben (megoldand feladat!): Q0

70

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

Kvetvezrls idztkkel Szlltszalagok egyttes vezrlse A kikapcsols-ksleltetses idzt tipikus alkalmazsra lthatunk pldt a kvetkez feladat megoldsban, ahol a szilrd anyag feltorldst elkerlend, a szlltszalagokat a kikapcsolsi jel utn mg adott ideig mkdtetjk, hogy lerljenek. A vezrlalgoritmus n. heurisztikus megolds, s mr meglehetsen bonyolult. ttekintse, s gy esetleges mdostsa sem olyan egyszer.

31. bra Szlltszalagok vezrlse

A vezrlsi feladat a szlltszalagok motorjainak mkdtetse az albbi felttelek szerint: Az 1. s 2. szlltszalagok kzi nyomgombokkal kapcsolhatk be/ki (S1, S2, S3, S4). Az zemllapotokat jelzlmpkkal kell visszajelezni (L1, L2, L3, L4). Az 1. s 2. szlltszalag nem mkdhet egyidejleg. A 3. szlltszalagnak mindig mkdnie kell, ha az 1-t vagy a 2-t elindtottk. Ha az 1. vagy a 2. szlltszalagot a megfelel STOP gombbal kikapcsoljk, a szalagok mg 2s-ig futnak, hogy a rajtuk lv anyag lerlhessen. Ugyanezen okbl a 3. szlltszalag a STOP benyomsa utn mg 6s-ig fut. Az S5, S6, S7 felgyelk 10 Hz-es impulzusjellel jelzik a szalagok mkdst (forgs). Ha az impulzusjel megszakad, a jelad kimenete folyamatosan 0 (hamis). Az indts utn 3s-ig a felgyelk jeleit nem kell kirtkelni. (Felfutsi id.) Ha az 1. vagy 2. szlltszalag jeladjnak jele megszakad, a szlltszalag motorjt azonnal ki kell kapcsolni, a 3. szlltszalagot pedig le kell rteni, majd azt is le kell lltani. Ekzben a Ki-jelzlmpa (L3 vagy L4) 2 Hz frekvencival villog. Ha a 3. szlltszalag jelzje ad folyamatos 0 jelet, minden motort azonnal le kell lltani, s be kell kapcsolni a hibajelzs villogst. 71

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! A hibajelzst (villogst) a megfelel megnyomsval lehet nyugtzni. szlltszalag STOP nyomgombjnak

sszerendelsi tblzat
Bemenetek 1. sz.szalag BE-kapcsols nyomgomb 2. sz.szalag BE-kapcsols nyomgomb 1. sz.szalag KI-kapcsols nyomgomb 2. sz.szalag KI-kapcsols nyomgomb 1. sz.szalag fordulatjelz 2. sz.szalag fordulatjelz 3. sz.szalag fordulatjelz Kimenetek 1. sz.szalag mkdtetst jelz lmpa 2. sz.szalag mkdtetst jelz lmpa Jelzlmpa: 1. sz.szalag kikapcsolva Jelzlmpa: 2. sz.szalag kikapcsolva 1. sz.szalag motor 2. sz.szalag motor 3. sz.szalag motor L1 L2 L3 L4 MOT1 MOT2 MOT3 vilgt, ha: vilgt, ha: vilgt, ha: vilgt, ha: L1=1 L2=1 L3=1 L4=1 Q0.0 Q0.1 Q0.2 Q0.3 Q0.4 Q0.5 Q0.6 Jel S1 S2 S3 S4 S5 S6 S7 Logikai sszerendels benyomva: benyomva: benyomva: benyomva: impulzus: impulzus: impulzus: S1=1 S2=1 S3=1 S4=1 S5=1 S6=1 S7=1 Cm I0.0 I0.1 I0.2 I0.3 I0.4 I0.5 I0.6

mkdtetve: Mot1=1 mkdtetve: Mot2=1 mkdtetve: Mot3=1

Funkciterv

72

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

A rugalmasabb adatmdosts biztostsnak rdekben az idztk idllandit a deklarcis rszben rgztettk, a funkcitervben is a vltozneveket tntettk fel.

73

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

Utastslista PROGRAM SZSZALAG3 VAR S1 AT %I0.0.0.0.0: BOOL; S2 AT %I0.0.0.0.1: BOOL; S3 AT %I0.0.0.0.2: BOOL; S4 AT %I0.0.0.0.3: BOOL; S5 AT %I0.0.0.0.4: BOOL; S6 AT %I0.0.0.0.5: BOOL; S7 AT %I0.0.0.0.6: BOOL; MOT1 AT %Q0.0.0.0.0: BOOL; MOT2 AT %Q0.0.0.0.1: BOOL; MOT3 AT %Q0.0.0.0.2: BOOL; L1 AT %Q0.0.0.0.3: BOOL; L2 AT %Q0.0.0.0.4: BOOL; L3 AT %Q0.0.0.0.5: BOOL; L4 AT %Q0.0.0.0.6: BOOL; T0: TON; T0K: TIME := t#3s; T1: TON; T1K: TIME := t#120ms; T2: TON; T2K: TIME := t#120ms; T3: TP; T3K: TIME := t#250ms; T4: TP; 74

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! T4K: TIME := t#250ms; MERK1: BOOL; T5: TOF; T5K: TIME := t#2s; T6: TOF; T6K: TIME := t#2s; T7: TOF; T7K: TIME := t#6s; END_VAR (*1.SZ.SZALAG BE-LMPA*) LD S1 ANDN L2 ANDN MOT3 S L1 LD S3 R L1 (*2.SZ.SZALAG BE-LMPA*) LD S2 ANDN L1 ANDN MOT3 S L2 LD S4 R L2 (*FUTSI ID*) LD L1 OR L2 ST T0.IN LD T0K ST T0.PT CAL T0 (*1.S 2. SZ.SZALAG FUTSELLENRZS*) LDN S5 AND L1 AND T0.Q OR( S6 NOT AND L2 AND T0.Q ) ST T1.IN LD T1K ST T1.PT CAL T1 (*3.SZ.SZALAG FUTSELLENRZS*) LDN S7 AND T0.Q ST T2.IN LD T2K ST T2.PT CAL T2 (*2 Hz VILLOGS*) LD T1.Q OR T2.Q ANDN T4.Q ST T3.IN LD T3K ST T3.PT CAL T3 LD T3.Q ST MERK1 LD T1.Q OR T2.Q ANDN T3.Q ST T4.IN LD T4K ST T4.PT CAL T4 (*1.SZ.SZALAG KI-LMPA*) LD L1 AND MERK1 ORN L1 ST L3 (*2.SZ.SZALAG KI-LMPA*) LD L2 AND MERK1 ORN L2 ST L4 (*1.SZ.SZALAG MOTOR*) LD L1 ANDN T1.Q ANDN T2.Q ST T5.IN LD T5K ST T5.PT CAL T5 LD T5.Q ANDN T1.Q

75

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! ANDN T2.Q ST MOT1 (*2.SZ.SZALAG MOTOR*) LD L2 ANDN T1.Q ANDN T2.Q ST T6.IN LD T6K ST T6.PT CAL T6 LD T6.Q ANDN T1.Q ANDN T2.Q ST MOT2 (*3.SZ.SZALAG MOTOR*) LD MOT1 OR MOT2 ANDN T2.Q ST T7.IN LD T7K ST T7.PT CAL T7 LD T7.Q ANDN T2.Q ST MOT3 END_PROGRAM

76

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

Gyakorl feladat:

Szlltszalag vezrlse

32. bra Szlltszalag motor vezrlse

A szlltszalagot a Mot jelzs motor mkdteti. Amg a szalag megfelelen fut, az S2 jele 10 Hz frekvenciajel. Problma esetn (pl. szalagszakads stb.) az S2 jelad folyamatosan 0 rtket ad. Ha bekapcsolt motor mellett nem jelentkezik az impulzusjel, le kell lltani a motort, s a HIBA jelzlmpa 2Hz-es frekvencival villog. A szalag indtsa a START nyomgombbal trtnik, lelltsa illetve a hibajel nyugtzsa STOP nyomgombbal lehetsges. zem kzben az ZEMBEN jel folyamatosan vilgt. Indts utn 5s-ig nem kell figyelembe venni S2 jelt. sszerendelsi tblzat Bemenetek
Sz.szalag BE-kapcsols ny.gomb Sz.szalag KI-kapcsols ny.gomb Sz.szalag futsjelz

Jel
START STOP S2

Logikai sszerendels
benyomva: benyomva: impulzus: START=1 STOP=0 S2=1

Cm
I0.0 I0.1 I0.2

Kimenetek
Szlltszalag motor ZEMBEN jelzlmpa HIBA jelzlmpa Mot UZEMBEN HIBA mkdtetve: Mot=1 Q0.0 Q0.1 Q0.2

vilgt, ha: UZEMBEN =1 vilgt, ha: HIBA =1

77

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

Munkadarabok tmeneti trolsa Egy szerelsi tvonalon a munkadarabok feltorldsnak elkerlsre tmeneti trol asztalt ptenek be. A munkadarabok berkezst s kiadst optikai rzkelk jelzik, melyek impulzusait egy szmllba vezetjk. Ha a trolban lv munkadarabok szma elri a maximumot (30 db), le kell lltani a bejv szalag tovbbt motorjt. Ha a munkadarabok szma a trolban 10 al cskken, (als hatrrtk), a vezrls bekapcsolja a jelzlmpt. A szmll trlse zemkezdetkor, res trol mellett, a trlgomb benyomsval lehetsges.

33. bra tmeneti munkadarab-trol

sszerendelsi tblzat
Bemenetek BE/KI kapcsol Trlgomb Belps optikai rzkelje Kilps optikai rzkelje Jel START torlo OPT1 OPT2

Logikai sszerendels
bekapcsolva: benyomva: jelez, ha: jelez, ha: START=1 torlo=1 OPT1=1 OPT2=1

Cm I0.0 I0.1 I0.2 I0.3

Kimenetek
Szlltszalag motorja Jelzlmpa Mot JELZES mkdtetve, ha: vilgt, ha: Mot=1 JELZES =1 Q0.0 Q0.1

78

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Funkciterv Utastslista PROGRAM mdtarol VAR START AT %I0.0.0.0.0: BOOL; torlo AT %I0.0.0.0.1: BOOL; OPT1 AT %I0.0.0.0.2: BOOL; OPT2 AT %I0.0.0.0.3: BOOL; Mot AT %Q0.0.0.0.0:BOOL; JELZES AT %Q0.0.0.0.1: BOOL; SZAMLALO: CTUD; MD_MAX: INT := 30; MD_MIN: INT := 10; END_VAR (*SZMLL*) LD OPT1 ST SZAMLALO.CU LD OPT2 ST SZAMLALO.CD LD torlo ST SZAMLALO.RESET CAL SZAMLALO (*SSZEHASONLTS <30*) LD SZAMLALO.CV LT MD_MAX AND START ST Mot (*SSZEHASONLTS <=10*) LD SZAMLALO.CV LE MD_MIN AND START ST JELZES END_PROGRAM

79

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

Tiszttberendezs elektro-pneumatikus vezrlse Egy tiszttberendezs tarteleme (kosr) pneumatikus munkahenger segtsgvel engedhet le a tiszttoldatba s emelhet fel csepegtetsi ill. cserlsi llapotba. A munkahengerre a mkdtet levegt a 4/2 utas elektromgneses szelep segtsgvel kapcsoljuk a megfelel irnyba. A feladat: hromszori leengeds s felemels utn a kiindulsi helyzetbe kell vinni a dugattyt. Ekzben mindig 10 s-ig a tiszttoldatban kell maradnia a tartkosrnak. A tiszttciklus START nyomgomb megnyomsval indthat. Az L1 lmpa a tiszttsi ciklus alatt folyamatosan vilgt.

35. bra A tiszttsi ciklus iddiagramja

34. bra Tiszttberendezs

sszerendelsi tblzat
Bemenetek BE/KI kapcsol fels vgllskapcsol als vgllskapcsol Jel START S1 S2 Logikai sszerendels benyomva: jelez, ha: jelez, ha: START=1 S1=1 S2=1 Cm I0.0 I0.1 I0.2

Kimenetek
Munkahenger le Munkahenger fel Lmpa Y1 Y2 L1 mkdtetve: mkdtetve: vilgt, ha: Y1=1 Y2=1 L1=1 Q0.0 Q0.1 Q0.2

80

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT! Funkciterv Bekapcsolsi impulzus: Utastslista
PROGRAM TISZTIT VAR START AT %I0.0.0.0.0: BOOL; S1 AT %I0.0.0.0.1: BOOL; S2 AT %I0.0.0.0.2: BOOL; Y1 AT %Q0.0.0.0.0: BOOL; Y2 AT %Q0.0.0.0.1: BOOL; L1 AT %Q0.0.0.0.2: BOOL; T1: TON; T1KONST: TIME := t#10s; SZAMLALO: CTD; CIKLUS: INT := 3; IMPULZUS: R_TRIG; IMP: BOOL; END_VAR (*SART IMPULZUS*) CAL IMPULZUS(CLK :=START| IMP := Q) (*KOSR FEL*) CAL T1(IN := S2,PT :=T1KONST) LD S LD R T1.Q Y2 S1 Y2

Kosr fel:

Kosr le:

A szmll s a mkdst jelz lmpa:

(*KOSR LE*) LD IMP ORN SZAMLALO.Q AND S1 S Y1 LD S2 R Y1 (*SZMLL*) CAL SZAMLALO( CD := Y2, LOAD := IMP, PV := CIKLUS ) LD IMP S L1 LD SZAMLALO.Q AND S1 R L1 END_PROGRAM

81

Jancskrn Anweiler Ildik: PLC programozs az IEC 1131-3 szabvny szerint

Gyakorl feladat: utastslista elemzse III. Feladat: rja t az albbi utastslistt funkcitervbe, majd prblja meg elemezni a bemenjel s a kimenjel kapcsolatt, ha a bemenjel 1-rl 0-ra vlt, s ott is marad! PROGRAM elemz3 VAR BE AT %I0.0.0.0.0:BOOL; KI AT %Q0.0.0.0.0:BOOL; T1: TP; T2: TP; T3: TON; C1: CTUD; M0: BOOL; M1: BOOL; M2: BOOL; M3: BOOL; M4: BOOL; END_VAR VAR constant T1K: TIME := T#1S; T2K: TIME := T#1S; T3K: TIME := T#11S; END_VAR LDN BE AND M4 ST M0 LD BE ST M4 LD M0 OR M3 ST C1.LOAD LD 5 ST C1.PV LD M1 ST C1.CD CAL C1 LDN C1.QD ANDN M2 ST T1.IN LD T1K ST T1.PT CAL T1 LD T1.Q ST M1 LDN M1 ANDN BE ST T2.IN LD T2K

82

Jancskrn Anweiler Ildik: PLC programozs az IEC 1131-3 szabvny szerint

ST T2.PT CAL T2 LD T2.Q ST M2 LD C1.QD ANDN BE ST T3.IN LD T3K ST T3.PT CAL T3 LD T3.Q ST M3 LD M1 ST KI END_PROGRAM

A bemenjel idbeli vltozsa: I0

t A kimenjel idbeli alakulsa a bemenjel fggvnyben (megoldand feladat!): Q0

83

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

Jancskrn Anweiler Ildik PLC programozs II. rsz KZIRAT!

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

Kvetvezrlsi feladatok megoldsa llapotgrf segtsgvel Vagontlt berendezs A vagont a szilrdanyag trolbl (sil), adagolcsiga s szlltszalag segtsgvel tltik fel. Az adagolst a STRART gomb megnyomsval engedlyezik. A START jel csak akkor hatsos, ha a vagon tltsi helyzetben van (S2 jelez). Ekkor az adagoland anyag feltorldsnak elkerlse rdekben elszr a szlltszalagot kell elindtani, s 3s-ig resen jratni. Az id letelte utn bekapcsolhat az adagolcsiga motorja is. Ha megtelt a vagon, vagy a vagon elmozdult a tltsi pozcijbl, vagy megnyomtk a STOP gombot, az adagolcsigt azonnal le kell lltani. Ekkor a szlltszalag mg 5s-ig bekapcsolva marad, hogy teljesen lerljn. jabb adagolst a START gomb ismtelt benyomsval lehet elindtani.

36. bra Vagontlts

sszerendelsi tblzat Bemenetek


START nyomgomb STOP nyomgomb Rmparzkel Slyrzkel

Jel
STOP S2 S3 K1 K2

Logikai sszerendels
START=1 STOP=0 S2=1 S3=1 K1=1 K2=1 benyomva: a vagon tltsi pozciban: a vagon tele: bekapcsolva: bekapcsolva:

Cm
I0.0 I0.1 I0.2 I0.3 Q0.0 Q0.1

START benyomva:

Kimenetek
Szlltszalag motor Adagolcsiga motor

Jancskrn Anweiler Ildik: PLC programozs II. rsz A vezrls llapotai


Alapllapot (M0): semmit sem mkdik, a vezrls a START jelre vr (M1): Adott felfutsi ideig csak a szlltszalag motorja van bekapcsolva (M2): Mindkt kimenetet (szlltszalag s adagolcsiga) mkdteti a vezrls (M3): Adott lelltsi ideig csak a szlltszalag mkdik

KZIRAT!

Az llapotok kztti kapcsolatokat, egyik llapotbl a msikba trtn tlps feltteleit llapotgrf segtsgvel rjuk le. llapotgrf

0
M0 AND
SART S2 (a vagon tltsi helyzetben )

1
M1

K1 motor bekapcsolva T1 = 3s TON T1.Q (T1 letelt)

2
M2

K1 K2

motor bekapcsolva motor bekapcsolva S3 vagon tele S2 vagon elmozdult STOP

OR

3
M3

K1 motor bekapcsolva T2 = 5s TON T2.Q (T2 letelt)

Az llapotgrf funkcitervbe trtn trsnak szablyai


Minden llapothoz hozzrendelnk egy RS-trolt. Ha a trolkat nem-remanens memriaterletre cmezzk, elegend a 0. llapotot (M0) az n. indt impulzussal belltani, a tbbi trol rtke az jraindtskor gy is trldik. Ha remanens memriaterleten troljuk az llapotokat, az indt impulzus segtsgvel az sszes llapot troljt (kivve a 0. llapot) trlni (resetelni) kell!

84

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

Gondoskodnunk kell arrl, hogy a vezrlsben mindig csak egy llapot legyen aktv. Ezt gy tudjuk biztostani, hogy az llapotok trolit (set-oldal) az t megelz llapot s az tvlts felttele lltja be s az t kvet llapot trli (reset-oldal). Elgazs eltti llapotot az sszes t kvet llapot trlheti (vagy-kapcsolat). Ha az elgazsban az tvltsok felttelei egyszerre, egy idpillanatban teljeslhetnek, az gak kztt prioritsi sorrendet kell megllaptanunk. A magasabb priorits llapot reteszeli az elgazsban lv nla alacsonyabb priorits llapotokat. Ha kt llapot hurokba kerl, a hurokban lv llapotokat az ket kvet llapot s az tvlts felttele egyttesen trlik. A kimenetek azon llapotok VAGY-kapcsolataknt rhatk fel, amelyekhez hozzrendeltk ket. Az esetleges plusz feltteleket (retesz feltteleket) S felttelknt hozzillesztjk.

Funkciterv

85

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

Utastslista PROGRAM PRVAGTLT VAR START AT %I0.0.0.0.0: STOP AT %I0.0.0.0.1: RAMPA AT %I0.0.0.0.2: SULY AT %I0.0.0.0.3: MOTOR1 AT %Q0.0.0.0.0: MOTOR2 AT %Q0.0.0.0.1: FGVBL: VAGTOLT; IMPULZUS: BOOL; END_VAR (*INDT IMPULZUS*) LD ISA PLC_Message ST IMPULZUS (*FGGVNYBLOKK HVSA*)

BOOL; BOOL; BOOL; BOOL; BOOL; BOOL;

86

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

CAL FGVBL(IND:=IMPULZUS, START:=START, STOP:=STOP, S2:=RAMPA, S3:=SULY) (*KIMENETEK TROLSA*) LD FGVBL.K1 ST MOTOR1 LD FGVBL.K2 ST MOTOR2 END_PROGRAM Az llapotgrfot fggvnyblokkban rtuk meg. FUNCTION_BLOCK VAGTOLT VAR_INPUT START:BOOL; STOP: BOOL; S2: BOOL; S3: BOOL; IND: BOOL; END_VAR VAR_OUTPUT K1: BOOL; K2: BOOL; END_VAR VAR M0: M1: M2: M3: T1: T2: END_VAR BOOL; BOOL; BOOL; BOOL; TON; TON;

VAR CONSTANT T1KONST: T2KONST: END_VAR

TIME := T#3s; TIME := t#5s; (*1. LLAPOT*) LD M0 AND START AND S2 S M1 LD IND OR M2 R M1

(*0. LLAPOT*) LD IND OR( M3 AND T2.Q ) S M0 LD M1 R M0

87

Jancskrn Anweiler Ildik: PLC programozs II. rsz (*2. LLAPOT*) LD M1 AND T1.Q S M2 LD IND OR M3 R M2 (*3. LLAPOT*) LD M2 AND S3 ORN S2 ORN STOP S M3 LD IND OR M0 R M3 (*IDZTK*) CAL T1(IN := M1,PT :=T1KONST) CAL T2(IN := M3,PT :=T2KONST) (*KIMENETEK*) LD OR OR ST LD ST M1 M2 M3 K1 M2 K2

KZIRAT!

END_FUNCTION_BLOCK

88

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

tjavtst jelz lmpa tjavts miatt egy bektutat adott tszakaszon egysvosra kell szkteni. Mivel napkzben igen nagy a forgalom, jelzlmpkat lltottak fel a szkts vgpontjain. A vezrlberendezs bekapcsolsakor mindkt jelzlmpa pirosat mutat. Ha az egyik irny rzkel jelez, a megfelel lmpt 10s mlva zldre vltja. A zld fzist kb. 20s-ig tartani kell, mieltt a msik rzkel jelzse mindkt lmpt pirosra vltja. 10s mlva a msik irny lesz zld. Ha egyik rzkel sem jelez, a lmpajelzs az elz llapotban marad. A berendezst csak valamely irny zldfzisa utn lehet kikapcsolni.

37. bra tlezrs

sszerendelsi tblzat Bemenetek


BE/KI kapcsol 1. irny rzkel 2. irny rzkel

Jel
BEKAPCS IRANY1 IRANY2

Logikai sszerendels
bekapcsolva: jelez: jelez: BEKAPCS=1 IRANY1=1 IRANY2=1

Cm
I0.0 I0.1 I0.2

Kimenetek
1. lmpa zld 2. lmpa zld 1. lmpa piros 2. lmpa piros ZOLD1 ZOLD2 PIROS1 PIROS2 vilgt: vilgt: vilgt: vilgt: ZOLD1=1 ZOLD2=1 PIROS1=1 PIROS2=1 Q0.0 Q0.1 Q0.2 Q0.3

89

Jancskrn Anweiler Ildik: PLC programozs II. rsz A vezrls llapotai 1. Alapllapot: semmit sem mkdtet, a bekapcsolsi jelre vr 2. Mindkt lmpa piros 3. Adott ideig mindkt lmpa piros, jrm vr az 1. irnybl 4. Adott ideig mindkt lmpa piros, jrm vr a 2. irnybl 5. Adott ideig 1. lmpa piros, 2. lmpa zld 6. Adott ideig 2. lmpa piros, 1. lmpa zld 7. lmpa piros, 2. lmpa zld 8. lmpa piros, 1. lmpa zld

KZIRAT!

Az llapotok kztti kapcsolatokat, az egyik llapotbl a msikba trtn tlps feltteleit llapotgrf segtsgvel rjuk le.

90

Jancskrn Anweiler Ildik: PLC programozs II. rsz llapotgrf

KZIRAT!

0
M0
BEKAPCS

1
M1
IRANY1

PIROS1 PIROS2

IRANY2

2
M2

PIROS1 PIROS2

5
M5

PIROS1 PIROS2

T1=10
T1 letelt

T1=10
T1 letelt

3
M3

ZOLD1 PIROS2

6
M6

ZOLD2 PIROS1

T2=20
T2 letelt

T2=20
T2 letelt

4
M4

ZOLD1 PIROS2

7
M7
IRANY2

ZOLD2 PIROS1

__ BEKAPCS

__ BEKAPCS

IRANY1

IRANY1 s IRANY2 egyidejleg is jelezhet. (Mindkt irnybl rkezhet egyszerre jrm.) Mivel egyszerre csak egy llapot lehet aktv -egyszerre csak egy irnynak lehet zld jelzse- , el kell dnteni, hogy melyik irny lvezzen elsbbsget. Legyen IRANY1-nek elsbbsge, ekkor M2 reteszeli M5-t. (Az 5. llapotot a 2. RESET-eli.) A 4. s 7. llapot utn ismt klcsns reteszels van. Itt a 0. llapotnak van elnye. M0 M2-t s M5-t is RESET-eli.

91

Jancskrn Anweiler Ildik: PLC programozs II. rsz Az llapotgrf trsa funkcitervbe illetve utastslistba Funkciterv

KZIRAT!

92

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

93

Jancskrn Anweiler Ildik: PLC programozs II. rsz Utastslista PROGRAM PRUTLEZAR VAR_GLOBAL BEKAPCS AT %I0.0.0.0.0: IRANY1 AT %I0.0.0.0.1: IRANY2 AT %I0.0.0.0.2: ZOLD1 AT %Q0.0.0.0.0: PIROS1 AT %Q0.0.0.0.1: ZOLD2 AT %Q0.0.0.0.2: PIROS2 AT %Q0.0.0.0.3: END_VAR VAR FGVBL: UTLEZ1; IMPULZUS: BOOL; END_VAR (*INDT IMPULZUS*) LD ISA PLC_Message ST IMPULZUS (*FGGVNYBLOKK HVSA*) CAL FGVBL(IND:=IMPULZUS) END_PROGRAM FUNCTION_BLOCK UTLEZ1 VAR_INPUT IND: BOOL; END_VAR VAR M0: M1: M2: M3: M4: M5: M6: M7: T1: T2: END_VAR BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; TON; TON; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL;

KZIRAT!

VAR constant T1KONST:

TIME := t#10s;

94

Jancskrn Anweiler Ildik: PLC programozs II. rsz T2KONST: END_VAR VAR_EXTERNAL BEKAPCS: IRANY1: IRANY2: ZOLD1: PIROS1: ZOLD2: PIROS2: END_VAR TIME := t#20s;

KZIRAT!

BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; (*3. LLAPOT*) LD M2 AND T1.Q S M3 LD IND OR M4 R M3 (*4. LLAPOT*) LD M3 AND T2.Q S M4 LD IND OR M0 OR M5 R M4 (*5. LLAPOT*) LD M4 OR M1 AND IRANY2 S M5 LD IND OR M0 OR M2 OR M6 R M5 (*6. LLAPOT*) LD M5 AND T1.Q S M6 LD IND OR M7 R M6 (*7. LLAPOT*) LD M6

(*0. LLAPOT*) LD IND OR( M4 OR M7 ANDN BEKAPCS ) S M0 LD M1 R M0 (*1. LLAPOT*) LD M0 AND BEKAPCS S M1 LD IND OR M2 OR M5 R M1 (*2. LLAPOT*) LD M1 OR M7 AND IRANY1 S M2 LD IND OR M3 OR M0 R M2

95

Jancskrn Anweiler Ildik: PLC programozs II. rsz AND S LD OR OR R T2.Q M7 IND M0 M2 M7

KZIRAT!

LD OR ST LD OR OR OR OR ST LD OR ST

M3 M4 ZOLD1 M1 M2 M5 M6 M7 PIROS1 M6 M7 ZOLD2

(*IDZTK*) LD M2 OR M5 ST T1.IN LD T1KONST ST T1.PT CAL T1 LD OR ST LD ST CAL M3 M6 T2.IN T2KONST T2.PT T2

(*KIMENETEK*)

LD M1 OR M2 OR M3 OR M4 OR M5 ST PIROS2 END_FUNCTION_BLOCK

96

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

Jelek llapotgrfon kvli feldolgozsa Elfordul sok esetben, hogy a jelforrs, a jelad, (pl. nyomgomb) csak rvid ideig szolgltat jelet a PLC bemenetn. Ha a vezrlst llapotgrffal oldjuk meg, s a vezrls ppen olyan llapotban van, amelynek kvetllapota egy msik vezrljel megjelensre vr, akkor a rvid idre megjelen jelzst elveszthetjk. Ennek elkerlsre szksges a rvid ideig hat jeleket az llapotgrfon kvl eltrolnunk. (Ez az n. elfeldolgozs.) Zsilipajtk vezrlse Egy helyisget por- s szennyezdsmentesen kell tartani, gy a bejrathoz kiptettek egy zsilipkamrt, A s B tolajtval. Egyszerre, egy idben mindig csak az egyik ajt lehet nyitva. A zsilipen az thaladst kvlrl az S1 vagy S2 nyomgombokkal lehet kezdemnyezni. Kvlrl bellre S1 gomb megnyomsa nyitja az A ajtt. Miutn A kinylt (S6 jelez), mg 3 s-ig nyitva marad, majd becsukdik. Ha A ajt becsukdott (S5 jelez), B ajt automatikusan kinylik, 3 s-ig nyitva marad, majd becsukdik. A msik irnybl az thalads hasonl mdon, fordtott sorrendben, S2 gomb megnyomsra B majd A ajt egyms utn automatikusan nylik s zrdik. A nyomgomb melletti jelzlmpa mutatja, hogy a vezrls szrevette a gomb benyomst. Mindkt ajtnl vglls-kapcsolk jelzik az ajt nyitott ill. zrt helyzett. Az ajtkhoz tartozik egy-egy optikai rzkel, ha a fnyt megszakad, az ajt zrst nem lehet megkezdeni, illetve, ha mr zrdik, azonnal vissza kell nyitni. Hasonlan zrs kzben vissza kell nyitni az ajtkat akkor is, ha az A ajtnl S1 vagy S3, a B ajtnl S2 vagy S4 gombot megnyomjk. 3s-os vrakozs utn a zrs ismt kezdemnyezhet. A zsilipben a biztonsg miatt elhelyeztek kt nyomgombot, (S3 s S4), amelyekkel a hozzjuk tartoz ajtk nyitst szksg esetn kezdemnyezni lehet (pl. ha valaki vletlenl bennrekedt a zsilipben, mert gy lpett be egy ppen nyitott zsilipajtn, hogy elzleg nem nyomta meg az S1 vagy S2 gombot.)

38. bra Zsilipajt

97

Jancskrn Anweiler Ildik: PLC programozs II. rsz sszerendelsi tblzat Bemenetek
A ajt kls nyomgomb B ajt kls nyomgomb A ajt bels nyomgomb B ajt bels nyomgomb A ajt csukva A ajt nyitva B ajt csukva B ajt nyitva A ajt optikai rzkel B ajt optikai rzkel Jel S1 S2 S3 S4 S5 S6 S7 S8 LI1 LI2 Logikai sszerendels benyomva: benyomva: benyomva: benyomva: jelez, ha: jelez, ha: jelez, ha: jelez, ha: ha a fnyt megszakad: ha a fnyt megszakad: S1=1 S2=1 S3=1 S4=1 S5=1 S6=1 S7=1 S8=1 LI1=0 LI2=0

KZIRAT!

Cm I0.0 I0.1 I0.2 I0.3 I0.4 I0.5 I0.6 I0.7 I1.0 I1.1

Kimenetek
A ajt elektromotor nyits irnyba A ajt elektromotor zrs irnyba B ajt elektromotor nyits irnyba B ajt elektromotor zrs irnyba A oldali visszajelz lmpa B oldali visszajelz lmpa M1Ny M1Z M2Ny M2Z KIJ1 KIJ2 mkdtetve: M1Ny=1 Q0.0 mkdtetve: M1Z=1 Q0.1 mkdtetve: M2Ny=1 Q0.2 mkdtetve: M2Z=1 Q0.3 vilgt, ha: KIJ1=1 vilgt, ha: KIJ2=1 Q0.4 Q0.5

Rvid ideig hat jelek feldolgozsa az llapotgrfon kvl

98

Jancskrn Anweiler Ildik: PLC programozs II. rsz Az llapotgrf

KZIRAT!

0
M0
OR

TG1 S3

OR

TG2 S4

1
M1

M1Ny ResetTG2 ResetKIJ1


S6

4
M4

M2Ny Reset TG1 Reset KIJ2


S8

2
M2

T1= 3s

5
M5
T1 LI1

T1= 3s

AND

AND T1

LI2

3
M3
AND TG1

M1Z

6
M6
LI1 S1 S3

M2Z

S5

AND TG1

OR

S5

AND TG2

S7

AND TG2

OR

S7

LI2 S2 S4

Az llapotgrf trsa funkcitervbe illetve utastslistba Az llapotgrf elgazsokat tartalmaz. Az elgazsokra vonatkoz szablyok figyelembevtelvel, rvid elemzs utn szrevehetjk, hogy elegend M1 - M4 (vagyis a belps kilps) kztti elsbbsget meghatrozni, ezltal mindhrom elgazs problmja megolddik. Legyen pl. a belpsnek elsbbsge: ekkor M1 reteszeli M4-et.

99

Jancskrn Anweiler Ildik: PLC programozs II. rsz Funkciterv

KZIRAT!

100

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

101

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

102

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

103

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

A fggvnyblokk listja FUNCTION_BLOCK ZSLPALL VAR_INPUT S1: S2: S3: S4: S5: S6: S7: S8: LI1: LI2: TG1: TG2: IND: END_VAR BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL;

VAR_OUTPUT M1NY: BOOL; M1Z: BOOL; M2NY: BOOL; M2Z: BOOL; M1: BOOL; M4: BOOL; END_VAR VAR M0: M2: M3: M5: M6: T1: END_VAR BOOL; BOOL; BOOL; BOOL; BOOL; TON;

104

Jancskrn Anweiler Ildik: PLC programozs II. rsz VAR constant T1KONST: END_VAR

KZIRAT!

TIME := t#3s;

(*0. LLAPOT*) LD IND OR( M3 ANDN TG1 AND S5 ) OR( M6 ANDN TG2 AND S7 ) S M0 LD M1 OR M4 R M0 (*1. LLAPOT*) LD M0 AND( TG1 OR S3 ) OR( M3 AND( LI1 NOT OR S1 OR S3 ) OR( M6 AND TG2 AND S7 ) ) S M1 LD IND OR M2 R M1 (*2. LLAPOT*) LD M1 AND S6 S M2 LD IND OR M3 R M2 (*3. LLAPOT*) LD AND AND S LD OR OR R M2 T1.Q LI1 M3 IND M4 M0 M3

(*4. LLAPOT*) LD AND( OR ) OR( AND( NOT OR OR ) OR( AND AND ) ) S LD OR OR R M0 TG2 S4 M6 LI2 S2 S4 M3 TG1 S5 M4 IND M5 M1 M4

(*5. LLAPOT*) LD AND S LD OR R M4 S8 M5 IND M6 M5

(*6. LLAPOT*) LD M5 AND T1.Q

105

Jancskrn Anweiler Ildik: PLC programozs II. rsz AND S LD OR OR OR R LI2 M6 IND M4 M1 M0 M6 (*KIMENETEK*) LD M1 ANDN S6 ST M1NY LD M3 ANDN S5 ST M1Z LD M4 ANDN S8 ST M2NY LD M6 ANDN S7 ST M2Z

KZIRAT!

(*IDZT*) LD OR ST LD ST CAL M2 M5 T1.IN T1KONST T1.PT T1

END_FUNCTION_BLOCK

A fprogram listja PROGRAM przsilip VAR A_KULSO_NYG AT %I0.0.0.0.0: BOOL; B_KULSO_NYG AT %I0.0.0.0.1: BOOL; A_BELSO_NYG AT %I0.0.0.0.2: BOOL; B_BELSO_NYG AT %I0.0.0.0.3: BOOL; A_ZARVA AT %I0.0.0.0.4: BOOL; A_NYITVA AT %I0.0.0.0.5: BOOL; B_ZARVA AT %I0.0.0.0.6: BOOL; B_NYITVA AT %I0.0.0.0.7:BOOL; A_OPT AT %I0.0.0.1.0: BOOL; B_OPT AT %I0.0.0.1.1: BOOL; A_NYITAS AT %Q0.0.0.0.0: BOOL; A_ZARAS AT %Q0.0.0.0.1: BOOL; B_NYITAS AT %Q0.0.0.0.2: BOOL; B_ZARAS AT %Q0.0.0.0.3: BOOL; KIJ1 AT %Q0.0.0.0.4: BOOL; KIJ2 AT %Q0.0.0.0.5: BOOL; TG1: BOOL; TG2: BOOL; IMPULZUS: BOOL; FGVBL: ZSLPALL; END_VAR

106

Jancskrn Anweiler Ildik: PLC programozs II. rsz (*INDT IMPULZUS*) LD ISA PLC_Message ST IMPULZUS (*JELFELDOLGOZS AZ LLAPOTGRFON KVL*) LD A_KULSO_NYG S KIJ1 LD FGVBL.M1 R KIJ1 LD KIJ1 S TG1 LD FGVBL.M4 R TG1 LD S LD R LD S LD R B_KULSO_NYG KIJ2 FGVBL.M4 KIJ2 KIJ2 TG2 FGVBL.M1 TG2

KZIRAT!

(*FGGVNYBLOKK HVSA*) CAL FGVBL(IND:=IMPULZUS, S1:=A_KULSO_NYG, S2:=B_KULSO_NYG, S3:=A_BELSO_NYG, S4:=B_BELSO_NYG, S5:=A_ZARVA, S6:=A_NYITVA, S7:=B_ZARVA, S8:=B_NYITVA, LI1:=A_OPT, LI2:=B_OPT, TG1:=TG1, TG2:=TG2 )

(* KIMENETEK *) LD FGVBL.M1NY ST A_NYITAS LD FGVBL.M2NY ST B_NYITAS LD FGVBL.M1Z ST A_ZARAS LD FGVBL.M2Z ST B_ZARAS END_PROGRAM

107

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

Gyakorl feladat: utastslista elemzse IV. rja t az albbi utastslistt funkcitervbe, majd prblja meg felrajzolni az llapotgrfot.
PROGRAM UTLELEM VAR M60 : BOOL ; M61 : BOOL ; M0 : BOOL ; M1 : BOOL ; M2 : BOOL ; M3 : BOOL ; M4 : BOOL ; M5 : BOOL ; M6 : BOOL ; END_VAR VAR I1 AT %I0.1 : BOOL ; I2 AT %I0.2 : BOOL ; I3 AT %I0.3 : BOOL ; I4 AT %I0.4 : BOOL ; Q1 AT %Q0.1 : BOOL ; Q2 AT %Q0.2 : BOOL ; Q3 AT %Q0.3 : BOOL ; END_VAR LDN ST S LD OR( NOT AND( OR OR ) ) S LD R LD AND S LD OR OR R LD AND ANDN M60 M61 M60 M61 I1 M3 M5 M6 M0 M1 M0 M0 I1 M1 M2 M4 M6 M1 M1 I2 I4 S LD R LD AND S LD OR R LD ANDN AND OR( AND ) S LD OR R LD AND S LD OR R LD AND ANDN ANDN OR( ANDN ) S LD R M2 M3 M2 M2 I3 M3 M0 M4 M3 M1 I2 I4 M3 I4 M4 M5 M0 M4 M4 I3 M5 M0 M6 M5 M1 I1 I2 I4 M5 I2 M6 M0 M6

LD M1 OR M2 OR M3 OR M4 OR M6 ST Q1 LD M2 OR M3 ST Q2 LD M4 OR M5 ST Q3 END_PROGRAM

108

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

Komplex vezrlsi feladat szmllval A szmllkat hasznl vezrlsi feladatokban is szisztematikusabb feladatmegoldst jelent az llapotgrf bevezetse. Tablettaadagol berendezs vezrlse Egy eltrolbl bizonyos szm tablettt kell kmcsvekbe adagolni. A bekapcsols utn a kezel a megfelel nyomgomb mkdtetsvel kivlasztja a kvnt darabszmot. A szalagmotor bekapcsol, s a kmcsvet tltsi pozciba tovbbtja (S2 jelez). A motor kikapcsol s a mgnesszelep nyitsval a tablettk beleesnek a kmcsbe. A tablettkat az optikai rzkel segtsgvel szmolhatjuk. A megfelel szm tabletta beesse utn a szelep zr, a szalag tovbbmegy s a kvetkez kmcst hozza tltsi helyzetbe. Ez a mveletsor ismtldik, amg a berendezst le nem lltjk. A kvnt darabszmot mkds kzben is brmikor megvltoztathatjk a kivlaszt nyomgomb benyomsval. A vltoztats csak a kvetkez kmcsre rvnyes, az ppen tlts alatt lv kmcsbe mg annyi tabletta kerl, amennyivel a tltse kezddtt. A kikapcsolskor az ppen folyamatban lv adagolst mg befejezi a vezrls.

L5

L7

L9

39. bra Tablettaadagol berendezs

A megoldsban a tabletta darabszmok klcsnsen reteszelik egymst. Az egyik darabszmrl a msikra tvltst mindig biztostani kell, ezrt szksges a darabszmok trolsa, ezt RS trolkkal, n. jelelfeldolgozssal, az llapotgrfon kvl valstjuk meg. A kszlk kikapcsolsa trli a trolt.

109

Jancskrn Anweiler Ildik: PLC programozs II. rsz sszerendelsi tblzat Bemenetek
BE/KI kapcsol A kmcs tltsi pozciban 5 DB TBL kivlaszt 7 DB TBL kivlaszt

KZIRAT!

Jel
S1 S2 S3 S4 S5 OPT

Logikai sszerendels
bekapcsolva: jelez, ha: benyomva: benyomva: benyomva: jelez, ha: S1=1 S2=1 S3=1 S4=1 S5=1 OPT=1

Cm
I0.0 I0.1 I0.2 I0.3 I0.4 I0.5

9 DB TBL kivlaszt
optikai rzkel

Kimenetek
Motor Szelep 5 TBL jelzlmpa 7 TBL jelzlmpa 9 TBL jelzlmpa Mot MSZ L5 L7 L9 bekapcsolva: nyitva, ha: vilgt. ha: vilgt. ha: vilgt. ha: Mot=1 MSZ=1 L5=1 L7=1 L9=1 Q0.0 Q0.1 Q0.2 Q0.3 Q0.4

110

Jancskrn Anweiler Ildik: PLC programozs II. rsz Az llapotgrf

KZIRAT!

0
M0
S1

1
M1

Mot

TBL5 L5 L7

TBL7 TBL9 L9

S2

2
M2

Mot

TBL5 L5 L7

TBL7 TBL9 L9

S2

3
M3

TBL5 L5 L7

TBL7 TBL9 L9

S1

TBL5

TBL7

TBL9

4
M4

MSZ C1=5 L5
C1.Q

5
M5
C2.Q

MSZ C2=7 L7

6
M6
1

MSZ C3=9 L9
C3.Q

111

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

A vezrlalgoritmus felptse A vezrlst egy fprogram s egy fggvnyblokk segtsgvel valstjuk meg. A fprogramban a ki/bemeneti jelek deklarlsa mellett, mg a fggvnyblokk-hvs eltt, feldolgozzuk a rvid ideig hat jeleket. Esetnkben ilyen jelnek szmt a tabletta darabszm kivlaszt nyomgomb. A fggvnyblokk az llapotgrfnak felel meg. A szmllk s a kimenetek kiszmtsa is a fggvnyblokkban trtnik, a kimenetek belltst a fprogram vgzi. A fprogram Els programciklus lekrdezse:

112

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

A funkciterv trsa utastslistba PROGRAM PRTABL VAR BE_KI_S1 AT %I0.0.0.0.0: BOOL; TOLTES_S2 AT %I0.0.0.0.1: BOOL; NYG5_S3 AT %I0.0.0.0.2: BOOL; NYG7_S4 AT %I0.0.0.0.3: BOOL; NYG9_S5 AT %I0.0.0.0.4: BOOL; OPT AT %I0.0.0.0.5: BOOL; MotOR AT %Q0.0.0.0.0: BOOL; MagnSZel AT %Q0.0.0.0.1: BOOL; Lamp5 AT %Q0.0.0.0.2: BOOL;

113

Jancskrn Anweiler Ildik: PLC programozs II. rsz Lamp7 AT %Q0.0.0.0.3: BOOL; Lamp9 AT %Q0.0.0.0.4: BOOL; TA5: BOOL; TA7: BOOL; TA9: BOOL; TBL5: BOOL; TBL7: BOOL; TBL9: BOOL; IMPULZUS: BOOL; FGVBL: TABLETTA; END_VAR (*INDT IMPULZUS*) LD ISA PLC_Message ST IMPULZUS (*JELFELDOLGOZS AZ LLAPOTGRFON KVL*) LD NYG5_S3 ANDN NYG7_S4 ANDN NYG9_S5 ST TA5 S TBL5 LD TA7 OR TA9 OR FGVBL.M0 R TBL5 LDN NYG5_S3 AND NYG7_S4 ANDN NYG9_S5 ST TA7 S TBL7 LD TA5 OR TA9 OR FGVBL.M0 R TBL7 LDN NYG5_S3 ANDN NYG7_S4 AND NYG9_S5 ST TA9 S TBL9 LD TA5 OR TA7 OR FGVBL.M0 R TBL9

KZIRAT!

114

Jancskrn Anweiler Ildik: PLC programozs II. rsz (*FGGVNYBLOKK HVSA*) CAL FGVBL(IND:=IMPULZUS, S1:=BE_KI_S1, S2:=TOLTES_S2, S3:=NYG5_S3, S4:=NYG7_S4, S5:=NYG9_S5, OPT:=OPT, TBL5:=TBL5, TBL7:=TBL7, TBL9:=TBL9 ) (* KIMENETEK *) LD ST LD ST LD ST LD ST FGVBL.MOT MotOR FGVBL.MSZ MagnSZel FGVBL.L5 Lamp5 FGVBL.L7 Lamp7

KZIRAT!

LD FGVBL.L9 ST Lamp9 END_PROGRAM A fggvnyblokk Funkciterv

115

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

116

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

117

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

A szmllk:

118

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

119

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

A fggvnyblokk utastslista FUNCTION_BLOCK TABLETTA VAR_INPUT S1: BOOL; S2: BOOL; S3: BOOL; S4: BOOL; S5: BOOL; OPT: BOOL; IND: BOOL; TBL5: BOOL; TBL7: BOOL; TBL9: BOOL; END_VAR VAR_OUTPUT MOT: BOOL; MSZ: BOOL; L5: BOOL; L7: BOOL; L9: BOOL; M0: BOOL; END_VAR VAR M1: BOOL; M2: BOOL; M3: BOOL; M4: BOOL; M5: BOOL; M6: BOOL; C1: CTD; END_VAR VAR constant C1KONST: INT := 5; 120

Jancskrn Anweiler Ildik: PLC programozs II. rsz END_VAR VAR C1IMP: R_TRIG; C2: CTD; END_VAR VAR constant C2KONST: END_VAR VAR C2IMP: R_TRIG; C3: CTD; END_VAR VAR constant C3KONST: END_VAR VAR C3IMP: END_VAR R_TRIG; (*2. LLAPOT*) LD M1 ANDN S2 S M2 LD IND OR M3 R M2 (*3. LLAPOT*) LD M2 AND S2 S M3 LD IND OR M4 OR M5 OR M6 R M3 (*4. LLAPOT*) LD M3 AND TBL5 S M4 LD IND OR M0 OR M1 R M4 INT := 9; INT := 7;

KZIRAT!

(*0. LLAPOT*) LD IND OR( M3 ANDN S1 ) S M0 LD M1 R M0 (*1. LLAPOT*) LD M0 AND S1 OR( AND ) OR( AND ) OR( AND ) S LD OR R M4 C1.Q M5 C2.Q M6 C3.Q M1 IND M2 M1

121

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

(*5. LLAPOT*) LD M3 AND TBL7 S M5 LD IND OR M0 OR M1 R M5 (*6. LLAPOT*) LD M3 AND TBL9 S M6 LD IND OR M0 OR M1 R M6 (*SZMLLK*) LD OPT ST C1.CD LD M4 ST C1IMP.CLK CAL C1IMP LD C1IMP.Q ST C1.LOAD LD C1KONST ST C1.PV CAL C1 LD ST LD ST CAL LD ST LD ST CAL LD ST LD ST CAL LD ST OPT C2.CD M5 C2IMP.CLK C2IMP C2IMP.Q C2.LOAD C2KONST C2.PV C2 OPT C3.CD M6 C3IMP.CLK C3IMP C3IMP.Q C3.LOAD

LD C3KONST ST C3.PV CAL C3 (*KIMENETEK*) LD OR ST LD OR OR ST LD OR( AND( OR OR ) ) ST LD OR( AND( OR OR ) ) ST M1 M2 MOT M4 M5 M6 MSZ M4 TBL5 M1 M2 M3 L5 M5 TBL7 M1 M2 M3 L7

LD M6 OR( TBL9 AND( M1 OR M2 OR M3 ) ) ST L9 END_FUNCTION_BLOCK

122

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

temvezrelt lefutvezrlsek Kzlekedsi lmpa vezrlse


Egy kzlekedsi lmpa 3 idegysgig piros, ahol a 3. idegysgben a piros mellett a srga lmpa is vilgt. Ezutn 4 idegysg zld fzis kvetkezik. A ciklus 1 idegysg srgval zrul. Az idegysg legyen 5 s.

sszerendelsi tblzat
Bemenetek BE/KI kapcsol Jel S0 Logikai hozzrendels bekapcsolva: S0=1 Cm I0.0

Kimenetek
Piros. lmpa Srga lmpa Zld. lmpa P S Z vilgt, ha: vilgt, ha: vilgt, ha: P=1 S=1 Z=1 Q0.0 Q0.1 Q0.2

Megolds

1. vltozat

Egy ciklus 8 idegysgbl ll. Az idtemet egy temad adja, amelynek igen egyszer a programja: az idzt kimenjelvel vezrelt UTEM-merker legyen 0 llapot. A merker negltjt az indtjellel (S0) egytt egy bekapcsols-ksleltetses idzt IN bemenethez kapcsoljuk. Bekapcsolskor elindul az idzt, s a kimenetn 5s elteltvel megjelenik az 1 jel, amely csak egyetlen ciklusideig l, mert a kvetkez ciklusban az indtfelttele nullra vlt. Ez a ciklus ismtldik mindaddig, amg S0-al ki nem kapcsoljuk a vezrlst.
Az temgenertor impulzusai egy szmllt inkrementlnak. Ha a szmll rtke elri a 8-at, a szmllt RESET-elni kell. A szmll rtke megadja az temszmot, amely segtsgvel a kimenjelek bellthatk.

tem 1 2 3 4 5 6 7 8

Lmpafzisok A szmll rtke 0 P 1 P 2 P S 3 Z 4 Z Z 5 6 Z 7 S

temmerker M1 M2 M3 M4 M5 M6 M7 M8

123

Jancskrn Anweiler Ildik: PLC programozs II. rsz Utastslista


PROGRAM KZLAMPA VAR S0 AT %I0.0.0.0.0: BOOL; PIROS AT %Q0.0.0.0.0: BOOL; SARGA AT %Q0.0.0.0.1: BOOL; ZOLD AT %Q0.0.0.0.2: BOOL; SZAMLALO: CTU; UTEM_MAX: INT := 8; T1: TON; UTEMIDO: TIME := t#5S; M1: BOOL; M2: BOOL; M3: BOOL; M4: BOOL; M5: BOOL; M6: BOOL; M7: BOOL; M8: BOOL; UTEM: BOOL; USZAM: INT; END_VAR (*TEMGENERTOR*) LD S0 ANDN UTEM ST T1.IN LD UTEMIDO ST T1.PT CAL T1 LD T1.Q ST UTEM (*SZMLL*) LD UTEM ST SZAMLALO.CU LD SZAMLALO.CV GE UTEM_MAX ORN S0 ST SZAMLALO.RESET CAL SZAMLALO (*TEM-MERKEREK*) LD SZAMLALO.CV ST USZAM EQ 0 ST M1 LD USZAM EQ 1 ST M2 LD USZAM EQ 2 ST M3 LD USZAM EQ 3 ST M4

KZIRAT!

LD EQ ST LD EQ ST LD EQ ST LD EQ ST

USZAM 4 M5 USZAM 5 M6 USZAM 6 M7 USZAM 7 M8

(*PIROS LMPA*) LD M1 OR M2 OR M3 ST PIROS (*SRGA LMPA*) LD M3 OR M8 ST SARGA (*ZLD LMPA*) LD M4 OR M5 OR M6 OR M7 ST ZOLD END_PROGRAM

124

Jancskrn Anweiler Ildik: PLC programozs II. rsz Megolds 2. vltozat, utastslista

KZIRAT!

PROGRAM KZLAMP2 VAR S0 AT %I0.0.0.0.0: BOOL; PIROS AT %Q0.0.0.0.0: BOOL; SARGA AT %Q0.0.0.0.1: BOOL; ZOLD AT %Q0.0.0.0.2: BOOL; UTGEN AT %QB0.0.0.1: BYTE; FELFUTO: R_TRIG; FGVBL: FBKLAMP; FGVBL2: FBSARGA; END_VAR CAL FELFUTO(CLK:=S0) LD S0 JMPCN VILLOG LD FELFUTO.Q ST FGVBL.INDIMP CAL FGVBL LD FGVBL.P ST PIROS LD FGVBL.SA ST SARGA LD FGVBL.Z ST ZOLD LD FGVBL.UTEMB ST UTGEN RET FUNCTION_BLOCK FBKLAMP VAR_INPUT INDIMP: END_VAR BOOL; VILLOG: CAL FGVBL2 LD FGVBL2.P ST PIROS LD FGVBL2.SA ST SARGA LD FGVBL2.Z ST ZOLD LD FGVBL2.UTEMB ST UTGEN RET END_PROGRAM

VAR_OUTPUT P: BOOL; SA: BOOL; Z: BOOL; UTEMB: BYTE; END_VAR VAR T1: TON; MB: BYTE; UTIMP: BOOL; UTEMIDO: TIME := t#1S; END_VAR LD INDIMP JMPCN TOVABB LD 1 ST MB TOVABB: (*TEMGENERTOR*) LDN UTIMP ST T1.IN

125

Jancskrn Anweiler Ildik: PLC programozs II. rsz


LD UTEMIDO ST T1.PT CAL T1 LD T1.Q ST UTIMP (*FORGATS*) LD UTIMP JMPCN TOV2 LD MB ROL 1 ST MB (*KIMENETEK BELLTSA*) TOV2: LD MB ST UTEMB LD 0 ST Z ST P ST SA LD EQ MB 4 ST SA

KZIRAT!

LD MB LE 4 ST P RETC LD MB EQ 128 ST SA RETC LD ST RET 1 Z

END_FUNCTION_BLOCK

FUNCTION_BLOCK FBSARGA VAR_OUTPUT P: BOOL; SA: BOOL; Z: BOOL; UTEMB: BYTE; END_VAR VAR T1: TP; T2: TP; UTIDO1: UTIDO2: END_VAR TIME := t#100MS; TIME := t#500MS; ST P ST Z LD 0 ST UTEMB END_FUNCTION_BLOCK

(*VILLOGS KT IDZTVEL*) LDN T2.Q ST T1.IN LD UTIDO1 ST T1.PT CAL T1 LDN T1.Q ST T2.IN LD UTIDO2 ST T2.PT CAL T2 (*KIMENETEK BELLTSA*) LD T2.Q ST SA LD 0

126

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

Folyamatvezrelt lefutvezrlsek Az zemmd programrsz (fggvnyblokk) Az zemmd fggvnyblokk feldolgozza a kezeli felletrl s a berendezs fell jv parancsokat, jelzseket s engedlyez jelek formjban tovbbtja a lptetlnc fel. Visszajelzi ezen kvl az zemmdot, s engedlyezi a kimenetek mkdtetst.

40. bra A kezeli fellet

KEZELI FELLET K_AUT AUT/KZI VEZRLTADS V_ATAD P_ENG PARANCSENGED. STOP STOP

ZEMMDFGGVNYBLOKK

KEZELI FELLET Q_AUT AUTOMATA KIJELZ

BERENDEZS
START NYOMGOMB

ENG0 ENG1 ENG2

START

LPTETLNC KEZD. IMP.


FELTTELES FELTTELNLKLI TOVBBLPS ENGEDLYEZSE 0-1 LPS ENGED.

ENG3

LPTETLNC FB. BEREND.


ALAPHELYZETBEN 0. LPS 1. LPS

AM0 M0 M1 ENG4

PARANCSKIADS ENGEDLYEZS KEZELI FELLET LPSKIJELZS

. . .

MN

2.bra Az zemmd programrsz kapcsolata a tbbi programrsszel, illetve a kezeli fellettel s a berendezssel

127

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

Az zemmd fggvnyblokk Ksztsk el a fenti bra elrsainak megfelel fggvnyblokkot. A fggvnyblokk definilsakor arra trekedtnk, hogy csak a konkrt technolgitl fggetlen jeleket, a kezeli fellet jeleit dolgozzuk fel. Azonos kezeli fellet esetn gy a ksbbiekben vltoztats nlkl felhasznlhatjuk a fggvnyblokkot.

3. bra A kezeli fellet a fggvnyblokk vltoznv jellseivel

A fggvnyblokk utastslistja: FUNCTION_BLOCK UMODFGV VAR_INPUT I1 : BOOL ; I2 : BOOL ; I3 : BOOL ; I4 : BOOL ; AM0 : BOOL ; (*BERENDEZS ALAPLLAPOTA*) M0 : BOOL ; (*0. LPS*) S0 : BOOL ; (*START a fprogramban*) END_VAR VAR_OUTPUT Q4 : BOOL ; (*AUTOMATA ZEMMD*) ENG0 : BOOL ; (*EN0 a fprogramban*) ENG1 : BOOL ; (*EN1 a fprogramban*) ENG2 : BOOL ; (*EN2 a fprogramban*) ENG3 : BOOL ; (*EN3 a fprogramban*) ENG4 : BOOL ; (*EN4 a fprogramban*) END_VAR VAR V_IMP : BOOL ; B11 : BOOL ; T_STOP : BOOL ; END_VAR Impulzuskapcsol a vezrlstads felfut lre (V_IMP) LD I2 ANDN B11 ST V_IMP LD I2 ST B11 Indt impulzus (ENG0) 128

Jancskrn Anweiler Ildik: PLC programozs II. rsz LD V_IMP AND AM0 ANDN Q4 AND I1 ANDN M0 ST ENG0

KZIRAT!

Automata zemmd kijelzs (Q4) s feltteles lptets engedlyez jele (ENG1) LD AM0 AND V_IMP AND M0 S Q4 LDN I1 OR( T_STOP AND M0 ) R Q4 LD Q4 ST ENG1 Stop nyomgomb trolsa (T_STOP) LD Q4 ANDN I4 S T_STOP LDN Q4 R T_STOP Felttel nlkli tovbblps engedlyez jele (ENG2) LD V_IMP ANDN I1 ST ENG2 Parancsengedlyezs (ENG4) LD S0 AND AM0 ST ENG3 LD Q4 OR( I3 ANDN I1 ) ST ENG4 END_FUNCTION_BLOCK

Szakaszos zem folyadkkever berendezs vezrlse A technolgiai feladat kt klnbz folyadk sszeelegytse s adott hmrskletre melegtse.

129

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

41. bra Kevertartly a kezeltblval

A berendezs szakaszos zemben mkdik. Alapllapotban a tartly res, a szelepek zrva. Automata zemmdban a technolgia az albbi lpsek sorozata: START nyomgomb benyomsra, a MSZ1 jel mgnesszelep nyit, az 1. folyadk beramlik a tartlyba. Ha S2 szintrzkel jelez, a MSZ1 szelep zr, MSZ2 nyit, bekapcsol a kevers, s beramlik a 2. folyadk. Ha S3 szintrzkel jelez, MSZ2 zr, a kever mellett bekapcsol a fts. Ha a tartlyban lv folyadk hmrsklete elrte a kvnt rtket, S4 jelez, lell a fts s a kevers, az MSZ3 mgnesszelep nyit, a tartly lerl. Ha S1 jelez, START jelre ismt indulhat ellrl a folyamat. A berendezshez tartozik egy olyan kezeli fellet, amely biztostja az zemmd megvlasztst, s klnbz zemmdokban a berendezs felgyelett, a vezrlsi lpsek nyomon kvetst, a vezrls tesztelst.

130

Jancskrn Anweiler Ildik: PLC programozs II. rsz sszerendelsi tblzat A tblzatban felsoroljuk a technolgiai jelek mellett a kezeli fellet jeleit is.

KZIRAT!

Bemenetek START res a tartly a tartly flig a tartly tele hmrskletrzkel Automata/kzi tkapcsol

Jel START S1 S2 S3 S4 KAUT

Logikai sszerendels benyomva: START=1 res, ha: jelez, ha: jelez, ha: a mrt hmrsklet >= kvnt rtk: S1=1 S2=1 S3=1 S4=1

Cm I1.4 I0.0 I0.1 I0.2 I0.3 I1.0 I1.1 I1.2 I1.3 Cm Q0.0 Q0.1 Q0.2 Q0.3 Q0.4 Q1.1 Q1.2 Q1.3 Q1.4 Q1.0

automata: KAUT=1 benyomva: VATAD=1 benyomva: PENG=1 benyomva: STOP=0 Logikai sszerendels nyitva, ha: MSZ1=1 nyitva, ha: MSZ2=1 nyitva, ha: MSZ3=1 bekapcsolva, ha: bekapcsolva, ha: FUT=1 KEV=1

vezrls tads nyomgomb VATAD parancsengedlyezs STOP nyomgomb Kimenetek 1. mgnesszelep 2. mgnesszelep 3. mgnesszelep fts kevers lpskijelz LED lpskijelz LED lpskijelz LED lpskijelz LED automata zemmd jelzs PENG STOP Jel MSZ1 MSZ2 MSZ3 FUT KEV LEP 0 LEP1 LEP2 LEP3 QAUT

vilgt, ha: LEP0=1 vilgt, ha: LEP1=1 vilgt, ha: LEP2=1 vilgt, ha: LEP3=1 vilgt, ha: LEP4=1

131

Jancskrn Anweiler Ildik: PLC programozs II. rsz A lptetlnc

KZIRAT!

0
M0
EN3

1
M1

MSZ1

S2

2
M2

MSZ2 KEV
S3

3
M3

KEV FT

S4

4
M4
S1

MSZ3

A lptetlnc funkcitervbe val trsakor figyelembe vesszk az zemmd fggvnyblokk engedlyez jeleit is. : A vezrls fggvnyblokkjai zemmd lptetlnc lpskijelzs parancskiads prototpus UMODFB LEPTL LEPKIJ PARKIAD feladata zemmd belltsa, engedlyez jelek meghatrozza a berendezs alapllapott s belltja a lpsmerkereket a lpskijelz LED-ek belltsa a kimenetek belltsa

132

Jancskrn Anweiler Ildik: PLC programozs II. rsz A fprogram A fprogramot utastslistban adjuk meg.
A vltozdeklarci:

KZIRAT!

PROGRAM kevtart VAR KAUT AT %I0.0.0.1.0: VATAD AT %I0.0.0.1.1: PENG AT %I0.0.0.1.2: STOP AT %I0.0.0.1.3: START AT %I0.0.0.1.4: QAUT AT %Q0.0.0.1.0: LEP1 AT %Q0.0.0.1.1: LEP2 AT %Q0.0.0.1.2: LEP3 AT %Q0.0.0.1.3: EN0: EN1: EN2: EN3: EN4: END_VAR VAR S1 AT %I0.0.0.0.0: S2 AT %I0.0.0.0.1: S3 AT %I0.0.0.0.2: S4 AT %I0.0.0.0.3:

BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL;

(* =1 :AUTO =0 :KZI *) (* =1 BENYOMVA *) (* =1 BENYOMVA *) (* =0 BENYOMVA *) (* =1 BENYOMVA *) (* LEPESkijelzs *) (* LEPESkijelzs *) (* LEPESkijelzs *)

BOOL; (*indt impulzus*) BOOL; (*feltteles tovbblps engedlyezse*) BOOL; (*felttel nlkli tovbblps engedlyezse*) BOOL; (*0-1 lps engedlyezse*) BOOL; (*parancsengedlyezs*)

BOOL; BOOL; BOOL; BOOL;

(* 1.SZINT *) (* 2.SZINT *) (* 3.SZINT *) (* HOMERSEKLET *) (* 1.SZELEP *) (* 2.SZELEP *) (* 3.SZELEP *) (* FUTES *) (* KEVERO *)

MSZ1 AT %Q0.0.0.0.0: MSZ2 AT %Q0.0.0.0.1: MSZ3 AT %Q0.0.0.0.2: FUT AT %Q0.0.0.0.3: KEV AT %Q0.0.0.0.4: UZEM: LANC: KIJELZ: KIMENET: END_VAR UMODFB; LEPTL; LEPKIJ; PARKIAD;

BOOL; BOOL; BOOL; BOOL; BOOL;

VAR_GLOBAL M0: BOOL; M1: BOOL; M2: BOOL; M3: BOOL; M4: BOOL; AM0: BOOL; END_VAR

(* 0. lps *) (* 1.lps *) (* 2.lps *) (* 3.lps *) (* 4.lps *) (* berendezs alapllapota *)

133

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

LD ST LD ST LD ST LD ST LD ST LD ST LD ST

KAUT UZEM.I1 VATAD UZEM.I2 PENG UZEM.I3 STOP UZEM.I4 START UZEM.S0 AM0 UZEM.AM0 M0 UZEM.M0

CAL UZEM LD ST LD ST LD ST LD ST LD ST LD ST UZEM.Q4 QAUT UZEM.ENG0 EN0 UZEM.ENG1 EN1 UZEM.ENG2 EN2 UZEM.ENG3 EN3 UZEM.ENG4 EN4

CAL LANC(ENG0:=EN0,ENG1:=EN1, ENG2:=EN2,ENG3:=EN3, S1:=S1,S2:=S2, S3:=S3,S4:=S4) CAL KIJELZ LD ST LD ST LD ST KIJELZ.Q0 LEP1 KIJELZ.Q1 LEP2 KIJELZ.Q2 LEP3

CAL KIMENET(ENG4:=EN4) LD ST LD KIMENET.Y1 MSZ1 KIMENET.Y2

134

Jancskrn Anweiler Ildik: PLC programozs II. rsz ST MSZ2 LD KIMENET.Y3 ST MSZ3 LD KIMENET.H ST FUT LD KIMENET.MOT ST KEV END_PROGRAM

KZIRAT!

Az zemmd fggvnyblokk Funkciterv

135

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

136

Jancskrn Anweiler Ildik: PLC programozs II. rsz Utastslista FUNCTION_BLOCK UMODFB VAR_INPUT I1 : BOOL ; I2 : BOOL ; I3 : BOOL ; I4 : BOOL ; AM0 : BOOL ; M0 : BOOL ; S0 : BOOL ; END_VAR VAR_OUTPUT Q4 : BOOL ; ENG0 : BOOL ; ENG1 : BOOL ; ENG2 : BOOL ; ENG3 : BOOL ; ENG4 : BOOL ; END_VAR VAR V_IMP : BOOL ; B11 : BOOL ; T_STOP : BOOL ; END_VAR LD I2 ANDN B11 ST V_IMP LD ST I2 B11 LD Q4 ST ENG1 LD Q4 ANDN I4 S T_STOP LDN Q4 R T_STOP LD V_IMP ANDN I1 ST ENG2 LD S0 AND AM0 ST ENG3

KZIRAT!

LD V_IMP AND AM0 ANDN Q4 AND I1 ANDN M0 ST ENG0 LD AND AND S LDN OR( AND ) R AM0 V_IMP M0 Q4 I1 T_STOP M0 Q4

LD Q4 OR( I3 ANDN I1 ) ST ENG4 END_FUNCTION_BLOCK

137

Jancskrn Anweiler Ildik: PLC programozs II. rsz A lptetlnc fggvnyblokk Funkciterv

KZIRAT!

138

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

139

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

140

Jancskrn Anweiler Ildik: PLC programozs II. rsz Utastslista FUNCTION_BLOCK LEPTL VAR_INPUT ENG0 : BOOL ; ENG1 : BOOL ; ENG2 : BOOL ; ENG3 : BOOL ; S1 : BOOL ; S2 : BOOL ; S3 : BOOL ; S4 : BOOL ; END_VAR VAR_EXTERNAL M0 : BOOL ; M1 : BOOL ; M2 : BOOL ; M3 : BOOL ; M4 : BOOL ; AM0 : BOOL ; END_VAR (*BERENDEZS ALAPLLAPOTA*) LD S1 ANDN S2 ANDN S3 ANDN S4 ST AM0 (*0. LPS*) LD OR ENG0 ( M4 ANDN M3 AND ( OR ) ) S M0 (*1. LPS*) LDN M4 AND M0 AND ( OR ) M1 ENG0 M2 M1

KZIRAT!

ENG2 ( ENG1 AND ENG3 )

ENG2 ( ENG1 AND S1 )

S LD OR R

LD R

M1 M0

141

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

(*2. LPS*) LDN M0 AND M1 AND ( OR ) M2 ENG0 M3 M2

ENG2 ( ENG1 AND S2 )

S LD OR R

(*3. LPS*) LDN M1 AND M2 AND ( OR ) M3 ENG0 M4 M3

ENG2 ( ENG1 AND S3 )

S LD OR R

(*4. LPS*) LDN M2 AND M3 AND ( OR

ENG2 ( ENG1 AND S4 )

) S M4 LD ENG0 OR M0 R M4 END_FUNCTION_BLOCK

142

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

A lpskijelzs fggvnyblokk Funkciterv

Utastslista FUNCTION_BLOCK LEPKIJ VAR_OUTPUT Q0 : BOOL ; Q1 : BOOL ; Q2 : BOOL ; END_VAR VAR_EXTERNAL M0 : BOOL ; M1 : BOOL ; M2 : BOOL ; M3 : BOOL ; M4 : BOOL ; END_VAR LD OR OR ST LD OR OR ST M0 M1 M3 Q0 M0 M2 M3 Q1

LD M0 OR M4 ST Q2 END_FUNCTION_BLOCK

143

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

A parancskiads fggvnyblokk Funkciterv

144

Jancskrn Anweiler Ildik: PLC programozs II. rsz Utastslista FUNCTION_BLOCK PARKIAD VAR_INPUT ENG4 : BOOL ; END_VAR VAR_OUTPUT Y1 : BOOL ; Y2 : BOOL ; Y3 : BOOL ; H : BOOL ; MOT : BOOL ; END_VAR VAR_EXTERNAL M1 : BOOL ; M2 : BOOL ; M3 : BOOL ; M4 : BOOL ; END_VAR LD ENG4 AND M1 ST Y1 LD ENG4 AND M2 ST Y2 LD ENG4 AND M4 ST Y3 LD ENG4 AND M3 ST H LD ENG4 AND( M2 OR M3 ) ST MOT END_FUNCTION_BLOCK

KZIRAT!

145

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

Pldk lefutvezrlsekre Prsgp vezrlse A prsberendezssel az eltrolbl kivezetett munkadarabokba jelzst prselnek. A pneumatikus munkahengerek gy vannak kikpezve, hogy csak egyik irnyban szksges a mkdtet leveg, a msik irnyba (alaphelyzetbe) rug tolja vissza.

42. bra Prsgp a kezeltblval

A prselsi ciklus: Az eltrolbl (S3 jelzi, hogy van kszenltben j munkadarab) 1. munkahenger tolattyja kitolja a munkadarabot a prsformba. ha S4 jelzi, hogy megfelel pozciba kerlt a munkadarab, a prsel munkahenger rnyomja a prsmintt, 2s-ig lenyomva tartja. Ezutn MSZ2 mgnesszelep zr, a rug visszaviszi eredeti pozcijba a prskart (S5 jelez). A kidob

146

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

munkahenger s a terelleveg segtsgvel a munkadarab a gyjtkosrba kerl. Ha az OPT rzkel jelzi, hogy a munkadarab thaladt, MSZ3 s MSZ4 mgnesszelepek zrnak, s indulhat a folyamat elrl. A prsels automata zemmdban a START nyomgomb egyszeri lenyomsra indul, s mindaddig fut ciklikusan, amg van munkadarab az eltrolban (ismtelt vgrehajts engedlyezse!). (Az automata zemmd termszetesen a STOP gomb benyomsval a folyamatban lv ciklus vgn, a Kzi tkapcsolssal pedig azonnal megszntethet.) sszerendelsi tblzat
A tblzatban felsoroljuk a technolgiai jelek mellett a kezeli fellet jeleit is.

Bemenetek
START 1. mh. hts pozci 1. mh. els pozci munkadarab az eltrolban munkadarab a psformban 2. mh. hts pozci 2. mh. els pozci optorzkel Automata/kzi tkapcsol vezrls tads nyomgomb parancsengedlyezs STOP nyomgomb

Jel
START S1 S2 S3 S4 S5 S6 OPT KAUT VATAD PENG STOP

Logikai sszerendels
benyomva: START=1 jelez, ha: jelez, ha: jelez, ha: jelez, ha: jelez, ha: jelez, ha: a fnyt megszakad: S1=1 S2=1 S3=1 S4=1 S5=1 S6=1 OPT=1

Cm
I1.4 I0.0 I0.1 I0.2 I0.3 I0.4 I0.5 I0.6 I1.0 I1.1 I1.2 I1.3

automata: KAUT=1 benyomva: VATAD=1 benyomva: PENG=1 benyomva: STOP=0

147

Jancskrn Anweiler Ildik: PLC programozs II. rsz


Kimenetek 1. mh. mgnesszelep 2. mh. mgnesszelep 3. mh. mgnesszelep 4. mh. mgnesszelep lpskijelz LED lpskijelz LED lpskijelz LED lpskijelz LED automata zemmd jelzs Jel MSZ1 MSZ2 MSZ3 MSZ4 LEP0 LEP1 LEP2 LEP3 QAUT Logikai sszerendels nyitva, ha: MSZ1=1 nyitva, ha: MSZ2=1 nyitva, ha: MSZ3=1 nyitva, ha: MSZ4=1 vilgt, ha: LEP0=1 vilgt, ha: LEP1=1 vilgt, ha: LEP2=1 vilgt, ha: LEP3=1 vilgt, ha: QAUT=1

KZIRAT!
Cm Q0.0 Q0.1 Q0.2 Q0.3 Q1.0 Q1.1 Q1.2 Q1.3 Q1.4

148

Jancskrn Anweiler Ildik: PLC programozs II. rsz Lptetlnc

KZIRAT!

0
M0
EN3

1
M1

MS1

S4

2
M2
S1

3
M3

MSZ2

S6

4
M4

MSZ2 T1=2s

T1

5
M5
S5

6
M6

MSZ3 MSZ4
AND

S4 OPT

149

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

A lptetlnc funkcitervbe val trsakor figyelembe vesszk az zemmd fggvnyblokk engedlyez jeleit is. Az zemmd fggvnyblokkot vltozatlanul tvehetjk az elz feladatbl. A lpskijelzst ki kell bvtennk 6 lpsszm kijelzsre. A lptetlncot s a parancskiadst meg kell feleltetnnk az j technolginak, a fprogramban pedig deklarlnunk kell a megfelel ki/bemeneti jeleket. A fprogramban a fggvnyblokkok hvst s az adattadst aktualizlni kell. A vezrls fggvnyblokkjai zemmd lptetlnc lpskijelzs parancskiads A fprogram A fprogramot utastslistban adjuk meg. A vltozdeklarci: PROGRAM PRESPR VAR KAUT AT %I0.0.0.1.0: BOOL; (* =1 :AUTO =0 :KZI *) VATAD AT %I0.0.0.1.1: BOOL; (* =1 BENYOMVA *) PENG AT %I0.0.0.1.2: BOOL; (* =1 BENYOMVA *) STOP AT %I0.0.0.1.3: BOOL; (* =0 BENYOMVA *) START AT %I0.0.0.1.4: BOOL; (* =1 BENYOMVA *) QAUT AT %Q0.0.0.1.0: BOOL; LEP1 AT %Q0.0.0.1.1: BOOL; (* LEPESkijelzs *) LEP2 AT %Q0.0.0.1.2: BOOL; (* LEPESkijelzs *) LEP3 AT %Q0.0.0.1.3: BOOL; (* LEPESkijelzs *) EN0: BOOL; (* indt impulzus *) EN1: BOOL; (* feltteles tovbblps engedlyezse *) EN2: BOOL; (* felttel nlkli tovbblps engedlyezse *) EN3: BOOL; (* 0-1 lps engedlyezse *) EN4: BOOL; (* parancsengedlyezs *) S1 AT %I0.0.0.0.0: BOOL; S2 AT %I0.0.0.0.1: BOOL; S3 AT %I0.0.0.0.2: BOOL; S4 AT %I0.0.0.0.3: BOOL; S5 AT %I0.0.0.0.4: BOOL; S6 AT %I0.0.0.0.5: BOOL; OPT AT %I0.0.0.0.6: BOOL; MSZ1 AT %Q0.0.0.0.0: BOOL; MSZ2 AT %Q0.0.0.0.1: BOOL; MSZ3 AT %Q0.0.0.0.2: BOOL; MSZ4 AT %Q0.0.0.0.3: BOOL; UZEM: UMODFB; LANC: LEPTETP; KIJELZ: PRESLEP; 150 prototpus UMODFB LEPTET PRESLEP PRESPAR feladata zemmd belltsa, engedlyez jelek meghatrozza a berendezs alapllapott s belltja a lpsmerkereket a lpskijelz LED-ek belltsa a kimenetek belltsa

Jancskrn Anweiler Ildik: PLC programozs II. rsz KIMENET: END_VAR PRESPAR;

KZIRAT!

VAR_GLOBAL AM0: BOOL; (* berendezs alapllapota *) M0: BOOL; (* 0. lps *) M1: BOOL; (* 1.lps *) M2: BOOL; (* 2.lps *) M3: BOOL; (* 3.lps *) M4: BOOL; (* 4.lps *) M5: BOOL; (* 5.lps *) M6: BOOL; (* 6.lps *) END_VAR

programtrzs:
LD ST LD ST LD ST LD ST LD ST LD ST LD ST CAL LD ST LD ST LD ST LD ST LD ST LD ST CAL KAUT UZEM.I1 VATAD UZEM.I2 PENG UZEM.I3 STOP UZEM.I4 START UZEM.S0 AM0 UZEM.AM0 M0 UZEM.M0 UZEM UZEM.Q4 QAUT UZEM.ENG0 EN0 UZEM.ENG1 EN1 UZEM.ENG2 EN2 UZEM.ENG3 EN3 UZEM.ENG4 EN4 LANC(ENG0:=EN0,ENG1:=EN1, ENG2:=EN2,ENG3:=EN3, S1:=S1,S2:=S2, S3:=S3,S4:=S4, S5:=S5,S6:=S6, OPT:=OPT) KIJELZ

CAL

151

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

LD ST LD ST LD ST CAL

KIJELZ.Q0 LEP1 KIJELZ.Q1 LEP2 KIJELZ.Q2 LEP3 KIMENET(ENG4:=EN4)

LD KIMENET.Y1 ST MSZ1 LD KIMENET.Y2 ST MSZ2 LD KIMENET.Y3 ST MSZ3 LD KIMENET.Y4 ST MSZ4 END_PROGRAM

A lptetlnc fggvnyblokk funkcitervben

152

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

153

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

154

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

155

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

Utastslistban FUNCTION_BLOCK LEPTETP VAR_INPUT ENG0: BOOL; ENG1: BOOL; ENG2: BOOL; ENG3: BOOL; S1: BOOL; S2: BOOL; S3: BOOL; S4: BOOL; S5: BOOL; S6: BOOL; OPT: BOOL; END_VAR VAR T1: T11: END_VAR TON; TIME := T#2s;

156

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

VAR_EXTERNAL AM0: BOOL; M0: BOOL; M1: BOOL; M2: BOOL; M3: BOOL; M4: BOOL; M5: BOOL; M6: BOOL; END_VAR (*BERENDEZS ALAPLLAPOTA*) LD S1 ANDN S2 AND S3 ANDN S4 AND S5 ANDN S6 ANDN OPT ST AM0 (*0. LPS*) LD OR ENG0 ( M6 ANDN M5 AND ( OR

ENG2 ( ENG1 ANDN S4 AND OPT ) ) M0

) S

LD R

M1 M0

(*1. LPS*) LDN M6 AND M0 AND ( OR

ENG2 ( ENG1 AND ENG3 )

157

Jancskrn Anweiler Ildik: PLC programozs II. rsz ) M1 ENG0 M2 M1

KZIRAT!

S LD OR R

(*2. LPS*) LDN M0 AND M1 AND ( OR ) M2 ENG0 M3 M2

ENG2 ( ENG1 AND S4 )

S LD OR R

(*3. LPS*) LDN M1 AND M2 AND ( OR ) M3 ENG0 M4 M3

ENG2 ( ENG1 AND S1 )

S LD OR R

(*4. LPS*) LDN M2 AND M3 AND ( OR ) M4 ENG0 M5 M4

ENG2 ( ENG1 AND S6 )

S LD OR R

(*5. LPS*)

158

Jancskrn Anweiler Ildik: PLC programozs II. rsz LDN M3 AND M4 AND ( OR ) M5 ENG0 M6 M5

KZIRAT!

ENG2 ( ENG1 AND T1.Q )

S LD OR R

(*6. LPS*) LDN M4 AND M5 AND ( OR ) M6 ENG0 M0 M6

ENG2 ( ENG1 AND S5 )

S LD OR R

(*IDZT*) LD M4 ST T1.IN LD T11 ST T1.PT CAL T1 END_FUNCTION_BLOCK

159

Jancskrn Anweiler Ildik: PLC programozs II. rsz A lpskijelzs fggvnyblokk funkcitervben

KZIRAT!

Utastslistban FUNCTION_BLOCK PRESLEP VAR_OUTPUT Q0: BOOL; Q1: BOOL; Q2: BOOL; END_VAR VAR_EXTERNAL M0: BOOL; M1: BOOL; M2: BOOL; M3: BOOL; M4: BOOL; M5: BOOL; M6: BOOL; END_VAR LD OR OR OR ST M0 M1 M3 M5 Q0

160

Jancskrn Anweiler Ildik: PLC programozs II. rsz LD OR OR OR ST M0 M2 M3 M6 Q1

KZIRAT!

LD M0 OR M4 OR M5 OR M6 ST Q2 END_FUNCTION_BLOCK A parancskiads fggvnyblokk funkcitervben

Utastslistban FUNCTION_BLOCK PRESPAR VAR_INPUT ENG4 : BOOL ; END_VAR VAR_OUTPUT Y1 : BOOL ; Y2 : BOOL ; Y3 : BOOL ; Y4 : BOOL ;

161

Jancskrn Anweiler Ildik: PLC programozs II. rsz END_VAR VAR_EXTERNAL M1 : BOOL ; M2 : BOOL ; M3 : BOOL ; M4 : BOOL ; M5 : BOOL ; M6 : BOOL ; END_VAR LD ENG4 AND M1 ST Y1 LD AND( OR ) ST ENG4 M3 M4 Y2

KZIRAT!

LD ENG4 AND M6 ST Y3 ST Y4 END_FUNCTION_BLOCK

162

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

Kezeli fellet VSZKI-kapcsolval, tbbfle zemmd vlasztsnak lehetsgvel Elkpzelhet, hogy egy szakaszos zem technolgia levezrlshez az elz pldkban alkalmazott kezeli fellet nem elgsges. sszetettebb technolgiknl biztostanunk kell a be/ki kapcsols mellett a vszkikapcsols lehetsgt is. Az automata zemmdon kvl feltteles s felttel nlkli kzi lptet zemmd is igny lehet. A berendezs alaplllapotnak belltshoz, vszlells utni beavatkozshoz szksges a bellt zemmd. A technolgia fell rkez hibajelzsek, idtllpsek is lellthatjk az automata zemmdot, hibajelzst adva. Egy ilyen kezeli fellet egy lehetsges megvalstsa lthat az albbi brn.

43. bra Kezeli fellet

A megvltozott kezeli fellet az zemmd fggvnyblokk mdostst is megkvnja. Az albbi utastslista plda egy lehetsges megoldsra. A fggvnyblokkot gy rtuk meg, hogy az engedlyez jelek, vagyis az illeszkeds a lptetlnc s a parancskiads fggvnyblokk fel vltozatlan marad, de alkalmass tettk a kezeli fellet fell rkez, megvltozott szm s funkcij jelek fogadsra illetve kiadsra. A fggvnyblokk utastslistja (Az elz feladatok zemmd fggvnyblokkjt az j fggvnyblokkra cserve, azok az j kezeli felletrl vezrelhetk. Termszetesen a lpsszm-kijelzst a szmjegyes kijelznek megfelelen mdostanunk kell.) FUNCTION_BLOCK UMDOSSZ VAR_INPUT I1: BOOL; (* VSZKI *) I2: BOOL; (* BE/KI, BE=1 *) I3: BOOL; (* AUTOMATA, BENYOMNVA=1 *)

163

Jancskrn Anweiler Ildik: PLC programozs II. rsz I4: BOOL; I5: BOOL; I6: BOOL; I7: BOOL; I8: BOOL; I9: BOOL; AM0: BOOL; AM1: BOOL; M0: BOOL; SX: BOOL; TX: BOOL; END_VAR VAR_OUTPUT Q1: BOOL; Q2: BOOL; Q3: BOOL; Q4: BOOL; Q5: BOOL; Q6: BOOL; Q7: BOOL; Q8: BOOL; B0: BOOL; B1: BOOL; B2: BOOL; *) B3: BOOL; B4: BOOL; END_VAR VAR B10: BOOL; B11: BOOL; B12: BOOL; B13: BOOL; B14: BOOL; B15: BOOL; B16: BOOL; END_VAR

KZIRAT!

(* FELTTELES LPTET M , BENYOMNVA=1 *) (* FELTTEL NLKLI LPTET M., BENYOMNVA=1 *) (* BELLT M., BENYOMNVA=1 *) (* VEZRLSTADS, BENYOMNVA=1 *) (* STOP, BENYOMNVA=1 *) (* PARANCS ENGEDLYEZS, BENYOMNVA=1 *) (* BV: BERENDEZS ALAPLLAPOTA *) (* BV: HIBA A TECHNOLGIBL *) (* 0. LPS MERKERE *) (* HIBAJEL A TECHNOLGIBL *) (* IDTLLPS A TECHNOLGIBL *) (* ZEMEL LED *) (* AUTOMATA ZEMMD LED *) (* FELTTELES LPTET ZEMMD LED *) (* FELTTEL NLKLI LPTET M. LED *) (* BELLT ZEMMD LED *) (* STOP ELJELZS LED *) (* HIBA LED *) (* INDT IMPULZUS *) (* FELTTELES TOVBBLPS ENGEDLYEZSE *) (* FELTTEL NLKLI TOVBBLPS ENGEDLYEZSE (* 0-1 LPS ENGEDLYEZSE *) (* KIMENET-ENGEDLYEZS *)

(*BE/KIKAPCSOLS IMPULZUS FELFUT LRE*) LD I2 ANDN B11 ST B10 LD ST I2 B11

164

Jancskrn Anweiler Ildik: PLC programozs II. rsz (*ZEMEL KIJELZS*) LD B10 S Q1 LDN ORN OR R I2 I1 AM1 Q1

KZIRAT!

(*AUTOMAT ZEM KIJELZS*) LD I3 S Q2 LDN OR OR OR OR R Q1 Q3 Q4 Q5 B12 Q2

(*FELTTELES LPTETS ZEM KIJELZS*) LD I4 S Q3 LDN OR OR OR R Q1 I5 Q5 B12 Q3

(*FELTTEL NLKLI LPTETS ZEM KIJELZS*) LD I5 S Q4 LDN OR OR OR R Q1 I4 Q5 B12 Q4

165

Jancskrn Anweiler Ildik: PLC programozs II. rsz (*STOP ELVLASZTS VISSZAJELZS*) LD I8 S Q6 LDN Q2 ANDN Q3 ANDN Q4 ANDN Q5 R Q6 LD Q6 AND M0 ST B12 (*INDT IMPULZUS*) LD Q1 ANDN B13 ST B0 LD S B0 B13

KZIRAT!

LDN Q1 R B13 (*VEZRLSTADS IMPULZUS FELFUT LRE*) LD I7 ANDN B15 ST B14 LD ST I7 B15

(*FELTTELES TOVBBLPTETS ENGEDLYEZSE*) LD Q2 OR ( Q3 AND B14 ) ST B1

166

Jancskrn Anweiler Ildik: PLC programozs II. rsz (*FELTTEL NLKLI TOVBBLPTETS ENGEDLYEZSE*) LD Q4 AND B14 ST B2 (*START-FELTTEL 0-1 LPTETS*) LD I7 S B16 LDN Q2 ANDN Q3 OR I8 R B16 LD AND AND ST AM0 B1 B16 B3

KZIRAT!

(*PARANCSENGEDLYEZS*) LD Q2 OR ( I9 AND ( Q3 OR Q4 ) ) ST B4

(*HIBAJELZS*) LD Q2 AND TX OR ( SX NOT AND ( OR OR ) ) S AM1 LD R I7 AM1

Q2 Q3 Q4

167

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

LD AM1 ST Q7 END_FUNCTION_BLOCK Feladat: rja t a fenti utastslistt funkcitervbe s elemezze a mkdst!

168

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

Digitlis vezrlsek Sajt kszts fggvnyblokk: Motorblokkok felgyelete A feladat: 2 db, A,B,C motorbl ll motorblokk felgyelete. Minden motorhoz tartozik egy fordulatszmjelz, amely folyamatos 1 jelet ad, ha a motor mkdik. Ha a motor lell, az rzkel-tvad kimenete 0-ra vlt. A felgyelet akkor indul, vagyis a vezrlsnek akkor kell figyelni a motorok mkdst, ha a motorcsoporthoz tartoz engedlyez jelet a kezelszemly bekapcsolta.

44. bra Kett, egyenknt 3 db motorbl ll motorblokk felgyelete

A hibajelzs felttelei: 1. eset: a hrombl kt motor 5 s-nl hosszabb ideig lell. (Idksleltetett jelzs). 2. eset: mindhrom motor lell. (Azonnali jelzs). A hibajelzs megszntetse: 1. eset: a hibajelzs magtl megsznik, ha valamelyik motor jra indul, azaz ismt legalbb kt motor fut.. 2. eset: a kezelnek a hiba elhrtsa utn meg kell nyomnia a nyugtz gombot is ahhoz, hogy a hibajelzs megsznjn. Megolds: mivel minkt motorblokknl ugyanazt a feladatot kell megoldani, ezt fggvnyblokkban rjuk meg, s a kt motorcsoporthoz kln-kln egyedi nvvel deklarljuk. A fprogramban kell gondoskodni a be/kimenjelek fizikai cmekhez rendelsrl s a fggvnyblokkok aktulis paramterekkel trtn hvsrl.

169

Jancskrn Anweiler Ildik: PLC programozs II. rsz sszerendelsi tblzat Bemenetek
A1 motor fordulatszmjelz A2 motor fordulatszmjelz B1 motor fordulatszmjelz B2 motor fordulatszmjelz C1 motor fordulatszmjelz C2 motor fordulatszmjelz 1. csop. engedlyezs kapcsol 2. csop. engedlyezs kapcsol NYUGTZS nyomgomb

KZIRAT!

Jel
MOTA1 MOTA2 MOTB1 MOTB2 MOTC1 MOTC2 ENG1 ENG2 NYUGT

Logikai sszerendels
A1 motor fut: MOTA1=1 A2 motor fut: MOTA2=1 B1 motor fut: MOTB1=1 B2 motor fut: MOTB2=1 C1 motor fut: MOTC1=1 C2 motor fut: MOTC2=1 1. blokk bekakcsolva: 2. blokk bekapcsolva: ENG1=1 ENG2=1

Cm
I0.0 I1.0 I0.1 I1.1 I0.2 I1.2 I0.3 I1.3 I0.7

benyomva: NYUGT=1

Kimenetek
HIBAJELZS 1 HIBAJELZS 2 HIBA1 HIBA2 vilgt, ha: vilgt, ha: HIBA1=1 HIBA2=1 Q0.0 Q1.0

A fggvnyblokk formlis paramterei


A feladatbl (input, output): MOTA, MOTB, MOTC, ENG, HIBA. Elrejtett (loklis): T1 idzt a ksleltetshez: (TON) 3 motor meghibsods tmeneti trol: Mhibatar 3-bl 2 kiesst jelz segdmerker: M2a3bol.

170

Jancskrn Anweiler Ildik: PLC programozs II. rsz A fggvnyblokk funkcitervben Utastslista
FUNCTION_BLOCK fordsz VAR_INPUT MOTA : BOOL ; MOTB : BOOL ; MOTC : BOOL ; ENG : BOOL ; NYUGT : BOOL ; END_VAR VAR_OUTPUT HIBA : BOOL ; END_VAR VAR Mhibatar : BOOL ; M2a3bol : BOOL ; T1 : TON ; END_VAR LD ANDN ANDN OR( ANDN ANDN ) OR( ANDN ANDN ) ST LD AND ST LD ST CAL LD R LD ANDN ANDN ANDN S MOTA MOTB MOTC MOTB MOTA MOTC MOTC MOTA MOTB M2a3bol M2a3bol ENG T1.IN t#5s T1.PT T1 NYUGT Mhibatar ENG MOTA MOTB MOTC Mhibatar

KZIRAT!

LD T1.Q OR Mhibatar ST HIBA END_FUNCTION_BLOCK

171

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

Fprogram Funkcitervben a fggvnyblokkok hvsa az albbi mdon brzolhat:

172

Jancskrn Anweiler Ildik: PLC programozs II. rsz A program utastslistja PROGRAM motorok VAR MOTA1 AT %I0.0.0.0.0: MOTB1 AT %I0.0.0.0.1: MOTC1 AT %I0.0.0.0.2: ENG1 AT %I0.0.0.0.3: MOTA2 AT %I0.0.0.1.0: MOTB2 AT %I0.0.0.1.1: MOTC2 AT %I0.0.0.1.2: ENG2 AT %I0.0.0.1.3: HIBA1 AT %Q0.0.0.0.0: HIBA2 AT %Q0.0.0.0.1: MOT1FB: FORDSZ; MOT2FB: FORDSZ; NYUGT AT %I0.0.0.0.7: END_VAR BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL;

KZIRAT!

CAL MOT1FB(MOTA:=MOTA1,MOTB:=MOTB1,MOTC:=MOTC1, ENG:=ENG1,NYUGT:=NYUGT) LD MOT1FB.HIBA ST HIBA1 CAL MOT2FB(MOTA:=MOTA2,MOTB:=MOTB2,MOTC:=MOTC2, ENG:=ENG2,NYUGT:=NYUGT) LD MOT2FB.HIBA ST HIBA2 END_PROGRAM

173

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

Gyakorl feladat: utastslista elemzse V. PROGRAM MASK1 VAR IB0 AT %IB0.0 : BYTE ; QB0 AT %QB0.0 : BYTE ; END_VAR VAR MB10 : BYTE ; END_VAR VAR IB1 AT %IB1.0 : BYTE ; QB1 AT %QB1.0 : BYTE ; END_VAR VAR MB5 : BYTE ; END_VAR LD MB10 XOR IB1 AND MB10 OR QB1 ST QB1 LD IB1 ST MB10 END_PROGRAM

174

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

Minsgellenrzs Egy gyrtsi folyamat vgn a munkadarabokat minsgellenrzsnek vetik al. A vizsgl berendezs 5 db, egymstl egyenl tvolsgra lv ellenrzegysgbl (prbapad) ll (PP0..PP4). Szlltszalag gondoskodik a munkadarabok tovbbtsrl. Egyik rszegysgtl a msikig 5 s alatt r a munkadarab. A szlltszalag elszr a bekapcsols jelre indul el, majd S5 hatsra, amely akkor jelez, ha az sszes prbahelyen befejezdtt az ellenrzs. Ekkor a motor 5s-ig bekapcsol s egy vizsglhellyel tovbblpteti a munkadarabokat. Ha a vizsgland munkadarab hibsnak bizonyul, a vizsglegysg kimenetn 1-es jel jelenik meg. A szalag vgn a munkadarab a vizsglatok eredmnytl fggen vagy a HIBTLAN, vagy a SELEJT irnyba halad tovbb. (tvlts a Q0 jellel.)

45. bra Minsgellenrz-sor vezrlse

sszerendelsi tblzat Bemenetek


START/STOP kapcsol 1. prba eredmnye 2. prba eredmnye 3. prba eredmnye 4. prba eredmnye 5. prba eredmnye vizsglat vge

Jel
START PP0 PP1 PP2 PP3 PP4 S5

Logikai sszerendels
bekapcsolva, ha: hibs, ha : hibs, ha : hibs, ha : hibs, ha : hibs, ha : tovbblptethet, ha : SART=1 PP0=1 PP1=1 PP2=1 PP3=1 PP4=1 S5=1

Cm
I1.0 I0.0 I0.1 I0.2 I0.3 I0.4 I0.5

Kimenetek
szalagvlt sz.szalag motor Q0 Q1 selejt irny: bekapcsolva, ha: Q0=1 Q1=1 Q0.0 Q0.1

175

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

Megolds: A munkadarabok hibs voltt egy HIBA nev vltozban (bjt) troljuk. Minden munkadarabhoz egy-egy bit tartozik, amelyet a munkadarab lptetsvel egytt lptetnk tovbb (jobbra). Amikor a munkadarab a vizsglatok befejeztvel a szalag vgre kerl, a HIBA merkerbjt legkisebb helyirtk bitje jelzi, hogy valamelyik prbapadon a munkadarab hibsnak bizonyult-e , teht selejtes, vagy mindegyik vizsglatnak megfelelt, gy a hibtlan darabok kz kerlhet. A vizsglat befejeztvel S5 jelet ad. Ennek felfut le indtja az albbi vezrlalgoritmust: HIBA adatmerker-bjtot 1 helyirtkkel jobbra lptetni; az aktulis bemenjel-bjttal kiegsztjk a hibatrolt (HIBA); az HIBA legalacsonyabb helyirtk bitjnek megfelelen Q0 kimenet (szalagvlt) belltjuk vagy trljk. A vezrlprogram PROGRAM minellen VAR START AT %I0.0.0.1.0: BOOL; EREDM AT %IB0.0.0.0.0: BYTE; KESZ AT %I0.0.0.1.1: BOOL; Q0 AT %Q0.0.0.0.0: BOOL; Q1 AT %Q0.0.0.0.1: BOOL; HIBA AT %MB0.0.0.2.0: BYTE; T1: TP; KESZIMP: R_TRIG; M1: BOOL; M2: BOOL; BEIMP: R_TRIG; END_VAR VAR constant T11: TIME := T#0.5S; END_VAR CAL BEIMP(CLK:=START) CAL KESZIMP(CLK:=KESZ) LD KESZIMP.IMP JMPCN TOVABB LD SHR OR ST AND EQ ST HIBA 1 EREDM HIBA 1 (*MASZK*) 1 Q0 (*SELEJT?*)

TOVABB: LD BEIMP.IMP OR KESZIMP.IMP ST T1.IN

176

Jancskrn Anweiler Ildik: PLC programozs II. rsz LD ST CAL LD ST T11 T1.PT T1 T1.Q Q1

KZIRAT!

END_PROGRAM

177

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

Alapjelad
A kezel egy szablyozs alapjelt 0..99% kztt vltoztathatja, a fel illetve le nyomgombok segtsgvel. A belltott alapjel visszajelzsre kerl. rjuk meg az alapjel belltst vgz programrszletet. (A szablyozs most nem feladatunk, a kiszmtott alapjelet ms program hasznlja fel.) Az alapjel csak akkor mdosthat, ha elzleg tkapcsolnak bellt zemmdba. (A kapcsolt esetleg kulccsal is vdhetik.)

46. bra A kezeli fellet

sszerendelsi tblzat Bemenetek


bellt kapcsol alapjel nvelse alapjel cskkentse

Jel
BE FEL LEF

Logikai sszerendels
bellts, ha: benyomva : benyomva : BE=1 FEL=1 LEF=1

Cm
I1.0 I0.0 I0.1

Kimenet
alapjel rtke QXA alapjel rtke: QXA=byte Q0.1

Megolds: A nyomgombok benyomsval T1 idzt temjelre folyamatosan inkrementlhat ill. dekrementlhat az alapjel rtke 0 s 99 % kztt. Ha mindkt nyomgombot benyomjk, nem trtnik semmi. A vezrlprogram PROGRAM alapjALL VAR FEL AT %I0.0.0.0.0: BOOL; LEF AT %I0.0.0.0.1: BOOL; BE AT %I0.0.0.1.0: BOOL; QXA AT %QB0.0.0.0.0: BYTE; END_VAR VAR constant T11: TIME := T#0.25S; END_VAR

178

Jancskrn Anweiler Ildik: PLC programozs II. rsz VAR T1: TON; ALAPJ:INT; END_VAR LD BE ANDN T1.Q ST T1.IN LD T11 ST T1.PT CAL T1 LD T1.Q RETCN LD FEL AND LEF RETC LD FEL JMPC NOVEL LD LEF JMPC CSOKK0 RET NOVEL: LD ALAPJ EQ 99 RETC LD ADD ST JMP ALAPJ 1 ALAPJ VEGE

KZIRAT!

CSOKK: LD ALAPJ EQ 0 RETC LD ALAPJ SUB 1 ST ALAPJ VEGE: LD ALAPJ INT_TO_BYTE ST QXA RET END_PROGRAM

179

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

Tmbk hasznlata a trol nlkli kvetvezrlsekben Ha a vltozk szma nem tl nagy, a trol nlkli kvetvezrls bemen s kimen vltozi kztti kapcsolat fggvnytblzattal lerhat. A logikai fggvnyt nem egyszerstjk, hanem soronknt felrjuk a fggvnykdnak megfelel digitlis szmot. Az gy kapott vektort egy konstans tmbbe troljuk. A bemeneteket s kimeneteket nem bitenknt, hanem sszefgg bitcsoportknt (bjt vagy sz, a vltozk szmtl fggen) kezeljk. Az ppen aktulis bemeneti rtk meghatrozza a vektornak azt az elemt, amelynek tartalmt a kimenetre rhatjuk. A fprogramban a be s kimeneti bjtokat maszkoljuk, hogy a PLC be/kimeneteire esetlegesen rkttt egyb jelek ne befolysoljk a kiolvasott rtket, csak azokat a biteket dolgozzuk fel s rjuk fell, amelyek az adott feladathoz tartoznak. A program egyszeren mdosthat a tmb s a maszkok trsval. sszerendelsi tblzat Bemenetek I0 I1 I2 Kimenetek Q0 Q1 Q2 Q3 A be- s kimenetek kztti fggvnykapcsolat Q0.0 Q0.1 Q0.2 Q0.3 Cm I0.0 I0.1 I0.2

180

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

A fggvnytblzat

181

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

A fggvnytblzat felrsakor gyeljnk arra, hogy a fizikai cmeknek megfelel nvekv sorrendben vegyk fel a be/kimeneti oszlopokat! I2 0 0 0 0 1 1 1 1 A vezrlalgoritmus PROGRAM prkovvez VAR IB0 AT %IB0.0.0.0: BYTE; QB0 AT %QB0.0.0.0: BYTE; TABLA: ARRAY[0..7] OF BYTE := [14,10,2,8,4,15,0,6]; END_VAR VAR constant BEMASK: KIMASK: END_VAR VAR M0: END_VAR INT; I1 0 0 1 1 0 0 1 1 I0 0 1 0 1 0 1 0 1 Q3 1 1 0 1 0 1 0 0 Q2 1 0 0 0 1 1 0 1 Q1 1 1 1 0 0 1 0 1 Q0 0 0 0 0 0 1 0 0 KIMENET 14 10 2 8 4 15 0 6

BYTE := 2#00000111; BYTE := 2#11110000;

LD IB0 AND BEMASK BYTE_TO_INT ST M0 LD QB0 AND KIMASK OR TABLA[M0] ST QB0 END_PROGRAM Feladat: Mdostsa a fenti programot gy, hogy a mlygarzs szellzsfelgylett valstsa meg!

182

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

Tmbk hasznlata temvezrelt lefutvezrlseknl Egy tkeresztezdsben a ft s a mellkutak keresztezdst kzlekedsi lmpval irnytjk. A megadott temdiagram alapjn kell a piros, srga, zld fzist kapcsolgatni. Az idegysg (temegysg) 5s. A berendezst S0 kapcsolval lehet bekapcsolni. temdiagram tem: 0 P1 S1 Z1 P2 S2 Z2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0

sszerendelsi tblzat Bemenetek


BE/KI kapcsol

Jel
S0

Logikai sszerendels
bekapcsolva: S0=1

Cm
I0.0

Kimenetek
1. lmpa (ft) piros 1. lmpa (ft) srga 1. lmpa (ft) zld 2. lmpa (mellkt) piros 2. lmpa (mellkt) srga 2. lmpa (mellkt) zld P1 S1 Z1 P2 S2 Z2 vilgt: vilgt: vilgt: vilgt: vilgt: vilgt: P1=1 S1=1 Z1=1 P2=1 S2=1 Z2=1 Q0.0 Q0.1 Q0.2 Q0,3 Q0.4 Q0.5

A megoldshoz felhasznlunk egy bekapcsols-ksleltetses idztt, az temjel generlsra s egy szmllt az temek szmllsra. A kimeneti byte rtkeket egy tmbben troljuk. A szmll rtke fogja megadni, hogy a tmb hnyadik elemt rjuk ki a kimeneti byte-ba.

183

Jancskrn Anweiler Ildik: PLC programozs II. rsz Ha S0=1, a kimenetek temezse: szmll 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Az temgenertor Z2 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 S2 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 P2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 Z1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 S1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 P1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 kimeneti BYTE 12 12 12 12 12 12 12 12 10 25 33 33 33 33 17 11

KZIRAT!

A szmll:

A vezrlalgoritmus PROGRAM TMBUTEM VAR S0 AT %I0.0.0.0.0: BOOL; QB0 AT %QB0.0.0.0: BYTE;

184

Jancskrn Anweiler Ildik: PLC programozs II. rsz TABLA: ARRAY[0..16] OF BYTE := [12,12,12,12,12,12,12,12,10,25,33,33,33,33,17,11,11]; T1: TON; C1: CTU; END_VAR VAR constant T11: TIME := t#2s; UTEM: INT := 15; END_VAR VAR KIMASK: BYTE := 2#11000000; M0: BOOL; S0IMP: BOOL; END_VAR LD S0 JMPCN

KZIRAT!

KIKAPCS

LD S0 ANDN M0 ST S0IMP LD S0 ST M0

LDN ST LD ST CAL LD ST LD GT OR ST CAL

T1.Q T1.IN T11 T1.PT T1 T1.Q C1.CU C1.CV UTEM S0IMP C1.RESET C1

LD QB0 AND KIMASK OR TABLA[C1.CV] ST QB0 RET KIKAPCS:

185

Jancskrn Anweiler Ildik: PLC programozs II. rsz

KZIRAT!

LD 0 ST QB0 RET END_PROGRAM Feladatok: A fenti program a kikapcsols jel hatsra azonnal lekapcsolja az sszes lmpt. Hogyan mdostan a programot, ha az lenne a feladata, hogy az adott ciklust mg fejezze be? Mdostsa gy a fenti programot, hogy kikapcsols utn mindkt irnyban a srga lmpa villogjon 0,5 Hz frekvencival! Tervezzen reklmfnyt, s az algoritmust a fenti plda szerint rja meg!

186

Jancskrn Anweiler Ildik: PLC programozs II. rsz Irodalomjegyzk


1. LabView is a registered trademark of National Instruments Corporation

KZIRAT!

2. Beuschel, J.: Processsteuerungssysteme : Einfhrung in die Informationsverarbeitung in Automatisierungsanlagen Mnchen; Wien: Oldenbourg, 1994 3. Infoteam OpenPCS programming System Ver. 4.1. User Manual 1. Edition infoteam Software GmbH, D-91088, Bubenreuth. 1996-2001. http://www.infoteam.de 4. Jakoby, W.: Automatisierungstechnik Algorithmen und Programme: Entwurf und Programmierung von Automatisierungssystemen; Berlin; Heidelberg: Springer, 1997 5. Johns, K.- Tiegelkamp, M.: SPS-Programmierung mit IEC 1131-3 : Konzepte und Programmiersprachen, Anforderungen an Programmiersysteme, Entscheidungshilfen Berlin; Heidelberg: Springer, 1996 6. Sucosoft S 40 Programming Software: Language Elements for PS 4-150/-200/-300 and PS 416 02/00AWB 2700-1306 GB Bonn, Moeller GmbH, 2000 7. Sucosoft S 40 Programming Software: Training Guide 06/990AWB 27-137 GB Bonn, Moeller GmbH, 1999 8. Wellenreuther, G., Zastrow, D.: Steuerungstechnik mit SPS : Bitverarbeitung und Wortverarbeitung, Regeln mit SPS, Von der Steuerungsaufgabe zum Steuerungsprogramm; Braunschweig; Wiesbaden: Vieweg, 1995 9. Wellenreuther, G., Zastrow, D.: Lsungsbuch Steuerungstechnik mit SPS; Braunschweig; Wiesbaden: Vieweg, 1995

187

Jancskrn Anweiler Ildik: PLC programozs az IEC1131-3 szabvny szerint KZIRAT!

188

You might also like