vb实时读取wincc数据问题

我想用vb实时读取wincc的数据,用的方法是formsize = wincc.getvalue("resize")
 在vb中用的timer控件,但是运行起来感觉反应很慢,请问,除了timer控件外,用什么方法可以实时读取wincc的数据呢?谢谢
 另外,我在vb中用了
 formsize = wincc.getvalue("resize")
 其中formsize是vb中的变量,resize是wincc中的变量。
 在vb中用一个timer控件控制读取wincc数据,时间间隔为4秒钟。另外设置了个标志位,当标准位置1时,开始读取resize的值。当标志位置1时,resize的值开始变化,变化周期为5秒钟。5s后,标志位置0,vb停止读取resize的值。这样的话,vb应该每一个读取周期都能至少读取到一次resize的值才对。可是事实上,只能读取到大部分的resize的值,有很多resize值都遗漏掉,没有读取到。我把时间间隔改为3秒,还是会遗漏数据,并且还会读取到2到3个数据。为什么呢?我现在1个周期内只需要读取一个数值,应该怎么做到呢?请高手帮下忙,谢谢! 
 

最佳答案

你的问题和Timer控件没什么关系
 试试用这个方法来读取WinCC变量,注意对象的创建和释放放在程序的初始化和退出的事件里比较好

 Dim WRT as object
 Dim Tag as Object

 Set WRT=CreateObject("CCHMIRuntime.HMIRuntime")

 Set Tag=WRT.Tags("resize")

 formsize = Tag.Read

 Set Tag=Nothing

 Set WRT=Nothing

提问者对于答案的评价:
谢谢,回去试验下!

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

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

相关推荐