加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线15915421161

SIEMENS西门子广东省湛江市(授权)电机一级代理商——西门子华南总代理

更新时间
2024-11-20 07:00:00
价格
请来电询价
西门子总代理
PLC
西门子一级代
驱动
西门子代理商
伺服电机
联系电话
15903418770
联系手机
15915421161
联系人
张经理
立即询价

详细介绍
变量的数值更改事件


图片



VB脚本



我们这里做了三个不同类型画面的展示效果:普通画面,弹出画面,侧滑。

创建“激活画面”,“弹出画面_1”,以及启动”从左侧滑入画面“,并放置控件。















  • Sub PopupScript()If SmartTags("%M0.0")=True Then    ActivateScreen "激活画面",0End If
    If SmartTags("%M0.1")=True Then  ShowPopupScreen "弹出画面_1",50,50,hmiOn, hmiBottom, hmiMediumEnd If

    If SmartTags("%M0.2")=True Then  ShowSlideInScreen "从左侧滑入画面",hmiOnEnd IfEnd Sub






    出现的问题




    一切都按照我们想的做好了后,在PLC中触发M0.0,但是界面并不会切换。假如怀疑M0.0的更改信号时,触摸屏没有收到导致的,做一个圆,通过背景色来显示M0.0的状态,你会发现M0.0的状态是有变化的,且这时界面也能正常切换了。但是如果又删掉引用M0.0的控件后,界面又变成不会切换了。

    这是怎么回事呢?这就是我们上篇文章讲到的,西门子触摸屏的变量更新方式默认是循环使用的,只有当前界面中有使用到时才会去读取,由于我们的主界面中没有使用到M0.0,因此触摸屏不会去与PLC通讯查询M0.0的状态。这样做是为了减少每次通讯变量的数量,提高通讯的质量和效率。PLC中数据改变时M0.0在触摸屏内存中的值并没有刷新(因为没有用到),就不会触发M0.0的数值更改事件,从而导致VB脚本并没有被执行。

    如何实现我们想要的效果呢,在每个界面上都引用M0.0这个变量显然不是个好的办法。这就需要将M0.0变量的采集模式改成循环连续就可以了。如下图:

    图片





    Demo动画



    图片


    相关产品

    联系方式

    • 电  话:15903418770
    • 联系人:张经理
    • 手  机:15915421161
    • 微  信:15915421161