企业信息

    上海腾希电气技术有限公司

  • 16
  • 公司认证: 营业执照已认证
  • 企业性质:私营企业
    成立时间:2012
  • 公司地址: 上海市 松江区 上海市松江区广富林路4855弄星月大业**88号4楼
  • 姓名: 田礼科
  • 认证: 手机未认证 身份证未认证 微信未绑定

    联系方式

    上海腾希电气技术有限公司

  • 公司地址: 上海市 松江区 上海市松江区广富林路4855弄星月大业**88号4楼
  • 姓名: 田礼科

如何在 WinCC SCADA (V7)的 IO 域中实现线性缩放?

时间:2021-06-29点击次数:733

在实际应用中,很多时候都需要在 WinCC Runtime 中对不同单位参数进行数据转换,例如:“克--千克”,通过 VB 脚本可以快速的实现数据的转换。 本FAQ 中详细描述了如何实现输入值和输出值的线性缩放。
问题
用户无法直接在 IO 域中输入缩放参数值,例如,将 IO 域中的值按比例(例如 1000)进行缩放。

解决方案
为了实现相应功能,需要对一个 IO 域创建两个 VB 脚本。
在 IO 域的 “输入值” 属性的 “事件-->变化时执行” 中添加下列脚本:

Code block

'Reading the PLC variable "Integer"

Dim IntegerScal

Set IntegerScal = HMIRuntime.Tags("Integer")

'Assigning the value of the IO field

item.OutputValue = value

'Scaling the value with your chosen scaling factor

IntegerScal.Value = item.OutputValue * Scaling factor

'Writing the variable

IntegerScal.Write


下图中显示了相关设置(如图1)。


图. 1

用户同时需要在“过程值”属性中添加 VB 脚本。
首先需要读取 PLC 中的变量值,将其除以一个比例因子(例如 1000),然后将结果传送给过程值。

Code block

'Reading the PLC variable "Integer"

Dim IntegerScal

Set IntegerScal = HMIRuntime.Tags("Integer")

IntegerScal.Read

'Scaling the process value by the scaling factor

OutputValue_Trigger = IntegerScal.Value / Scaling factor

为了正确的触发上述脚本,需要把 PLC 变量 “Integer” 的扫描模式设置为“有变化时”(如图2)。



http://shtxjd.cn.b2b168.com

上一篇:删除 SQL 实例