QQ登录

只需一步,快速开始

如何通过 SIMATIC S7-300/400 CPU 在 STEP7 V5.5 中处理 64 位浮点数

[ 复制链接 ]
如何通过 SIMATIC S7-300/400 CPU 在 STEP7 V5.5 中处理 64 位浮点数描述 在 SIMATIC S7-300/400 CPU 中不能直接处理 64 位数据类型的数据,为了数据使用需要将它转换成不同类型的数据。这种转换会导致数据的精度降低和/或取值范围有局限。


描述
在 SIMATIC S7-300/400 CPU 中不能直接处理 64 位数据类型的数据,为了数据使用需要将它转换成不同类型的数据。这种转换会导致数据的精度降低和/或取值范围有局限。这些影响一方面是由于数据长度减少了 32 位,另一方面是由于浮点数数据格式的近似表示方法。
本条目中供下载的 STEP 7 程序中包含四个功能块。这些功能块用于将 64 位浮点数(符合 IEEE754 标准)转换为如下数据类型。
  • DINT ( 32 位整数 )整数 (FC2)
  • REAL ( 32 位浮点数)实数 (FC3)
以及将如下数据类型转换为 64 位浮点数。
  • DINT ( 32 位整数 )整数 (FC1)
  • REAL ( 32 位浮点数 )实数 (FC4)

如何通过 SIMATIC S7-300/400 CPU 在 STEP7 V5.5 中处理 64 位浮点数

如何通过 SIMATIC S7-300/400 CPU 在 STEP7 V5.5 中处理 64 位浮点数

下表列出了功能块的接口参数

名称
类型
描述

DINT2LREAL (FC1)

IN
输入
DINT 数据类型的输入值

OUT
输出
LREAL 数据类型的输出值

LREAL2DINT (FC2)

IN
输入
LREAL数据类型的输入值

Ret_Val
返回
DINT 数据类型的输出值

STATUS
输出
输出状态值*

LREAL2REAL (FC3)

IN
输入
LREAL 数据类型的输入值

Ret_Val
返回
REAL 数据类型的输出值

STATUS
输出
输出状态值*

REAL2LREAL (FC4)

IN
输入
REAL 数据类型的输入值

OUT
输出
LREAL 数据类型的输出值

表1
* 状态信息是按位的形式给出的。

表 2列出了各状态位描述

位号
描述

0
LREAL 的值比0大

1
LREAL 的值比0小

2
上溢: LREAL的数值大于最大的能显示的实数值

3
下溢(非规范化的范围): LREAL 的值小于最小的能显示的实数值。数值近似为0.

4
转换时丢失信息

5
保留

6
警告

7
错误

表 2


供下载的 STEP7 程序中还包含一个变量表,可以通过这个变量表给功能块赋值。

创建环境
这个 FAQ 中供下载的 STEP7 程序是在 SIMATIC STEP7 V5.5 + SP3  环境下创建的

如何通过 SIMATIC S7-300/400 CPU 在 STEP7 V5.5 中处理 64 位浮点数

如何通过 SIMATIC S7-300/400 CPU 在 STEP7 V5.5 中处理 64 位浮点数


程序部分下载

请点击此处下载

查看状态:已购买或有权限

您的用户组是:游客

文件名称:如何通过 SIMATIC S7-300400 CPU 在 STEP7 V5.5 中处理 64 位浮点数.zip 
文件大小:282.24 KB 
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我









回复

使用道具 举报

快速回复 返回列表 客服中心 搜索