Transcript
  • 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!

    2

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

    3

    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!

    4

    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!

    5

    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!

    6

    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!

    7

    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!

    8

    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 az n. programszervezsi egysg, tovbbiakban a POU (Program Organisation Unit).

    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!

    9

    LD A ANDN B ST C

    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.

    ltradiagram jellemzje:

    o az szak-amerikai programozsi stluson alapul, az USA-ban szabvnyos; elektromos rajzjeleket hasznlja;

    o standardizlt rel-kszlet s ltraprogramozsi szimblumok.

    funkciterv jellemzje:

    o Eurpban elterjedten hasznlt grafikus programozsi nyelv;

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

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

    10

    o a programelemek, mint blokkok sszekthetk, hasonlan a logikai ramkri rajzokhoz;

    o olyan alkalmazsokban hasznljk, amelyek vezrlkomponensek kztti adat vagy informciramlst tartalmaznak.

    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()).

    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.

    Az IEC programozi krnyezet

    A legtbb fejlesztrendszer biztostja az albbi feltteleket:

    ANDA CB

    C:= A AND NOT B

    1.lps parancs

    2.lps parancs

    felttelon 1

    felttelon 2

    3.lps

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

    11

    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.

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

    12

    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

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

    13

    A programszervezsi egysgekrl rszletesen

    POU tpus kulcssz jelents

    program PROGRAM fprogram a PLC-perifrik hozzrendelseivel, globlis vltozkkal

    fggvnyblokk FUNCTION_BLOCK ptelem be- s kimeneti vltozkkal, a leggyakrabban hasznlt POU tpus

    fggvny FUNCTION 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.

    3. bra A POU rszei

    PROGRAM PRG-nv FUNCTION_BLOCK FB_nv FUNCTION FGV_nv tpus

    be/kimeneti vltozk loklis vltozk

    (deklarcis rsz)

    utastsok

    (POU-trzs)

    END_PROGRAM END_FUNCTION_BLOCK END_FUNCTION

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

    14

    Plda a programszervezsi egysg felptsre (fggvnyblokk)

    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.

    VAR_INPUT BE1: BOOL; END_VAR VAR_OUTPUTKI1: BYTE; KI2: BOOL; END_VAR

    VAR LOKALIS: BYTE; END_VAR

    LD BE1 AND LOKALISST KI1 ST KI2

    END_FUNCTION_BLOCK

    be/kimeneti vltozk

    loklis vltozk

    utastsok

    (POU-trzs)

    FUNCTION_BLOCK FB_nv FUNCTION_BLOCK TOVABBKAPCS

    END_FUNCTION_BLOCK

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

    15

    Vltoztpusok

    A vltoztpusok engedlyezett hasznlata

    vltoztpus engedlyezett a hasznlat PROGRAM FUNCTION_BLOCK FUNCTION

    VAR igen igen igen VAR_INPUT igen igen igen VAR_OUTPUT igen igen nem VAR_IN_OUT igen igen nem VAR_EXTERNAL igen igen nem VAR_GLOBAL igen nem nem VAR_ACCESS 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.

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

    16

    A vltoztpusok hozzfrsi lehetsgeinek sszefoglal tblzata

    vltoztpus hozzfrsi jogosultsg rtelmezs

    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 I O 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 POU-ban elrhet, s mint loklis vltoz mdosthat. Az j rtket megrzi a POU futsa utn is.

    VAR_GLOBAL I O 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 I O 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

    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

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

    17

    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 gyrt-specifikus s a felhasznl ltal ksztett fggvnyek

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

    18

    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:

    4. bra A fggvny s a fggvnyblokk hvsi lehetsgei

    A rekurzv hvs nem megengedett!

    PROGRAM

    FGGVNY FGVBLOKK

    FGGVNY FGGVNY FGVBLOKK

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

    19

    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!)

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

    20

    A konstansok ttekintse

    adattpus plda jelents binris 0, 1 1 bit bool FALSE, TRUE bool-algebrai kifejezs byte 11, 16#0B, 2#0000_1011 11 decimlis, hexadecimlis s

    kettes szmrendszerben egsz szm -13

    45165 vagy 45_165 +125

    egsz szm: -13 egsz szm: 45 165 egsz szm: 125

    vals 13.12 123.45 0.123 1.23E-3

    vals szm: 13,12 vals szm: 123,45 vals szm: 0,123 vals szm:0,00123

    karaktersor SZTRING

    res sztring sztring

    idtartam T#12.3ms vagy TIME#12.3ms t#2h_7m_19s

    12,3ms idtartam 2 ra 7 perc 19 msodperc idtartam

    dtum DATE#2001-12-31 vagy D#1995-12-31

    dtum: 2001 12. 31.

    napi id TOD#12:16:14.56 vagy TIME_of_DAY#12:16:14.16

    idpont: 12ra 16perc, 14,56msodp

    dtum s idpont DT#2001-12-31-12:16:14.56 v. DATE_AND_TIME#2001-12-31-12:16:14.56

    dtum s id egytt: 2001 12. 31 12ra 16perc, 14,56msodperc

    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 nem megengedett nevek VALT2 2VALT SZELEP3X7 3X7 VESZ_KI VSZ KI _3kevero 3kever

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

    21

    Vltozk s adattpusok

    A vltozk segtsgvel trtnik a felhasznl-specifikus adatterletek adattpus ltal meghatrozott mret helyfoglalsa s azonostsa.

    A vltozdeklarci legfontosabb elemei

    VAR_OUTPUT RETAIN tarolo1 : BYTE := 12;

    END_VAR 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

    eljeles egszszm

    eljel nlkli egsz vals

    idpont, idtartam, dtum,

    karaktersor BOOL BYTE WORD

    DWORD LWORD

    INT SINT DINT LINT

    UINT USINT UDINT ULINT

    REAL LREAL

    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.

    vltoztpus attributum

    vltoznv adattpus kezdrtk

    vltoztpus vge

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

    22

    adattpus rtelmezs hossz(bit) rtkkszlet default rtk

    BOOL ktrtk binris szm

    1 [0,1] 0

    BYTE bitsorozat 8bit 8 [0,,16#FF] 0 WORD bitsorozat 16bit 16 [0,,16#FFFF] 0 DWORD bitsorozat 32bit 32 [0,,16#FFFF FFFF] 0 LWORD bitsorozat 64bit 64 [0,,16# FFFF FFFF FFFF

    FFFF]

    SINT short integer 8 [-128,,+127] 0 INT integer 16 [-32 768,,+32 767] 0 DINT double integer 32 [-2 147 483 648,..,+2 147 483

    647] 0

    LINT long integer 64 [-263,,+263-1] USINT unsign. short integer 8 [0,,+255] 0 UINT unsigned integer 16 [0,,+65 535] 0 UDINT unsign. double int. 32 [0,,+232-1] 0 ULINT unsign. long integer 64 [0,,+264-1] 0 REAL real; vals szm, 32 +/-3,4 E+/-38 0 LREAL long real 64 0 TIME idtartam T#0s DATE dtum formtum:

    YYYY-MM-TT D#0001-

    01-01 TIME_OF_ DAY

    idpont formtum: HH:MM:SS

    TOD#00:00:00

    DATE_ AND_ TIME

    dtum s id DT 000101-01-

    00:00:000STRING vltoz hosszsg

    karakterlnc

    (res)

    Szrmaztatott adattpusok

    A szrmaztatott adattpusokat az elemi adattpusokbl lehet j, a felhasznl ltal megadott kulcsszval ellltani. Tpusdeklarcinak is nevezik. Az ilyen tpusdefincik a PLC-projektben 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.

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

    23

    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_NUM ANY_BIT ANY_INT ANY_REAL ANY_DATE

    BOOL BYTE WORD

    DWORD LWORD

    INT SINT DINT LINT

    UINT USINT UDINT ULINT

    REAL LREAL

    DATE TIME_OF_DAY

    DATE_OF_TIME

    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

    vltoztpus RETAIN CONSTANT R_EDGE, F_EDGE READ_ONLY, READ_WRITE

    VAR + + - - VAR_INPUT - - - - VAR_OUTPUT + - - - VAR_IN_OUT - - - - VAR_EXTERNAL - - - - VAR_GLOBAL + + - - VAR_ACCESS - - - + A READ_WRITE attribtum csak a VAR_ACCESS tpus vltoz jellsre engedlyezett.

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

    24

    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 magyarzat % kezdjel I

    Q M

    bemenet kimenet merker

    SEMMI X B W D L

    bit bit (opcionlis) bjt sz duplasz hossz sz

    v,w,x,y,z hierarchikus cm, jobbrl balra n a hierarchiartk. A hossza s interpretlsa gyrtfgg. Pl.: z-bit, y-bjt, x-modul, w-vonal, v-erforrs

    pldul: % I W 0.0.1.2 1. modul, 2. bjt % Q D 0.0.3.0 3-ik modul, 0. bjt % M 0.0.5.2.0 5. modul, 2. bjt, 0. bit % M X 0.0.5.2.0 5. modul, 2. bjt, 0. bit % I 0.0.1.0.4 1. modul, 0. bjt, 4. bit % Q B 0.0.0.1.4 0.erforrs,0.vonal,0-ik modul, 1. bjt, 4. bit 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!)

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

    25

    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 .

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

    26

    A szervezsi egysg trzsrsze

    Az utastslista

    Sororientlt nyelv: egy parancs egy sor.

    A parancssor elemei:

    CMKE : OPETOR/FGV OPERANDUS(LISTA) MEGJEGYZS 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 processzor-akkumultorbl. 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.

    (* *) jelek kztt

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

    mvelet (parancs) vagy fggvny-nv

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

    kettspont

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

    27

    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 1 ADD( 2 ADD( 3 ADD 4 ) ) ST 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 valt1 GT 20 JMPC B2 JMP TOVABB

    B2 : . TOVABB : ..

    CR=1, ha valt1>20, egybknt CR=0.

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

    28

    A mveletek csoportostsa

    Mveletek logikai (BOOL) vltozkkal

    mvelet mveletcsoport rtelmezs LD LDN B betlts a CR-be AND ANDN AND( ANDN(

    M s kapcsolat a CR s az operandus kztt

    OR ORN OR( ORN(

    M vagy kapcsolat a CR s a mvelet operandusa kztt

    XOR XORN XOR( XORN(

    M kizr-vagy kapcsolat a CR s a mvelet operandusa 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 mveletcsoport rtelmezs LD B AZ OPERANDUS CR-be tltse ST U CR rtknek trolsa az operandusban ADD ADD( M az operandus rtkt hozzadja a CR-hez SUB SUB( M az operandus rtkt levonja a CR-bl MUL MUL( M az operandus rtkvel szorozza a CR-t DIV DIV( M az operandus rtkvel osztja a CR-t GT GT( M CR > operandus? igen:CR=1, nem: CR=0. GE GE( M CR >= operandus? igen:CR=1, nem: CR=0. EQ EQ( M CR = operandus? igen:CR=1, nem: CR=0. NE NE( M CR operandus? igen:CR=1, nem: CR=0. LE LE( M CR

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

    29

    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.

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

    30

    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

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

    31

    A fggvnyblokk hvsa:

    1. mdszer 2. mdszer 3. mdszer (*paramtertads*) LD t#500ms

    ST idozito1.PT LD indit ST idozito1.IN

    LD t#500ms PT idozito1 LD indit

    CAL idozito1(IN:=indit, PT:= t#500ms) CAL idozito1 IN idozito1 A kimeneti paramterek kirtkelse mindhrom mdszernl azonos:

    LD idozito1.Q ST ki LD idozito1.ET ST 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

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

    32

    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 t#20ms ST fgvblk1.par1 LD BE ST fgvblk1.par2 LD globvalt ST fgvblk1.par3 CAL fgvblk1

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

    33

    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.

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

    34

    A standard fggvnyek

    Az IEC-1131-3 szabvny a standard fggvnyeket az albbi nyolc csoportba foglalja:

    1. Tpusvltsra szolgl fggvnyek (adattpus konvertlsa). 2. Numerikus fggvnyek. 3. Aritmetikai fggvnyek. 4. Bitsorozat fggvnyek (lptet s bitsoros logikai fggvnyek). 5. sszehasonlt s kivlaszt fggvnyek. 6. Karaktersorozat feldolgoz fggvnyek (sztring-mveletek). 7. TIME adattpus specilis fggvnyei. 8. Szmllval kapcsolatos specilis fggvnyek.

    Az albbi tblzat a fenti felosztsnak megfelelen csoportostott standard fggvnyek jellemzit tartalmazza.

    standard fggvny (a bemeneti paramterekkel)

    fggvny-rtk

    adattpusa jelents

    Tpuskonvertl fggvnyek

    *_TO_** (ANY) ANY tpuskonverzik elemi adattpusok kztt TRUNC (ANY_REAL) ANY_INT REAL szm egszt adja Numerikus fggvnyek ABS (ANY_NUM) ANY_NUM abszolt rtkkpzs SQRT (ANY_REAL) ANY_REAL ngyzetgyk LN (ANY_REAL) ANY_REAL termszetes alap logaritmus LOG (ANY_REAL) ANY_REAL 10-es alap logaritmus EXP (ANY_REAL) ANY_REAL exponens SIN (ANY_REAL) ANY_REAL szinusz fgv. COS (ANY_REAL) ANY_REAL koszinusz fgv. TAN (ANY_REAL) ANY_REAL tangens fgv. ASIN (ANY_REAL) ANY_REAL arcszinusz fgv ACOS (ANY_REAL) ANY_REAL arckoszinusz fgv. ATAN (ANY_REAL) ANY_REAL arctangens fgv. Aritmetikai fggvnyek (IN1,IN2) ADD (ANY_NUM, ANY_NUM) ANY_NUM sszeads ADD (TIME, TIME) TIME idsszegzs ADD (TOD, TIME) TOD idsszegzs ADD (DT, TIME) DT idsszegzs MUL (ANY_NUM, ANY_NUM) ANY_NUM szorzs MUL (TIME, ANY_NUM) TIME idszorzs SUB (ANY_NUM, ANY_NUM) ANY_NUM kivons SUB (TIME, TIME) TIME idkivons SUB (DATE, DATE) TIME idkivons SUB (TOD, TIME) TOD idkivons SUB (TOD, TOD) TIME idkivons SUB (DT, TIME) DT idkivons SUB (DT, DT) TIME idkivons DIV (ANY_NUM, ANY_NUM) ANY_NUM oszts

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

    35

    standard fggvny (a bemeneti paramterekkel)

    fggvny-rtk

    adattpusa jelents

    DIV (TIME, ANY_NUM) TIME idoszts MOD (ANY_NUM, ANY_NUM) ANY_NUM maradkrtket ad oszts MOVE(ANY_NUM,ANY_NUM) ANY_NUM egyenlsg Lptet fggvnyek (IN1,N) SHL (ANY_BIT, N) ANY_BIT bitmintt adott rtkkel balra tolni SHR (ANY_BIT, N) ANY_BIT bitmintt adott rtkkel jobbra tolni ROL (ANY_BIT, N) ANY_BIT bitmintt adott rtkkel balra forgatni ROR (ANY_BIT, N) ANY_BIT bitmintt adott rtkkel jobbra forgatniBitsoros fggvnye k (IN1,IN2) AND (ANY_BIT, ANY_BIT) ANY_BIT bitsoros S sszekapcsols OR (ANY_BIT, ANY_BIT) ANY_BIT bitsoros VAGY sszekapcsols XOR (ANY_BIT, ANY_BIT) ANY_BIT bitsoros XOR sszekapcsols NOT (ANY_BIT, ANY_BIT) ANY_BIT bitsoros NEGLS Kivlaszt fggvnyek (IN1,IN2) SEL (G,ANY, ANY) ANY bin. kivlaszts1 2-bl MAX (ANY,ANY) ANY maximum MIN (ANY,ANY) ANY minimum LIMIT (MN,ANY,MX) ANY korltozs MUX (K,ANY, ANY) ANY multiplexer (1-N-bl) sszehasonlt fggv. (IN1,IN2) GT (ANY,ANY) BOOL nagyobb, mint GE (ANY,ANY) BOOL nagyobb, egyenl EQ (ANY,ANY) BOOL egyenl LT (ANY,ANY) BOOL kisebb, mint LE (ANY,ANY) BOOL kisebb, egyenl NE (ANY,ANY) BOOL nem egyenl Karaktersor fggvnyek (IN1,IN2) LEN (STRING) INT karaktersor hossza LEFT (STRING,L) STRING karaktersor balrl RIGHT (STRING,L) STRING karaktersor jobbrl MID (STRING,L,P) STRING karaktersor kzprl CONCAT (STRING,STRING) STRING karaktersor sszefzs INSERT (STRING,STRING,P) STRING karaktersor beszrs DELETE (STRING,L,P) STRING karaktersor trls REPLACE(STRING,STRING,L,P) STRING karaktersor csere FIND (STRING,STRING) INT pozci keress

    A tblzat rvidtseinek magyarzata

    bemenet jelents adattpus N a lptetend bitek szma UINT L balpozci a karaktersoron bell ANY_INT P pozci a karaktersoron bell ANY_INT G a kivlasztand elem a 2 db bemenetbl BOOL K a kivlasztand elem N db bemenetbl ANY_INT MN minimlis rtk a limitlshoz ANY MX maximlis rtk a limitlshoz ANY

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

    36

    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. Bistabil elemek (flip-flopok, R/S-trolk). 2. lkirtkelk. 3. Szmllk. 4. Idztk. 5. 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 bemeneti paramterek

    kimeneti rtk(ek)

    jelents

    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

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

    37

    A standard fggvnyblokkok be- s kimeneti paramtereinek rtelmezse s adattpusa

    bemenet/kimenet jelents adattpus R RESET jel bemenet BOOL S SET jel bemenet BOOL R1 RESET dominns BOOL S1 SET dominns BOOL Q kimenet (ktllapot) BOOL CLK (tem) bemenet (ClocK) BOOL CU (Count Up) szmlls felfel bemeneti impulzus R_EDGE CD (Count Down) szmlls lefel bemeneti impulzus R_EDGE LD (LoaD) szmllrtk betltse bemenet INT PV (Preset Value) szmllrtk INT QD lefelszmlls kimenete (Down) =1, ha CV=0 BOOL QU felfelszmlls kimenete (Up) =1, ha CVPV BOOL CV Aktulis szmllrtk (Current Value) INT IN idzt indtsa (INput) BOOL PT idrtk (Preset Time) TIME ET az indtstl eltelt id (Elapsed Time) TIME PDT dtum/idrtk (Preset Date and Time) DT CDT aktulis dtum/idrtk (Current Date and Time) 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:

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

    38

    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 1-re vlt.

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

    39

    A fggvnyblokk algoritmusa funkcitervben:

    11. bra Impulzus felfut lre

    Utastslistban:

    LD CLK ANDN M0 ST Q LD CLK ST 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 0-ra vlt.

    A fggvnyblokk algoritmusa funkcitervben:

    13. bra Impulzus lefut lre

    Utastslistban:

    LDN CLK AND M0 ST Q LD CLK ST M0 .

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

    40

    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

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

    41

    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.

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

    42

    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.

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

    43

    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

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

    44

    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.

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

    45

    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 (multi-taszking).

    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 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.

    CONFIGURATION

    RESOURCE

    TASK/ FUT PROGRAM

    PROGRAM

    FGGVNY FGVBLOKK

    FGGVNY FGGVNY FGVBLOKK

    FGVBLOKK

    FGVBLOKK

    a konfigurci elemei

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

    46

    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 CPU_001 END_RESOURCE RESUORCE CPU_henger ON CPU_002 END_RESOURCE VAR_ACCESS END_VAR

    A RESOURCE jellemzi A RESOURCE deklarls biztostja a TASK-ok hozzrendelst a PLC-rendszer fizikai erforrsaihoz.

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

    47

    . Az erforrs rszei:

    RESOURCE erforrs-nv ON erforrs 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 CPU_001 TASK PROGRAM WITH END_RESOURCE RESOURCE CPU_henger ON CPU_002 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) 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.

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

    48

    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. (non-preemtive 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.

  • 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!

    50

    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 Jel Logikai hozzrendels Cm

    1. ramlsjelz I1 1. ventiltor zemel: I1=1 I0.0

    2. ramlsjelz I2 2. ventiltor zemel: I2=1 I0.1

    3. ramlsjelz I3 3. ventiltor zemel: I3=1 I0.2

    4. ramlsjelz I4 4. ventiltor zemel: I4=1 I0.3

    Kimenetek

    Piros lmpa P vilgt, ha: P=1 Q0.2

    Srga lmpa S vilgt, ha: S=1 Q0.1

    Zld lmpa Z vilgt, ha: Z=1 Q0.0

    A fggvnytblzat:

    OKT I4 I3 I2 I1 P S Z 00 0 0 0 0 1 0 0 01 0 0 0 1 1 0 0 02 0 0 1 0 1 0 0 03 0 0 1 1 0 1 0 04 0 1 0 0 1 0 0 05 0 1 0 1 0 1 0 06 0 1 1 0 0 1 0 07 0 1 1 1 0 0 1 10 1 0 0 0 1 0 0 11 1 0 0 1 0 1 0 12 1 0 1 0 0 1 0 13 1 0 1 1 0 0 1 14 1 1 0 0 0 1 0 15 1 1 0 1 0 0 1 16 1 1 1 0 0 0 1 17 1 1 1 1 0 0 1

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

    51

    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

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

    52

    Funkciterv Piros lmpa vilgt:

    Zld lmpa vilgt:

    Srga lmpa vilgt:

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

    53

    Utastslista PROGRAM SZELLOZ VAR I1 AT %I0.0.0.0.0: BOOL; I2 AT %I0.0.0.0.1: BOOL; I3 AT %I0.0.0.0.2: BOOL; I4 AT %I0.0.0.0.3: BOOL; PIROS AT %Q0.0.0.0.2: BOOL; SARGA AT %Q0.0.0.0.1: BOOL; ZOLD AT %Q0.0.0.0.0: BOOL; END_VAR

    LDN I1 ANDN I2 ANDN I3 OR( I1 NOT ANDN I2 ANDN I4 ) OR( I1 NOT ANDN I3 ANDN I4 ) OR( I2 NOT ANDN I3 ANDN I4 ) ST PIROS

    LD I1 AND I2 AND I3 OR( I1 AND I2 AND I4 ) OR( I1 AND I3 AND I4 ) OR( I2 AND I3 AND I4 ) ST ZOLD LDN PIROS ANDN ZOLD ST SARGA END_PROGRAM

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

    54

    Ltradiagram A programtrzs ltradiagramban brzolva:

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

    55

    Kvetvezrls tervezse dntsi tblzattal A be- s kimeneti vltozk kztti kapcsolatot dntsi tblzat segtsgvel is felrhatjuk. (DIN 66241). A dntsi tblzat a dnts


Top Related