• {{item.name}}
SIMATIC WinCC {{item.name}}
{{item2.name}}
更多

WinCC 过程变量线性转换

star star star star star
0 分
发布时间:2026年01月22日
  • 0
  • 6
本文将介绍如何在WinCC V8.1中对S7-1500 PLC的变量进行线性转换。

一 概述

本文将介绍如何在WinCC V8.1中对S7-1500 PLC的变量进行两次转换。例如,在PLC中存在一个双整形变量(地址:DB1.DBD0),如图1所示:

图1

现在需要对此变量缩小100倍显示在WinCC画面中,要求保留2位小数。

下面将会介绍两种实现方法:WinCC变量的线性转换、画面中IO域小数点移位。


方法一:WinCC变量的线性转换

在WinCC中创建和S7-1500 PLC的通信连接,并在通信连接下创建32位浮点数变量,如图2所示:

图形用户界面, 文本, 应用程序

AI 生成的内容可能不正确。

图2

由于对应的PLC地址DB1.DBD0是双整形数据类型,因此需要设置WinCC变量的“调整格式”属性为“FlotToSignedDword”,变量地址对应为DB1.DBD0。

接着,设置WinCC变量的线性标定属性,如图3所示:

文本, 表格

AI 生成的内容可能不正确。

图3

由于需要把PLC的数值缩小100倍,因此AS(PLC)值范围为0-100,对应的OS(WinCC)值范围设置0-1,缩小100倍。

然后,在WinCC画面中插入IO域,直接关联WinCC变量,为了保留2位小数,本例设置IO域对象的输出格式为“s999.99”,s代表有符号,999.99代表显示三位整数和两位小数,如图4所示:

图形用户界面

AI 生成的内容可能不正确。

图4

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

表格

AI 生成的内容可能不正确。

图5

图6

方法二:IO域小数点移位

这种方法是直接处理IO域的输出和输入数值,而不需要对变量进行线性标定。

创建WinCC变量,数据类型为无符号的32位值,地址为DB1.DBD0,如图7所示:

图7

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

表格

AI 生成的内容可能不正确。

图8

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

图形用户界面, 应用程序

AI 生成的内容可能不正确。

图9

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

图形用户界面, 文本, 应用程序

AI 生成的内容可能不正确。

图10

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



图形用户界面

AI 生成的内容可能不正确。

图11

使用如下脚本:

文本

AI 生成的内容可能不正确。

在脚本中,把IO域的输入值乘以100后写入到PLC变量中。

运行WinCC项目,同样可以看到WinCC显示的数值是PLC中数值缩小100倍的结果,如图12和图13所示。

表格

AI 生成的内容可能不正确。

图12

图13

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

图14





  • 评论
更多
  • 分享

    扫码分享

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。