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