VB程序弹出画面缓慢

现做了一个改造项目工程,画面中的阀门、电机都是用的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一直激活运行监控时,一段时间不点击阀门、电机等操作,再点击时,弹出画面非常缓慢,类似刷网页的意思,但是当弹出后,再点击其他的就都没问题了,但是再过一段时间再点击又出现这样的问题,请问这是什么原因,是程序的事还是其他原因?请高手们讲解、赐教!万分感谢!

最佳答案

wincc运行起来的时候,各种变量,数据等都在不断通信,第一次点击较慢,可能是别的模块占用的资源很多,执行周期很长,需要等待才能响应你的脚本模块。
建议
1、全局变量服务在项目运行的时候就加载上
2、在资源允许的情况下,窗口、画面等,可以在初始化时候都打开,只不过暂时不用的,设为隐藏属性,而不是关闭它,这样免除了在监控过程中加载脚本模块,提高响应速度。
3、优化其他模块的性能,避免长周期的监视,避免过程复杂的动作(复杂的动作拆解成几段来做)
4、检查计算机本身的问题,要知道wincc也是一个应用程序,建立在操作系统之上,其他的进程或配置有可能影响wincc的速度。

针对你的情况,通过画面窗口连接另一个画面在其中显示,问题不在于脚本系统,而是画面窗口作为一个对象本身在加载另一个画面的时候是需要时间的,比如打开A画面,先加载的是A本身的属性,然后,载入在其上的对象,如画面窗口X,X准备好之后,才能再继续加载与X联系的画面B,这个过程有严格的时序,这样就造成了画面A和B出现时差,表现为你看到的情况。
所以,如有可能,尝试直接切换A B画面,而不是把A当做容器,把B至于其中。

提问者对于答案的评价:
谢谢,一下明白了

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc264034.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日
下一篇 2019年6月11日

相关推荐