比較指令有 CMP( 比較 ) 和 ZCP (區(qū)間比較) 兩種,指令的助記符、功能、操作數(shù)、程序步如表 所 示。
( 1 )比較指令 CMP ( FNC10 )
比較指令 CMP 比較源操作數(shù) [S1] 和 [S2] 的內(nèi)容,比較的結(jié)果送到目標(biāo)操作數(shù) [D] 中去。如圖 所示,在 X0 為 ON 時(shí),比較指令 CMP 將十進(jìn)制常數(shù) 100 與計(jì)數(shù)器 C20 的當(dāng)前值比較,比較結(jié)果分三種情況分別使 M0 、 M1 、 M2 中的一個(gè)為 ON ,另兩個(gè)為 OFF 。在 X0 為 OFF 時(shí), CMP 不執(zhí)行, M0 、 M1 、 M2 的狀態(tài)保持不變。
( 2 )區(qū)間比較指令 ZCP(FNC11)
區(qū)間比較指令 ZCP 是將一個(gè)源操作數(shù) [S] 與兩個(gè)源操作數(shù) [S1] 和 [S2] 形成的區(qū)間比較,且 [S1] 不得大于 [S2] ,并將比較的結(jié)果送到 [D] 中。 ZCP 的應(yīng)用如圖所示,當(dāng) X0 為 ON 時(shí),將計(jì)數(shù)器 C30 的當(dāng)前值與區(qū)間 100~120 進(jìn)行比較。 C30 的當(dāng)前值< 100 時(shí), M3=ON ;若 100 ≤ C30 的當(dāng)前值≤ 120 時(shí), M4=ON ; C30 的當(dāng)前值> 150 時(shí), M5=ON 。若 X0 為 OFF ,則 ZCP 不執(zhí)行, M3 、 M4 、 M5 的狀態(tài)保持不變。
2 .傳送指令
( 1 )傳送指令 MOV ( FNC12 )
當(dāng) MOV 執(zhí)行的條件滿足時(shí),將源操作數(shù) [S] 中的數(shù)據(jù)傳送到目標(biāo)操作數(shù) [D] 中,若源操作數(shù)是一個(gè)變數(shù),則需用脈沖型傳送指令。 32 位數(shù)據(jù)需用 DMOV 傳送。如圖 所示,當(dāng) X0 為 ON 時(shí),執(zhí)行指令,將 [S] 中的數(shù)據(jù) K100 傳送到目標(biāo)元件 D10 中。當(dāng) X0 為 OFF 時(shí),指令不執(zhí)行。
( 2 )移位傳送指令 SMOV ( FNC13 )
當(dāng) SMOV 執(zhí)行的條件滿足時(shí),將 4 位十進(jìn)制源操作數(shù) [S] 中指定位數(shù)的數(shù)據(jù)傳送到 4 位十進(jìn)制目標(biāo)操作數(shù) [D] 中指定的位置。指令中的常數(shù) m1 、 m2 和 n 的取值范圍為 1 ~ 4 ,分別對(duì)應(yīng)個(gè)位~千位。十進(jìn)制數(shù)在存儲(chǔ)器中以二進(jìn)制數(shù)的形式存放,原數(shù)據(jù)和目標(biāo)數(shù)據(jù)的范圍均為 0 ~ 9999 。
在圖 中,當(dāng)執(zhí)行條件 X0 為 ON 時(shí),執(zhí)行移位傳送指令,將 D1 中的二進(jìn)制數(shù)轉(zhuǎn)換成 BCD 碼,然后將 D1 中的右起第 4 位( m1 = 4 )開始的 2 位( m2=2 )傳送到目標(biāo)操作數(shù) D2 的右起第 3 位( n=3 )和第 2 位,傳送完畢后, D2 中的 BCD 碼自動(dòng)轉(zhuǎn)換為二進(jìn)制碼,且 D2 中的第 4 位、第 1 位保持不變。
( 3 )取反傳送指令 CML ( FNC14 )
在圖 中,當(dāng)指令的執(zhí)行條件 X0 為 ON 時(shí),將源操作數(shù) D0 中的二進(jìn)制數(shù)每位取反后傳送到目標(biāo)操作數(shù) Y3 ~ Y0 中。它可作為 plc 的反相輸入或反相輸出指令。
( 4 )塊傳送指令 BMOV ( FNC15 )
在圖 中,當(dāng)指令的執(zhí)行條件 X0 為 ON 時(shí),成批傳送數(shù)據(jù),將源操作數(shù) D5 、 D6 、 D7 中的數(shù)據(jù)傳送到目標(biāo)操作數(shù) D10 、 D11 、 D12 中去。如果元件號(hào)超出允許的范圍,數(shù)據(jù)僅傳送到允許的范圍。對(duì)位元件操作時(shí),源操作數(shù)和目標(biāo)操作數(shù)指定的位數(shù)必須相同。
( 5 )多點(diǎn)傳送指令 FMOV ( FNC16 )
當(dāng)指令的執(zhí)行條件滿足時(shí),將源操作數(shù) [S] 傳送到多個(gè)目標(biāo)操作數(shù) [D] 中,數(shù)據(jù)傳送的目標(biāo)操作數(shù)個(gè)數(shù)由 n 決定。如果元件號(hào)超出允許的范圍,數(shù)據(jù)僅傳送到允許的范圍,同時(shí)
。
在圖 中,當(dāng) X0 為 ON 時(shí),將常數(shù) 0 送到 D100~D119 這 20 個(gè)( n = 20 )數(shù)據(jù)寄存器中。
( 6 )數(shù)據(jù)交換指令 XCH ( FNC17 )
當(dāng)指令執(zhí)行的條件滿足時(shí),兩個(gè)目標(biāo)元件 D1 和 D2 的內(nèi)容相互交換,如圖 所示。
◇數(shù)據(jù)變換指令
1. BCD 變換指令( FNC18 )
當(dāng)指令的執(zhí)行條件滿足時(shí),將源操作數(shù) [S] 中的二進(jìn)制數(shù)變換 BCD 碼并傳送到指定的目標(biāo)操作數(shù) [D] 中,如圖 所示。 BCD 指令可用于將 PLC 中的二進(jìn)制數(shù)變成 BCD 碼輸出,以驅(qū)動(dòng) LED 七段顯示器。
2. BIN 變換指令( FNC19 )
BIN 是將源操作數(shù) [S] 中的 BCD 碼轉(zhuǎn)換為二進(jìn)制數(shù)并送到目標(biāo)元件 [D] 中,常用于將 BCD 數(shù)字開關(guān)的設(shè)定值輸入到 PLC 中。










