1、條件跳轉指令cj
cj、cjp指令用于跳過順序程序某一部分的場合,以減少掃描時間。條件跳轉指令cj應用說明如圖
2、子程序調用指令call與返回指令sret
子程序應寫在主程序之后,即子程序的標號應寫在指令fend之后,且子程序必須以sret指令結束
3、中斷返回指令iret、允許中斷指令ei與禁止中斷指令di
plc一般處在禁止中斷狀態(tài)。指令ei~di之間的程序段為允許中斷區(qū)間,而di~ei之間為禁止中斷區(qū)間。當程序執(zhí)行到允許中斷區(qū)間并且出現(xiàn)中斷請求信號時,plc停止執(zhí)行主程序,去執(zhí)行相應的中斷子程序,遇到中斷返回指令iret時返回斷點處繼續(xù)執(zhí)行主程序。
4、主程序結束指令fend
fend指令表示主程序的結束,子程序的開始。程序執(zhí)行到fend指令時,進行輸出處理、輸入處理、監(jiān)視定時器刷新,完成后返回第0步。
fend指令通常與cj-p-fend、call-p-sret和i-iret結構一起使用(p表示程序指針、i表示中斷指針)。call指令的指針及子程序、中斷指針及中斷子程序都應放在fend指令之后。call指令調用的子程序必須以子程序返回指令sret結束。中斷子程序必須以中斷返回指令iret結束。
5、監(jiān)視定時器刷新指令wdt
如果掃描時間(從第0步到end或fend)超過100ms,plc將停止運行。在這種情況之下,應將wdt指令插到合適的程序步(掃描時間不超過100ms)中刷新監(jiān)視定時器。
6、循環(huán)開始指令for與循環(huán)結束指令next
for~next之間的程序重復執(zhí)行n次(由操作數(shù)指定)后再執(zhí)行next指令后的程序。循環(huán)次數(shù)n的范圍為1~32767。若n的取值范圍為-32767~0,循環(huán)次數(shù)作1處理。
for與next總是成對出現(xiàn),且應for在前,next在后。for~next循環(huán)指令最多可以嵌套5層。 利用cj指令可以跳出for~next循環(huán)體。