WinCCAdvanced實現秒級計劃任務

解決科技看今朝 2024-04-20 06:12:34

西門子的WinCC Advanced雖然也可以添加計劃任務,但是可選的觸發器的最小時間單位是分鍾,不像WinCC Professional和經典WinCC最小可選擇250ms。這個估計是考慮和TP屏兼容做出的限制。

圖1 計劃任務觸發器

但是有些場景下我們的腳本必須要以秒爲單位進行執行。這時候可以使用一種變通辦法。那就是采用變量的數值更改事件來觸發腳本。

如果PLC是西門子的S7-1200/1500系列,先在硬件組態中勾選“系統和時鍾存儲器”。

圖2 系統和時鍾存儲器

編譯後會在PLC變量表裏面看到下面這些變量。

圖3 PLC變量表

上圖中的很多變量是持續變化的。在WinCC Advanced中添加裏面的某個變量,利用它的數值更改事件觸發對應的VBS腳本即可實現秒級的計劃任務。

圖4 HMI變量表

在上圖中,我們拖拽了一個名爲Clock_Byte的變量,采集周期是1秒(改變采集周期即可調整腳本執行周期)。然後選中該變量,在它的“事件->數值更改”中添加腳本“vbsCount”。

圖5 添加腳本

腳本“vbsCount”比較簡單,用于對內部變量“Count”執行累加操作。

圖6 腳本vbsCount

爲了驗證腳本的執行周期是否爲一秒,我們把內部變量Count放到畫面上。下載PLC程序,激活畫面就能看到效果了。由于這裏面的事件觸發腳本爲單線程,所以不建議在變量的數值更改事件中添加太多的腳本或者是操作時間過長的腳本,避免因腳本阻塞而影響用戶體驗。

最後一點需要注意,變量Clock_Byte需要放到根畫面上或者放到變量記錄中,否則腳本是不會被執行的。因爲WinCC爲了節省通信資源,只會對被使用的變量執行更新。如果變量表中的某個變量沒有被使用到,它是不會被更新的。

0 阅读:0

解決科技看今朝

簡介:感謝大家的關注