浔之漫智控技术(上海)有限公司-西门子总代理商
西门子授权PLC模块 , 电线电缆 , 触摸屏中国总代理商
如何使用西门子触摸屏做一个弹窗呢?

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



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

假如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效果如下:


发布时间:2023-08-01
展开全文
优质商家推荐 拨打电话