加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线18475208684
公司新闻
西门子触摸屏变量的三种更新方式
发布时间: 2024-04-28 21:35 更新时间: 2024-04-28 21:35





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

图片


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


Wincc Flexible2008版:

  • 根据命令

  • 循环连续

  • 循环使用(默认)

  • TIA Wincc Advanced版本:

  • 必要时

  • 循环连续

  • 循环操作(默认)








  • 1.根据命令




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



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


    注意:

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







    2、循环使用




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


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

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

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


    例:

    图片

    创建一些测试变量

    图片

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

    图片

    图片











    3、循环连续




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


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


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



    联系方式

    • 电  话:18475208684
    • 经理:向小姐
    • 手  机:18475208684
    • 微  信:18475208684