(D)CMP(P) 比較 將兩源操作元件的數據作代數比較,結果送到目標元件中,決定目標元件的狀態。
源操作元件:K/H KnX KnY KnM KnS T C D V/Z
目標元件:Y M S
格式:LD X0
CMP(P) K100 C20 M0
X0由OFF到ON 時:當K100>C20當前值時,M0=1
當K100=C20當前值時,M1=1
當K100<C20當前值時,M2=1
當用連續方式執行CMP時,條件滿足時,每個掃描周期執行一次。
(D)ZMP(P) 區間比較 將一個數據與兩個源元件的數據區間作比較,結果送到目標元件中,決定目標元件的狀態。
源操作元件:K/H KnX KnY KnM KnS T C D V/Z
目標元件:Y M S
格式:LD X0
ZCP(P) K100 K120 C30 M3
X0由OFF到ON時: 當K100>C30當前值時,M3=1
當K100≤C30≥K120時,M4=1
當K120<C30當前值時,M5=1
當用連續方式執行ZCP時,條件滿足時,每個掃描周期執行一次。
(D)MOV(P) 傳送 將操作元件的數據傳送到目標元件中。
源操作元件:K/H KnX KnY KnM KnS T C D V/Z
目標元件:KnY KnM KnS T C D V/Z
格式:LD X0
MOV(P) K100 D10
當X0由OFF到ON時,將100 傳送到D10中
當用連續方式執行MOV時,條件滿足時,每個掃描周期執行一次。
對于32位數據用DMOV 傳送,用元件號相臨的兩元件組成元件對。元件對的首位用奇數、偶數均可,但為避免出錯,元件對的首位建議統一用偶數。
當傳送指令執行時,常數自動轉化成二進制數存入目標元件。
SMOV(P)移位傳送 將源元件的數據轉化為BCD碼,然后將BCD碼根據要求移位后,傳送到目標元件中。
源操作元件:K/H KnX KnY KnM KnS T C D V/Z
目標元件:KnY KnM KnS T C D V/Z
m:K H K/H的取值范圍:1—4,即D1的值不可超過9999
n:K H
使用格式:如D1=1685 D2=0
LD X0
SMOV(P) D1 K4 K2 D2 K3
當X0由OFF到ON時:將D1=1685轉化為BCD 碼為0001 0110 1000 0101
D2=0 轉化為BCD碼為 0000 0000 0000 0000
再將D1的BCD碼從右起第4位開始的向右2位,移到D2 中右起第3位開始向右的2位,1位和第4位不變。此時D2為 0000 0001 0110 000 ,D2=160
當用連續方式執行SMOV時,條件滿足時,每個掃描周期執行一次。
(D)CML(P)取反傳送 將源元件內數據轉化為二進制數逐位取反(0→1 ,1→0),并傳送到指定目標元件。
源操作元件:K/H KnX KnY KnM KnS T C D V/Z
目標元件:KnY KnM KnS T C D V/Z
格式:如D0=11
LD X0
CML(P) D0 K1Y0
當X0由OFF到ON時:先把D0= 11轉化為二進制為 1 0 1 0, 然后取反為 0 1 0 1
則K1Y0的輸出為Y0=0,Y1=1,Y2=0,Y3=1
當用連續方式執行CML時,條件滿足時,每個掃描周期執行一次。
BMOV(P)塊傳送 從源操作元件開始的n個數據組成數據塊傳送到以目標元件開始的n個元件組成的數據塊。
源操作元件:KnX KnY KnM KnS T C D 文件寄存器
目標元件:KnY KnM KnS T C D
n: K、H n≤512
使用格式:LD X0
BMOV(P) D5 D10 K3 D5→D10(1)
D6→D11(2)
D7→D12(3)
BMOV(P) D5 D7 K3 D5→D7(3)
D6→D8(2)
D7→D9(1)
BMOV(P) D20 D18 K3 D20→D18(1)
D21→D19(2)
D22→D20(3)
傳送順序是自動決定的,以防止源數據被這條指令傳送的其它數據沖掉。
當X0由OFF到ON時,按上述傳送當用連續方式執行BMOV時,條件滿足時,每個掃描周期執行一次。
當M8024=ON時,數據傳送方向反轉。
BMOV有訪問程序區中的文件寄存器(系統寄存器)的功能。(對FX系列而言,通過參數設置可把D1000以后的通用數據寄存器設為文件寄存器。當PLC從STOP→RUN時,程序存儲區的文件寄存器會自動被copy到RAM(程序寄存器)區中的文件寄存器中,除BMOV指令外其它指令用到的D1000后均指RAM中的文件寄存器。)
FMOV(P) 多點傳送 將源元件中的數據傳送到以目標元件開始的n個元件中。
源操作元件:K/H knX KnY KnM KnS T C D V/Z
目標元件:KnY KnM KnS T C D
n: K\H n≤512 ;
使用格式:LD X0
FMOV(P) K10 D0 K20
當X0由OFF到ON時:將源數據10傳送到從D0開始的20個元件中每個元件中的數據都為10。
當用連續方式執行FMOV時,條件滿足時,每個掃描周期執行一次。
如果元件號超出元件范圍,則數據只送到允許的范圍的元件內。
(D)XCH(P)交換 將源元件和目標元件內的數據互換。
操作元件:KnY KnM KnS T C D V/Z
目標元件:KnY KnM KnS T C D V/Z
使用格式:如D1=100 D2=20
LD X0
XCH(P) D1 D2
當X0有OFF到ON時:執行后D1=200 D2=100
注意:在連續執行方式XCH下,數據在每個掃描周期交換一次。
處理16位數據時當M8160置位時,而且源元件與目標元件為同一元件時,數據的高8位與低8位互換。 源元件與目標元件不為同一元件時,不執行XCH指令。
本指令也可處理32位數據,用DXCH。也可進行高低16位互換。 M8061置位時與(147、SWAP高低位互換指令功能相同。)
高低位互換具體不明???
(D)BCD(P)變換 將PLC 中的二進制數(在PLC中所有數據都以二進制數形式存在)變換成BCD碼輸出以驅動LED顯示器七段顯示。
源操作元件:KnX KnY KnM KnS T C D V/Z
目標元件:KnY KnM KnS T C D V/Z
數據范圍:0—9999或0--99999999
使用格式:如D10=17
LD X0
BCD D10 K2Y0
當X0由OFF到ON時: 先將17轉化為BCD 碼為 0001 0111
驅動Y7=0,Y6=0,Y5=0,Y4=1,Y3=0,Y2=1,Y1=1 Y0=1。
當用連續方式執行CML時,條件滿足時,每個掃描周期執行一次。
注意:處理16位時源數據不可超出0---9999,處理32位不可超過0—99999999。
一組BCD碼四位,只能表示一位十進制數,最大可變換9。即對于KnY0,不可能使Y0、Y1、Y2、Y3全置1。
(D)BIN(P)指令將源操作元件中的BCD碼轉化為二進制數據送到目標元件。常用于將BCD數字開關的設定值輸入到PLC中
操作元件:KnX KnY KnM KnS T C D V/Z
目標元件:KnY KnM KnS T C D V/Z
數據范圍:0—9999或0--99999999
使用格式:如X7=1,X6=0, X5=0,X4=0,X3=0,X2=1,X1=0,X0=1。
LD X0
BIN(P) K2X0 D10
當X0由OFF到ON時:K2X0組成的BCD碼為1000 0101,再將其轉化為二進制數存到D10,再轉化為十進制,即D10=86
當用連續方式執行BIN時,條件滿足時,每個掃描周期執行一次。
注意:一組K1X0只能表示一位十進制數,最大為9。即向目標元件送兩位數時要用兩組KnX