第一句的意思是當SM2閉合的時候,把立即數7送到D4000數據存儲器中,這里MOV是傳送指令,我沒學過信捷,SM2有可能跟西門子的系統特殊寄存器類似,有可能是在PLC上電的第一掃描周期ON,這樣的話,就是在PLC初次掃描時,把7賦給D4000。
第二行這里有個M0串了個SM13上升沿,SM13就類同于西門子的SM0.5,半秒ON,半秒OFF,如果沒有上升沿,SM13和M0在ON時就會執行下面的程序,那半秒ON的時候可能執行不止一遍程序,這是不可取的,所以要加個上升沿,這樣只能執行一次,要再次執行,得上SM13 OFF后,再ON,這樣就能使程序執行周期變成1秒。
接下來看一下下面程序執行情況:
第一句:R就是復位,就是把Y0[D0]的值復位,變成OFF。這句怎么理解,方括號里表示的是偏移量,如果PLC一上電,數據區里的存儲體值如果沒有設置掉電保持的話,它的初始值為0,Y0[0]表示的就是Y0。
第二句:INC D0,就是把D0的值加1后再送回到D0去,就是自增1。
第三句判斷和賦值,如果D0大于D4000的話,執行后面的賦值語句,也即傳送指令,現在的D4000的值為7,所以如果D0加到7后又加了后變成8時,條件滿足,就會把D0的值變為1,其實這里有錯,應該是0才對,要不然,第一盞燈Y0就不會亮了。
第四句就是把對應的燈點亮,置位指令,Y0[D0],就是以Y0為基地址,以D0為偏移量,把對應的輸出置為ON.如果現在使Y3 ON了,第四盞燈亮了,它是最后一條指令,然后又會從頭執行上面所有的指令。
最先一條把7賦值給D4000的指令因為不是首次掃描,就不執行了。
如果SM13沒OFF,所有指令不執行,只有等SM13 OFF后,又SM13 ON的第一掃描周期,第會執行下面的四條指令。那是過了一秒后的事了,因為D0的值保持上次執行時的值,所以把上次值位的,現在復位了,這樣Y3 ON了一秒。
|