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