- 三菱FX3系列PLC功能指令應用全解
- 李金城編著
- 5字
- 2024-01-19 15:51:41
2.2 條件轉移
2.2.1 條件轉移指令CJ
1.指令格式
FNC 00:CJ 【P】 程序步:3
CJ指令可用軟元件如表2-2所示。
表2-2 CJ指令可用軟元件

指令梯形圖如圖2-8所示。

圖2-8 CJ指令梯形圖
CJ指令操作數內容及取值如表2-3所示。
表2-3 CJ指令操作數內容及取值

解讀:當驅動條件成立時,主程序轉移到指針為Pn的程序段往下執行。當驅動條件斷開時,主程序按順序執行指令的下一行程序,并往下繼續執行。
2.關于分支指針P
(1)指針又稱標號、標簽。在FX系列PLC里,指針有分支指針P和中斷指針I兩種。
(2)當程序發生轉移時,必須要告訴PLC程序轉移的入口地址,這個入口地址就是用指針來指示的。因此,指針的作用就是指示程序轉移的入口地址。
分支指針P主要用來指示條件轉移和子程序調用轉移時的入口地址。條件轉移時分支指針P在主程序區;子程序調用時分支指針P在副程序區。
(3)FX3系列PLC的分支指針P的點數如表2-4所示。
表2-4 FX3系列PLC的分支指針P的點數

(4)分支指針P必須和轉移指令CJ或子程序調用指令CALL組合使用。
(5)指針P63為END指令跳轉用特殊指針,當出現指令CJ P63,驅動條件成立后,馬上轉移到END指針,執行END指令功能。因此,P63不能作為程序入口地址標號進行編程。如果對標號P63編程,PLC會發生程序錯誤并停止運行,如圖2-9所示。
(6)在編程軟件GX上輸入梯形圖時,標號的輸入方法為:找到轉移后的程序首行,將光標移到該行左母線外側,直接輸入標號。

圖2-9 指針P63的應用
3.轉移指令CJ應用注意
1)連續執行與脈沖執行
CJ指令有兩種執行形式:連續執行型CJ和脈沖執行型CJP。它們的執行形式是不同的,如圖2-10所示。
對連續執行型指令CJ,在X010接通期間,每個掃描周期都要執行一次轉移。對脈沖執行型指令CJP,X010每通斷一次,才執行一次程序轉移。

圖2-10 CJ指令的連續執行與脈沖執行
2)轉移方式
利用CJ轉移時,可以向CJ指令的后面程序進行轉移,也可以向CJ指令的前面程序進行轉移,如圖2-11所示。但在向前面程序進行轉移時,如果驅動條件一直接通,則程序會在轉移地址入口(標號處)到CJ指令之間不斷運行。這就會造成死循環,且因程序掃描時間超過監視定時器時間(出廠值為200ms)而發生看門狗動作,程序停止運行。一般來說,如需要向前轉移,建議使用CJP指令,僅執行一次。下一個掃描周期,即使驅動條件仍然接通,也不會再次執行轉移。

圖2-11 CJ指令的向前、向后轉移
3)標號使用的唯一性
標號在程序中具有唯一性,即在程序中不允許出現標號相同的兩個或兩個以上程序轉移入口地址,如圖2-12所示。
4)標號重復使用
在程序中,標號是唯一的,但卻可以是多個CJ指令的程序轉移入口地址,如圖2-13所示。當X010接通時,從上一個CJ轉移到P10,當X010斷開,X020接通時,從下一個CJ轉向P10。但是CJ指令和子程序調用指令CALL不能共用一個標號,如圖2-14所示。
5)無條件轉移
CJ是條件轉移指令,但如果驅動條件常通(如用特殊繼電器M8000作為CJ指令的驅動條件),則變成無條件轉移指令,如圖2-15所示。

圖2-12 CJ指令的標號使用唯一性

圖2-13 CJ指令的標號重復使用

圖2-14 CJ和CALL不能共用標號

圖2-15 無條件轉移
6)輸出關斷后轉移
如圖2-16所示程序,由于使用了上升沿檢測指令PLS,所以,CJ指令要等1個掃描周期才能生效。采用這種方法,可以將CJ指令到轉移標號之間的輸出全部關斷后才進行跳轉。
7)標號的變址應用
標號也可變址尋址應用,這樣,利用一條條件轉移指令可以轉移到多個標號的程序轉移地址入口,如圖2-17所示。

圖2-16 輸出關斷后轉移

圖2-17 標號的變址應用