Xem mẫu
- Ch−¬ng 17
Ng«n ng÷ d¹ng so¹n th¶o cÊu
tróc ST vµ ng«n ng÷ b¶ng
lÖnh stl
§©y lµ ng«n ng÷ lËp tr×nh bËc cao thiÕt kÕ cho tù ®éng ho¸ c¸c qu¸ tr×nh
phøc t¹p. Ng«n
ng÷ nµy chñ yÕu dïng ®Ó thùc hiÖn c¸c qu¸ tr×nh phøc t¹p mµ c¸c ng«n
ng÷ ®å ho¹ nh− LAD, FBD, hay ng«n ng÷ ®¬n gi¶n kiÓu b¶ng lÖnh STT
khã diÔn ®¹t ®−îc. Ng«n ng÷ so¹n th¶o cÊu tróc ST còng ®−îc sö dông
®Ó thùc hiÖn c¸c b−íc cña qu¸ tr×nh vµ c¸c ®iÒu kiÖn chuyÓn tiÕp trong c¸c
hµm nhiÖm vô kÕ tiÕp. Mét ch−¬ng tr×nh ST lµ danh c¸c lÖnh lËp tr×nh.
Mçi lÖnh kÕt thóc b»ng dÊu c¸ch (;). C¸c tªn ®−îc dïng trong m·
nguån, nh− c¸c c¸c biÕn nhËn d¹ng, c¸c h»ng sè, vµ c¸c tõ kho¸ cña
ng«n ng÷, ®−îc t¸ch ra bëi c¸c
dÊu c¸ch thô ®éng nh− dÊu c¸ch trèng, dÊu hÕt dßng, dÊu chÊm.
C¸c lÖnh th−êng ®−îc t¸ch riªng b»ng c¸c dÊu c¸ch t¸c ®éng vÝ dô dÊu “”. Ng−êi lËp tr×nh cã thÓ chÌn c¸c ghi chó ®Ó cho ng−êi ®äc cã
thÓ hiÓu ®−îc. PhÇn chó thÝch ph¶i b¾t ®Çu b»ng hai ký tù (* vµ kÕt thóc
b»ng hai ký tù *). Mçi lÖnh kÕt thóc b»ng dÊu ; (dÊu c¸ch).
C¸c lÖnh c¬ b¶n cña ch−¬ng tr×nh
ST lµ:
1. LÖnh g¸n tªn biÕn (Assignment)
variable:=expression (biÕn:=hµm diÔn t¶)
2. LÖnh gäi c¸c hµm hay ch−¬ng tr×nh con : Subprogram or
functions call
3. LÖnh gäi hµm khèi: “C” function block call
4. LÖnh chän ®iÒu kiÖn: Selection statement (IF, THEN, ELSE,
CASE, ..)
5. LÖnh lÆp : Iteration statement (FOR, WHILE, REPEAT,…)
6. LÖnh ®iÒu khiÓn: Control statement (RETURN, EXIT,…)
7. C¸c lÖnh ®Æc biÖt ®Ó cã thÓ liªn kÕt víi c¸c ng«n ng÷ kh¸c.
Ng−êi lËp tr×nh cã thÓ chÌn tuú ý c¸c dÊu c¸ch thô ®éng gi÷a c¸c dÊu
c¸ch t¸c ®éng, gi÷a c¸c diÔn t¶ h»ng sè, c¸c biÕn nhËn d¹ng ®Ó gióp c¶i
thiÖn kh¶ n¨ng ®äc cho ch−¬ng tr×nh. C¸c dÊu c¸ch thô ®éng cña ng«n
ng÷ ST lµ dÊu tr¾ng, dÊu tabs, vµ dÊu hÕt dßng. Kh«ng gièng nh− c¸c
ng«n ng÷ h×nh thøc nh− b¶ng lÖnh STL, kÕt thóc dßng cã ®−îc nhËp
vµo bÊt kú cña ch−¬ng tr×nh. §iÒu nµy n©ng rÊt cao kh¶ n¨ng ®äc cña
ch−¬ng tr×nh khi sö dông c¸c dÊu c¸ch thô ®éng. Mét sè qui t¾c cÇn nhí
khi lËp tr×nh lµ:
1. Kh«ng viÕt lÖnh dµi qu¸ mét dßng.
2. Sö dông dÊu c¸ch tabs ®Ó lµm c¸c lÖnh phøc hîp lïi vµo.
3. ChÌn c¸c chó thÝch ®Ó ®äc ®−îc c¸c
dßng lÖnh. VÝ dô vÒ mét ®o¹n ch−¬ng tr×nh trong
ng«n ng÷ ST:
(*imax: sè vßng lÆp*)
(*i: chØ sè cña lÖnh vßng FOR*)
(*cond: biÕn ®iÒu khiÓn tõ qu¸ tr×nh c«ng nghÖ*)
imax:=max_ite;
- cond:=X12
if not(cond(*b¸o ®éng*))
then return;
end_if
(* Vßng lÆp cña qu¸ tr×nh c«ng
nghÖ*) for i (*chØ sè*):=1
to max_ite do if 12
then
SPcall();
- End_if;
End_fo
r;
Ng«n ng÷ so¹n th¶o cÊu tróc ST hay ng«n ng÷ lËp tr×nh bËc cao cña
PLC kh«ng kh¸c
nhiÒu so víi c¸c ng«n ng÷ lËp tr×nh cho
m¸y tÝnh.
Ng«n ng÷ b¶ng lÖnh tiªu
chuÈn
§èi víi c¸c PLC cña h·ng Siemens th× ng−êi ta hay dïng ng«n ng÷ b¶ng
lÖnh STL cho c¶ c¸c thÕ hÖ PLC míi nhÊt PLC S7-300 vµ S7-400. Ng«n
ng÷ nµy lµ ng«n ng÷ ng÷ lËp tr×nh b»ng c¸c c©u lÖnh cã cÊu tróc t−¬ng
tù nh− ng«n ng÷ m¸y ASSEMBLER. C¸c lÖnh th−êng ®i víi ®Þa chØ, ®Ó
chØ ra n¬i mµ c¸c lÖnh sÏ thùc hiÖn. Ng«n ng÷ b¶ng lÖnh STL chøa mét
m¶ng c¸c lÖnh dÔ hiÓu ®Ó cã thÓ t¹o ra mét ch−¬ng tr×nh ®iÒu khiÓn hoµn
chØnh. C¸c PLC S7 cña Siemens sö dông h¬n 130 lÖnh STL c¬ b¶n
cïng víi mét miÒn réng c¸c
®Þa chØ s¼n cã phô thuéc vµo kiÓu PLC. PhÇn lín c¸c nhµ s¶n xuÊt PLC
còng sö dông thÓ
hÖ t−¬ng tù cña ng«n ng÷
STL.
CÊu tróc cña
lÖnh STL
LÖnh STL cã hai cÊu tróc c¬ b¶n. CÊu tróc thø nhÊt lµ lÖnh kh«ng cÇn
®Þa chØ, vÝ dô nh− lÖnh phñ ®Þnh NOT. CÊu tróc thø hai lµ lÖnh cã kÌm
theo ®Þa chØ. §©y lµ lo¹i lÖnh dïng nhiÒu nhÊt.
§Þa chØ cña lÖnh chØ thÞ mét h»ng sè hay mét vÞ trÝ nhí mµ trªn ®ã lÖnh t×m
®−îc gi¸ trÞ ®Ó
thùc hiÖn mét phÐp tÝnh. §Þa chØ cã thÓ cã tªn b»ng ký hiÖu hay mét vÞ
trÝ nhí cè ®Þnh.
§Þa chØ cã thÓ chØ ®Õn sè cña phÇn tö nµo ®ã nh− mét h»ng sè, bit tr¹ng
th¸i, tªn b»ng ký hiÖu, khèi d÷ liÖu nhí vv.
C¸c PLC S7 cña Siemens sö dông tõ 32 bit, ký
hiÖu tõ o ®Õn 31.
VÝ dô lÖnh n¹p h»ng sè +77 vµ chuæi ký tù “END” vµo
¾c qui 1.
- C¸ch biÓu diÔn lÖnh vµ dÊu
ngoÆc LËp tr×nh b»ng ng«n
ng÷ b¶ng lÖnh Cêu tróc
cña b¶ng lÖnh
LÖnh bit l« gÝc
LÖnh
AND
LÖnh OR
LÖnh EXCLUSIVE
OR LÖnh AND
NOT
LÖnh OR
NOT LÖnh thêi
gian
CÊu tróc tõ cña bé ®Õm thêi gian
LËp tr×nh ng«n ng÷ lÖnh cho mét bé ®Õm giê
øng dông cña lËp tr×nh bé ®Õm giê
LÖnh ®Õm
CÊu tróc tõ cña bé ®Õm
øng dông cña lËp tr×nh bé ®Õm
C¸c lÖnh tÝnh to¸n víi sè nguyªn
PhÐp céng sè nguyªn
- PhÐp trõ sè
nguyªn PhÐp
nh©n sè
nguyªn PhÐp
chia sè
nguyªn
C¸c lÖnh to¸n cã
dÊu phÈy
LÖnh céng sè
thùc LÖnh
trõ
LÖnh nh©n
LÖnh chia
C¸c lÖnh so s¸nh
So s¸nh sè
nguyªn ®¬n So
s¸nh sè
nguyªn kÐp So
s¸nh sè thùc
nguon tai.lieu . vn