Professional Documents
Culture Documents
Jancskarne Anweiler Ildiko PLC Programozas Az Iec 11313 Szabvany Szerint 2 Resz PDF
Jancskarne Anweiler Ildiko PLC Programozas Az Iec 11313 Szabvany Szerint 2 Resz PDF
hu
KZIRAT!
Forrs: http://www.doksi.hu
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
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
llapotgrf
0
M0
SART
AND
S2 (a vagon tltsi helyzetben )
1
K1 motor bekapcsolva
M1 T1 = 3s TON
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)
84
Forrs: http://www.doksi.hu
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
(*KIMENETEK TROLSA*)
LD FGVBL.K1
ST MOTOR1
LD FGVBL.K2
ST MOTOR2
END_PROGRAM
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
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*)
(*KIMENETEK*)
LD M1
OR M2
OR M3
ST K1
LD M2
ST K2
END_FUNCTION_BLOCK
88
Forrs: http://www.doksi.hu
2. bra tlezrs
sszerendelsi tblzat
Kimenetek
89
Forrs: http://www.doksi.hu
A vezrls llapotai
1. Alapllapot: semmit sem mkdtet, a bekapcsolsi jelre vr
90
Forrs: http://www.doksi.hu
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
91
Forrs: http://www.doksi.hu
Funkciterv
92
Forrs: http://www.doksi.hu
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
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
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
Kimenetek
98
Forrs: http://www.doksi.hu
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
99
Forrs: http://www.doksi.hu
Funkciterv
100
Forrs: http://www.doksi.hu
101
Forrs: http://www.doksi.hu
102
Forrs: http://www.doksi.hu
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
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
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
(*INDT IMPULZUS*)
LD ISA
PLC_Message
ST IMPULZUS
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
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
109
Forrs: http://www.doksi.hu
sszerendelsi tblzat
Kimenetek
110
Forrs: http://www.doksi.hu
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
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
113
Forrs: http://www.doksi.hu
(*INDT IMPULZUS*)
LD ISA
PLC_Message
ST IMPULZUS
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
(*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
117
Forrs: http://www.doksi.hu
A szmllk:
118
Forrs: http://www.doksi.hu
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
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
121
Forrs: http://www.doksi.hu
122
Forrs: http://www.doksi.hu
temvezrelt lefutvezrlsek
Kimenetek
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.
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
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
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
Folyamatvezrelt lefutvezrlsek
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.
128
Forrs: http://www.doksi.hu
LD B10
AND AM0
ANDN Q4
AND I1
ANDN M0
ST B0
Parancsengedlyezs (B4)
LD S0
AND AM0
ST B3
LD Q4
OR( I3
ANDN I1
)
ST B4
END_FUNCTION_BLOCK
129
Forrs: http://www.doksi.hu
130
Forrs: http://www.doksi.hu
sszerendelsi tblzat
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 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
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 *)
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 *)
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
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
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
139
Forrs: http://www.doksi.hu
140
Forrs: http://www.doksi.hu
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
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
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.
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
147
Forrs: http://www.doksi.hu
148
Forrs: http://www.doksi.hu
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 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
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
152
Forrs: http://www.doksi.hu
153
Forrs: http://www.doksi.hu
154
Forrs: http://www.doksi.hu
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
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
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
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
LD M0
OR M2
OR M3
OR M6
ST Q1
LD M0
OR M4
OR M5
OR M6
ST Q2
END_FUNCTION_BLOCK
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
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
LD I2
ST B11
164
Forrs: http://www.doksi.hu
(*ZEMEL KIJELZS*)
LD B10
S Q1
LDN I2
ORN I1
OR AM1
R Q1
LDN Q1
OR Q3
OR Q4
OR Q5
OR B12
R Q2
LDN Q1
OR I5
OR Q5
OR B12
R Q3
LDN Q1
OR I4
OR Q5
OR B12
R Q4
165
Forrs: http://www.doksi.hu
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
LD I7
ST B15
166
Forrs: http://www.doksi.hu
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
168
Forrs: http://www.doksi.hu
Digitlis vezrlsek
A hibajelzs felttelei:
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.
169
Forrs: http://www.doksi.hu
sszerendelsi tblzat
Kimenetek
170
Forrs: http://www.doksi.hu
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
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
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
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.)
Kimenetek
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
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.)
Kimenet
VAR constant
T11: TIME := T#0.25S;
END_VAR
178
Forrs: http://www.doksi.hu
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
Bemenetek Cm
I0 I0.0
I1 I0.1
I2 I0.2
Kimenetek
Q0 Q0.0
Q1 Q0.1
Q2 Q0.2
Q3 Q0.3
180
Forrs: http://www.doksi.hu
A fggvnytblzat
181
Forrs: http://www.doksi.hu
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
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
183
Forrs: http://www.doksi.hu
184
Forrs: http://www.doksi.hu
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
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