分享

西门子PLC模拟量输入输出相关数据类型转换

 晓耀 2019-03-31

PLC模拟量输入输出都会涉及到数据类型的互转问题,然而西门子300系统对于数据格式有着明确的规定,一般的四则运算都是在同一数据类型下才能进行的,这也是一直以来困扰初学者的一个问题。

西门子300编程软件step7 和 博图都提供了相应的模拟量输入输出处理模块FC105,FC106。但是好多场合下,要对数据进行线性转换或运算,靠这两个函数是远远不够的。这时候就需要用户自己动手写一些数据转换的子程序。所以知道西门子数据类型转换是很有必要的。

1.模拟量数据采集值(PIW INT) 转换为 物理量(浮点数real)

西门子PLC通过采集通道采集到的值以整型(INT)型式保存在PIWx(PIW0)内,要换算为浮点型式的物理量需要经过以下两步。

第一步:把INT 转换为 DINT ,不用为为什么,就是精度精度精度。

第二部:把DINT 转换为REAL。

这两步都很简单,如图所示。难点在于,把浮点数(REAL)转换为整形(INT),再通过PQW输出。

西门子PLC模拟量输入输出相关数据类型转换

2.物理量(浮点数real) 转换为 模拟量数据输出值(PQW INT)

西门子PLC以整型(INT)型式输出模拟量(PQW0),一般的物理量都是浮点数型式,要把物理量换算为模拟量输出,需要经过以下两步。

第一步:通过ROUND函数或TRUNC函数,把REAL数据转换为DI格式。

ROUND是实数转换双字整数指令,小数点后的第一位采取四舍五入。TRUNC也是实数转换为双整数,但是去小数部分取整数。

第二部:把DINT 数据通过MOVE指令输送到VW区,再通过MOVE指令由PQW输出即可。

西门子PLC模拟量输入输出相关数据类型转换

下篇内容打算讲一下 PLC编程中常遇到的 线性转换子程序的编写和传感器标定问题。

西门子PLC模拟量输入输出相关数据类型转换

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多