|
第一句的意思是當(dāng)SM2閉合的時(shí)候,把立即數(shù)7送到D4000數(shù)據(jù)存儲(chǔ)器中,這里MOV是傳送指令,我沒學(xué)過信捷,SM2有可能跟西門子的系統(tǒng)特殊寄存器類似,有可能是在PLC上電的第一掃描周期ON,這樣的話,就是在PLC初次掃描時(shí),把7賦給D4000。
第二行這里有個(gè)M0串了個(gè)SM13上升沿,SM13就類同于西門子的SM0.5,半秒ON,半秒OFF,如果沒有上升沿,SM13和M0在ON時(shí)就會(huì)執(zhí)行下面的程序,那半秒ON的時(shí)候可能執(zhí)行不止一遍程序,這是不可取的,所以要加個(gè)上升沿,這樣只能執(zhí)行一次,要再次執(zhí)行,得上SM13 OFF后,再ON,這樣就能使程序執(zhí)行周期變成1秒。
接下來看一下下面程序執(zhí)行情況:
第一句:R就是復(fù)位,就是把Y0[D0]的值復(fù)位,變成OFF。這句怎么理解,方括號(hào)里表示的是偏移量,如果PLC一上電,數(shù)據(jù)區(qū)里的存儲(chǔ)體值如果沒有設(shè)置掉電保持的話,它的初始值為0,Y0[0]表示的就是Y0。
第二句:INC D0,就是把D0的值加1后再送回到D0去,就是自增1。
第三句判斷和賦值,如果D0大于D4000的話,執(zhí)行后面的賦值語句,也即傳送指令,現(xiàn)在的D4000的值為7,所以如果D0加到7后又加了后變成8時(shí),條件滿足,就會(huì)把D0的值變?yōu)?,其實(shí)這里有錯(cuò),應(yīng)該是0才對(duì),要不然,第一盞燈Y0就不會(huì)亮了。
第四句就是把對(duì)應(yīng)的燈點(diǎn)亮,置位指令,Y0[D0],就是以Y0為基地址,以D0為偏移量,把對(duì)應(yīng)的輸出置為ON.如果現(xiàn)在使Y3 ON了,第四盞燈亮了,它是最后一條指令,然后又會(huì)從頭執(zhí)行上面所有的指令。
最先一條把7賦值給D4000的指令因?yàn)椴皇鞘状螔呙瑁筒粓?zhí)行了。
如果SM13沒OFF,所有指令不執(zhí)行,只有等SM13 OFF后,又SM13 ON的第一掃描周期,第會(huì)執(zhí)行下面的四條指令。那是過了一秒后的事了,因?yàn)镈0的值保持上次執(zhí)行時(shí)的值,所以把上次值位的,現(xiàn)在復(fù)位了,這樣Y3 ON了一秒。
|
|