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