You are on page 1of 106

Forrs: http://www.doksi.

hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

Jancskrn Anweiler Ildik

PLC programozs II. rsz

KZIRAT!
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

Kvetvezrlsi feladatok megoldsa llapotgrf segtsgvel

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

1. bra Vagontlts
sszerendelsi tblzat
Bemenetek Jel Logikai sszerendels Cm
START nyomgomb START benyomva: START=1 I0.0

STOP nyomgomb STOP benyomva: STOP=0 I0.1

Rmparzkel S2 a vagon tltsi pozciban: S2=1 I0.2

Slyrzkel S3 a vagon tele: S3=1 I0.3


Kimenetek
Szlltszalag motor K1 bekapcsolva: K1=1 Q0.0

Adagolcsiga motor K2 bekapcsolva: K2=1 Q0.1


Forrs: http://www.doksi.hu

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

Az llapotok kztti kapcsolatokat, egyik llapotbl a msikba trtn tlps feltteleit


llapotgrf segtsgvel rjuk le.

llapotgrf

0
M0
SART
AND
S2 (a vagon tltsi helyzetben )
1
K1 motor bekapcsolva
M1 T1 = 3s TON

T1.Q (T1 letelt)

2 K1 motor bekapcsolva
K2 motor bekapcsolva
M2

S3 vagon tele
OR S2 vagon elmozdult
3 STOP
K1 motor bekapcsolva
M3 T2 = 5s TON
T2.Q (T2 letelt)

Az llapotgrf funkcitervbe trtn trsnak szablyai


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

84
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

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

Funkciterv

85
Forrs: http://www.doksi.hu

Utastslista
PROGRAM PRVAGTLT
VAR
START AT %I0.0.0.0.0: BOOL;
STOP AT %I0.0.0.0.1: BOOL;
RAMPA AT %I0.0.0.0.2: BOOL;
SULY AT %I0.0.0.0.3: BOOL;
MOTOR1 AT %Q0.0.0.0.0: BOOL;
MOTOR2 AT %Q0.0.0.0.1: BOOL;
FGVBL: VAGTOLT;
IMPULZUS: BOOL;
END_VAR

(*INDT IMPULZUS*)

LD ISA
PLC_Message
ST IMPULZUS

(*FGGVNYBLOKK HVSA*)

86
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

CAL FGVBL(IND:=IMPULZUS, START:=START, STOP:=STOP, S2:=RAMPA,


S3:=SULY)

(*KIMENETEK TROLSA*)

LD FGVBL.K1
ST MOTOR1
LD FGVBL.K2
ST MOTOR2
END_PROGRAM

Az llapotgrfot fggvnyblokkban rtuk meg.

FUNCTION_BLOCK VAGTOLT

VAR_INPUT
START:BOOL;
STOP: BOOL;
S2: BOOL;
S3: BOOL;
IND: BOOL;
END_VAR

VAR_OUTPUT
K1: BOOL;
K2: BOOL;
END_VAR

VAR
M0: BOOL;
M1: BOOL;
M2: BOOL;
M3: BOOL;
T1: TON;
T2: TON;
END_VAR

VAR CONSTANT
T1KONST: TIME := T#3s;
T2KONST: TIME := t#5s;
END_VAR

(*0. LLAPOT*) (*1. LLAPOT*)


LD IND LD M0
OR( M3 AND START
AND T2.Q AND S2
) S M1
S M0 LD IND
LD M1 OR M2
R M0 R M1

87
Forrs: http://www.doksi.hu

(*2. LLAPOT*)
LD M1
AND T1.Q
S M2
LD IND
OR M3
R M2

(*3. LLAPOT*)
LD M2
AND S3
ORN S2
ORN STOP
S M3
LD IND
OR M0
R M3
(*IDZTK*)

CAL T1(IN := M1,PT :=T1KONST)


CAL T2(IN := M3,PT :=T2KONST)

(*KIMENETEK*)

LD M1
OR M2
OR M3
ST K1

LD M2
ST K2

END_FUNCTION_BLOCK

88
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

tjavtst jelz lmpa


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

2. bra tlezrs
sszerendelsi tblzat

Bemenetek Jel Logikai sszerendels Cm

BE/KI kapcsol BEKAPCS bekapcsolva: BEKAPCS=1 I0.0

1. irny rzkel IRANY1 jelez: IRANY1=1 I0.1

2. irny rzkel IRANY2 jelez: IRANY2=1 I0.2

Kimenetek

1. lmpa zld ZOLD1 vilgt: ZOLD1=1 Q0.0

2. lmpa zld ZOLD2 vilgt: ZOLD2=1 Q0.1

1. lmpa piros PIROS1 vilgt: PIROS1=1 Q0.2

2. lmpa piros PIROS2 vilgt: PIROS2=1 Q0.3

89
Forrs: http://www.doksi.hu

A vezrls llapotai
1. Alapllapot: semmit sem mkdtet, a bekapcsolsi jelre vr

2. Mindkt lmpa piros

3. Adott ideig mindkt lmpa piros, jrm vr az 1. irnybl

4. Adott ideig mindkt lmpa piros, jrm vr a 2. irnybl

5. Adott ideig 1. lmpa piros, 2. lmpa zld

6. Adott ideig 2. lmpa piros, 1. lmpa zld

7. lmpa piros, 2. lmpa zld

8. lmpa piros, 1. lmpa zld

Az llapotok kztti kapcsolatokat, az egyik llapotbl a msikba trtn tlps feltteleit


llapotgrf segtsgvel rjuk le.

90
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

llapotgrf

0
M0

BEKAPCS

1 PIROS
1PIROS2
M1

IRANY1 IRANY2

2 PIROS 5 PIROS
PIROS PIROS
M2 T1=10 M5 T1=10
T1 letelt T1 letelt

3 ZOLD 6 ZOLD
PIROS PIROS
M3 T2=20 M6 T2=20

T2 letelt T2 letelt

4 ZOLD 7 ZOLD
PIROS PIROS
M4 M7
__ __
BEKAPCS IRANY2 IRANY1
BEKAPCS

0 5 0 2

IRANY1 s IRANY2 egyidejleg is jelezhet. (Mindkt irnybl rkezhet egyszerre jrm.)


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

91
Forrs: http://www.doksi.hu

Az llapotgrf trsa funkcitervbe illetve utastslistba

Funkciterv

92
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

93
Forrs: http://www.doksi.hu

Utastslista
PROGRAM PRUTLEZAR

VAR_GLOBAL
BEKAPCS AT %I0.0.0.0.0: BOOL;
IRANY1 AT %I0.0.0.0.1: BOOL;
IRANY2 AT %I0.0.0.0.2: BOOL;
ZOLD1 AT %Q0.0.0.0.0: BOOL;
PIROS1 AT %Q0.0.0.0.1: BOOL;
ZOLD2 AT %Q0.0.0.0.2: BOOL;
PIROS2 AT %Q0.0.0.0.3: BOOL;
END_VAR

VAR
FGVBL: UTLEZ1;
IMPULZUS: BOOL;
END_VAR

(*INDT IMPULZUS*)
LD ISA
PLC_Message
ST IMPULZUS

(*FGGVNYBLOKK HVSA*)
CAL FGVBL(IND:=IMPULZUS)

END_PROGRAM

FUNCTION_BLOCK UTLEZ1

VAR_INPUT
IND: BOOL;
END_VAR

VAR
M0: BOOL;
M1: BOOL;
M2: BOOL;
M3: BOOL;
M4: BOOL;
M5: BOOL;
M6: BOOL;
M7: BOOL;
T1: TON;
T2: TON;
END_VAR

VAR constant
T1KONST: TIME := t#10s;

94
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

T2KONST: TIME := t#20s;


END_VAR

VAR_EXTERNAL
BEKAPCS: BOOL;
IRANY1: BOOL;
IRANY2: BOOL;
ZOLD1: BOOL;
PIROS1: BOOL;
ZOLD2: BOOL;
PIROS2: BOOL;
END_VAR
(*3. LLAPOT*)
(*0. LLAPOT*) LD M2
LD IND AND T1.Q
OR( M4 S M3
OR M7 LD IND
ANDN BEKAPCS OR M4
) R M3
S M0
LD M1 (*4. LLAPOT*)
R M0 LD M3
AND T2.Q
(*1. LLAPOT*) S M4
LD M0 LD IND
AND BEKAPCS OR M0
S M1 OR M5
LD IND R M4
OR M2
OR M5 (*5. LLAPOT*)
R M1 LD M4
OR M1
(*2. LLAPOT*) AND IRANY2
LD M1 S M5
OR M7 LD IND
AND IRANY1 OR M0
S M2 OR M2
LD IND OR M6
OR M3 R M5
OR M0
R M2 (*6. LLAPOT*)
LD M5
AND T1.Q
S M6
LD IND
OR M7
R M6

(*7. LLAPOT*)
LD M6

95
Forrs: http://www.doksi.hu

AND T2.Q
S M7 LD M3
LD IND OR M4
OR M0 ST ZOLD1
OR M2
R M7 LD M1
OR M2
(*IDZTK*) OR M5
LD M2 OR M6
OR M5 OR M7
ST T1.IN ST PIROS1
LD T1KONST
ST T1.PT LD M6
CAL T1 OR M7
ST ZOLD2
LD M3
OR M6 LD M1
ST T2.IN OR M2
LD T2KONST OR M3
ST T2.PT OR M4
CAL T2 OR M5
ST PIROS2
(*KIMENETEK*) END_FUNCTION_BLOCK

96
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

Jelek llapotgrfon kvli feldolgozsa


Elfordul sok esetben, hogy a jelforrs, a jelad, (pl. nyomgomb) csak rvid ideig szolgltat
jelet a PLC bemenetn. Ha a vezrlst llapotgrffal oldjuk meg, s a vezrls ppen olyan
llapotban van, amelynek kvetllapota egy msik vezrljel megjelensre vr, akkor a
rvid idre megjelen jelzst elveszthetjk. Ennek elkerlsre szksges a rvid ideig hat
jeleket az llapotgrfon kvl eltrolnunk. (Ez az n. elfeldolgozs.)

Zsilipajtk vezrlse
Egy helyisget por- s szennyezdsmentesen kell tartani, gy a bejrathoz kiptettek egy
zsilipkamrt, A s B tolajtval. Egyszerre, egy idben mindig csak az egyik ajt lehet
nyitva. A zsilipen az thaladst kvlrl az S1 vagy S2 nyomgombokkal lehet
kezdemnyezni. Kvlrl bellre S1 gomb megnyomsa nyitja az A ajtt. Miutn A
kinylt (S6 jelez), mg 3 s-ig nyitva marad, majd becsukdik. Ha A ajt becsukdott (S5
jelez), B ajt automatikusan kinylik, 3 s-ig nyitva marad, majd becsukdik. A msik
irnybl az thalads hasonl mdon, fordtott sorrendben, S2 gomb megnyomsra B majd
A ajt egyms utn automatikusan nylik s zrdik. A nyomgomb melletti jelzlmpa
mutatja, hogy a vezrls szrevette a gomb benyomst. Mindkt ajtnl vglls-kapcsolk
jelzik az ajt nyitott ill. zrt helyzett. Az ajtkhoz tartozik egy-egy optikai rzkel, ha a
fnyt megszakad, az ajt zrst nem lehet megkezdeni, illetve, ha mr zrdik, azonnal
vissza kell nyitni. Hasonlan zrs kzben vissza kell nyitni az ajtkat akkor is, ha az A
ajtnl S1 vagy S3, a B ajtnl S2 vagy S4 gombot megnyomjk. 3s-os vrakozs utn a
zrs ismt kezdemnyezhet. A zsilipben a biztonsg miatt elhelyeztek kt nyomgombot,
(S3 s S4), amelyekkel a hozzjuk tartoz ajtk nyitst szksg esetn kezdemnyezni lehet
(pl. ha valaki vletlenl bennrekedt a zsilipben, mert gy lpett be egy ppen nyitott
zsilipajtn, hogy elzleg nem nyomta meg az S1 vagy S2 gombot.)

3. bra Zsilipajt

97
Forrs: http://www.doksi.hu

sszerendelsi tblzat

Bemenetek Jel Logikai sszerendels Cm


benyomva:
A ajt kls nyomgomb S1 S1=1 I0.0

B ajt kls nyomgomb S2 benyomva: S2=1 I0.1

A ajt bels nyomgomb S3 benyomva: S3=1 I0.2

B ajt bels nyomgomb S4 benyomva: S4=1 I0.3

A ajt csukva S5 jelez, ha: S5=1 I0.4

A ajt nyitva S6 jelez, ha: S6=1 I0.5

B ajt csukva S7 jelez, ha: S7=1 I0.6

B ajt nyitva S8 jelez, ha: S8=1 I0.7

A ajt optikai rzkel LI1 ha a fnyt megszakad: LI1=0 I1.0

B ajt optikai rzkel LI2 ha a fnyt megszakad: LI2=0 I1.1

Kimenetek

A ajt elektromotor nyits irnyba M1Ny mkdtetve: M1Ny=1 Q0.0

A ajt elektromotor zrs irnyba M1Z mkdtetve: M1Z=1 Q0.1

B ajt elektromotor nyits irnyba M2Ny mkdtetve: M2Ny=1 Q0.2

B ajt elektromotor zrs irnyba M2Z mkdtetve: M2Z=1 Q0.3

A oldali visszajelz lmpa KIJ1 vilgt, ha: KIJ1=1 Q0.4

B oldali visszajelz lmpa KIJ2 vilgt, ha: KIJ2=1 Q0.5

Rvid ideig hat jelek feldolgozsa az llapotgrfon kvl

98
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

Az llapotgrf

0
M0

TG2
O TG1 O S4
S3
R R
1 M1Ny 4 M2Ny
Reset Reset TG1
Reset M4 Reset KIJ2
M1
S6 S8

2 T1= 3s 5 T1= 3s
M2 M5
T1
AN AN T1
LI1 LI2
D D
3 M1Z 6 M2Z

M3 M6
LI1 LI2
AN TG1 AN
TG1 O S1 AN TG2 AN TG2 O S2
S5 S5 R S3 S7 S7 R S4
4 0 1 1 0 4

Az llapotgrf trsa funkcitervbe illetve utastslistba


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

99
Forrs: http://www.doksi.hu

Funkciterv

100
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

101
Forrs: http://www.doksi.hu

102
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

103
Forrs: http://www.doksi.hu

A fggvnyblokk listja
FUNCTION_BLOCK ZSLPALL

VAR_INPUT
S1: BOOL;
S2: BOOL;
S3: BOOL;
S4: BOOL;
S5: BOOL;
S6: BOOL;
S7: BOOL;
S8: BOOL;
LI1: BOOL;
LI2: BOOL;
TG1: BOOL;
TG2: BOOL;
IND: BOOL;
END_VAR

VAR_OUTPUT
M1NY: BOOL;
M1Z: BOOL;
M2NY: BOOL;
M2Z: BOOL;
M1: BOOL;
M4: BOOL;
END_VAR

VAR
M0: BOOL;
M2: BOOL;
M3: BOOL;
M5: BOOL;
M6: BOOL;
T1: TON;
END_VAR

104
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

VAR constant
T1KONST: TIME := t#3s;
END_VAR

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

105
Forrs: http://www.doksi.hu

AND LI2 (*KIMENETEK*)


S M6
LD IND LD M1
OR M4 ANDN S6
OR M1 ST M1NY
OR M0
R M6 LD M3
ANDN S5
(*IDZT*) ST M1Z

LD M2 LD M4
OR M5 ANDN S8
ST T1.IN ST M2NY
LD T1KONST
ST T1.PT LD M6
CAL T1 ANDN S7
ST M2Z

END_FUNCTION_BLOCK

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

106
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

(*INDT IMPULZUS*)
LD ISA
PLC_Message
ST IMPULZUS

(*JELFELDOLGOZS AZ LLAPOTGRFON KVL*)


LD A_KULSO_NYG
S KIJ1
LD FGVBL.M1
R KIJ1
LD KIJ1
S TG1
LD FGVBL.M4
R TG1

LD B_KULSO_NYG
S KIJ2
LD FGVBL.M4
R KIJ2
LD KIJ2
S TG2
LD FGVBL.M1
R TG2

(*FGGVNYBLOKK HVSA*)

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

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

107
Forrs: http://www.doksi.hu

Gyakorl feladat: utastslista elemzse IV.


rja t az albbi utastslistt funkcitervbe, majd prblja meg felrajzolni az llapotgrfot.

PROGRAM UTLELEM S M2
VAR LD M3
M60 : BOOL ; R M2
M61 : BOOL ; LD M2
M0 : BOOL ; AND I3
M1 : BOOL ; S M3
M2 : BOOL ; LD M0
M3 : BOOL ; OR M4
M4 : BOOL ; R M3
M5 : BOOL ; LD M1
M6 : BOOL ; ANDN I2
END_VAR AND I4
VAR OR( M3
I1 AT %I0.1 : BOOL ; AND I4
I2 AT %I0.2 : BOOL ; )
I3 AT %I0.3 : BOOL ; S M4
I4 AT %I0.4 : BOOL ; LD M5
Q1 AT %Q0.1 : BOOL ; OR M0
Q2 AT %Q0.2 : BOOL ; R M4
Q3 AT %Q0.3 : BOOL ; LD M4
END_VAR AND I3
S M5
LDN M60 LD M0
ST M61 OR M6
S M60 R M5
LD M1
LD M61 AND I1
OR( I1 ANDN I2
NOT ANDN I4
AND( M3 OR( M5
OR M5 ANDN I2
OR M6 )
) S M6
) LD M0
S M0 R M6
LD M1
R M0 LD M1
OR M2
LD M0 OR M3
AND I1 OR M4
S M1 OR M6
LD M2 ST Q1
OR M4 LD M2
OR M6 OR M3
R M1 ST Q2
LD M4
LD M1 OR M5
AND I2 ST Q3
ANDN I4 END_PROGRAM

108
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

Komplex vezrlsi feladat szmllval


A szmllkat hasznl vezrlsi feladatokban is szisztematikusabb feladatmegoldst jelent az
llapotgrf bevezetse.

Tablettaadagol berendezs vezrlse


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

4. bra Tablettaadagol berendezs


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

109
Forrs: http://www.doksi.hu

sszerendelsi tblzat

Bemenetek Jel Logikai sszerendels Cm


bekapcsolva:
BE/KI kapcsol S1 S1=1 I0.0

A kmcs tltsi pozciban S2 jelez, ha: S2=1 I0.1

5 DB TBL kivlaszt S3 benyomva: S3=1 I0.2

7 DB TBL kivlaszt S4 benyomva: S4=1 I0.3

9 DB TBL kivlaszt S5 benyomva: S5=1 I0.4

optikai rzkel OPT jelez, ha: OPT=1 I0.5

Kimenetek

Motor Mot bekapcsolva: Mot=1 Q0.0

Szelep MSZ nyitva, ha: MSZ=1 Q0.1

5 TBL jelzlmpa L5 vilgt. ha: L5=1 Q0.2

7 TBL jelzlmpa L7 vilgt. ha: L7=1 Q0.3

9 TBL jelzlmpa L9 vilgt. ha: L9=1 Q0.4

110
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

Az llapotgrf

0
M0
S1 TBL7
TBL5 TBL9
1 Mot
L5 L7 L9
M1
S2
TBL7
2 Mot TBL5 TBL9

M2 L5 L7 L9

S2 TBL7
TBL5 TBL9
3
L5 L7 L9
M3

S1 TBL5 TBL7 TBL9

4 MSZ 5 MSZ 6 MSZ


C1=5 C2=7 C3=9
M4 L5 M5 L7 M6 L9
C1.Q C2.Q C3.Q
0 1 1 1

111
Forrs: http://www.doksi.hu

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

A fprogram
Els programciklus lekrdezse:

112
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

A funkciterv trsa utastslistba


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

113
Forrs: http://www.doksi.hu

Lamp7 AT %Q0.0.0.0.3: BOOL;


Lamp9 AT %Q0.0.0.0.4: BOOL;
TA5: BOOL;
TA7: BOOL;
TA9: BOOL;
TBL5: BOOL;
TBL7: BOOL;
TBL9: BOOL;
IMPULZUS: BOOL;
FGVBL: TABLETTA;
END_VAR

(*INDT IMPULZUS*)
LD ISA
PLC_Message
ST IMPULZUS

(*JELFELDOLGOZS AZ LLAPOTGRFON KVL*)


LD NYG5_S3
ANDN NYG7_S4
ANDN NYG9_S5
ST TA5
S TBL5
LD TA7
OR TA9
OR FGVBL.M0
R TBL5

LDN NYG5_S3
AND NYG7_S4
ANDN NYG9_S5
ST TA7
S TBL7
LD TA5
OR TA9
OR FGVBL.M0
R TBL7

LDN NYG5_S3
ANDN NYG7_S4
AND NYG9_S5
ST TA9
S TBL9
LD TA5
OR TA7
OR FGVBL.M0
R TBL9

114
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

(*FGGVNYBLOKK HVSA*)

CAL FGVBL(IND:=IMPULZUS,
S1:=BE_KI_S1,
S2:=TOLTES_S2,
S3:=NYG5_S3,
S4:=NYG7_S4,
S5:=NYG9_S5,
OPT:=OPT,
TBL5:=TBL5,
TBL7:=TBL7,
TBL9:=TBL9
)

(* KIMENETEK *)

LD FGVBL.MOT
ST MotOR

LD FGVBL.MSZ
ST MagnSZel

LD FGVBL.L5
ST Lamp5

LD FGVBL.L7
ST Lamp7

LD FGVBL.L9
ST Lamp9
END_PROGRAM

A fggvnyblokk

Funkciterv

115
Forrs: http://www.doksi.hu

116
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

117
Forrs: http://www.doksi.hu

A szmllk:

118
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

119
Forrs: http://www.doksi.hu

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

VAR constant
C1KONST: INT := 5;

120
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

END_VAR

VAR
C1IMP: R_TRIG;
C2: CTD;
END_VAR

VAR constant
C2KONST: INT := 7;
END_VAR

VAR
C2IMP: R_TRIG;
C3: CTD;
END_VAR

VAR constant
C3KONST: INT := 9;
END_VAR

VAR
C3IMP: R_TRIG;
END_VAR

(*0. LLAPOT*) (*2. LLAPOT*)


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

121
Forrs: http://www.doksi.hu

(*5. LLAPOT*) LD C3KONST


LD M3 ST C3.PV
AND TBL7 CAL C3
S M5
LD IND (*KIMENETEK*)
OR M0
OR M1 LD M1
R M5 OR M2
ST MOT
(*6. LLAPOT*)
LD M3 LD M4
AND TBL9 OR M5
S M6 OR M6
LD IND ST MSZ
OR M0
OR M1 LD M4
R M6 OR( TBL5
AND( M1
(*SZMLLK*) OR M2
LD OPT OR M3
ST C1.CD )
LD M4 )
ST C1IMP.CLK ST L5
CAL C1IMP
LD C1IMP.Q LD M5
ST C1.LOAD OR( TBL7
LD C1KONST AND( M1
ST C1.PV OR M2
CAL C1 OR M3
)
LD OPT )
ST C2.CD ST L7
LD M5
ST C2IMP.CLK LD M6
CAL C2IMP OR( TBL9
LD C2IMP.Q AND( M1
ST C2.LOAD OR M2
LD C2KONST OR M3
ST C2.PV )
CAL C2 )
ST L9
LD OPT END_FUNCTION_BLOCK
ST C3.CD
LD M6
ST C3IMP.CLK
CAL C3IMP
LD C3IMP.Q
ST C3.LOAD

122
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

temvezrelt lefutvezrlsek

Kzlekedsi lmpa vezrlse


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

Bemenetek Jel Logikai hozzrendels Cm

BE/KI kapcsol S0 bekapcsolva: S0=1 I0.0

Kimenetek

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

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

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

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

tem Lmpafzisok A szmll rtke temmerker


1 P 0 M1
2 P 1 M2
3 P S 2 M3
4 Z 3 M4
5 Z 4 M5
6 Z 5 M6
7 Z 6 M7
8 S 7 M8

123
Forrs: http://www.doksi.hu

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

124
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

Megolds 2. vltozat, utastslista

PROGRAM KZLAMP2
VAR
S0 AT %I0.0.0.0.0: BOOL;
PIROS AT %Q0.0.0.0.0: BOOL;
SARGA AT %Q0.0.0.0.1: BOOL;
ZOLD AT %Q0.0.0.0.2: BOOL;
UTGEN AT %QB0.0.0.1: BYTE;
FELFUTO: R_TRIG;
FGVBL: FBKLAMP;
FGVBL2: FBSARGA;
END_VAR

CAL FELFUTO(CLK:=S0) VILLOG:


LD S0 CAL FGVBL2
JMPCN VILLOG LD FGVBL2.P
LD FELFUTO.Q ST PIROS
ST FGVBL.INDIMP LD FGVBL2.SA
CAL FGVBL ST SARGA
LD FGVBL.P LD FGVBL2.Z
ST PIROS ST ZOLD
LD FGVBL.SA LD FGVBL2.UTEMB
ST SARGA ST UTGEN
LD FGVBL.Z RET
ST ZOLD END_PROGRAM
LD FGVBL.UTEMB
ST UTGEN
RET

FUNCTION_BLOCK FBKLAMP

VAR_INPUT
INDIMP: BOOL;
END_VAR

VAR_OUTPUT
P: BOOL;
SA: BOOL;
Z: BOOL;
UTEMB: BYTE;
END_VAR

VAR
T1: TON;
MB: BYTE;
UTIMP: BOOL;
UTEMIDO: TIME := t#1S;
END_VAR

LD INDIMP TOVABB:
JMPCN TOVABB (*TEMGENERTOR*)
LD 1 LDN UTIMP
ST MB ST T1.IN

125
Forrs: http://www.doksi.hu

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

FUNCTION_BLOCK FBSARGA

VAR_OUTPUT
P: BOOL;
SA: BOOL;
Z: BOOL;
UTEMB: BYTE;
END_VAR

VAR
T1: TP;
T2: TP;
UTIDO1: TIME := t#100MS;
UTIDO2: TIME := t#500MS;
END_VAR

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

126
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

Folyamatvezrelt lefutvezrlsek

Az zemmd programrsz (fggvnyblokk)


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

5. bra A kezeli fellet

KEZELI FELLET KAUT KEZELI FELLET


AUT/KZI QAUT AUTOMATA KIJELZ
VEZRLTADS VEZATAD zemmdrsz
PARANCSENGED. PENG
STOP STOP
ENG0 lptetlnc
berendezs KEZD. IMP.
START ENG1
START FELTTELES
ENG2
NYOMGOMB FELTTELNLKLI
TOVBBLPS
ENGEDLYEZSE
ENG3 0?1 LPS ENG.
lptetlnc
BEREND.
AM0
ALAPHELYZETBEN
M0 PARANCSKIADS
0. LPS
ENG4 ENGEDLYEZS
1. LPS M1
.
. KEZELI FELLET
. LPSKIJELZS
MN
N. LPS

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


berendezssel

127
Forrs: http://www.doksi.hu

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

3. bra A kezeli fellet a fggvnyblokk vltoznv jellseivel


A fggvnyblokk utastslistja:
FUNCTION_BLOCK UMODFGV
VAR_INPUT
I1 : BOOL ;
I2 : BOOL ;
I3 : BOOL ;
I4 : BOOL ;
AM0 : BOOL ;
M0 : BOOL ;
S0 : BOOL ; (*START a fprogramban*)
END_VAR
VAR_OUTPUT
Q4 : BOOL ;
B0 : BOOL ; (*ENG0 a fprogramban*)
B1 : BOOL ; (*ENG1 a fprogramban*)
B2 : BOOL ; (*ENG2 a fprogramban*)
B3 : BOOL ; (*ENG3 a fprogramban*)
B4 : BOOL ; (*ENG4 a fprogramban*)
END_VAR
VAR
B10 : BOOL ;
B11 : BOOL ;
B12 : BOOL ;
END_VAR
Impulzuskapcsol a vezrlstads felfut lre (B10)
LD I2
ANDN B11
ST B10
LD I2
ST B11

Indt impulzus (B0)

128
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

LD B10
AND AM0
ANDN Q4
AND I1
ANDN M0
ST B0

Automata zemmd kijelzs (Q4) s feltteles lptets engedlyez jele (B1)


LD AM0
AND B10
AND M0
S Q4
LDN I1
OR( B12
AND M0
)
R Q4
LD Q4
ST B1

Stop nyomgomb trolsa


LD Q4
ANDN I4
S B12
LDN Q4
R B12

Felttel nlkli tovbblps engedlyez jele (B2)


LD B10
ANDN I1
ST B2

Parancsengedlyezs (B4)
LD S0
AND AM0
ST B3
LD Q4
OR( I3
ANDN I1
)
ST B4

END_FUNCTION_BLOCK

Szakaszos zem folyadkkever berendezs vezrlse


A technolgiai feladat kt klnbz folyadk sszeelegytse s adott hmrskletre
melegtse.

129
Forrs: http://www.doksi.hu

6. bra Kevertartly a kezeltblval


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

130
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

sszerendelsi tblzat

A tblzatban felsoroljuk a technolgiai jelek mellett a kezeli fellet jeleit is.

Bemenetek Jel Logikai sszerendels Cm

START START benyomva: START=1 I0.0

res a tartly S1 res, ha: S1=1 I0.1

a tartly flig S2 jelez, ha: S2=1 I0.2

a tartly tele S3 jelez, ha: S3=1 I0.3

hmrskletrzkel S4 a mrt hmrsklet >= kvnt rtk: S4=1 I0.4

Automata/kzi tkapcsol I1 automata: I1=1 I1.0

vezrls tads nyomgomb I2 benyomva: I2=1 I1.1

parancsengedlyezs I3 benyomva: I3=1 I1.2

STOP nyomgomb STOP benyomva: STOP=0 I1.3

Kimenetek Jel Logikai sszerendels Cm

1. mgnesszelep MSZ1 nyitva, ha: MSZ1=1 Q0.0

2. mgnesszelep MSZ2 nyitva, ha: MSZ2=1 Q0.1

3. mgnesszelep MSZ3 nyitva, ha: MSZ3=1 Q0.2

fts FUT bekapcsolva, ha: FUT=1 Q0.3

kevers KEV bekapcsolva, ha: KEV=1 Q0.4

lpskijelz LED Q0 vilgt, ha: Q0=1 Q1.0

lpskijelz LED Q1 vilgt, ha: Q1=1 Q1.1

lpskijelz LED Q2 vilgt, ha: Q2=1 Q1.2

lpskijelz LED Q3 vilgt, ha: Q3=1 Q1.3

automata zemmd jelzs Q4 vilgt, ha: Q4=1 Q1.4

131
Forrs: http://www.doksi.hu

A lptetlnc

0
M0
B3

1 MSZ1

M1

S2

2 MSZ2
KEV
M2
S3

3 KEV
FT
M3

S4

4 MSZ3

M4
S1

A lptetlnc funkcitervbe val trsakor figyelembe vesszk az zemmd fggvnyblokk


engedlyez jeleit is.

:
A vezrls fggvnyblokkjai prototpus feladata
zemmd UMODFB zemmd belltsa, engedlyez jelek
lptetlnc LEPTL meghatrozza a berendezs alapllapott s
belltja a lpsmerkereket
lpskijelzs LEPKIJ a lpskijelz LED-ek belltsa
parancskiads PARKIAD a kimenetek belltsa

132
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

A fprogram
A fprogramot utastslistban adjuk meg.

A vltozdeklarci:

PROGRAM kevtart
VAR
KAUT AT %I0.0.0.1.0: BOOL; (* =1 :AUTO =0 :KZI *)
VATAD AT %I0.0.0.1.1: BOOL; (* =1 BENYOMVA *)
PENG AT %I0.0.0.1.2: BOOL; (* =1 BENYOMVA *)
STOP AT %I0.0.0.1.3: BOOL; (* =0 BENYOMVA *)
START AT %I0.0.0.1.4: BOOL; (* =1 BENYOMVA *)
QAUT AT %Q0.0.0.1.0: BOOL;
LEP1 AT %Q0.0.0.1.1: BOOL; (* LEPESkijelzs *)
LEP2 AT %Q0.0.0.1.2: BOOL; (* LEPESkijelzs *)
LEP3 AT %Q0.0.0.1.3: BOOL; (* LEPESkijelzs *)

EN0: BOOL; (*indt impulzus*)


EN1: BOOL; (*feltteles tovbblps engedlyezse*)
EN2: BOOL; (*felttel nlkli tovbblps engedlyezse*)
EN3: BOOL; (*0-1 lps engedlyezse*)
EN4: BOOL; (*parancsengedlyezs*)
END_VAR

VAR
S1 AT %I0.0.0.0.0: BOOL; (* 1.SZINT *)
S2 AT %I0.0.0.0.1: BOOL; (* 2.SZINT *)
S3 AT %I0.0.0.0.2: BOOL; (* 3.SZINT *)
S4 AT %I0.0.0.0.3: BOOL; (* HOMERSEKLET *)

MSZ1 AT %Q0.0.0.0.0: BOOL; (* 1.SZELEP *)


MSZ2 AT %Q0.0.0.0.1: BOOL; (* 2.SZELEP *)
MSZ3 AT %Q0.0.0.0.2: BOOL; (* 3.SZELEP *)
FUT AT %Q0.0.0.0.3: BOOL; (* FUTES *)
KEV AT %Q0.0.0.0.4: BOOL; (* KEVERO *)

UZEM: UMODFB;
LANC: LEPTL;
KIJELZ: LEPKIJ;
KIMENET: PARKIAD;
END_VAR

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

133
Forrs: http://www.doksi.hu

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

CAL UZEM

LD UZEM.Q4
ST QAUT
LD UZEM.B0
ST EN0
LD UZEM.B1
ST EN1
LD UZEM.B2
ST EN2
LD UZEM.B3
ST EN3
LD UZEM.B4
ST EN4

CAL LANC(B0:=EN0,B1:=EN1,
B2:=EN2,B3:=EN3,
S1:=S1,S2:=S2,
S3:=S3,S4:=S4)

CAL KIJELZ

LD KIJELZ.Q0
ST LEP1
LD KIJELZ.Q1
ST LEP2
LD KIJELZ.Q2
ST LEP3

CAL KIMENET(B4:=EN4)

LD KIMENET.Y1
ST MSZ1
LD KIMENET.Y2

134
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

ST MSZ2
LD KIMENET.Y3
ST MSZ3
LD KIMENET.H
ST FUT
LD KIMENET.MOT
ST KEV
END_PROGRAM

Az zemmd fggvnyblokk
Funkciterv

135
Forrs: http://www.doksi.hu

136
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

Utastslista
FUNCTION_BLOCK UMODFB
VAR_INPUT
I1 : BOOL ;
I2 : BOOL ;
I3 : BOOL ;
I4 : BOOL ;
AM0 : BOOL ;
M0 : BOOL ;
S0 : BOOL ;
END_VAR
VAR_OUTPUT
Q4 : BOOL ;
B0 : BOOL ;
B1 : BOOL ;
B2 : BOOL ;
B3 : BOOL ;
B4 : BOOL ;
END_VAR
VAR
B10 : BOOL ;
B11 : BOOL ;
B12 : BOOL ;
END_VAR

LD I2 LD Q4
ANDN B11 ST B1
ST B10 LD Q4
AND I4
LD I2 S B12
ST B11
LDN Q4
LD B10 R B12
AND AM0
ANDN Q4 LD B10
AND I1 ANDN I1
ANDN M0 ST B2
ST B0
LD S0
LD AM0 AND AM0
AND B10 ST B3
AND M0
S Q4 LD Q4
OR( I3
LDN I1 ANDN I1
OR( B12 )
AND M0 ST B4
) END_FUNCTION_BLOCK
R Q4

137
Forrs: http://www.doksi.hu

A lptetlnc fggvnyblokk
Funkciterv

138
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

139
Forrs: http://www.doksi.hu

140
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

Utastslista
FUNCTION_BLOCK LEPTL
VAR_INPUT
B0 : BOOL ;
B1 : BOOL ;
B2 : BOOL ;
B3 : BOOL ;
S1 : BOOL ;
S2 : BOOL ;
S3 : BOOL ;
S4 : BOOL ;

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

(*BERENDEZS
ALAPLLAPOTA*)

LD S1
ANDN S2 (*1. LPS*)
ANDN S3
ANDN S4 LDN M4
ST AM0 AND M0
AND ( B2
(*0. LPS*) OR ( B1
AND B3
LD B0 )
OR ( M4 )
ANDN M3 S M1
AND ( B2 LD B0
OR ( B1 OR M2
AND S1 R M1
)
)
)
S M0

LD M1
R M0

141
Forrs: http://www.doksi.hu

(*2. LPS*)

LDN M0
AND M1
AND ( B2
OR ( B1
AND S2
)
)
S M2
LD B0
OR M3
R M2

(*3. LPS*)

LDN M1
AND M2
AND ( B2
OR ( B1
AND S3
)
)
S M3
LD B0
OR M4
R M3

(*4. LPS*)

LDN M2
AND M3
AND ( B2
OR ( B1
AND S4
)
)
S M4
LD B0
OR M0
R M4
END_FUNCTION_BLOCK

142
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

A lpskijelzs fggvnyblokk
Funkciterv

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

143
Forrs: http://www.doksi.hu

A parancskiads fggvnyblokk
Funkciterv

144
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

Utastslista
FUNCTION_BLOCK PARKIAD
VAR_INPUT
B4 : BOOL ;
END_VAR
VAR_OUTPUT
Y1 : BOOL ;
Y2 : BOOL ;
Y3 : BOOL ;
H : BOOL ;
MOT : BOOL ;
END_VAR
VAR_EXTERNAL
M1 : BOOL ;
M2 : BOOL ;
M3 : BOOL ;
M4 : BOOL ;
END_VAR

LD B4
AND M1
ST Y1

LD B4
AND M2
ST Y2

LD B4
AND M4
ST Y3

LD B4
AND M3
ST H

LD B4
AND( M2
OR M3
)
ST MOT
END_FUNCTION_BLOCK

145
Forrs: http://www.doksi.hu

Pldk lefutvezrlsekre

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

7. bra Prsgp a kezeltblval

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

146
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

munkahenger s a terelleveg segtsgvel a munkadarab a gyjtkosrba kerl. Ha az OPT


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

Bemenetek Jel Logikai sszerendels Cm

START START benyomva: START=1 I0.0

1. mh. hts pozci S1 jelez, ha: S1=1 I0.1

1. mh. els pozci S2 jelez, ha: S2=1 I0.2

munkadarab az eltrolban S3 jelez, ha: S3=1 I0.3

munkadarab a psformban S4 jelez, ha: S4=1 I0.4

2. mh. hts pozci S5 jelez, ha: S5=1 I0.5

2. mh. els pozci S6 jelez, ha: S6=1 I0.6

optorzkel OPT a fnyt megszakad: OPT=1 I1.6

Automata/kzi tkapcsol I1 automata: I1=1 I1.0

vezrls tads nyomgomb I2 benyomva: I2=1 I1.1

parancsengedlyezs I3 benyomva: I3=1 I1.2

STOP nyomgomb STOP benyomva: STOP=0 I1.3

147
Forrs: http://www.doksi.hu

Kimenetek Jel Logikai sszerendels Cm

1. mh. mgnesszelep MSZ1 nyitva, ha: MSZ1=1 Q0.0

2. mh. mgnesszelep MSZ2 nyitva, ha: MSZ2=1 Q0.1

3. mh. mgnesszelep MSZ3 nyitva, ha: MSZ3=1 Q0.2

4. mh. mgnesszelep MSZ4 nyitva, ha: MSZ4=1 Q0.3

lpskijelz LED Q0 vilgt, ha: Q0=1 Q1.0

lpskijelz LED Q1 vilgt, ha: Q1=1 Q1.1

lpskijelz LED Q2 vilgt, ha: Q2=1 Q1.2

lpskijelz LED Q3 vilgt, ha: Q3=1 Q1.3

automata zemmd jelzs Q4 vilgt, ha: Q4=1 Q1.4

148
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

Lptetlnc

0
M0

EN3

1 MS1

M1
S4

2
M2

S1

3
MSZ2
M3

S6

4 MSZ2
T1=2s
M4

T1

5
M5

S5

6 MSZ3
MSZ4
M6
AND S4
OPT
0

149
Forrs: http://www.doksi.hu

A lptetlnc funkcitervbe val trsakor figyelembe vesszk az zemmd fggvnyblokk


engedlyez jeleit is. Az zemmd fggvnyblokkot vltozatlanul tvehetjk az elz
feladatbl. A lpskijelzst ki kell bvtennk 6 lpsszm kijelzsre. A lptetlncot s a
parancskiadst meg kell feleltetnnk az j technolginak, a fprogramban pedig deklarlnunk
kell a megfelel ki/bemeneti jeleket. A fprogramban a fggvnyblokkok hvst s az
adattadst aktualizlni kell.
A vezrls fggvnyblokkjai prototpus feladata
zemmd UMODFB zemmd belltsa, engedlyez jelek
lptetlnc LEPTET meghatrozza a berendezs alapllapott s
belltja a lpsmerkereket
lpskijelzs PRESLEP a lpskijelz LED-ek belltsa
parancskiads PRESPAR a kimenetek belltsa

A fprogram
A fprogramot utastslistban adjuk meg.

A vltozdeklarci:

PROGRAM PRESPR

VAR
KAUT AT %I0.0.0.1.0: BOOL; (* =1 :AUTO =0 :KZI *)
VATAD AT %I0.0.0.1.1: BOOL; (* =1 BENYOMVA *)
PENG AT %I0.0.0.1.2: BOOL; (* =1 BENYOMVA *)
STOP AT %I0.0.0.1.3: BOOL; (* =0 BENYOMVA *)
START AT %I0.0.0.1.4: BOOL; (* =1 BENYOMVA *)
QAUT AT %Q0.0.0.1.0: BOOL;
LEP1 AT %Q0.0.0.1.1: BOOL; (* LEPESkijelzs *)
LEP2 AT %Q0.0.0.1.2: BOOL; (* LEPESkijelzs *)
LEP3 AT %Q0.0.0.1.3: BOOL; (* LEPESkijelzs *)
EN0: BOOL; (* indt impulzus *)
EN1: BOOL; (* feltteles tovbblps engedlyezse *)
EN2: BOOL; (* felttel nlkli tovbblps engedlyezse *)
EN3: BOOL; (* 0-1 lps engedlyezse *)
EN4: BOOL; (* parancsengedlyezs *)
S1 AT %I0.0.0.0.0: BOOL; (* 1.SZINT *)
S2 AT %I0.0.0.0.1: BOOL; (* 2.SZINT *)
S3 AT %I0.0.0.0.2: BOOL; (* 3.SZINT *)
S4 AT %I0.0.0.0.3: BOOL; (* HOMERSEKLET *)
S5 AT %I0.0.0.0.4: BOOL;
S6 AT %I0.0.0.0.5: BOOL;
OPT AT %I0.0.0.0.6: BOOL;
MSZ1 AT %Q0.0.0.0.0: BOOL; (* 1.SZELEP *)
MSZ2 AT %Q0.0.0.0.1: BOOL; (* 2.SZELEP *)
MSZ3 AT %Q0.0.0.0.2: BOOL; (* 3.SZELEP *)
MSZ4 AT %Q0.0.0.0.3: BOOL; (* FUTES *)
UZEM: UMODFB;
LANC: LEPTETP;
KIJELZ: PRESLEP;

150
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

KIMENET: PRESPAR;
END_VAR

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

programtrzs:

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

CAL UZEM

LD UZEM.Q4
ST QAUT
LD UZEM.B0
ST EN0
LD UZEM.B1
ST EN1
LD UZEM.B2
ST EN2
LD UZEM.B3
ST EN3
LD UZEM.B4
ST EN4

CAL LANC(B0:=EN0,B1:=EN1,
B2:=EN2,B3:=EN3,
S1:=S1,S2:=S2,
S3:=S3,S4:=S4,
S5:=S5,S6:=S6,
OPT:=OPT)

CAL KIJELZ

151
Forrs: http://www.doksi.hu

LD KIJELZ.Q0
ST LEP1
LD KIJELZ.Q1
ST LEP2
LD KIJELZ.Q2
ST LEP3

CAL KIMENET(B4:=EN4)

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

A lptetlnc fggvnyblokk funkcitervben

152
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

153
Forrs: http://www.doksi.hu

154
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

155
Forrs: http://www.doksi.hu

Utastslistban
FUNCTION_BLOCK LEPTETP

VAR_INPUT
B0: BOOL;
B1: BOOL;
B2: BOOL;
B3: BOOL;
S1: BOOL;
S2: BOOL;
S3: BOOL;
S4: BOOL;
S5: BOOL;
S6: BOOL;
OPT: BOOL;
END_VAR

VAR
T1: TON;
T11: TIME := T#2s;
END_VAR

156
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

VAR_EXTERNAL
AM0: BOOL;
M0: BOOL;
M1: BOOL;
M2: BOOL;
M3: BOOL;
M4: BOOL;
M5: BOOL;
M6: BOOL;
END_VAR

(*BERENDEZS ALAPLLAPOTA*)

LD S1
ANDN S2
AND S3
ANDN S4
AND S5
ANDN S6
ANDN OPT
ST AM0

(*0. LPS*)

LD B0
OR ( M6
ANDN M5
AND ( B2
OR ( B1
ANDN S4
AND OPT
)
)
)
S M0

LD M1
R M0

(*1. LPS*)

LDN M6
AND M0
AND ( B2
OR ( B1
AND B3
)

157
Forrs: http://www.doksi.hu

)
S M1
LD B0
OR M2
R M1

(*2. LPS*)

LDN M0
AND M1
AND ( B2
OR ( B1
AND S4
)
)
S M2
LD B0
OR M3
R M2

(*3. LPS*)

LDN M1
AND M2
AND ( B2
OR ( B1
AND S1
)
)
S M3
LD B0
OR M4
R M3

(*4. LPS*)

LDN M2
AND M3
AND ( B2
OR ( B1
AND S6
)
)
S M4
LD B0
OR M0
R M4

(*5. LPS*)

158
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

LDN M3
AND M4
AND ( B2
OR ( B1
AND T1.Q
)
)
S M5
LD B0
OR M6
R M5

(*6. LPS*)

LDN M4
AND M5
AND ( B2
OR ( B1
AND S5
)
)
S M6
LD B0
OR M0
R M6

(*IDZT*)

LD M4
ST T1.IN
LD T11
ST T1.PT
CAL T1
END_FUNCTION_BLOCK

159
Forrs: http://www.doksi.hu

A lpskijelzs fggvnyblokk funkcitervben

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

LD M0
OR M1
OR M3
OR M5
ST Q0

160
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

LD M0
OR M2
OR M3
OR M6
ST Q1

LD M0
OR M4
OR M5
OR M6
ST Q2
END_FUNCTION_BLOCK

A parancskiads fggvnyblokk funkcitervben

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

161
Forrs: http://www.doksi.hu

END_VAR
VAR_EXTERNAL
M1 : BOOL ;
M2 : BOOL ;
M3 : BOOL ;
M4 : BOOL ;
M5 : BOOL ;
M6 : BOOL ;
END_VAR
LD B4
AND M1
ST Y1

LD B4
AND( M3
OR M4
)
ST Y2

LD B4
AND M6
ST Y3
ST Y4
END_FUNCTION_BLOCK

162
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

Kezeli fellet VSZKI-kapcsolval, tbbfle zemmd vlasztsnak lehetsgvel


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

8. bra Kezeli fellet


A megvltozott kezeli fellet az zemmd fggvnyblokk mdostst is megkvnja. Az
albbi utastslista plda egy lehetsges megoldsra. A fggvnyblokkot gy rtuk meg, hogy az
engedlyez jelek, vagyis az illeszkeds a lptetlnc s a parancskiads fggvnyblokk fel
vltozatlan marad, de alkalmass tettk a kezeli fellet fell rkez, megvltozott szm s
funkcij jelek fogadsra illetve kiadsra.
A fggvnyblokk utastslistja
(Az elz feladatok zemmd fggvnyblokkjt az j fggvnyblokkra cserve, azok az j
kezeli felletrl vezrelhetk. Termszetesen a lpsszm-kijelzst a szmjegyes kijelznek
megfelelen mdostanunk kell.)

FUNCTION_BLOCK UMDOSSZ
VAR_INPUT
I1: BOOL; (* VSZKI *)
I2: BOOL; (* BE/KI, BE=1 *)
I3: BOOL; (* AUTOMATA, BENYOMNVA=1 *)

163
Forrs: http://www.doksi.hu

I4: BOOL; (* FELTTELES LPTET M , BENYOMNVA=1 *)


I5: BOOL; (* FELTTEL NLKLI LPTET M., BENYOMNVA=1 *)
I6: BOOL; (* BELLT M., BENYOMNVA=1 *)
I7: BOOL; (* VEZRLSTADS, BENYOMNVA=1 *)
I8: BOOL; (* STOP, BENYOMNVA=1 *)
I9: BOOL; (* PARANCS ENGEDLYEZS, BENYOMNVA=1 *)
AM0: BOOL; (* BV: BERENDEZS ALAPLLAPOTA *)
AM1: BOOL; (* BV: HIBA A TECHNOLGIBL *)
M0: BOOL; (* 0. LPS MERKERE *)
SX: BOOL; (* HIBAJEL A TECHNOLGIBL *)
TX: BOOL; (* IDTLLPS A TECHNOLGIBL *)
END_VAR
VAR_OUTPUT
Q1: BOOL; (* ZEMEL LED *)
Q2: BOOL; (* AUTOMATA ZEMMD LED *)
Q3: BOOL; (* FELTTELES LPTET ZEMMD LED *)
Q4: BOOL; (* FELTTEL NLKLI LPTET M. LED *)
Q5: BOOL; (* BELLT ZEMMD LED *)
Q6: BOOL; (* STOP ELJELZS LED *)
Q7: BOOL; (* HIBA LED *)
Q8: BOOL;
B0: BOOL; (* INDT IMPULZUS *)
B1: BOOL; (* FELTTELES TOVBBLPS ENGEDLYEZSE *)
B2: BOOL; (* FELTTEL NLKLI TOVBBLPS ENGEDLYEZSE
*)
B3: BOOL; (* 0-1 LPS ENGEDLYEZSE *)
B4: BOOL; (* KIMENET-ENGEDLYEZS *)
END_VAR
VAR
B10: BOOL;
B11: BOOL;
B12: BOOL;
B13: BOOL;
B14: BOOL;
B15: BOOL;
B16: BOOL;
END_VAR

(*BE/KIKAPCSOLS IMPULZUS FELFUT LRE*)


LD I2
ANDN B11
ST B10

LD I2
ST B11

164
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

(*ZEMEL KIJELZS*)
LD B10
S Q1

LDN I2
ORN I1
OR AM1
R Q1

(*AUTOMAT ZEM KIJELZS*)


LD I3
S Q2

LDN Q1
OR Q3
OR Q4
OR Q5
OR B12
R Q2

(*FELTTELES LPTETS ZEM KIJELZS*)


LD I4
S Q3

LDN Q1
OR I5
OR Q5
OR B12
R Q3

(*FELTTEL NLKLI LPTETS ZEM KIJELZS*)


LD I5
S Q4

LDN Q1
OR I4
OR Q5
OR B12
R Q4

165
Forrs: http://www.doksi.hu

(*STOP ELVLASZTS VISSZAJELZS*)


LD I8
S Q6

LDN Q2
ANDN Q3
ANDN Q4
ANDN Q5
R Q6

LD Q6
AND M0
ST B12

(*INDT IMPULZUS*)
LD Q1

ANDN B13
ST B0

LD B0
S B13

LDN Q1
R B13

(*VEZRLSTADS IMPULZUS FELFUT LRE*)


LD I7
ANDN B15
ST B14

LD I7
ST B15

(*FELTTELES TOVBBLPTETS ENGEDLYEZSE*)


LD Q2
OR ( Q3
AND B14
)
ST B1

166
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

(*FELTTEL NLKLI TOVBBLPTETS ENGEDLYEZSE*)


LD Q4
AND B14
ST B2

(*START-FELTTEL 0-1 LPTETS*)


LD I7
S B16

LDN Q2
ANDN Q3
OR I8
R B16

LD AM0
AND B1
AND B16
ST B3

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

(*HIBAJELZS*)
LD Q2
AND TX
OR ( SX
NOT
AND ( Q2
OR Q3
OR Q4
)
)
S AM1

LD I7
R AM1

167
Forrs: http://www.doksi.hu

LD AM1
ST Q7
END_FUNCTION_BLOCK

Feladat: rja t a fenti utastslistt funkcitervbe s elemezze a mkdst!

168
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

Digitlis vezrlsek

Sajt kszts fggvnyblokk: Motorblokkok felgyelete


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

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

A hibajelzs felttelei:

1. eset: a hrombl kt motor 5 s-nl hosszabb ideig lell. (Idksleltetett jelzs).


2. eset: mindhrom motor lell. (Azonnali jelzs).

A hibajelzs megszntetse:

1. eset: a hibajelzs magtl megsznik, ha valamelyik motor jra indul, azaz ismt
legalbb kt motor fut..
2. eset: a kezelnek a hiba elhrtsa utn meg kell nyomnia a nyugtz gombot is ahhoz,
hogy a hibajelzs megsznjn.

Megolds: mivel minkt motorblokknl ugyanazt a feladatot kell megoldani, ezt


fggvnyblokkban rjuk meg, s a kt motorcsoporthoz kln-kln egyedi nvvel deklarljuk.
A fprogramban kell gondoskodni a be/kimenjelek fizikai cmekhez rendelsrl s a
fggvnyblokkok aktulis paramterekkel trtn hvsrl.

169
Forrs: http://www.doksi.hu

sszerendelsi tblzat

Bemenetek Jel Logikai sszerendels Cm

A1 motor fordulatszmjelz MOTA1 A1 motor fut: MOTA1=1 I0.0

A2 motor fordulatszmjelz MOTA2 A2 motor fut: MOTA2=1 I1.0

B1 motor fordulatszmjelz MOTB1 B1 motor fut: MOTB1=1 I0.1

B2 motor fordulatszmjelz MOTB2 B2 motor fut: MOTB2=1 I1.1

C1 motor fordulatszmjelz MOTC1 C1 motor fut: MOTC1=1 I0.2

C2 motor fordulatszmjelz MOTC2 C2 motor fut: MOTC2=1 I1.2

1. csop. engedlyezs kapcsol ENG1 1. blokk bekakcsolva: ENG1=1 I0.3

2. csop. engedlyezs kapcsol ENG2 2. blokk bekapcsolva: ENG2=1 I1.3

NYUGTZS nyomgomb NYUGT benyomva: NYUGT=1 I0.7

Kimenetek

HIBAJELZS 1 HIBA1 vilgt, ha: HIBA1=1 Q0.0

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

A fggvnyblokk formlis paramterei


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

170
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

Utastslista
A fggvnyblokk funkcitervben
FUNCTION_BLOCK fordsz
VAR_INPUT
MOTA : BOOL ;
MOTB : BOOL ;
MOTC : BOOL ;
ENG : BOOL ;
NYUGT : BOOL ;
END_VAR
VAR_OUTPUT
HIBA : BOOL ;
END_VAR
VAR
Mhibatar : BOOL ;
M2a3bol : BOOL ;
T1 : TON ;
END_VAR

LD MOTA
ANDN MOTB
ANDN MOTC
OR( MOTB
ANDN MOTA
ANDN MOTC
)
OR( MOTC
ANDN MOTA
ANDN MOTB
)
ST M2a3bol

LD M2a3bol
AND ENG
ST T1.IN
LD t#5s
ST T1.PT
CAL T1

LD NYUGT
R Mhibatar

LD ENG
ANDN MOTA
ANDN MOTB
ANDN MOTC
S Mhibatar

LD T1.Q
OR Mhibatar
ST HIBA
END_FUNCTION_BLOCK

171
Forrs: http://www.doksi.hu

Fprogram
Funkcitervben a fggvnyblokkok hvsa az albbi mdon brzolhat:

172
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

A program utastslistja
PROGRAM motorok

VAR
MOTA1 AT %I0.0.0.0.0: BOOL;
MOTB1 AT %I0.0.0.0.1: BOOL;
MOTC1 AT %I0.0.0.0.2: BOOL;
ENG1 AT %I0.0.0.0.3: BOOL;
MOTA2 AT %I0.0.0.1.0: BOOL;
MOTB2 AT %I0.0.0.1.1: BOOL;
MOTC2 AT %I0.0.0.1.2: BOOL;
ENG2 AT %I0.0.0.1.3: BOOL;
HIBA1 AT %Q0.0.0.0.0: BOOL;
HIBA2 AT %Q0.0.0.0.1: BOOL;
MOT1FB: FORDSZ;
MOT2FB: FORDSZ;
NYUGT AT %I0.0.0.0.7: BOOL;
END_VAR

CAL MOT1FB(MOTA:=MOTA1,MOTB:=MOTB1,MOTC:=MOTC1,
ENG:=ENG1,NYUGT:=NYUGT)
LD MOT1FB.HIBA
ST HIBA1

CAL MOT2FB(MOTA:=MOTA2,MOTB:=MOTB2,MOTC:=MOTC2,
ENG:=ENG2,NYUGT:=NYUGT)
LD MOT2FB.HIBA
ST HIBA2
END_PROGRAM

173
Forrs: http://www.doksi.hu

Gyakorl feladat: utastslista elemzse V.

PROGRAM MASK1
VAR
IB0 AT %IB0.0 : BYTE ;
QB0 AT %QB0.0 : BYTE ;
END_VAR
VAR
MB10 : BYTE ;
END_VAR
VAR
IB1 AT %IB1.0 : BYTE ;
QB1 AT %QB1.0 : BYTE ;
END_VAR
VAR
MB5 : BYTE ;
END_VAR

LD MB10
XOR IB1
AND MB10
OR QB1
ST QB1

LD IB1
ST MB10
END_PROGRAM

174
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

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

10. bra Minsgellenrz-sor vezrlse


sszerendelsi tblzat

Bemenetek Jel Logikai sszerendels Cm

START/STOP kapcsol START bekapcsolva, ha: SART=1 I1.0

1. prba eredmnye PP0 hibs, ha : PP0=1 I0.0

2. prba eredmnye PP1 hibs, ha : PP1=1 I0.1

3. prba eredmnye PP2 hibs, ha : PP2=1 I0.2

4. prba eredmnye PP3 hibs, ha : PP3=1 I0.3

5. prba eredmnye PP4 hibs, ha : PP4=1 I0.4

vizsglat vge S5 tovbblptethet, ha : S5=1 I0.5

Kimenetek

szalagvlt Q0 selejt irny: Q0=1 Q0.0

sz.szalag motor Q1 bekapcsolva, ha: Q1=1 Q0.1

175
Forrs: http://www.doksi.hu

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

VAR constant
T11: TIME := T#0.5S;
END_VAR
CAL BEIMP(CLK:=START)

CAL KESZIMP(CLK:=KESZ)

LD KESZIMP.IMP
JMPCN TOVABB

LD HIBA
SHR 1
OR EREDM
ST HIBA
AND 1 (*MASZK*)
EQ 1
ST Q0 (*SELEJT?*)

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

176
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

LD T11
ST T1.PT
CAL T1
LD T1.Q
ST Q1

END_PROGRAM

177
Forrs: http://www.doksi.hu

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

11. bra A kezeli fellet


sszerendelsi tblzat

Bemenetek Jel Logikai sszerendels Cm

bellt kapcsol BE bellts, ha: BE=1 I1.0

alapjel nvelse FEL benyomva : FEL=1 I0.0

alapjel cskkentse LEF benyomva : LEF=1 I0.1

Kimenet

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

Megolds: A nyomgombok benyomsval T1 idzt temjelre folyamatosan


inkrementlhat ill. dekrementlhat az alapjel rtke 0 s 99 % kztt. Ha mindkt
nyomgombot benyomjk, nem trtnik semmi.
A vezrlprogram
PROGRAM alapjALL
VAR
FEL AT %I0.0.0.0.0: BOOL;
LEF AT %I0.0.0.0.1: BOOL;
BE AT %I0.0.0.1.0: BOOL;
QXA AT %QB0.0.0.0.0: BYTE;
END_VAR

VAR constant
T11: TIME := T#0.25S;
END_VAR

178
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

VAR
T1: TON;
ALAPJ:INT;
END_VAR

LD BE
ANDN T1.Q
ST T1.IN
LD T11
ST T1.PT
CAL T1
LD T1.Q
RETCN

LD FEL
AND LEF
RETC

LD FEL
JMPC NOVEL

LD LEF
JMPC CSOKK0
RET

NOVEL:
LD ALAPJ
EQ 99
RETC

LD ALAPJ
ADD 1
ST ALAPJ
JMP VEGE

CSOKK:
LD ALAPJ
EQ 0
RETC
LD ALAPJ
SUB 1
ST ALAPJ

VEGE:
LD ALAPJ
INT_TO_BYTE
ST QXA
RET
END_PROGRAM

179
Forrs: http://www.doksi.hu

Tmbk hasznlata a trol nlkli kvetvezrlsekben


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

Bemenetek Cm

I0 I0.0

I1 I0.1

I2 I0.2

Kimenetek

Q0 Q0.0

Q1 Q0.1

Q2 Q0.2

Q3 Q0.3

A be- s kimenetek kztti fggvnykapcsolat

180
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

A fggvnytblzat

181
Forrs: http://www.doksi.hu

A fggvnytblzat felrsakor gyeljnk arra, hogy a fizikai cmeknek megfelel nvekv


sorrendben vegyk fel a be/kimeneti oszlopokat!

I2 I1 I0 Q3 Q2 Q1 Q0 KIMENET
0 0 0 1 1 1 0 14
0 0 1 1 0 1 0 10
0 1 0 0 0 1 0 2
0 1 1 1 0 0 0 8
1 0 0 0 1 0 0 4
1 0 1 1 1 1 1 15
1 1 0 0 0 0 0 0
1 1 1 0 1 1 0 6

A vezrlalgoritmus
PROGRAM prkovvez

VAR
IB0 AT %IB0.0.0.0 : BYTE ;
QB0 AT %QB0.0.0.0 : BYTE ;
END_VAR

VAR
TABLA : TOMBFB ;
END_VAR
V
AR CONSTANT
BEMASK : BYTE := 7 ;
KIMASK : BYTE := 16#F0 ;
END_VAR

LD IB0
AND BEMASK

ST TABLA.BE
CAL TABLA
LD QB0
AND KIMASK
OR TABLA.KI
ST QB0
END_PROGRAM

FUNCTION_BLOCK tombfb

VAR_INPUT
BE : BYTE ;
END_VAR

182
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

VAR_OUTPUT
KI : BYTE ;
END_VAR

VAR
TABLA : ARRAY[1..8] OF BYTE :=[14,10,2,8,4,15,0,6] ;
END_VAR

VAR
M0 : UINT ;

M1 : INT ;
END_VAR

LD BE
BYTE_TO_UINT

ADD 1
ST M0

LD TABLA[M0]

ST KI
END_FUNCTION_BLOCK

Feladat: Mdostsa a fenti programot gy, hogy a mlygarzs szellzsfelgylett valstsa


meg!

183
Forrs: http://www.doksi.hu

Tmbk hasznlata temvezrelt lefutvezrlseknl


Egy tkeresztezdsben a ft s a mellkutak keresztezdst kzlekedsi lmpval
irnytjk. A megadott temdiagram alapjn kell a piros, srga, zld fzist kapcsolgatni. Az
idegysg (temegysg) 5s. A berendezst S0 kapcsolval lehet bekapcsolni.
temdiagram
tem: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0
P1
S1
Z1
P2
S2
Z2
sszerendelsi tblzat
Bemenetek Jel Logikai sszerendels Cm
BE/KI kapcsol S0 bekapcsolva: S0=1 I0.0
Kimenetek
1. lmpa (ft) piros P1 vilgt: P1=1 Q0.0

1. lmpa (ft) srga S1 vilgt: S1=1 Q0.1

1. lmpa (ft) zld Z1 vilgt: Z1=1 Q0.2

2. lmpa (mellkt) piros P2 vilgt: P2=1 Q0,3

2. lmpa (mellkt) srga S2 vilgt: S2=1 Q0.4

2. lmpa (mellkt) zld Z2 vilgt: Z2=1 Q0.5

A megoldshoz felhasznlunk egy bekapcsols-ksleltetses idztt, az temjel generlsra


s egy szmllt az temek szmllsra. A kimeneti byte rtkeket egy tmbben troljuk. A
szmll rtke fogja megadni, hogy a tmb hnyadik elemt rjuk ki a kimeneti byte-ba.

184
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

Ha S0=1, a kimenetek temezse:


kimeneti
szmll Z2 S2 P2 Z1 S1 P1
BYTE
0 0 0 1 1 0 0 12
1 0 0 1 1 0 0 12
2 0 0 1 1 0 0 12
3 0 0 1 1 0 0 12
4 0 0 1 1 0 0 12
5 0 0 1 1 0 0 12
6 0 0 1 1 0 0 12
7 0 0 1 1 0 0 12
8 0 0 1 0 1 0 10
9 0 1 1 0 0 1 25
10 1 0 0 0 0 1 33
11 1 0 0 0 0 1 33
12 1 0 0 0 0 1 33
13 1 0 0 0 0 1 33
14 0 1 0 0 0 1 17
15 0 0 1 0 1 1 11

Az temgenertor

A szmll:

A vezrlalgoritmus
PROGRAM TMBUTEM
VAR
S0 AT %I0.0.0.0.0: BOOL;
QB0 AT %QB0.0.0.0: BYTE;
TABLA: ARRAY[1..16] OF BYTE :=
[12,12,12,12,12,12,12,12,10,25,33,33,33,33,17,11];

185
Forrs: http://www.doksi.hu

T1: TON;
C1: CTU;
END_VAR

VAR constant
T11: TIME := t#5s;
UTEM: INT := 15;
END_VAR

LD S0
JMPCN KIKAPCS

LDN T1.Q
ST T1.IN
LD T11
ST T1.PT
CAL T1

LD T1.Q
ST C1.CU
LD C1.CV
GT UTEM
ST C1.RESET
CAL C1

LD TABLA[C1.CV]
ST QB0
RET

KIKAPCS:
LD 0
ST QB0
RET
END_PROGRAM

186
Forrs: http://www.doksi.hu

Jancskrn Anweiler Ildik: PLC programozs II. rsz KZIRAT!

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

187

You might also like