
條件跳轉(zhuǎn)指令CJ用于跳過(guò)順序程序中的某一部分,以縮短運(yùn)算周期、控制程序的流程。其指令的助記符為CJ,指令代碼是FNC00,操作元件為P0~P127,其程序步情況是,CJ 為3步、標(biāo)號(hào)P為1步。
在圖2中,當(dāng)X0為ON時(shí),則程序跳轉(zhuǎn)到指針P8處,若X0為OFF,則按順序執(zhí)行程序,不執(zhí)行跳轉(zhuǎn)。當(dāng)X0為ON時(shí),Y0、M0、S0的狀態(tài)不會(huì)隨它們的驅(qū)動(dòng)接點(diǎn)X1、X2、X3的狀態(tài)變化而變化。定時(shí)器和計(jì)數(shù)器如果被CJ指令跳過(guò),跳步期間它們的當(dāng)前值被凍結(jié),如果在跳步開(kāi)始時(shí)定時(shí)器和計(jì)數(shù)器正在工作,在跳步期間,它們將停止計(jì)時(shí)和計(jì)數(shù),在CJ指令的條件變?yōu)椴粷M足時(shí)繼續(xù)工作。
高速計(jì)數(shù)器的處理獨(dú)立于主程序,其工作不受跳步影響。如果用M8000的動(dòng)合觸點(diǎn)驅(qū)動(dòng)CJ指令,則條件跳轉(zhuǎn)變?yōu)闊o(wú)條件跳轉(zhuǎn)。數(shù)據(jù)寄存器(D)在模擬量檢測(cè)與控制以及位置控制等場(chǎng)合用來(lái)儲(chǔ)存數(shù)據(jù)和參數(shù),數(shù)據(jù)寄存器可儲(chǔ)存16位二進(jìn)制數(shù)或一個(gè)字,兩個(gè)數(shù)據(jù)寄存器合并起來(lái)可以存放32位數(shù)據(jù)(雙字),在:D0和D1組成的雙字中,D0存放低16位,D1存放高16位。字或雙字的較高位為符號(hào)位,該位為0時(shí)數(shù)據(jù)為正,為1時(shí)數(shù)據(jù)為負(fù)。
將數(shù)據(jù)寫(xiě)入通用數(shù)據(jù)寄存器后,其值將保持不變,直到下一次被改寫(xiě)。PLC從RUN狀態(tài)進(jìn)入STOP狀態(tài)時(shí),所有的通用數(shù)據(jù)寄存器的值被改寫(xiě)為0。
如果特殊輔助繼電器M8033為ON,PLC從RUN狀態(tài)進(jìn)入STOP狀態(tài)時(shí),通用數(shù)據(jù)寄存器的值保持不變。
果要使用再循環(huán)線路,則激活內(nèi)部標(biāo)志M020,就能使用再循環(huán)線。然而,如果再循環(huán)線滿了(即C005起作用)或者正處于清空過(guò)程中(Y002起作用),再循環(huán)線忽略M020標(biāo)志。當(dāng)Y001有效時(shí),門GT1反時(shí)針旋轉(zhuǎn),允許瓶子從主傳送帶轉(zhuǎn)到再循環(huán)線上。當(dāng)瓶子完成這次轉(zhuǎn)移,光電管PC1光
線被遮斷,這樣給出一個(gè)輸入X003,這個(gè)輸入與計(jì)數(shù)器一起作用可以確定再循環(huán)線上的瓶子數(shù)目。當(dāng)標(biāo)志M020不起作用時(shí),輸出Y001復(fù)位,門GT1返回到中間位置(彈簧返回)。
瓶子離開(kāi)再循環(huán)線時(shí),標(biāo)志M030必須出現(xiàn)。在進(jìn)入和清空的選擇之間又有一個(gè)互鎖,門GTl被輸出Y002設(shè)定,使得產(chǎn)生順時(shí)針旋轉(zhuǎn)。PC1再一次提供計(jì)數(shù)信號(hào)(C006),將所有的瓶子計(jì)數(shù)。這個(gè)系統(tǒng)設(shè)計(jì)成在一次運(yùn)行中或是裝滿或是卻空再循環(huán)線。這就是為什么當(dāng)最后一瓶離開(kāi)再循環(huán)線時(shí),計(jì)數(shù)器要復(fù)位。
MPS(Push),MRD(Read),MPP(Pop)指令分別是進(jìn)棧、讀棧和出棧指令,它們用于多重輸出電路。
FX系列有11個(gè)存儲(chǔ)中間運(yùn)算結(jié)果的堆棧存儲(chǔ)器(見(jiàn)圖1),堆棧采用**后出的數(shù)據(jù)存取方式。MPS指令用于儲(chǔ)存電路中有分支處的邏輯運(yùn)算結(jié)果,以便以后處理有線圈的支路時(shí)可以調(diào)用該運(yùn)算結(jié)集。使用一次MPS指令,當(dāng)時(shí)的邏輯運(yùn)算結(jié)果壓入堆棧的*一層,堆棧中原來(lái)的數(shù)據(jù)依次向下一層推移。
MRD指令讀取存儲(chǔ)在堆棧較上層的電路中分支點(diǎn)處的運(yùn)算結(jié)果,將下一個(gè)觸點(diǎn)強(qiáng)制性地連接在該點(diǎn)。讀數(shù)后堆棧內(nèi)的數(shù)據(jù)不會(huì)上移或下移。
MPP指令彈出(調(diào)用并去掉)存儲(chǔ)的電路中分支點(diǎn)的運(yùn)算結(jié)果。首先將下一觸點(diǎn)連接在該點(diǎn),然后從堆棧中去掉該點(diǎn)的運(yùn)算結(jié)果。使用MPP指令時(shí),堆棧中各層的數(shù)據(jù)向上移動(dòng)一層,較上層的數(shù)據(jù)在讀出后從棧內(nèi)消失。
圖1和圖2分別給出了使用一層棧和使用多層棧的例子。每一條MPS指令必須有一條對(duì)應(yīng)的MPP指令,處理最后一條支路時(shí)必須使用MPP指令,而不是MRD指令。在一塊獨(dú)立電路中,用進(jìn)棧指令同時(shí)保存在堆棧中的運(yùn)算結(jié)果不能**過(guò)11個(gè)。OUT (輸出)驅(qū)動(dòng)定時(shí)器線圈和計(jì)數(shù)器線圈指令, RST (復(fù)位)輸出觸點(diǎn)復(fù)位和當(dāng)前數(shù)據(jù)清零指令
? 定時(shí)器( T )
( 1 )定時(shí)器( T0~T245 )
定時(shí)器 T0~T199 ( 200 點(diǎn))單位時(shí)間為 100ms 、設(shè)定值為 1~32767 ,對(duì)應(yīng)的延時(shí)時(shí)間為( 1~32767 )× 0.1s=0.1~3276.7s 。
定時(shí)器 T200~T245 ( 46 點(diǎn))單位時(shí)間 10ms 、設(shè)定值為 1~32767 ,對(duì)應(yīng)的延時(shí)時(shí)間為( 1~32767 )× 0.01s=0.01~327.67s 。
例 圖2
?。?nbsp;2 )積算定時(shí)器( T246~T255 )
積算定時(shí)器 T246~T249 ( 4 點(diǎn))單位時(shí)間 1ms ,設(shè)定值 1~32767 ,對(duì)應(yīng)的延時(shí)時(shí)間是( 1~32767 )× 0.001=0.001~32.767s 。
積算定時(shí)器 T250~T255 ( 6 點(diǎn))單位時(shí)間 100ms ,設(shè)定值 1~32767 ,對(duì)應(yīng)的延時(shí)時(shí)間是( 1~32767 )× 0.1=0.1~3276.7s 。
例 圖 3
?。玻?jì)數(shù)器( C )
?。?nbsp;1 )內(nèi)部信號(hào)計(jì)數(shù)器
① 16bit 增計(jì)數(shù)器(設(shè)定值: 1~32767 )
16bit 二進(jìn)制增計(jì)數(shù)器有兩種類型:
通用: C0~C99 ( 100 點(diǎn))
停電保持用: C100~C199 ( 100 點(diǎn)),即使停電,當(dāng)前值和輸出觸點(diǎn)的狀態(tài)也能保持。
例 圖 4
② 32bit 雙向計(jì)數(shù)器
32bit 的增 / 減計(jì)數(shù)器有兩種:通用計(jì)數(shù)器 C200~C219 ( 20 點(diǎn))、保持計(jì)數(shù)器 C220~C234 ( 15 點(diǎn))。其設(shè)定值為 -2147483648~+2147483647 ,計(jì)數(shù)方向(增計(jì)數(shù)或減計(jì)數(shù))由特殊輔助繼電器 M8200~M8234 設(shè)定。
例 圖 5
2 )高速計(jì)數(shù)器(例圖6)
?。?nbsp;2 )高速計(jì)數(shù)器(例圖7 )
① 對(duì)于 C235~C245 的單相單輸入計(jì)數(shù)器,須用特殊輔助繼電器( M8235~M8245 )*計(jì)數(shù)方向。
?、凇?nbsp;X11 :接通,計(jì)數(shù)器 C △△△的輸出觸點(diǎn)復(fù)位,計(jì)數(shù)器當(dāng)前值清零。
?、?nbsp;X12 接通時(shí),高速計(jì)數(shù)器 C235~C240 分別對(duì)計(jì)數(shù)輸入端 X0~X5 輸入的通斷進(jìn)行計(jì)數(shù),對(duì)于帶有起動(dòng)輸入的計(jì)數(shù)器( C244 , C245 , C249 , C250 , C254 , C255 ),起動(dòng)輸入不接通就不進(jìn)行計(jì)數(shù)。
?、?nbsp;計(jì)數(shù)器的當(dāng)前值隨計(jì)數(shù)輸入的次數(shù)而變化,當(dāng)該值等于設(shè)定值( K 或 D 的內(nèi)容)時(shí),計(jì)數(shù)器輸出觸點(diǎn)動(dòng)作。











