VB程序彈出畫面緩慢
劉玉蓉
發(fā)布于2014-09-18 17:19
315
0
標簽:
現做了一個改造項目工程,畫面中的閥門、電機都是用的WINCC庫中的圖標,因為之前別人制作的時候,沒有弄結構變量,所以只好每個閥門、電機都制作單獨的操作小畫面,然后我在"事件-對象事件-鼠標按下時“寫入VB程序,程序如下:
Sub MouseDown(ByVal Item, ByVal Button, ByVal Shift, ByVal x, ByVal y)
Dim PIC
Set PIC = ScreenItems("畫面窗口1")""""選擇畫面窗口
ScreenItems.Item("畫面窗口1").PICTURENAME="1#閥門"
PIC.Visible = False
PIC.Left = item.Left+10
PIC.Top = item.Top
ScreenItems("畫面窗口1").Visible = True
End Sub
點擊彈出都沒有什么問題,但是當WINCC一直激活運行監(jiān)控時,一段時間不點擊閥門、電機等操作,再點擊時,彈出畫面非常緩慢,類似刷網頁的意思,但是當彈出后,再點擊其他的就都沒問題了,但是再過一段時間再點擊又出現這樣的問題,請問這是什么原因,是程序的事還是其他原因?
佳答案
wincc運行起來的時候,各種變量,數據等都在不斷通信,次點擊較慢,可能是別的模塊占用的資源很多,執(zhí)行周期很長,需要等待才能響應你的腳本模塊。
建議
1、全局變量服務在項目運行的時候就加載上
2、在資源允許的情況下,窗口、畫面等,可以在初始化時候都打開,只不過暫時不用的,設為隱藏屬性,而不是關閉它,這樣免除了在監(jiān)控過程中加載腳本模塊,提高響應速度。
3、優(yōu)化其他模塊的性能,避免長周期的監(jiān)視,避免過程復雜的動作(復雜的動作拆解成幾段來做)
4、檢查計算機本身的問題,要知道wincc也是一個應用程序,建立在操作系統之上,其他的進程或配置有可能影響wincc的速度。
針對你的情況,通過畫面窗口連接另一個畫面在其中顯示,問題不在于腳本系統,而是畫面窗口作為一個對象本身在加載另一個畫面的時候是需要時間的,比如打開A畫面,先加載的是A本身的屬性,然后,載入在其上的對象,如畫面窗口X,X準備好之后,才能再繼續(xù)加載與X聯系的畫面B,這個過程有嚴格的時序,這樣就造成了畫面A和B出現時差,表現為你看到的情況。
所以,如有可能,嘗試直接切換A B畫面,而不是把A當做容器,把B至于其中。