VB通过HMIruntime读取WinCC的错误处理问题

我用VB读WinCC的8个变量,程序如下,变量是读过来了,TimerDDE_Timer是6秒的定时器;但是现在有以下3个问题如下:
 1、我发现当VB程序先启动,而WinCC而后启动并激活时,变量一直读不过来;反之没有问题,请问是不是程序哪里有问题,还是要读取WINCC的运行状态?
 2、当WinCC与PLC连接断开时,读过来的变量还是之前没断时的值,一直不会改变,这是怎么回事,还是WinCC断开时调上来的值是不会变的,请问此时的WINCC状态VB能不能读取过来,谢谢!
3、当VB与WINCC通信正常时,如果WINCC突然取消激活,这个状态VB能不能读取,谢谢!
 Private Sub TimerDDE_Timer()
 Dim i As Integer
 Dim WINCC_Object As Object
 Dim WINCC_data(8) As Object
 
 Set WINCC_Object = CreateObject("CCHMIRuntime.HMIRuntime")
 Set WINCC_data(1) = HMIRuntime.Tags("DB34_8")
 WINCC_data(1).Read
 Set WINCC_data(2) = HMIRuntime.Tags("DB34_0")
 WINCC_data(2).Read
 Set WINCC_data(3) = HMIRuntime.Tags("DB34_4")
 WINCC_data(3).Read
 Set WINCC_data(4) = HMIRuntime.Tags("DB34_60")
 WINCC_data(4).Read
 Set WINCC_data(5) = HMIRuntime.Tags("DB31_16")
 WINCC_data(5).Read
 Set WINCC_data(6) = HMIRuntime.Tags("DB31_20")
 WINCC_data(6).Read
 Set WINCC_data(7) = HMIRuntime.Tags("DB36_0")
 WINCC_data(7).Read
 Set WINCC_data(8) = HMIRuntime.Tags("DB36_4")
 WINCC_data(8).Read
 For i = 1 To 8 Step 1
 data_test(i) = WINCC_data(i).Value
 Next i
 Set WINCC_Object = Nothing
 End Sub

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

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

最佳答案

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

提问者对于答案的评价:
回答的非常好,按回答的方法已经把问题解决,非常感谢!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月10日 下午8:37
下一篇 2019年6月10日 下午8:37

相关推荐

  • 用WINCC做设备远程监控

    现在有台设备,维修人员要在维修组用电脑显示设备的运行状态及故障信息,要求用WICC软件来做,请问需要WINCC那些装件 问题补充:设备PLC是三菱FX5U的,HMI是维纶的 最佳答…

    SIMATIC WinCC 2021年7月5日
  • wincc 服务器掉网恢复后,客户机无法连接

    由于环网节点故障导致客户机与wincc服务器连接断开,但是网络故障消除后,客户端不能自动恢复与wincc服务器的连接。服务器状态图标显示为红色小三角。查看系统报警信息有如下字样:R…

    2021年7月5日
  • wincc与微信

    组态王好像有个与手机微信连接的块,wincc有这个功能嘛 最佳答案 需要采购第三方产品。请参考。 参考资料:https://blog.csdn.net/csjukong/artic…

    SIMATIC WinCC 2021年7月5日
  • wincc与Kepserver通讯

    wincc版本为7.0.2 ,kepserver EX6.4想实现kepserver与wincc的opc通讯,wincc安装在虚拟机中,kepserver安装在…

    SIMATIC WinCC 2020年11月1日
  • 用项目复制器复制的项目在另外一台计算机上打不开

    我的项目已做好,但奇怪的是:直接拷贝WINCC项目文件到另一台计算机,文件可以打开;用WINCC项目复制器复制的项目到另外一台计算机上打不开.求解中...... 问题补充:显示&n…

    SIMATIC WinCC 2019年6月11日
  • S7-200通过无线的方式连接WINCC

    如题,现有10几台S7-200的PLC,如何通过无线通讯的方式连接上位机的WINCC,使用MD720-3好像最多能连8台PLC,有没有连接更多台PLC的方案,使用国产的无线通讯模块…

    SIMATIC WinCC 2019年6月11日
  • MSHFLEXGRID无显示

    按钮 代码如下 点击后把数据显示到mshflexgrid控件中,怎么无显示?ub OnLButtonDown(ByVal Item,&nbs…

    SIMATIC WinCC 2019年6月11日
  • WINCC7.3打开项目提示已组态服务器的项目管理器位运行

    新安装的WINCC7.3打开项目提示已组态服务器的项目管理器位运行。新建文件提示没有注册类 钻石用户推荐最佳答案 没有图没有真相,建议你在项目管理中设置一下这个项目所用的当前电脑的…

    SIMATIC WinCC 2021年7月5日
  • 关于wincc脚本输入到plc

    可以实现在wincc中读取plc数据,用vb脚本和输入输出域无法写入plc中,会是什么问题,tag.write,1,输入输出域已经是输入输出方式。 问题补充:那请问阿瑟斯,我用的是…

    SIMATIC WinCC 2019年6月11日
  • 安装wcc6.0

    wcc6.0安装光盘那位有,谢谢 最佳答案 已用QQ的超大附件功能邮箱发送.请查收.(保留时间很短的,请下载) 提问者对于答案的评价:ok

    SIMATIC WinCC 2019年6月11日