官方变量_西门子触摸屏变量的三种更新方式

五一快乐

89cc0f09feebaf3dca3cccd2962cc6fc.png

在变量管理里面,变量的采集模式默认是不显示的。右键变量列表框第一栏的列表名可以勾选显示。如下图:

cbbfdfce02814ff347911f3beed4b4f2.png

在西门子不同的触摸屏编辑软件中,对应的采集三种模式的名称是不一样的。请区别对应:

Wincc Flexible2008版:

  • 根据命令

  • 循环连续

  • 循环使用(默认)

TIA Wincc Advanced版本:

  • 必要时

  • 循环连续

  • 循环操作(默认)

86c002f09f324c28f8bbd3143286a609.png 782aa7d1db96f9fcb7218f66c1b6420b.png 1.根据命令 db4629717a8542a9303a9ddb74072843.png

该方式不会循环更新变量。只在通过调用系统函数“UpdateTag”或在画面打开时对变量值进行更新。(划删除线的部分是官方文档里面的原话,但是实际上VBS脚本中是无法显式调用UpdateTag函数的,需要借助数组或内部变量间接触发内部的UpdateTag函数)

根据命令的采集模式只是在画面加载的时候进行刷新一次,后面就不会再与PLC通讯了。用C#等面向对象的语言来解释的话就是在构造函数中读取了变量一次。想再次刷新变量,只能重新打开界面(重新实例化界面)。

注意:

VBS脚本中并没有UpdateTag这个函数。是无法在VBS脚本中手动调用函数来更新变量的。

9a23c2c897475dc5ad010419ac35b8d1.png 2、循环使用 fe00a24c0098775d9371fa58809a02a9.png

该方式是在打开的窗口中使用变量时,变量值被更新。如果打开的画面中,没有对变量的引用,则触摸屏不会与PLC中的相关变量交互。

这是西门子触摸屏默认的更新方式,也是最需要讲究算法优化的一种交互方式。
如:

1.如何统计一个界面上的所有使用到的变量,并将他们与PLC交互?

2.上位机与PLC一次通讯的长度是固定的PDU Size,如何优化每次交互变量的组合尽可能的使每次的通讯效率最大化?等

例:

fd432e6347d2f2bdfcbb607b547a0214.png

创建一些测试变量

7a17edb9a73b128df6b4a58ad1a98a77.png

通过抓包工具看,只从PLC中读取了圆形背景色引用的变量M0.0

7a11aee3394227dd36bcb35a48f6ceec.png

420b4d0bb317b55fa951798bcff78400.png

a0307bf1a81f4d1fdb6e7dae5f54b709.png 3、循环连续 c0fb4187185affe8b35a34f9eedb98cc.png

顾名思义,就是界面中无论是否引用这个变量,都会在后台与PLC通讯进行刷新变量。

这种通讯方式在变量比较多的情况下会导致通讯时间过长,影响通讯质量。我们一般会认为触摸屏与PLC之间的交互是这种方式,其实不然。

报警变量就是通过循环连续的方式来交互的。西门子为了提高通讯的质量,减少通讯的次数将离散型报警变量的数据类型必须是int或word类型或它们的数组形式。推荐将所有的报警变量集中到一个int或word类型的数组中,提高上位机的通讯效率。

a722b5c9e198dd3fb7035927571f682a.png 75cf57aa6f0a5d2252cc506bae249c79.png

如有错误,还请指正,谢谢!

a3550e0926999b21b0f91e8b60a908ec.png f929248f526373807eef16ef86c65645.png f4d26f85c7cc9dde3533761a41596592.png     扫码加我好友
加入工控技术交流群
b5b65f044838c6950796c531c78b88a7.png 94fbd75477c0ccc877b77ac1bf2d6fbd.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值