熱門搜索:
我們將有一個實際案例:在執行啟動過程中,有一個設備想要觸摸自動跳到執行過程中的圖片。
假如PLC有一個執行的變量M0.0,當M0.0為1時,自動切換圖片。*次想到這個應用很簡單,就是在變量管理器中使用。M0.當0的數值變事件,當M0.0變化時,觸發一個VB腳本,腳本中判斷M0.0為1時,激活畫面即可。
注意:
只要觸摸屏內存中的變量值發生變化,變量值就會發生變化。
變量值事件新的精智面板有彈出畫面,側滑,我在這里展示了三種不同類型的畫面。
創建激活畫面_從左側滑入圖片并放置控件。
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效果如下: