一.数据运算指令
指令助记符
|
指令功能
|
ADD
|
加法
|
SUB
|
减法
|
MUL
|
乘法
|
DIV
|
除法
|
INC
|
加 1
|
DEC
|
减 1
|
MEAN
|
求平均值
|
WAND
|
逻辑与
|
WOR
|
逻辑或
|
WXOR
|
逻辑异或
|
CML
|
取反
|
NEG
|
求负
|
1.乘法运算[MUL]
1)指令概述
将两个数据进行二进制乘法运算,并对结果进行存储。
乘法运算[MUL]
|
16 位指令
|
MUL
|
32 位指令
|
DMUL
|
执行条件
|
常开/常闭、边沿触发
|
适用机型
|
XD 全系列、XL 全系列
|
2)操作数
操作数
|
作用
|
类型
|
S1
|
指定进行乘法运算的数据或软元件地址编号
|
16 位/32 位,BIN
|
S2
|
指定进行乘法运算的数据或软元件地址编号
|
16 位/32 位,BIN
|
D
|
指定保存乘法结果的软元件地址编号
|
16 位/32 位,BIN
|
3)功能和动作
《16 位运算》
各源指定的软元件内容的乘积,以 32 位数据形式存入目标地址指定的软元件(低位)和紧接其后的软元件(高位)中。上图示例:(D0)=8、(D2)=9 时,(D5,D4)=72。
结果的最高位是正(0)、负(1)符号位。
要注意的是,上例中驱动输入 X0 为 ON 时,每个扫描周期都执行一次乘法运算。
《32 位运算》
在 32 位运算中,目标地址使用位软元件时,得到 64 位的结果(占用连续四个寄存器,注意请勿重复使用)。
在使用字元件时,也不能直接监视到 64 位数据的运算结果;这种情况下建议最好使用浮点运算。
2.除法运算[DIV]
1)指令概述
将两个数据进行二进制除法运算,并对结果进行存储。
除法运算[DIV]
|
16 位指令
|
DIV
|
32 位指令
|
DDIV
|
执行条件
|
常开/常闭、边沿触发
|
适用机型
|
XD 全系列、XL 全系列
|
2)操作数
操作数
|
作用
|
类型
|
S1
|
指定进行除法运算的数据或软元件地址编号
|
16 位/32 位,BIN
|
S2
|
指定进行除法运算的数据或软元件地址编号
|
16 位/32 位,BIN
|
D
|
指定保存除法结果的软元件地址编号
|
16 位/32 位,BIN
|
3)功能和动作
《16 位运算》
指定软元件的内容是被除数,
指定软元件的内容是除数,
指定的软元件和其下一个编号的软元件将存入商和余数。
要注意的是,上例中驱动输入 X0 为 ON 时,每个扫描周期都执行一次除法运算。
《32 位运算》
被除数内容是由
指定软元件和其下一个编号的软元件组合而成,除数内容是由
指定的软元件和其下一个编号的软元件组合而成,其商和余数如上图所示,存入与
指定软元件相连接的 4 点软元件。
除数为 0 时发生运算错误,不能执行指令。
商和余数的最高位为正(0)、负(1)的符号位。当被除数或除数中的一方为负数时,商则为负,当被除数为负时余数则为负。
3.自加 1[INC]、自减 1[DEC]
1)指令概述
将指定软元件中的数据进行加 1/减 1 运算。
自加 1[INC]
|
16 位指令
|
INC
|
32 位指令
|
DINC
|
执行条件
|
常开/闭、边沿触发
|
适用机型
|
XD 全系列、XL 全系列
|
自减 1[DEC]
|
16 位指令
|
DEC
|
32 位指令
|
DDEC
|
执行条件
|
常开/闭、边沿触发
|
适用机型
|
XD 全系列、XL 全系列
|
2)操作数
操作数
|
作用
|
类型
|
D
|
指定进行自加 1/减 1 运算的软元件地址编号
|
16 位/32 位,BIN
|
3)功能和动作
《自加 1 运算》
X0 每置 ON 一次,
指定的软元件的内容就加 1。
16 位运算时,如果+32,767 加 1 则变为-32,768,标志位动作;32 位运算时,如果+2,147,483,647 加 1则变为-2,147,483,648,标志位动作。
《自减 1 运算》
X1 每置 ON 一次,
指定的软元件的内容就减 1。
-32,768 或-2,147,483,648 减 1,则为+32,767 或+2,147,483,647,标志位动作。
【注】:边沿指令触发时,每触发一次执行一次自加自减运算;如果是常开/常闭触发,则导通后每个扫描周期都会执行一次自加自减运算。
|