條件跳轉指令:
指令名稱,助記符,指令代碼,程序步如下表:
程序步可以是連續(xù)執(zhí)行或者是脈沖執(zhí)行,CJ執(zhí)行的為3步,CJ(P)為1步。
指令格式:
當我們按下X000后,程序跳轉指令開始運行,程序所跳轉的位置為程序指針所在的位置,也就是標號10,在這里我們要注意程序指針寫在左母線的左邊。當我們啟動跳轉指令后,X001這段程序就會被跳過不執(zhí)行。
當X0為ON時,被跳轉CJ命令到標號之間的程序不子執(zhí)行。在跳轉過程中如果Y、M,S被OUT、SET. RST指令驅動使輸入發(fā)生變化則仍保持跳轉前的狀態(tài)。例如,通過X1驅動輸出Y10后發(fā)生跳轉,在跳轉過程中即使X0變?yōu)镺N,但輸出Y10仍有效。
注意:
1、對于T、C,如果跳轉時定時器或計數器正發(fā)生動作,則此時立即中斷計數或停止計時,直到跳轉結束后繼續(xù)進行計時或計數。但是,正在動作的定時器T192~T199與高速計數器C235~ C255. 不管有無跳轉仍舊維續(xù)工作。
2、功能指令在跳轉時不執(zhí)行,但PLSY、 PLSR、PWW指令除外。
子程序調用與返回指令:
指令名稱,助記符,指令代碼,程序步如下表:
指令格式:
圖中FEND表示主程序結束,在FEND前面的我們稱為主程序,在FEND后面的我們稱為子程序。SRET表示子程序結束,或者叫子程序返回。我們要注意,在FEND與SRET之間的程序,我們稱為第一個子程序,在第二個SRET之前的我們稱為第二個子程序。當我們按下X001的時候,指針調用到P11,程序開始從P11這個地方從上往下開始執(zhí)行,當碰到第一個SRET的時候,程序又返回到主程序中,但是在這個程序中如果X002被接通,那么程序指針則調用到P12,程序開始從上到下運行,當碰到第二個SRET的時候,程序返回到P12這個地方,然后在碰到第一個SRET的時候,返回到主程序。因為P12這個程序是嵌套在P11這個程序中的,所以我們要注意,在PLC中這種程序嵌套最多只能使用5級。
中斷指令:
中斷指令總共有3條,我們用一個表格來詳細說明:
在這里FEND前面的為主程序,FEND后面的為中斷子程序,中斷子程序能否進行與中斷條件與中斷指針有關,所以在這里我們得給大家說說中斷指針的格式:
中斷指針:
定時中斷:
程序示例:
我們先給大家介紹一下這個程序:FEND前面的程序表示主程序,后面的表示中斷子程序,EI表示允許中斷,IRET表示中斷返回指令,I610指針表示,中斷時間為10mm,6表示最高中斷級別。
當我們按下X000后K1的數據被傳送到D1里面去,K255的數據被傳送D2里面去,M1被置位接通,中斷子程序運行。RAMP 表示斜坡指令,表示產生一個數據D3,而D3的變化范圍是從D1到D2也就是從1到255,由于這是一個定時中斷程序,當M1接通的時候,每隔10ms中斷一次程序,K1000表示1000個掃描周期,因為D3的范圍是從1變到255,而它所需要的時間為1000個10ms,也就是說從X0接通到D3變成255的時間為1000X10ms=10秒,當D3等于255的時候M8029接通,M1被復位斷開,然后中斷指令與斜坡指令被斷開,然后碰到IRET指令程序返回。
-
plc
+關注
關注
5007文章
13114瀏覽量
461487 -
子程序
+關注
關注
0文章
33瀏覽量
11165 -
代碼
+關注
關注
30文章
4723瀏覽量
68238
原文標題:PLC的條件跳轉、子程序調用等,我這都給你講解
文章出處:【微信號:愛上PLC,微信公眾號:愛上PLC】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論