一.数据运算指令
指令助记符
|
指令功能
|
ADD
|
加法
|
SUB
|
减法
|
MUL
|
乘法
|
DIV
|
除法
|
INC
|
加 1
|
DEC
|
减 1
|
MEAN
|
求平均值
|
WAND
|
逻辑与
|
WOR
|
逻辑或
|
WXOR
|
逻辑异或
|
CML
|
取反
|
NEG
|
求负
|
1.加法运算[ADD]
1)指令概述
将两个数据进行二进制加法运算,并对结果进行存储的指令。
加法运算[ADD]
|
16 位指令
|
ADD
|
32 位指令
|
DADD
|
执行条件
|
常开/常闭、边沿触发
|
适用机型
|
XD 全系列、XL 全系列
|
2)操作数
操作数
|
作用
|
类型
|
三个操作数时
|
S1
|
指定进行加法运算的数据或软元件地址编号
|
16 位/32 位,BIN
|
S2
|
指定进行加法运算的数据或软元件地址编号
|
16 位/32 位,BIN
|
D
|
指定保存加法结果的软元件地址编号
|
16 位/32 位,BIN
|
两个操作数时
|
D
|
指定被加数及保存加法结果的软元件地址编号
|
16 位/32 位,BIN
|
S1
|
指定加数的数据或软元件地址编号
|
16 位/32 位,BIN
|
3)功能和动作
《三个操作数时》
l 两个源数据进行二进制加法后传递到目标处。各数据的最高位是正(0)、负(1)符号位,这些数据以代数形式进行加法运算(5+(-8)=-3)。
l 运算结果为 0 时,0 标志会动作。如运算结果超过 32,767(16 位运算)或 2,147,483,647(32 位运算)时,进位标志会动作(参照下一页)。如运算结果超过-32,768(16 位运算)或-2,147,483,648(32 位运算)时。
l 进行 32 位运算时,字软元件的低 16 位侧的软元件被指定,紧接着上述软元件编号后的软元件将作为高位,为了防止编号重复,建议将软元件指定为偶数编号。
l 可以将源操作数和目标操作数指定为相同的软元件编号。上例中驱动输入 X0 为 ON 时,每个扫描周期的都执行一次加法运算,请务必注意。
《两个操作数时》
l 两个源数据进行二进制加法后传递到被加数地址处。各数据的最高位是正(0)、负(1)符号位,这些数据以代数形式进行加法运算(5+(-8)=-3)。
l 运算结果为 0 时,0 标志会动作。如运算结果超过 32,767(16 位运算)或 2,147,483,647(32 位运算)时,进位标志会动作(参照“相关软元件”)。如运算结果超过-32,768(16 位运算)或-2,147,483,648(32 位运算)时。
l 进行 32 位运算时,字软元件的低 16 位侧的软元件被指定,紧接着上述软元件编号后的软元件将作为高位,为了防止编号重复,建议将软元件指定为偶数编号。
l 上例中如果X0为常开,当输入X0 为ON时,每个扫描周期都执行一次该指令,所以建议用上升沿或下降沿触发。
以上两条指令是等价的。
4)相关软元件
标志位的动作及数值涵义
软元件
|
名称
|
作用
|
SM20
|
零
|
ON:运算结果为 0 时。
OFF:运算结果为 0 以外时。
|
SM21
|
借位
|
ON:运算结果超出-32,768(16 位运算)或是-2,147,483,648(32 位运算)时,借位标志位动作。
OFF:运算结果不到-32,768(16 位运算)或是-2,147,483,648(32 位运算)时。
|
SM22
|
进位
|
ON:运算结果超出 32,767(16 位运算)或是 2,147,483,647(32 位运算)时,进位标志位动作。
OFF:运算结果不到 32,767(16 位运算)或是 2,147,483,647(32 位运算)时。
|
2.减法运算[SUB]
1)指令概述
将两个数据进行二进制减法运算,并对结果进行存储。
减法运算[SUB]
|
16 位指令
|
SUB
|
32 位指令
|
DSUB
|
执行条件
|
常开/常闭、边沿触发
|
适用机型
|
XD 全系列、XL 全系列
|
2)操作数
操作数
|
作用
|
类型
|
三个操作数时
|
S1
|
指定进行减法运算的数据或软元件地址编号
|
16 位/32 位,BIN
|
S2
|
指定进行减法运算的数据或软元件地址编号
|
16 位/32 位,BIN
|
D
|
指定保存减法结果的软元件地址编号
|
16 位/32 位,BIN
|
两个操作数时
|
D
|
指定被减数及保存减法结果的软元件地址编号
|
16 位/32 位,BIN
|
S1
|
指定减数的数据或软元件地址编号
|
16 位/32 位,BIN
|
3)功能和动作
《三个操作数时》
l
指定的软元件的内容,以代数形式减去
指定的软元件的内容,其结果被存入由
指定的软元件中 (5-(-8)=13) 。
l 各种标志的动作、32 位运算软元件的指定方法等,均与上页的 ADD 指令相同。
l 要注意的是,上例中驱动输入 X0 为 ON 时,每个扫描周期都执行一次减法运算。
《两个操作数时》
l
指定的软元件的内容,以代数形式减去
指定的软元件的内容,其结果被存入由指定的
软元件中(5-(-8)=13)。
l 各种标志的动作、32 位运算软元件的指定方法等,均与上页的 ADD 指令相同。
l 上例中如果X0为常开,当输入X0 为ON时,每个扫描周期都执行一次该指令,所以建议用上升沿或下降沿触发。
|