Professional Documents
Culture Documents
Jancskarne Anweiler Ildiko PLC Programozas Az Iec 11313 Szabvany Szerint 1 Resz PDF
Jancskarne Anweiler Ildiko PLC Programozas Az Iec 11313 Szabvany Szerint 1 Resz PDF
hu
PLC programozs az
IEC 1131-3
szabvny szerint
2
Forrs: http://www.doksi.hu
Tartalomjegyzk
Az IEC-1131-3 szabvny.......................................................................................................... 6
A programszervezsi egysgek felptse ............................................................................... 6
A vltozk deklarlsa ........................................................................................................... 6
Plda egy tipikus vltozdeklarcira................................................................................ 7
A programszervezsi egysg trzse ....................................................................................... 7
Az IEC-1131-3 szabvnyban ajnlott programozsi nyelvek ............................................ 7
Az IEC programozi krnyezet .............................................................................................. 9
Erforrs eloszts..................................................................................................................... 9
A programszervezsi egysgekrl rszletesen...................................................................... 11
A programszervezsi egysg rszei...................................................................................... 11
Plda a programszervezsi egysg felptsre (fggvnyblokk).................................... 12
Deklarci ............................................................................................................................ 12
Vltoztpusok ..................................................................................................................... 13
A szervezsi egysgek kapcsoldsi felleteinek jellegzetessgei .................................. 13
A formlis paramter s a visszatrsi rtk rtelmezse .................................................... 13
Plda a FB formlis paramtereinek bels s kls rtelmezsre .................................. 14
A fggvnyblokk..................................................................................................................... 15
Hordozhatsg s objektum orientltsg.......................................................................... 15
A fggvnyblokkban hasznlhat vltoztpusok............................................................ 15
A fggvny .............................................................................................................................. 15
A fggvny vltoztpusai s a fggvnyrtk ................................................................ 16
A program............................................................................................................................... 16
Nyelvi elemek, adattpusok, vltozk ................................................................................... 17
Egyszer nyelvi elemek ....................................................................................................... 17
Foglalt kulcsszavak .............................................................................................................. 17
A klnbz adattpusok szmbrzolsa............................................................................ 17
A konstansok ttekintse...................................................................................................... 18
A felhasznl ltal definilhat nevek, cmkk ................................................................... 18
Vltozk s adattpusok ......................................................................................................... 19
A vltozdeklarci legfontosabb elemei ............................................................................ 19
Adattpusok............................................................................................................................. 19
Elemi adattpusok................................................................................................................. 19
Szrmaztatott adattpusok .................................................................................................... 20
ltalnos adattpusok ........................................................................................................... 21
A vltozattribtumok........................................................................................................... 21
Plda az attribtumok hasznlatra .................................................................................. 22
Kzvetlen cmzs vltozk................................................................................................... 22
Plda kzvetlen cmzs vltozk deklarlsra ............................................................. 23
A szervezsi egysg trzsrsze ............................................................................................... 24
Az utastslista...................................................................................................................... 24
Az akkumultor .................................................................................................................... 24
Mveletek, parancsok........................................................................................................... 24
Mdost opertorok ............................................................................................................ 25
A mveletek csoportostsa ................................................................................................... 26
Mveletek logikai (BOOL) vltozkkal .............................................................................. 26
Mveletek ltalnos (ANY) adattpussal ............................................................................. 26
Ugr s hvutastsok (programszervezsi utastsok)....................................................... 26
A fggvnyek s a fggvnyblokkok hasznlata ................................................................. 27
A fggvnyek hvsa............................................................................................................ 27
3
Forrs: http://www.doksi.hu
4
Forrs: http://www.doksi.hu
Funkciterv....................................................................................................................... 62
Gyakorl feladat: utastslista elemzse I. ....................................................................... 63
Kvetvezrls impulzus idztvel ...................................................................................... 64
Ktkezes reteszels............................................................................................................... 64
sszerendelsi tblzat .................................................................................................... 64
A szktett fggvnytblzat............................................................................................ 64
Funkciterv....................................................................................................................... 65
A program utastslistja.................................................................................................. 65
Vszjelzs............................................................................................................................. 66
sszerendelsi tblzat .................................................................................................... 66
Funkciterv....................................................................................................................... 67
Utastslista ...................................................................................................................... 67
Gyakorl feladat: utastslista elemzse II....................................................................... 68
Kvetvezrls idztkkel .................................................................................................... 69
Szlltszalagok egyttes vezrlse ..................................................................................... 69
sszerendelsi tblzat .................................................................................................... 70
Funkciterv....................................................................................................................... 70
Utastslista ...................................................................................................................... 72
Gyakorl feladat: Szlltszalag vezrlse........................................................................ 75
sszerendelsi tblzat .................................................................................................... 75
Munkadarabok tmeneti trolsa ......................................................................................... 76
sszerendelsi tblzat .................................................................................................... 76
Funkciterv....................................................................................................................... 77
Utastslista ...................................................................................................................... 77
Tiszttberendezs elektro-pneumatikus vezrlse .............................................................. 78
sszerendelsi tblzat .................................................................................................... 78
Funkciterv....................................................................................................................... 79
Utastslista ...................................................................................................................... 79
Gyakorl feladat: utastslista elemzse III. .................................................................... 80
5
Forrs: http://www.doksi.hu
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 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).
6
Forrs: http://www.doksi.hu
LD A
ANDN B
ST 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;
7
Forrs: http://www.doksi.hu
AND
A C
B
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()).
8
Forrs: http://www.doksi.hu
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).
9
Forrs: http://www.doksi.hu
10
Forrs: http://www.doksi.hu
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.
be/kimeneti vltozk
loklis vltozk
(deklarcis rsz)
utastsok
(POU-trzs)
11
Forrs: http://www.doksi.hu
VAR_INPUT
BE1: BOOL;
END_VAR
VAR_OUTPUT
KI1: BYTE;
KI2: BOOL;
be/kimeneti vltozk END_VAR
VAR
loklis vltozk LOKALIS:
BYTE;
END_VAR
LD BE1
utastsok
AND LOKALIS
(POU-trzs) ST KI1
ST KI2
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.
12
Forrs: http://www.doksi.hu
Vltoztpusok
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.
13
Forrs: http://www.doksi.hu
FUNCTION_BLOCK Fbketto
VAR_INPUT FUNCTION_BLOCK FBegy
bemenet : BYTE; VAR
END_VAR peldaFB: FBketto;
VAR_OUTPUT END_VAR
kimenet : BYTE;
END_VAR
VAR LD 48
lokalis: BYTE; ST peldaFB.bemenet
END_VAR CAL peldaFB
LD peldaFB.kimenet
LD bemenet
AND lokalis
ST kimenet END_FUNCTION__BLOCK
END_FUNCTION__BLOCK
14
Forrs: http://www.doksi.hu
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 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
15
Forrs: http://www.doksi.hu
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.
PROGRAM
FGGVNY FGVBLOKK
16
Forrs: http://www.doksi.hu
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.
17
Forrs: http://www.doksi.hu
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 egsz szm: -13
45165 vagy 45_165 egsz szm: 45 165
+125 egsz szm: 125
vals 13.12 vals szm: 13,12
123.45 vals szm: 123,45
0.123 vals szm: 0,123
1.23E-3 vals szm:0,00123
karaktersor res sztring
SZTRING sztring
idtartam T#12.3ms vagy 12,3ms idtartam
TIME#12.3ms
t#2h_7m_19s 2 ra 7 perc 19 msodperc idtartam
dtum DATE#2001-12-31 vagy dtum: 2001 12. 31.
D#1995-12-31
napi id TOD#12:16:14.56 vagy idpont: 12ra 16perc, 14,56msodp
TIME_of_DAY#12:16:14.16
dtum s idpont DT#2001-12-31-12:16:14.56 v. dtum s id egytt:
DATE_AND_TIME#2001-12-31- 2001 12. 31
12:16:14.56 12ra 16perc, 14,56msodperc
18
Forrs: http://www.doksi.hu
Vltozk s adattpusok
A vltozk segtsgvel trtnik a felhasznl-specifikus adatterletek adattpus ltal
meghatrozott mret helyfoglalsa s azonostsa.
vltoztpus
attributum
VAR_OUTPUT RETAIN
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
idpont,
binris/ eljeles eljel nlkli
vals idtartam, dtum,
bitminta egszszm egsz
karaktersor
BOOL INT UINT REAL TIME
BYTE SINT USINT LREAL DATE
WORD DINT UDINT TIME_OF_DAY
DWORD LINT ULINT DATE_OF_TIME
LWORD STRING
19
Forrs: http://www.doksi.hu
hossz default
adattpus rtelmezs rtkkszlet
(bit) rtk
BOOL ktrtk binris 1 [0,1] 0
szm
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 0
647]
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: D#0001-
YYYY-MM-TT 01-01
TIME_O idpont formtum: TOD#00
F_ HH:MM:SS :00:00
DAY
DATE_ dtum s id DT 0001
AND_ 01-01-
TIME 00:00:000
STRING 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.
20
Forrs: http://www.doksi.hu
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_DATE
ANY_INT ANY_REAL
BOOL INT UINT REAL DATE
TIME
BYTE SINT USINT LREAL TIME_OF_DAY
STRING
WORD DINT UDINT DATE_OF_TIME
DWORD LINT ULINT
LWORD
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.
21
Forrs: http://www.doksi.hu
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!)
22
Forrs: http://www.doksi.hu
LD INP_BYTE
BYTE_TO_WORD
ST OUT_WORD
.
23
Forrs: http://www.doksi.hu
Az utastslista
Sororientlt nyelv: egy parancs egy sor.
A parancssor elemei:
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.
24
Forrs: http://www.doksi.hu
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
Pl.:
LD valt1
CR=1, ha valt1>20, egybknt CR=0.
GT 20
JMPC B2
JMP TOVABB
B2 : .
TOVABB : ..
25
Forrs: http://www.doksi.hu
A mveletek csoportostsa
26
Forrs: http://www.doksi.hu
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:
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
27
Forrs: http://www.doksi.hu
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
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.
28
Forrs: http://www.doksi.hu
A fggvnyblokk hvsa:
LD idozito1.Q
ST ki
LD idozito1.ET
ST ertek
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
29
Forrs: http://www.doksi.hu
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
30
Forrs: http://www.doksi.hu
Programtervezs funkcitervben
31
Forrs: http://www.doksi.hu
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.
32
Forrs: http://www.doksi.hu
fggvny-
standard fggvny (a bemeneti
rtk jelents
paramterekkel)
adattpusa
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 forgatni
Bitsoros 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
33
Forrs: http://www.doksi.hu
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.
34
Forrs: http://www.doksi.hu
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:
35
Forrs: http://www.doksi.hu
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:
36
Forrs: http://www.doksi.hu
37
Forrs: http://www.doksi.hu
A szmllk
38
Forrs: http://www.doksi.hu
39
Forrs: http://www.doksi.hu
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.
40
Forrs: http://www.doksi.hu
Bekapcsols-ksleltetses idzt
Funkcitervbeli jellse:
Kikapcsols-ksleltetses idzt
Funkcitervbeli jellse:
41
Forrs: http://www.doksi.hu
42
Forrs: http://www.doksi.hu
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 konfigurci elemei
CONFIGURATION
RESOURCE
PROGRAM FGVBLOKK
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.
43
Forrs: http://www.doksi.hu
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.
CONFIGURATION konfigurci-nv
Tpusdefincik
Globlis deklarcik
RESOURCE-deklarci
ACCESS-deklarci
END_CONFIGURATION
A RESOURCE jellemzi
A RESOURCE deklarls biztostja a TASK-ok hozzrendelst a PLC-rendszer fizikai
erforrsaihoz.
44
Forrs: http://www.doksi.hu
. Az erforrs rszei:
RESOURCE erforrs-nv ON erforrs
Globlis deklarcik
TASK-deklarci
END_ RESOURCE
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.
45
Forrs: http://www.doksi.hu
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
46
Forrs: http://www.doksi.hu
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.
Forrs: http://www.doksi.hu
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
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
48
Forrs: http://www.doksi.hu
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
49
Forrs: http://www.doksi.hu
Funkciterv
Piros lmpa vilgt: Zld lmpa vilgt:
50
Forrs: http://www.doksi.hu
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 LD I1
ANDN I2 AND I2
ANDN I3 AND I3
OR( I1 OR( I1
NOT AND I2
ANDN I2 AND I4
ANDN I4 )
) OR( I1
OR( I1 AND I3
NOT AND I4
ANDN I3 )
ANDN I4 OR( I2
) AND I3
OR( I2 AND I4
NOT )
ANDN I3 ST ZOLD
ANDN I4
) LDN PIROS
ST PIROS ANDN ZOLD
ST SARGA
END_PROGRAM
51
Forrs: http://www.doksi.hu
Ltradiagram
52
Forrs: http://www.doksi.hu
Egyb-
Problmalers Szablyok
knt
R1 R2 R3 ... Rn
Felttelek 1.bemen
vltoz Felttel vagy esetlersok szablyok megadsval.
2.bemen (Az olyan bemeneti jelkombincira, amelyre nincs szably, az
vltoz EGYB oszlop vonatkozik!)
.
.
n.bemen
vltoz
Jelllapotok: 0 : hamis
1 : igaz
- : nincs jelentsge a felttelnek az adott szablyban.
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.
53
Forrs: http://www.doksi.hu
sszerendelsi tblzat
Bemenetek Jel Logikai ssszerendels Cm
BE - kapcsol S1 bekapcsolva: S1=1 I0.0
A dntsi tblzat
Egyb-
Problmalers Szablyok
knt
47 63 65 71
BE - kapcsol S1 1 1 1 1
1. kzi nyomgomb S2 1 1 0 0
2. kzi nyomgomb S3 1 0 1 0
Lbnyomgomb S4 0 0 0 1
Vdrcs S5 0 1 1 1
Kivgminta S6 1 1 1 1
Prshenger P 1 1 1 1 0
A reduklt fggvnytblzat
S6 S5 S4 S3 S2 S1 P
1 0 0 1 1 1 1
1 1 0 0 1 1 1
1 1 0 1 0 1 1
1 1 1 0 0 1 1
54
Forrs: http://www.doksi.hu
Ltradiagram
A program utastslistja
PROGRAM STANC
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;
P AT %Q0.0.0.0.0: BOOL;
END_VAR
LD( S1 OR( S1
AND S2 ANDN S2
AND S3 ANDN S3
ANDN S4 AND S4
ANDN S5 AND S5
AND S6 AND S6
) )
OR( S1 ST P
AND S2 END_PROGRAM
ANDN S3
ANDN S4
AND S5
AND S6
)
OR( S1
ANDN S2
AND S3
ANDN S4
AND S5
AND S6
)
55
Forrs: http://www.doksi.hu
56
Forrs: http://www.doksi.hu
Kvetvezrls trolssal
57
Forrs: http://www.doksi.hu
Utastslista :
Funkciterv
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 S2
S Q1
LD S1
OR Q2
OR Q3
R Q1
LD S4
S Q2
LD S3
OR Q1
OR Q3
R Q2
LD S6
S Q3
LD S5
OR Q1
OR Q2
R Q3
END_PROGRAM
58
Forrs: http://www.doksi.hu
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?
59
Forrs: http://www.doksi.hu
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 Jel Logikai sszerendels Cm
a kapu zrva S1 jelez, ha : S1=1 I0.0
a kapu nyitva S2 jelez, ha : S2=1 I0.1
AUT/KZI vltkapcsol A_K AUTOMATA, ha : A_K=1 I0.2
NYIT nyomgomb NYIT benyomva: NYIT=1 I0.3
STOP nyomgomb STOP benyomva: STOP=0 I0.4
ZR nyomgomb ZAR benyomva: ZAR=1 I0.5
Kimenetek
nyits irnyba kapcsol Q1 behzva: Q1=1 Q0.1
rel
zrs irnyba kapcsol Q2 behzva: Q2=1 Q0.2
rel
60
Forrs: http://www.doksi.hu
Impulzuskapcsol
Egy jelzlmpa (Q0) az S0 nyomgomb (rvid idej) megnyomsra bekapcsol. Ha az S0
gombot ismtelten megnyomjk, a lmpa kialszik.
61
Forrs: http://www.doksi.hu
Megolds
Utastslista Funkciterv
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 S0
ST M1
LD M0
ANDN Q0
S M2
LD M0
AND Q0
R M2
LD M2
ST Q0
END_PROGRAM
62
Forrs: http://www.doksi.hu
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
I0
63
Forrs: http://www.doksi.hu
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.
Kimenet
A szktett fggvnytblzat
P1elz rtke T1 idzt S1 S2 P1
0 1 1 1 1
1 0 1 1 1
1 1 1 1 1
minden egyb estben 0
64
Forrs: http://www.doksi.hu
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 S1 LD M0
OR S2 OR P1
ST T1.IN AND S1
AND S2
LD T11 ST P1
ST T1.PT
END_PROGRAM
CAL T1
LD T1.Q
ST M0
65
Forrs: http://www.doksi.hu
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.
sszerendelsi tblzat
Bemenet Jel Logikai sszerendels Cm
Nyomgomb S1 benyomva: S1=0 I0.0
Kimenet
Jelzlmpa L1 vilgt, ha: L1=1 Q0.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.
66
Forrs: http://www.doksi.hu
Funkciterv
Utastslista
ROGRAM PRVESZJ
VAR LDN S1
VESZJEL AT %I0.0.0.0.0: ANDN T2.Q
BOOL; ST T1.IN
LAMPA AT %Q0.0.0.0.0: LD T1K
BOOL; ST T1.PT
FGVBL: VESZJ; CAL T1
END_VAR LDN T1.Q
CAL FGVBL(S1:=VESZJEL) ST T2.IN
LD FGVBL.L1 LD T2K
ST LAMPA ST T2.PT
END_PROGRAM CAL T2
LD T1.Q
FUNCTION_BLOCK VESZJ ST L1
END_FUNCTION_BLOCK
VAR_INPUT
S1: BOOL;
END_VAR
VAR_OUTPUT
L1: BOOL;
END_VAR
VAR
T1: TP;
T2: TP;
T1K: TIME := t#0.33S;
T2K: TIME := t#0.66S;
END_VAR
67
Forrs: http://www.doksi.hu
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
I0
68
Forrs: http://www.doksi.hu
Kvetvezrls idztkkel
69
Forrs: http://www.doksi.hu
sszerendelsi tblzat
Kimenetek
Funkciterv
70
Forrs: http://www.doksi.hu
71
Forrs: http://www.doksi.hu
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;
72
Forrs: http://www.doksi.hu
73
Forrs: http://www.doksi.hu
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
74
Forrs: http://www.doksi.hu
sszerendelsi tblzat
Kimenetek
75
Forrs: http://www.doksi.hu
sszerendelsi tblzat
Kimenetek
76
Forrs: http://www.doksi.hu
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
77
Forrs: http://www.doksi.hu
sszerendelsi tblzat
Kimenetek
78
Forrs: http://www.doksi.hu
Funkciterv Utastslista
Bekapcsolsi impulzus: 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;
Kosr fel:
T1KONST: TIME := t#10s;
SZAMLALO: CTD;
CIKLUS: INT := 3;
IMPULZUS: R_TRIG;
IMP: BOOL;
END_VAR
(*SART IMPULZUS*)
CAL IMPULZUS(CLK :=START|
Kosr le: IMP := Q)
(*KOSR FEL*)
CAL T1(IN := S2,PT :=T1KONST)
LD T1.Q
S Y2
LD S1
R Y2
(*KOSR LE*)
LD IMP
ORN SZAMLALO.Q
AND S1
A szmll s a mkdst jelz lmpa: 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
79
Forrs: http://www.doksi.hu
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
80
Forrs: http://www.doksi.hu
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
I0
81
Forrs: http://www.doksi.hu
82