全国服务热线 19542938937

如何使用西门子触摸屏做一个弹窗?

发布:2022-10-11 19:21,更新:2022-10-11 19:21

    如何使用西门子触摸屏做一个弹窗?



  • 我们将有一个实际案例:在执行启动过程中,有一个设备想要触摸自动跳到执行过程中的图片。

    假如PLC有一个执行的变量M0.0,当M0.0为1时,自动切换图片。*次想到这个应用很简单,就是在变量管理器中使用。M0.当0的数值变事件,当M0.0变化时,触发一个VB脚本,脚本中判断M0.0为1时,激活画面即可。

    注意:

    只要触摸屏内存中的变量值发生变化,变量值就会发生变化。

    变量值事件


    VB脚本

    新的精智面板有弹出画面,侧滑,我在这里展示了三种不同类型的画面。

    创建激活画面_从左侧滑入图片并放置控件。

    Sub PopupScript()

    If S ** rtTags("%M0.0")=True Then

    ActivateScreen "激活画面",0

    End If


    If S ** rtTags("%M0.1")=True Then

    ShowPopupScreen "弹出画面_1",50,50,hmiOn,hmiBottom,hmiMedium

    End If



    If S ** rtTags("%M0.2")=True Then

    ShowSlideInScreen ".从左侧滑入画面",hmiOn

    End If

    End Sub

    问题

    一切都是按照我们的想法完成的PLC中触发M0.0,但界面不会切换。如果怀疑是因为M0.当0更改信号时,触摸屏没有收到这种变化。我们做一个圆,通过背景颜色显示M0.你会发现0的状态M0.0的状态发生了变化,界面可以正常切换。但如果删除引用M0.0控件后,界面变成不切换。

    这是怎么回事?这就是我们上一篇文章所说的。默认情况下,西门子触摸屏的变量*新方法是回收的。只有在当前界面中使用时才会读取,因为它没有用于我们的主界面M0.0,所以触摸屏不会去PLC通讯查询M0.0状态。这是为了减少每个通信变量的数量,提高通信的质量和效率。PLC当数据发生变化时M0.0如果触摸屏内存中的值没有刷新(因为没有使用),就不会触发M0.0的数值变化导致VB脚本没有执行。

    如何达到我们想要的效果,引用每个界面M0.这个变量显然不是一个好办法。M0.将0变量采集模式改为循环连续。如下图所示:

    Demo效果如下:


联系方式

  • 地址:上海 上海市松江区石湖荡镇塔汇路755弄29号1幢
  • 邮编:200011
  • 电话:19542938937
  • 联系人:刘旭兰
  • 手机:19542938937
  • 微信:19542938937
产品分类