Xem mẫu

  1. 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;
  2. 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();
  3. 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.
  4. 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
  5. 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