IV. TẬP LỆNH CỦA S7-300: 1 Leọnh náp chuyeồn.
b. Caực leọnh ủiều khieồn chửụng trỡnh:
Ta coự theồ sửỷ dúng caực leọnh sau ủeồ ủiều khieồn chửụng trỡnh.
Leọnh gói CALL duứng ủeồ gói FC, FB, SFC hay SFB maứ baỏt chaỏp RLO hay baỏt cửự ủiều kieọn naứo khaực.
Leọnh gói coự ủiều kieọn (CC) vaứ khõng ủiều kieọn (UC) duứng ủeồ gói caực FC khõng coự tham soỏ.
Leọnh gói khõng ủiều kieọn (UC) duứng ủeồ gói SFC khõng coự tham soỏ.
Rụứ-le ủiều khieồn chớnh MCR (Master Control Relay).
Caực leọnh keỏt thuực khoỏi khõng ủiều kieọn (BEU) vaứ keỏt thuực khoỏi coự ủiều kieọn (BEC).
Gaựn tham soỏ khi gói haứm vaứ khoỏi haứm
Tham soỏ hỡnh thửực (formal parameter): laứ tham soỏ maứ tẽn vaứ kieồu dửừ lieọu cuỷa noự ủửụùc gaựn vaứ khai baựo khi táo khoỏi. Sau ủoự khi vieỏt chửụng trỡnh thỡ STEP7 tửù ủoọng lieọt kẽ taỏt caỷ caực tham soỏ hỡnh thửực.
Khi ủoự ta phaỷi gaựn caực tham soỏ thaọt (actual parameter) cho caực tham soỏ hỡnh thửực. Tham soỏ thaọt laứ tham soỏ laứ haứm vaứ khoỏi haứm sửỷ dúng trong luực cháy chửụng trỡnh. Tham soỏ thaọt phaỷi coự cuứng kieồu dửừ lieọu vụựi tham soỏ hỡnh thửực tửụng ửựng gaựn cho noự.
ắ Gói haứm vaứ khoỏi haứm baống CALL:
Ta coự theồ sửỷ dúng leọnh CALL ủeồ gói caực haứm (FC) vaứ khoỏi haứm (FB), leọnh naứy gói FC hay FB do ta chổ ra vaứ ủửụùc thửùc thi baỏt chaỏp RLO hay baỏt kyứ ủiều kieọn naứo khaực.
Khi ta gói khoỏi haứm FB thỡ ta phaỷi cung caỏp khoỏi dửừ lieọu instance cúc boọ. Khoỏi dửừ lieọu instance chửựa taỏt caỷ caực bieỏn túnh vaứ caực tham soỏ thaọt cuỷa khoỏi haứm.
Khi ta gói khoỏi haứm thỡ leọnh CALL cheựp lái moọt trong caực múc sau vaứo khoỏi dửừ lieọu instance cuỷa khoỏi haứm, phú thuoọc vaứo kieồu dửừ lieọu cuỷa tham soỏ thaọt vaứ vaứo khai baựo cuỷa tham soỏ hỡnh thửực (IN, OUT, IN-OUT):
• Giaự trũ cuỷa tham soỏ thaọt.
• Pointer chổ ủeỏn ủũa chổ cuỷa tham soỏ thaọt.
• Pointer chổ ủeỏn “L stack” cuỷa khoỏi gói maứ ụỷ ủoự giaự trũ cuỷa tham soỏ thaọt ủaừ ủửụùc ủeọm.
Gói FB vụựi DB instance vaứ caực tham soỏ khoỏi:
• Tẽn cuỷa khoỏi haứm.
• Tẽn cuỷa khoỏi dửừ lieọu instance .
• Caực tham soỏ.
Leọnh gói sửỷ dúng ủũa chổ tuyeọt ủoỏi hoaởc ủũa chổ kyự hieọu. Gói tuyeọt ủoỏi: CALL FBx, Dby (caực tham soỏ truyền);
Gói baống kyự hieọu: CALL fbname, datablockname (pass parameters); Vụựi fbname= tẽn kyự hieọu cuỷa khoỏi
datablockname= tẽn kyự hieọu cuỷa khoỏi dửừ lieọu ắ Gói haứm vaứ khoỏi haứm baống CC vaứ UC:
Dáng leọnh: CC addr (conditional call: gói khi RLO=1) UC addr (unconditional call: gói baỏt chaỏp RLO)
Chuự yự: khõng ủửụùc sửỷ dúng DB “instance” vụựi CC vaứ UC.
Addr coự theồ laứ ủũa chổ trửùc tieỏp hay laứ ủũa chổ giaựn tieỏp boọ nhụự (memory indirect address).
ắ Laứm vieọc vụựi chửực naờng MCR:
MCR duứng ủeồ táo hay ngaột luồng naờng lửụùng (ủửụứng daĩn ủieọn). Caực leọnh sau bũ aỷnh hửụỷng bụỷi MCR laứ: leọnh gaựn (=), leọnh SET vaứ RESET bit (S, R) vaứ leọnh chuyeồn dửừ lieọu T (duứng byte, word, double word). Sửù phú thuoọc cuỷa chuựng theo MCR ủửụùc cho theo baỷng 1.12.
Tráng thaựi tớn hieọu cuỷa MCR
= S hay R T
0 Ghi 0 Khõng ghi (nghúa
laứ toaựn háng khõng ủoồi) Ghi 0 1 Thửùc thi bỡnh thửụứng Thửùc thi bỡnh thửụứng Thửùc thi bỡnh thửụứng
Baỷng 21: caực leọnh phú thuoọc MCR.
Caực leọnh caứi ủaởt MCR
MCRD: boỷ kớch hoát vuứng MCR (D= Deactivate)
MCR( : caỏt RLO vaứo ngaờn xeỏp MCR, baột ủầu vuứng MCR.
)MCR : laỏy lái RLO, keỏt thuực vuứng MC.
Chuự yự: khõng bao giụứ sửỷ dúng leọnh MCR cho thieỏt bũ an toaứn hay caỏp cửựu!
Aỷnh hửụỷng cuỷa MCRA vaứ MCRD
Trong vuứng MCR neỏu gói 1 haứm thỡ haứm ủoự khõng bũ aỷnh hửụỷng cuỷa vuứng MCR, muoỏn haứm coự vuứng MCR thỡ ta phaỷi táo thẽm. Hỡnh 1.6 cho thaỏy aỷnh hửụỷng cuỷa vuứng MCR.
Caứi ủaởt MCR
Caực leọnh sau baọt hay taột chửực naờng MCR:
Caỏt RLO trong ngaờn xeỏp MCR, baột ủầu MCR: MCR(
•
Laỏy lái RLO< keỏt thuực MCR: )MCR
•
Nhử vaọy, ta phaỷi luõn luõn coự caởp MCR( vaứ )MCR; heọ thoỏng cho pheựp lồng caực caởp MCR( vaứ )MCR vaứ toỏi ủa laứ 8.
Hỡnh 18: kớch hoát vaứ boỷ kớch hoát vuứng MCR. Caực leọnh keỏt thuực khoỏi BEU vaứ BEC
Leọnh Ý nghúa BE Keỏt thuực khoỏi (block end).
Khoỏi hieọn haứnh ủửụùc keỏt thuực baỏt chaỏp RLO.
Queựt chửụng trỡnh ủửụùc tieỏp túc ụỷ leọnh ngay sau leọnh gói khoỏi. BE luõn luõn laứ phaựt bieồu cuoỏi cuứng trong khoỏi.
BEU Keỏt thuực khoỏi khõng ủiều kieọn (unconditional). Khoỏi hieọn haứnh ủửụùc keỏt thuực baỏt chaỏp RLO.
Queựt chửụng trỡnh ủửụùc tieỏp túc ụỷ leọnh ngay sau leọnh gói khoỏi.
BEC Keỏt thuực khoỏi coự ủiều kieọn conditional).
Khi RLO=1 thỡ khoỏi hieọn haứnh ủửụùc keỏt thuực vaứ queựt chửụng trỡnh ủửụùc tieỏp túc ụỷ leọnh ngay sau leọnh gói khoỏi.
Khi RLO=0 thỡ khõng thửùc hieọn keỏt thuực khoỏi vaứ cho RLO=1 sau ủoự thửùc hieọn leọnh keỏ leọnh naứy.
Baỷng 1.13: toựm taột caực leọnh keỏt thuực khoỏi.