四、基本指令-其他指令[MC/NOP/END]
MC指令是和MCR指令成對使用的,執行MC指令后母線(xiàn)會(huì )轉移到MC觸點(diǎn)內,使用MCR指令可將母線(xiàn)返回主線(xiàn)上。
在MC指令和MCR指令之間的輸出線(xiàn)圈只有在MC指令被驅動(dòng)時(shí)才會(huì )執行各個(gè)動(dòng)作(不需要觸發(fā)條件的指令除外),當MC指令不執行時(shí),其內部程序的輸出線(xiàn)圈都相當于驅動(dòng)條件為斷開(kāi)狀態(tài)。
MC指令的結構為MC Nn Mn或MC Nn Yn,與之配對的MCR指令只需要編輯上對應的Nn編號即可。
MC指令內可以再包括MC指令,這種結構叫做嵌套。使用嵌套程序時(shí),級別N的編號應該按照順序增大,MCR指令則需從最大編號的嵌套級別逐級返回,否則它會(huì )忽略較大編號的嵌套程序。嵌套最大可以編寫(xiě)8級。
在GX Developer軟件中寫(xiě)入模式下編輯程序時(shí),MC和MCR程序之間母線(xiàn)上的Nn編號不會(huì )顯示,但用Shift+F2鍵切換到讀取模式后或者在切換到監視狀態(tài)時(shí)就會(huì )顯示出來(lái)。
NOP指令為空操作指令,PLC運行到該指令時(shí)會(huì )無(wú)視它的存在而繼續運行。NOP指令會(huì )對程序的步數產(chǎn)生影響。但在梯形圖中無(wú)法直觀(guān)的看到NOP的存在,切換到語(yǔ)句表狀態(tài)就能看到。
END指令為表示程序結束的指令,PLC執行到END指令時(shí),不再執行其后面的程序,會(huì )開(kāi)始輸入輸出狀態(tài)處理并返回程序開(kāi)頭的第0步。執行END指令時(shí)還會(huì )刷新看門(mén)狗定時(shí)器。在GX Developer軟件中不用專(zhuān)門(mén)輸入該指令,程序編輯完用F4轉換后END指令會(huì )自動(dòng)添加在程序末尾。
五、編程的注意事項
1- 觸點(diǎn)的構成和步
執行相同動(dòng)作的梯形圖通過(guò)優(yōu)化觸點(diǎn)構成的方法,可以簡(jiǎn)化程序和節約步數;驹瓌t是串聯(lián)較多的梯形圖盡量寫(xiě)在上方,并聯(lián)觸點(diǎn)較多的梯形圖盡量寫(xiě)在左方。
2- 雙重輸出(雙線(xiàn)圈)
在順控程序中輸出線(xiàn)圈被多次驅動(dòng)成為雙重輸出(雙線(xiàn)圈),出現該情況時(shí)其觸點(diǎn)狀態(tài)以程序當前邏輯狀態(tài)為準。兩個(gè)或多個(gè)線(xiàn)圈的狀態(tài)容易相互干擾,進(jìn)而影響編程人員對程序執行結果的判斷。
對于輸出繼電器而言,進(jìn)入輸出映像階段時(shí)雙線(xiàn)圈以最后的線(xiàn)圈狀態(tài)為準,所以用GX Developer軟件監控時(shí)可能會(huì )發(fā)現條件滿(mǎn)足而沒(méi)有輸出的線(xiàn)圈。
3- 16位/32位指令
根據處理數據的大小,應用指令可以分為“16位指令”和“32位指令”。通過(guò)在16位指令前面加“D”符號就會(huì )將其切換為32位指令,此時(shí)指令中的軟元件會(huì )與緊接其后的軟元件號碼組合為32位元件。
4- 脈沖執行/連續執行指令
連續執行指令是指在每個(gè)掃描周期都執行的指令,脈沖型指令則是在驅動(dòng)條件滿(mǎn)足時(shí)只執行一個(gè)掃描周期。通過(guò)在連續執行指令后面加“P”符號就會(huì )將其切換為脈沖執行指令。