一.浮点运算指令
指令助记符
|
指令功能
|
ECMP
|
浮点数比较
|
EZCP
|
浮点数区间比较
|
EADD
|
浮点数加法
|
ESUB
|
浮点数减法
|
EMUL
|
浮点数乘法
|
EDIV
|
浮点数除法
|
ESQR
|
浮点数开方
|
SIN
|
浮点数 SIN 运算
|
COS
|
浮点数 COS 运算
|
TAN
|
浮点数 TAN 运算
|
ASIN
|
浮点数反 SIN 运算
|
ACOS
|
浮点数反 COS 运算
|
ATAN
|
浮点数反 TAN 运算
|
1.浮点数比较[ECMP]
1)指令概述
比较两个源数据内的二进制浮点数的指令。
浮点数比较[ECMP]
|
16 位指令
|
|
32 位指令
|
ECMP
|
执行条件
|
常开/闭、边沿触发
|
适用机型
|
XD 全系列、XL 全系列
|
2)操作数
操作数
|
作用
|
类型
|
S1
|
指定进行比较的数据或软元件地址编号
|
32 位,BIN
|
S2
|
指定进行比较的数据或软元件地址编号
|
32 位,BIN
|
D
|
指定保存比较结果的软元件首地址编号
|
位
|
3)功能和动作

X0 为 OFF 时,即使 ECMP 指令不执行,M0~M2 保持 X0 为 OFF 以前的状态。
l 比较两个源数据内的二进制浮点值,根据大小一致比较结果,对应输出 M0 开始的 3 点 ON/OFF 状态。
l 常数 K,H 被指定为源数据时,自动转换成二进制浮点值处理。

(K500) ∶(D101,D100)→ M10,M11,M12
自动二进制 二进制浮点化
浮点化
【注】:请在指令执行前,比较数据必须全部为浮点数(如果为整数可以通过 FLT 指令进行转换);否则执行结果将会出错。
2.浮点数区间比较[EZCP]
1)指令概述
将指定数据进行上下两点的范围比较的指令。 、
浮点数区间比较[EZCP]
|
16 位指令
|
|
32 位指令
|
EZCP
|
执行条件
|
常开/闭、边沿触发
|
适用机型
|
XD 全系列、XL 全系列
|
2)操作数
操作数
|
作用
|
类型
|
S1
|
指定比较基准下限的数据或软元件地址编号
|
32 位,BIN
|
S2
|
指定比较基准上限的数据或软元件地址编号
|
32 位,BIN
|
S3
|
指定当前比较数据或软元件地址编号
|
32 位,BIN
|
D
|
指定比较结果的软元件首地址编号
|
位
|
3)功能和动作
对 2 点的设定值的大小比较。

X0 即使不执行 EZCP 指令,M3~M5 也能保持 X0 OFF 以前的状态。
l 将[
,
+1]的内容与用二进制浮点值指定的上下 2 点的范围比较,对应输出

开始的 3 点 ON/OFF 状态。
l 常数 K、H 被指定为源数据时,自动转换成二进制浮点值处理。

(K10) ∶[D6,D5]∶(K2800) → M0,M1,M2
自动二进 二进制 自动二进
制浮点化 浮点数 制浮点化
【注】:请在指令执行前,比较数据必须全部为浮点数(如果为整数可以通过 FLT 指令进行转换);否则执行结果将会出错。
3.浮点数加法[EADD]
1)指令概述
将两个数据进行浮点数相加运算的指令。 、
浮点数加法[EADD]
|
16 位指令
|
|
32 位指令
|
EADD
|
执行条件
|
常开/闭、边沿触发
|
适用机型
|
XD 全系列、XL 全系列
|
2)操作数
操作数
|
作用
|
类型
|
S1
|
指定进行相加的数据或软元件地址编号
|
32 位,BIN
|
S2
|
指定进行相加的数据或软元件地址编号
|
32 位,BIN
|
D
|
指定存储运算结果的软元件地址编号
|
32 位,BIN
|
3)功能和动作

(D11, D10) + (D21, D20) → (D51, D50)
二进制浮点数 二进制浮点数 二进制浮点数
l 两个数据源内的二进制浮点值(必须要为浮点数,如为整数可以通过 FLT 指令先进行整数转浮点数)相加后,作为二进制浮点值存入目的地址之中。
l 常数 K,H 被指定为源数据时,自动转换成二进制浮点值处理。

(K1234) + ( D101, D100) → (D111, D110)
自动二进 二进制浮点 二进制浮点
制浮点化
l 源数据和目的地址也可以指定同一元件号。请注意,当 X0 为 ON 时,在每个扫描周期均相加一次。
【注】:请在指令执行前,两个加数据必须全部为浮点数(如果为整数可以通过 FLT 指令进行转换);否则执行结果将会出错。
4.浮点数减法[ESUB]
1)指令概述
将两个数据进行浮点数相减运算的指令。 、
浮点数减法[ESUB]
|
16 位指令
|
|
32 位指令
|
ESUB
|
执行条件
|
常开/闭、边沿触发
|
适用机型
|
XD 全系列、XL 全系列
|
2)操作数
操作数
|
作用
|
类型
|
S1
|
指定进行相减的数据或软元件地址编号
|
32 位,BIN
|
S2
|
指定进行相减的数据或软元件地址编号
|
32 位,BIN
|
D
|
指定存储运算结果的软元件地址编号
|
32 位,BIN
|
3)功能和动作
(D11, D10) - (D21, D20) → (D51, D50)
二进制浮点 二进制浮点 二进制浮点
l
指定的元件内的二进制浮点值(必须要为浮点数,如为整数可以通过 FLT 指令先进行整数转浮
点数)减去指定的元件内的二进制浮点值(必须要为浮点数,如为整数可以通过 FLT 指令先进行整数转浮点数),并将其结果作为二进制浮点值存入目的地址之中。
l 常数 K,H 被指为源数据时,自动转换成二进制浮点值处理。
(K1234)- (D101, D100) → (D111, D110)
自动二进 二进制浮点 二进制浮点
制浮点化
l 源数据和目的地址也可以指定同一元件号。请注意,当 X0 为 ON 时,在每个扫描周期 均相减一次。
【注】:请在指令执行前,减数与被减数数据必须全部为浮点数(如果为整数可以通过 FLT 指令进行转换);否则执行结果将会出错。
5.浮点数乘法[EMUL]
1)指令概述
将两个数据进行浮点数相乘运算的指令。 、
浮点数乘法[EMUL]
|
16 位指令
|
|
32 位指令
|
EMUL
|
执行条件
|
常开/闭、边沿触发
|
适用机型
|
XD 全系列、XL 全系列
|
2)操作数
操作数
|
作用
|
类型
|
S1
|
指定进行相乘的数据或软元件地址编号
|
32 位,BIN
|
S2
|
指定进行相乘的数据或软元件地址编号
|
32 位,BIN
|
D
|
指定存储运算结果的软元件地址编号
|
32 位,BIN
|
3)功能和动作
(D11, D10)×(D21, D20)→(D51, D50)
二进制浮点 二进制浮点 二进制浮点
l 将两个源数据内的二进制浮点值(必须要为浮点数,如为整数可以通过 FLT 指令先进行整数转浮点数)的积作为二进制浮点值存入目的地址中。
l 常数 K、H 被指定为源数据时,自动转换为二进制浮点值处理。
(K100)×(D101, D100)→(D111, D110)
自动二进 二进制浮点 二进制浮点
制浮点化
【注】:请在指令执行前,两个相乘数据必须全部为浮点数(如果为整数可以通过 FLT 指令进行转换);否则执行结果将会出错。
6.浮点数除法[EDIV]
1)指令概述
将两个数据进行浮点数相除运算的指令。 、
浮点数除法[EDIV]
|
16 位指令
|
|
32 位指令
|
EDIV
|
执行条件
|
常开/闭、边沿触发
|
适用机型
|
XD 全系列、XL 全系列
|
2)操作数
操作数
|
作用
|
类型
|
S1
|
进行相除的数据或软元件地址编号
|
32 位,BIN
|
S2
|
进行相除的数据或软元件地址编号
|
32 位,BIN
|
D
|
指定存储运算结果的软元件地址编号
|
32 位,BIN
|
3)功能和动作
(D11, D10)÷(D21, D20)→(D51, D50)
二进制浮点 二进制浮点 二进制浮点
l
指定的元件内的二进制浮点值(必须要为浮点数,如为整数可以通过 FLT 指令先进行整数转浮
点数)除以用指定的元件内的二进制浮点值(必须要为浮点数,如为整数可以通过 FLT 指令先进行整数转浮点数),并将其结果作为二进制浮点值存入目的地址之中。
l 常数 K、H 被指为源数据时,自动转换成二进制浮点值处理。
(D101, D100)÷(K100)→(D111, D110)
二进制浮点数 自动二进 二进制浮点数
制浮点化
l 除数
为 0 时,则运算错误,指令不能执行。
【注】:请在指令执行前,除数与被除数数据必须全部为浮点数(如果为整数可以通过 FLT 指令进行转换);否则执行结果将会出错。
7.浮点数开方[ESQR]
1)指令概述
对指定数据进行浮点数开方运算的指令。 、
浮点数开方[ESQR]
|
16 位指令
|
|
32 位指令
|
ESQR
|
执行条件
|
常开/闭、边沿触发
|
适用机型
|
XD 全系列、XL 全系列
|
2)操作数
操作数
|
作用
|
类型
|
S
|
指定进行开方运算的数据或软元件地址编号
|
32 位,BIN
|
D
|
指定存储运算结果的软元件地址编号
|
32 位,BIN
|
3)功能和动作

(D11,D10)→(D21,D20)
二进制浮点 二进制浮点
l 进行用源数据指定的元件内二进制浮点值(必须要为浮点数,如为整数可以通过 FLT 指令先进行整数转浮点数)的平方根运算,作为二进制浮点数存入目的地址之中。
l 常数 K、H 被指为源数据时,自动转换成二进制浮点值处理。

(K1024)→(D111,D110)
自动二进制 二进制浮点
浮点化
l 运算结果为零时,零标志位动作。
l 源数据的内容只有正数时有效,负数时运算错误(SM409)动作,SD409=7 指令不能执行。
【注】:请在指令执行前,被开方数据必须为浮点数(如果为整数可以通过 FLT 指令进行转换);否则执行结果将会出错。
|