『求助』WinCC_OPC连接时的通讯状态问题
zaxife
zaxife Lv.3
2008年07月24日 11:30:24
只看楼主

『求助』关于在WinCC6中,通过远程连接OPC连接设备时的通讯状态问题:具体是这样的:一个系统中有50个设备,通过ModbusOPC收集数据,在远程(用路由器组建的内网)通过WinCC组态软件进行监控。一个有5台监控电脑,每台都是独立的(即不是采用WinCC_OPC连接,只是采用ModbusOPC连接)。现在的问题就是,在一个主通讯画面中,有50个设备的通讯状态,用VBS可以实现控制器与WinCC通讯中断、接通的判断。

『求助』关于在WinCC6中,通过远程连接OPC连接设备时的通讯状态问题:

具体是这样的:
一个系统中有50个设备,通过ModbusOPC收集数据,在远程(用路由器组建的内网)通过WinCC组态软件进行监控。
一个有5台监控电脑,每台都是独立的(即不是采用WinCC_OPC连接,只是采用ModbusOPC连接)。

现在的问题就是,在一个主通讯画面中,有50个设备的通讯状态,用VBS可以实现控制器与WinCC通讯中断、接通的判断。
就是通过读取变量的QualityCode值来判断,如下代码:
Dim objTag
Dim i
Dim Tag
Dim Lab
For i = 1 to 50
Tag = "Uint" & i &".R40001"
Lab = "CommErr" & i
Set objTag = HMIRuntime.Tags(Tag) '读取控制器的首个寄存器
IOSte = objTag.Read
If objTag.QualityCode < 192 Then
ScreenItems(Lab).Visible = 1 '如果通讯质量代码<192(通讯正常时,代码为192),则显示通讯中断标签
Else
ScreenItems(Lab).Visible = 0 '否则不显示通讯中断标签
End If
Next

用VBS代码的坏处显而易见的是:每次进入该画面,都重新扫描一次所有机组的通讯质量代码,初始化速度太慢了,影响了其他的状态显示。而且一直不停的定时扫描通讯质量代码也严重拖累了ModbusOPC。
在这里求助各位前辈,有没有更好更快的办法呢??

PS:还有就是:
1、采用『动态对话框』里面的『评估变量状态』是无法判断控制器与WinCC通讯中断、接通的。『评估变量状态』只能够判断ModbusOPC与WinCC的通讯状态(即以太网连线通断状态),而项目需要的是控制器与WinCC通讯中断、接通的判断;
2、控制器的程序是不可能更改的了,因为50个控制器的程序会改死人的.......................:L (以前是使用秒脉冲实现的通讯灯闪烁,现在的程序中没有这个变量了);
3 、求助更好的方法啊:Q :Q :Q
免费打赏
zaxife
2008年07月25日 18:53:03
2楼
:Q :Q
啊啊啊啊啊,没人知道吗?
回复

相关推荐

APP内打开