[西门子] 信捷XDXL系列PLC浮点运算指令(上)

[复制链接]
查看283 | 回复0 | 2024-11-19 13:30:34 | 显示全部楼层 |阅读模式
>

一.浮点运算指令  

指令助记符

指令功能

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 以前的状态。

比较两个源数据内的二进制浮点值,根据大小一致比较结果,对应输出 M0 开始的  ON/OFF 状态。

常数 K被指定为源数据时,自动转换成二进制浮点值处理。

K500 ∶(D101D100→ M10M11M12

自动二进制 二进制浮点化

浮点化

【注】:请在指令执行前,比较数据必须全部为浮点数(如果为整数可以通过 FLT 指令进行转换);否则执行结果将会出错。

2.浮点数区间比较[EZCP]

1)指令概述

将指定数据进行上下两点的范围比较的指令。 

浮点数区间比较[EZCP]

16 位指令


32 位指令

EZCP

执行条件

常开/闭、边沿触发

适用机型

XD 全系列、XL 全系列

2)操作数

操作数

作用

类型

S1

指定比较基准下限的数据或软元件地址编号

32 位,BIN

S2

指定比较基准上限的数据或软元件地址编号

32 位,BIN

S3

指定当前比较数据或软元件地址编号

32 位,BIN

D

指定比较结果的软元件首地址编号

3)功能和动作

 点的设定值的大小比较。

X0 即使不执行 EZCP 指令,M3~M5 也能保持 X0 OFF 以前的状态。

[

 1]的内容与用二进制浮点值指定的上下 点的范围比较,对应输出
 开始的 点 ON/OFF 状态。

常数 K被指定为源数据时,自动转换成二进制浮点值处理。

K10 [D6,D5]∶(K2800 → M0M1M2

自动二进  二进制    自动二进

制浮点化  浮点数    制浮点化

【注】:请在指令执行前,比较数据必须全部为浮点数(如果为整数可以通过 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)

二进制浮点数 二进制浮点数 二进制浮点数

两个数据源内的二进制浮点值(必须要为浮点数,如为整数可以通过 FLT 指令先进行整数转浮点数)相加后,作为二进制浮点值存入目的地址之中。

常数 K被指定为源数据时,自动转换成二进制浮点值处理。

K1234 + ( D101, D100)  (D111, D110)

自动二进 二进制浮点 二进制浮点

制浮点化

源数据和目的地址也可以指定同一元件号。请注意,当 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 指令先进行整数转浮点数),并将其结果作为二进制浮点值存入目的地址之中。

常数 K被指为源数据时,自动转换成二进制浮点值处理。

K1234)- (D101, D100)  (D111, D110)

自动二进 二进制浮点 二进制浮点

制浮点化

源数据和目的地址也可以指定同一元件号。请注意,当 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

二进制浮点 二进制浮点 二进制浮点

将两个源数据内的二进制浮点值(必须要为浮点数,如为整数可以通过 FLT 指令先进行整数转浮点数)的积作为二进制浮点值存入目的地址中。

常数 K被指定为源数据时,自动转换为二进制浮点值处理。

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 指令先进行整数转浮点数),并将其结果作为二进制浮点值存入目的地址之中。

常数 K被指为源数据时,自动转换成二进制浮点值处理。

D101, D100÷(K100→(D111, D110

二进制浮点数 自动二进 二进制浮点数

制浮点化

除数

为 时,则运算错误,指令不能执行。

【注】:请在指令执行前,除数与被除数数据必须全部为浮点数(如果为整数可以通过 FLT 指令进行转换);否则执行结果将会出错。

7.浮点数开方[ESQR]

1)指令概述

对指定数据进行浮点数开方运算的指令。 

浮点数开方[ESQR]

16 位指令


32 位指令

ESQR

执行条件

常开/闭、边沿触发

适用机型

XD 全系列、XL 全系列

2)操作数

操作数

作用

类型

S

指定进行开方运算的数据或软元件地址编号

32 位,BIN

D

指定存储运算结果的软元件地址编号  

32 位,BIN

3)功能和动作

D11,D10→(D21,D20

二进制浮点 二进制浮点

进行用源数据指定的元件内二进制浮点值(必须要为浮点数,如为整数可以通过 FLT 指令先进行整数转浮点数)的平方根运算,作为二进制浮点数存入目的地址之中。

常数 K被指为源数据时,自动转换成二进制浮点值处理。

K1024→(D111D110

自动二进制 二进制浮点

浮点化

运算结果为零时,零标志位动作。

源数据的内容只有正数时有效,负数时运算错误(SM409)动作,SD409=7 指令不能执行。

【注】:请在指令执行前,被开方数据必须为浮点数(如果为整数可以通过 FLT 指令进行转换);否则执行结果将会出错。



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则