标准转换指令:DFTR

0

双精度浮点到实数: 将双精度浮点值 IN 转换为实数值,并将结果存入分配给 OUT 的地址处。如果转换的值过大以至于无法在输出中表示,则溢出位将置位,并且输出不受影响。

替代指令库

LGF_DataConvert指令库及其使用

LGF_DataConvert 库文件夹下包含一个库指令: LGF_LREALToREAL

注意:

此指令库使用STEP 7 MicroWIN SMART V2.6版本编写,请在STEP 7 MicroWIN SMART V2.6或更高版本软件中使用该库指令。

此指令库/程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。使用该软件的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。

在项目中使用库

LGF_DataConvert指令库

创建完成的指令库文件扩展名为".smartlib"。库文件可以作为单独的文件拷贝、移动,将库文件移动至系统库文件夹下即可使用库指令(STEP 7-Micro/WIN SMART库文件夹一般存储路径为"C:\Users\Public\Documents\Siemens\STEP 7-MicroWIN SMART\Lib")。如果操作完成打开软件后未找到库指令,在库菜单栏下单击右键选择"刷新库"即可。

成功添加指令库后,用户可以在STEP7 Micro/win的指令树中找到‘LGF_DataConvert(v1.2)'

图1.LGF_DataConvert库

LGF_DataConvert简介

对从起始地址存储的双精度浮点数进行转换,转换成单精度浮点数。Smart200系列PLC不支持双精度浮点数。双精度浮点数占用存储空间为起始地址开始的8个Byte,单精度浮点数占用地址为4个Byte。

使用库指令LGF_LREALToREAL需注意:

使用库指令进行浮点数转换,并不是所有的双精度浮点数都可以转换成单精度,因为双精度浮点数所表示的范围比单精度大很多,所以当超过单精度浮点数所表示的范围时,程序块会报错;

注意单精度浮点数在smart200系列PLC中有效位数为7位,当输入有效位数超过7位时会忽略掉多余的位数,在进行运算过程中需要注意;

由于单精度浮点数有效位数的限制,双精度浮点数转单精度浮点数时可能造成结果不准,使用者需自行判断该程序块是否适用并承担其后果。

程序块:

图 2. LGF_LREALToREAL

表 1. LGF_LREALToREAL参数

参数 声明 数据类型 注释
inputAdress IN DWORD 双精度浮点数的起始地址
outReal OUT DWORD 单精度浮点数的存储位置
error OUT BOOL 错误标识位

相关日志

Related Post

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注