- {{item.name}}
WinCC 过程变量线性转换
- 0
- 6
一 概述
本文将介绍如何在WinCC V8.1中对S7-1500 PLC的变量进行两次转换。例如,在PLC中存在一个双整形变量(地址:DB1.DBD0),如图1所示:

图1
现在需要对此变量缩小100倍显示在WinCC画面中,要求保留2位小数。
下面将会介绍两种实现方法:WinCC变量的线性转换、画面中IO域小数点移位。
方法一:WinCC变量的线性转换
在WinCC中创建和S7-1500 PLC的通信连接,并在通信连接下创建32位浮点数变量,如图2所示:

图2
由于对应的PLC地址DB1.DBD0是双整形数据类型,因此需要设置WinCC变量的“调整格式”属性为“FlotToSignedDword”,变量地址对应为DB1.DBD0。
接着,设置WinCC变量的线性标定属性,如图3所示:

图3
由于需要把PLC的数值缩小100倍,因此AS(PLC)值范围为0-100,对应的OS(WinCC)值范围设置0-1,缩小100倍。
然后,在WinCC画面中插入IO域,直接关联WinCC变量,为了保留2位小数,本例设置IO域对象的输出格式为“s999.99”,s代表有符号,999.99代表显示三位整数和两位小数,如图4所示:

图4
运行WinCC项目,可以看到WinCC变量的数值是PLC中数值缩小100倍的结果,如图5和图6所示。同样,在IO域中设定的数值也会放大100倍写入到PLC中。

图5

图6
方法二:IO域小数点移位
这种方法是直接处理IO域的输出和输入数值,而不需要对变量进行线性标定。
创建WinCC变量,数据类型为无符号的32位值,地址为DB1.DBD0,如图7所示:

图7
此变量不需要设置“线性标定”属性,如图8所示:

图8
在WinCC画面中添加IO域,设置IO域的“输出格式”属性为s999.99,然后在“输出值”属性中动态列上点击右键,在弹出菜单中选择“动态对话框”,如图9所示:

图9
在“表达式/公式”中输入:’变量名’/100.0,“数据类型”选择“直接”,如图10所示:

图10
上面的步骤可以实现对PLC数值缩小100倍来显示。那么如何实现,输入的数值扩大100倍来写到PLC中呢?这就要在IO域的“输入值”事件中来使用脚本来实现,如图11所示:

图11
使用如下脚本:

在脚本中,把IO域的输入值乘以100后写入到PLC变量中。
运行WinCC项目,同样可以看到WinCC显示的数值是PLC中数值缩小100倍的结果,如图12和图13所示。

图12

图13
同样,在IO域中设定的数值也会放大100倍写入到PLC中。如图14所示。

图14
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错


西门子官方商城


{{item.nickName}}