(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