- {{item.name}}
更多
常问问题
5.0 分
如何通过 SIMATIC S7-300/400 CPU 在 STEP7 V5.5 中处理 64 位浮点数?
文档编号:56600676|
文档类型:常问问题|
发布时间:2023年11月02日
- 0
- 392
- 2013
内容预览:
描述:
在 SIMATIC S7-300/400 CPU 中不能直接处理 64 位数据类型的数据,所以需要将它转换成不同类型的数据进行处理。这种转换会在数据的精度和/或取值范围方面带来影响。这些影响一方面是由于数据长度减少了 32 位,另一方面是由于浮点数数据格式的近似表示方法。
......
描述在 SIMATIC S7-300/400 CPU 中不能直接处理 64 位数据类型的数据,为了数据使用需要将它转换成不同类型的数据。这种转换会导致数据的精度降低和/或取值范围有局限。这些影响一方面是由于数据长度减少了 32 位,另一方面是由于浮点数数据格式的近似表示方法。
本条目中供下载的 STEP 7 程序中包含四个功能块。这些功能块用于将 64 位浮点数(符合 IEEE754 标准)转换为如下数据类型。
- DINT ( 32 位整数 )整数 (FC2)
- REAL ( 32 位浮点数)实数 (FC3)
以及将如下数据类型转换为 64 位浮点数。
- DINT ( 32 位整数 )整数 (FC1)
- REAL ( 32 位浮点数 )实数 (FC4)

图 1 STEP7 程序的结构
下表列出了功能块的接口参数
| 名称 | 类型 | 描述 |
|---|---|---|
| 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 程序中还包含一个变量表,可以通过这个变量表给功能块赋值。

图 2 变量表的摘录
下载
64_bit_convertion.zip (282,2 KB)
创建环境
这个 FAQ 中供下载的 STEP7 程序是在 SIMATIC STEP7 V5.5 + SP3 环境下创建的。
https://support.industry.siemens.com/cs/cn/zh/view/56600676
- 评论
更多
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
关联文档
- 如何通过 SIMATIC S7-300/400 CPU 在 STEP7 V11 中处理 64 位浮点数?
- 如何通过3G网络对 S7-300/400远程编程调试
- 如何将定时器(Timer)的剩余时间转为浮点数(Real)?
- 如何通过 PROFIBUS/MPI网络组态WinCC flexible Runtime (PC/Panel)和SIMATIC S7-300/S7-400之间通讯?
- 如何通过STEP7(TIA Portal)或web服务器保存CPU的服务数据?
- 如何通过用户程序读出SIMATIC存储卡的序列号?
- 在 STEP 7 V5.5 软件中,如何在用户程序里读取出 S7-300 CPU 的IP地址?
- 在 STEP 7 V5 中通过 PROFINET 或 PROFIBUS-DP 将 SINAMICS G120 变频器连接至故障安全 S7-300/400 CPU
- SINAMICS S:通过带有 Safety Integrated 的 PROFIBUS/PROFINET 定位带 S7-300/-400 (STEP7 V5) 的 S120 (通过终端)
- 如何才能将来自 SIMATIC S7-300 / 400 的系统错误消息显示在 WinCC flexible 中?


西门子官方商城




{{item.nickName}}