Professional Documents
Culture Documents
siemenssupport.com.vn
STEP 7 - SCL
(Structure Language Control)
1. S lc v SCL
Page 1
SIEMENS CARE
siemenssupport.com.vn
Page 2
SIEMENS CARE
siemenssupport.com.vn
Page 3
SIEMENS CARE
siemenssupport.com.vn
Sau khi g xong on chng trnh trn, click compile qu trnh bin
dch v kim tra li c thc hin. Kt qu bin dch s c hin th khung
bn di vng vit chng trnh.
Page 4
SIEMENS CARE
siemenssupport.com.vn
phn trc, bn bit cch to v bin dch chng trnh SCL. Phn ny
s gip cc bn kim tra chng trnh c chy ng nh mun hay khng.
Trc ht, hy xem xt on chng trnh va vit. y l hm FC5 (tn do
ngi dng t) vi cc ng vo MAXI, MINI v IN; ng ra Delimiter. Hy ch
on:
IF IN > MAXI THEN Delimiter := MAXI;
ELSIF IN < MINI THEN Delimiter := MINI;
ELSE Delimiter := IN;
END_IF;
Gi tr a vo ng IN s b gii hn trong khong t MINI n MAXI, ng
ra Delimiter s l gi tr a vo IN sau khi b gii hn. V d nu bn c
MAXI=241 v MINI=50, vi ng vo IN=25 bn s c ng ra l 50, vi ng
vo IN=250 bn s c ng ra l 241, cn vi ng vo IN=100 bn s c ng ra
vn l 100.
Thc hin cc bc sau tin hnh m phng:
Page 5
SIEMENS CARE
siemenssupport.com.vn
Click Compile
bin dch li chng
trnh. M khi OB1
chn ngn ng l LAD
vit chng trnh.
Page 6
SIEMENS CARE
siemenssupport.com.vn
Page 7
SIEMENS CARE
siemenssupport.com.vn
Enter
Page 8
SIEMENS CARE
siemenssupport.com.vn
Check vo RUN-
Page 9
SIEMENS CARE
siemenssupport.com.vn
Page 10
SIEMENS CARE
siemenssupport.com.vn
Page 11
SIEMENS CARE
siemenssupport.com.vn
0 ... 7
0 ... 7
0 ... 7
0 ... 7
0 ... 7
0 ... 7
0 ... 7
0 ... 7
Page 12
SIEMENS CARE
MB0
MB1
siemenssupport.com.vn
MB2
MW0
MB3
MB4
MW2
MW1
MD0
MB5
MB6
MW4
MW3
MD1
MD2
MD3
MB7
MW6
MW5
MD4
MD5 Part
MD6 Part
MD7 Part
M2.0
M3.7
M3.0
Page 13
SIEMENS CARE
siemenssupport.com.vn
Tm
TRUE/FALSE
0 -- 255
0 -- 65,535
0 -- 4,294,967,295
Biu din c 255 k t
-32,768 32,767
-2,147,483,648 2,147,483,647
n v
100
102
101
0 -- 254 k t
C th ln n 6 chiu.
Mi chiu ti a 65536 phn t
Gi tr
100
di
Bit
Word
1
8
16
1
32
2
8
16
1
32
2
32
2
16
1
2032
127
INT_TO_WORD();
REAL_TO_INT();
Page 14
SIEMENS CARE
siemenssupport.com.vn
Khi
Kiu
Tiu
FB
FC
ORGANIZATION_BLOCK
FUNCTION_BLOCK Tn
TITLE=Tiu
//M t
NAME: Ty chn
FAMILY: Ty chn
AUTHOR: Ty chn
VERSION: Ty chn
KNOW_HOW_PROTECT
VAR_TEMP
Bin tm: Kiu;
END_VAR
CONST
Hng s: Gi tr;
END_CONST
BEGIN
Code; //Ch thch
TITLE=Tiu
//M t
NAME: Ty chn
FAMILY: Ty chn
AUTHOR: Ty chn
VERSION: Ty chn
KNOW_HOW_PROTECT
VAR_INPUT
Tham s u vo: Kiu;
END_VAR
VAR_OUTPUT
Ng ra: Kiu;
END_VAR
VAR_IN_OUT
Tham s In-Out: Kiu;
END_VAR
VAR
Bin Static: Kiu;
END_VAR
VAR_TEMP
Bin tm: Kiu;
END_VAR
CONST
Hng s: Gi tr;
END_CONST
BEGIN
Code; //Ch thch
END_ORGANIZATION_BLOCK
END_FUNCTION_BLOCK
END_FUNCTION
Khai
bo bin
Chng
trnh
Kt
thc
Page 15
SIEMENS CARE
siemenssupport.com.vn
V d:
Tr gi tr thng qua tham s ng ra
7.2 Tiu
Chu Vnh Li SIEMENS Care
Page 16
SIEMENS CARE
siemenssupport.com.vn
Page 17
SIEMENS CARE
Logic
Gn
ln hn hoc
bng, ln hn
Bng, khng
bng
o
AND
XOR
OR
Gn
siemenssupport.com.vn
=, <>
NOT
AND
XOR
OR
:=
3
8
9
10
11
Nu <iu kin> c tha (hoc bng 1), <Lnh 1> s c thc hin.
Nu <iu kin> khng tha, <Lnh 2> s c thc hin.
Bn cng c th xt nhiu iu kin, cc trng hp khc nhau mt cch
tun t trong mnh IF:
IF iu kin 1 THEN
Lnh 1;
ELSIF iu kin 2 THEN
Lnh 2;
ELSE
Lnh 3;
END_IF;
Nu <iu kin 1> tha, <Lnh 1> s c thc hin. Nu <iu kin 1>
khng tha, xt tip iu kin 2, <iu kin 2> tha, <Lnh 2> s c
thc hin. Nu c hai iu kin trn u khng tha, <Lnh 3> s c
thc hin.
Page 18
SIEMENS CARE
siemenssupport.com.vn
Page 19
SIEMENS CARE
siemenssupport.com.vn
WHILE iu kin DO
Lnh 1;
Lnh 2;
Lnh n;
END_WHILE;
Lnh EXIT
Lnh EXIT dng thot khi vng lp FOR, WHILE, REPEAT ngay
lp tc. Khc vi lnh CONTINUE, lnh EXIT c tc dng mnh hn,
vng lp s kt thc ngay cho n khi n c kch hot tr li. Xt v d
sau:
FOR i:=0 TO 5 DO
FOR j:=0 TO 5 DO
IF (i<2) AND (j=1) THEN CONTINUE; END_IF;
Matrix[i,j]:=TRUE;
Chu Vnh Li SIEMENS Care
Page 20
SIEMENS CARE
siemenssupport.com.vn
END_FOR;
END_FOR;
10. Cc hm c bn
10.1 TIMER
Timer dng nh trc mt khong thi gian ngn cho h thng
chy, hoc dng, hoc chuyn trng thi ny sang trng thi kia, to
thi gian tr - delay cho h thng trc khi bt u chu k mi....
10.1.1 Chun SIMATIC
Step 7 cung cp cho bn 5 loi Timer theo chun SIMATIC:
S_PULSE, S_PEXT, S_ODT, S_ODTS, S_OFFDT. C 5 loi Timer
u c cc cng vo ra ging nhau:
(T_NO := ,
Chu Vnh Li SIEMENS Care
//Timer Number
(Timer)
INPUT
Page 21
SIEMENS CARE
S := ,
TV := ,
R := ,
BI := ,
Q := );
siemenssupport.com.vn
INPUT
INPUT
INPUT
OUTPUT
OUTPUT
Page 22
SIEMENS CARE
siemenssupport.com.vn
Page 23
SIEMENS CARE
siemenssupport.com.vn
Page 24
SIEMENS CARE
siemenssupport.com.vn
BCD[4] := S_ODTS(
T_NO := "Timer4",
S := Start[4],
TV := TV[4],
R := Reset[4],
BI := Bin[4],
Q := Status[4]);
INPUT
INPUT
OUTPUT
Page 25
SIEMENS CARE
Tvalue:=Name.ET;
siemenssupport.com.vn
OUTPUT
Pulse (
//Start pulse timer
IN := Start1,
PT := Duration1);
Status1 := Pulse.Q;
Tvalue1 := Pulse.ET;
On
//Start on delay
Page 26
SIEMENS CARE
siemenssupport.com.vn
IN := Start2,
PT := Duration2);
Status2 := On.Q;
Tvalue2 := On.ET;
Off
(
//Start off delay
IN := Start3,
PT := Duration3);
Status3 := Off.Q;
Tvalue3 := Off.ET;
10.2 COUNTER
Counter l b m thc hin chc nng m sn xung cc tn hiu
u vo. Trong PLC S7 300 c ti a 256 Counter theo chun
SIMATIC (ph thuc CPU), c k hiu l Cx, trong x l s
nguyn trong khong 0 255, gi tr ca b m nm trong khong 0
999.
Nhng b m ca PLC S7 300 c th ng thi m tng ln
theo sn ln ca mt tn hiu, c k hiu l CU (Count Up) v
m gim xung theo sn ln ca tn hiu, k hiu l CD (Count
Down).
Chu Vnh Li SIEMENS Care
Page 27
SIEMENS CARE
siemenssupport.com.vn
Page 28
SIEMENS CARE
siemenssupport.com.vn
PV := PV1,
R := Reset1,
CV := bin1,
Q := Status1);
Counter m xung
Counter m xung c s dng khi mun gim gi tr ca mt s
t trc, c th l: s xung, s sn phm, Khi ng vo S (SET)
c tc ng (chuyn trng thi t 0 ln 1) th gi tr ca b m CV
s bng gi tr t trc PV. Khi ng vo CD c tc ng chuyn
trng thi t 0 ln 1 th gi tr b m ca Counter s gim xung 1.
Gi tr ca b m c m li t 0 khi ng vo R (Reset) c tc
ng. Trng thi ng ra Q l 1 khi gi tr ca b m CV > 0, ngc
li CV = 0 th ng ra Q s bng 0.
//Down counter
BCD2 := S_CD(
C_NO := "Counter2",
CD := Up2,
S := Set2,
PV := PV2,
R := Reset2,
CV := bin2,
Q := Status2);
Counter m ln/xung
Counter m ln/xung l s kt hp gia counter m ln v counter
m xung. Nguyn l hot ng v cch s dng tng t hai loi
counter trn.
//Up-down counter
BCD3 := S_CUD(
C_NO := "Counter3",
CU := Up3,
CD := Down3,
S := Set3,
PV := PV3,
R := Reset3,
CV := bin3,
Q := Status3);
Page 29
SIEMENS CARE
siemenssupport.com.vn
//Counter Type
//Clock Input (BOOL) INPUT
//Reset Counter (BOOL)
INPUT
//Preset Value (INT)
INPUT
//Status (BOOL)
OUTPUT
//Current Value (INT) OUTPUT
Counter m ln
Khi c s chuyn trng thi t mc 0 ln mc 1 ti chn CU th gi tr
b m CV tng ln 1. Trng thi ng vo R bng 1 th gi tr b m
CV bng 0 v ng ra Q bng 0. Khi gi tr m c bng hoc ln
hn gi tr t trc (CV PV) th ng ra Q bng 1. Khi d liu DB
c s dng lu tr thng s cho cc hm m theo chun IEC,
c th khai bo v np gi tr cho CTU t khi DB.
Up (
//Up counter
CU := Up4,
R := Reset4,
PV := Svalue4);
Status4 := Up.Q;
Value4 := Up.CV;
Counter m xung
Khi c s chuyn trng thi t mc 0 ln mc 1 ti chn CD th gi tr
b m CV gim xung 1. Trng thi ng vo R bng 1 th gi tr b
m CV bng 0 v ng ra Q bng 0. Khi gi tr m c nh hn
hoc bng 0 (CV 0) th ng ra Q bng 1. Khi d liu DB c s
dng lu tr thng s cho cc hm m theo chun IEC, c th
khai bo v np gi tr cho CTD t khi DB.
Down (
//Down counter
CD := Down5,
R := Reset5,
PV := Svalue5);
Status5 := Down.Q;
Value5 := Down.CV;
Counter m ln xung
Page 30
SIEMENS CARE
siemenssupport.com.vn
Page 31
SIEMENS CARE
siemenssupport.com.vn
Page 32
SIEMENS CARE
siemenssupport.com.vn
Page 33