技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > vb通过hmiruntime读取wincc的错误处理问题

vb通过hmiruntime读取wincc的错误处理问题

郑志武 发布于2013-01-17 23:54 4 0 标签:

用vb读wincc的8个变量,程序如下,变量是读过来了,timerdde_timer是6秒的定时器;但是现在有以下3个问题如下:
1、发现当vb程序先启动,而wincc而后启动并激活时,变量一直读不过来;反之没有问题,请问是不是程序哪里有问题,还是要读取wincc的运行状态?
2、当wincc与plc连接断开时,读过来的变量还是之前没断时的值,一直不会改变,这是怎么回事,还是wincc断开时调上来的值是不会变的,请问此时的wincc状态vb能不能读取过来,谢谢!
3、当vb与wincc通信正常时,如果wincc突然取消激活,这个状态vb能不能读取
privatesubtimerdde_timer()
dimiasinteger
dimwincc_objectasobject
dimwincc_data(8)asobject

setwincc_object=createobject("cchmiruntime.hmiruntime")
setwincc_data(1)=hmiruntime.tags("db34_8")
wincc_data(1).read
setwincc_data(2)=hmiruntime.tags("db34_0")
wincc_data(2).read
setwincc_data(3)=hmiruntime.tags("db34_4")
wincc_data(3).read
setwincc_data(4)=hmiruntime.tags("db34_60")
wincc_data(4).read
setwincc_data(5)=hmiruntime.tags("db31_16")
wincc_data(5).read
setwincc_data(6)=hmiruntime.tags("db31_20")
wincc_data(6).read
setwincc_data(7)=hmiruntime.tags("db36_0")
wincc_data(7).read
setwincc_data(8)=hmiruntime.tags("db36_4")
wincc_data(8).read
fori=1to8step1
data_test(i)=wincc_data(i).value
nexti
setwincc_object=nothing
endsub

问题补充:
wincc中联接到plc的都是变量形式,在激活状态下断开plc这些变量还是保存着近读上来的值。

那如何在wincc激活状态下断开与plc连接后把激活前读取的变量值在wincc值都清零

佳答案

1、可以把vb程序的执行文件放在wincc项目属性-》启动里面,这样wincc启动后自动启动vb程序文件,因为你这个对象是wincc运行属性,如果没有运行哪个创建对象是空的,所以后面就不会执行,其实还可以判定对象创建是否成功,如果不成功提示或重新执行创建也应该可以可以。
2、你可以先检查wincc在与plc断开时,wincc变量值是否已经刷新还是保持。可能是wincc保持了。
3、如果这个方法不行,还可以尝试wincc带的dmc控件

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签