昨天學習(xi) 了程序控製指令裏麵的循環指令和跳轉指令,那麽(me) 今天就學習(xi) 一下剩下的其他指令。
首先我們(men) 看一下順序控製指令,順序控製指令可以使程序按照順序執行,順序控製指令有SCR、SCRT和SCRE,我們(men) 要注意的是SCR指令和SCRE指令是配套使用的。SCR指令的作用是將n引用的S位數值載入SCR,即標記SCR段的開始。SCRT指令的作用是識別要啟用的SCR位,即是下一個(ge) 要設置的n位。SCRE指令的作用是標記SCR段的結束。
我們(men) 要注意一下使用SCR的限製,第一,不能把相同的S位用於(yu) 不同的程序中,舉(ju) 個(ge) 例子,如果在主程序中使用了S0.0,則不能在子程序中再使用它;第二,不能在SCR段中使用JMP和LBL指令,也不允許在SCR段內(nei) 跳轉,但是可以使用跳轉和標簽指令在SCR段周圍跳轉。SCR段之間的跳轉,可以使用SCRT或者置位/複位指令;第三,不能在SCR段中使用'END'指令。
下麵就看一下順序控製指令的使用的程序例子。這裏的SCRT指令就是跳轉,它是跳到S0.1的,也就是置位S0.1並複位S0.0。
下麵再學習(xi) 一下看門狗複位WDR指令,WDR指令重新觸發S7-200 CPU的看門狗定時器,擴展掃描允許使用的時間,而不會(hui) 出現看門狗錯誤。我們(men) 在使用看門狗複位指令時應當小心,如果使用循環指令阻止掃描完成,那麽(me) 像I/O更新、通訊等程序隻有在掃描周期完成後才能執行。如果對程序預計掃描時間將超過500毫秒,可能阻止返回主掃描超過500毫秒,這時就應當使用WDR指令,重新觸發看門狗定時器。以下程序就是使用了看門狗複位的例子。
下麵看一下子程序返回RET指令,RET指令是根據前一個(ge) 邏輯終止子程序,並返回主程序的。軟件是會(hui) 自動在子程序最後增加子程序無條件返回指令的,但它不會(hui) 顯示在'子程序POU'裏麵。
而主程序結束END指令,它是根據前一個(ge) 邏輯條件終止主程序的,也就是是說在END指令之後的程序是不執行的。同樣,軟件是會(hui) 自動在主程序最後增加END指令的。我們(men) 要注意的是END指令隻能用在主程序裏,而不能用在子程序或者中斷程序中的。
還有是STOP指令,它可以強製將PLC切換到STOP停止模式。
最後再看一下診斷LED燈DIAG_LED指令,該指令中如果輸入參數IN的數值為(wei) 零,則診斷LED會(hui) 被設置為(wei) 不發光。如果輸入參數IN的數值大於(yu) 零,則診斷LED會(hui) 被設置為(wei) 發光 (黃色)。下麵的程序讓診斷LED燈亮0.5s,滅0.5s,那麽(me) 當輸入IN的數值大於(yu) 零時,診斷LED會(hui) 被設置為(wei) 發光(黃色)。
這裏這麽(me) 多個(ge) 指令,其實可能會(hui) 要用到的也就是順序控製指令和看門狗複位指令,我們(men) 主要學習(xi) 一下這兩(liang) 個(ge) 指令就基本可以了。