條件跳轉(zhuǎn)指令:
指令名稱,助記符,指令代碼,程序步如下表:
程序步可以是連續(xù)執(zhí)行或者是脈沖執(zhí)行,CJ執(zhí)行的為3步,CJ(P)為1步。三菱PLC的條件跳轉(zhuǎn)指令的編程方法 CALL指令
指令格式:
當(dāng)我們按下X000后,程序跳轉(zhuǎn)指令開始運行,程序所跳轉(zhuǎn)的位置為程序指針?biāo)诘奈恢茫簿褪菢?biāo)號10,在這里我們要注意程序指針寫在左母線的左邊。當(dāng)我們啟動跳轉(zhuǎn)指令后,X001這段程序就會被跳過不執(zhí)行。
當(dāng)X0為ON時,被跳轉(zhuǎn)CJ命令到標(biāo)號之間的程序不子執(zhí)行。在跳轉(zhuǎn)過程中如果Y、M,S被OUT、SET. RST指令驅(qū)動使輸入發(fā)生變化則仍保持跳轉(zhuǎn)前的狀態(tài)。例如,通過X1驅(qū)動輸出Y10后發(fā)生跳轉(zhuǎn),在跳轉(zhuǎn)過程中即使X0變?yōu)镺N,但輸出Y10仍有效。
注意:
1、對于T、C,如果跳轉(zhuǎn)時定時器或計數(shù)器正發(fā)生動作,則此時立即中斷計數(shù)或停止計時,直到跳轉(zhuǎn)結(jié)束后繼續(xù)進(jìn)行計時或計數(shù)。但是,正在動作的定時器T192~T199與高速計數(shù)器C235~ C255. 不管有無跳轉(zhuǎn)仍舊維續(xù)工作。
2、功能指令在跳轉(zhuǎn)時不執(zhí)行,但PLSY、 PLSR、PWW指令除外。
子程序調(diào)用與返回指令:
指令名稱,助記符,指令代碼,程序步如下表:
指令格式:
圖中FEND表示主程序結(jié)束,在FEND前面的我們稱為主程序,在FEND后面的我們稱為子程序。SRET表示子程序結(jié)束,或者叫子程序返回。我們要注意,在FEND與SRET之間的程序,我們稱為第一個子程序,在第二個SRET之前的我們稱為第二個子程序。當(dāng)我們按下X001的時候,指針調(diào)用到P11,程序開始從P11這個地方從上往下開始執(zhí)行,當(dāng)碰到第一個SRET的時候,程序又返回到主程序中,但是在這個程序中如果X002被接通,那么程序指針則調(diào)用到P12,程序開始從上到下運行,當(dāng)碰到第二個SRET的時候,程序返回到P12這個地方,然后在碰到第一個SRET的時候,返回到主程序。因為P12這個程序是嵌套在P11這個程序中的,所以我們要注意,在PLC中這種程序嵌套最多只能使用5級。
中斷指令:
中斷指令總共有3條,我們用一個表格來詳細(xì)說明:
在這里FEND前面的為主程序,F(xiàn)END后面的為中斷子程序,中斷子程序能否進(jìn)行與中斷條件與中斷指針有關(guān),所以在這里我們得給大家說說中斷指針的格式:
中斷指針:
定時中斷:
程序示例:
我們先給大家介紹一下這個程序:FEND前面的程序表示主程序,后面的表示中斷子程序,EI表示允許中斷,IRET表示中斷返回指令,I610指針表示,中斷時間為10mm,6表示最高中斷級別。
當(dāng)我們按下X000后K1的數(shù)據(jù)被傳送到D1里面去,K255的數(shù)據(jù)被傳送D2里面去,M1被置位接通,中斷子程序運行。RAMP 表示斜坡指令,表示產(chǎn)生一個數(shù)據(jù)D3,而D3的變化范圍是從D1到D2也就是從1到255,由于這是一個定時中斷程序,當(dāng)M1接通的時候,每隔10ms中斷一次程序,K1000表示1000個掃描周期,因為D3的范圍是從1變到255,而它所需要的時間為1000個10ms,也就是說從X0接通到D3變成255的時間為1000X10ms=10秒,當(dāng)D3等于255的時候M8029接通,M1被復(fù)位斷開,然后中斷指令與斜坡指令被斷開,然后碰到IRET指令程序返回。