土木在线论坛 \ 电气工程 \ 工业自动化 \ 『求助』WinCC_OPC连接时的通讯状态问题

『求助』WinCC_OPC连接时的通讯状态问题

发布于:2008-07-24 11:30:24 来自:电气工程/工业自动化 [复制转发]
『求助』关于在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
    zaxife 沙发
    :Q :Q
    啊啊啊啊啊,没人知道吗?
    2008-07-25 18:53:25

    回复 举报
    赞同0
这个家伙什么也没有留下。。。

工业自动化

返回版块

17.92 万条内容 · 368 人订阅

猜你喜欢

阅读下一篇

最近做一个新项目:15T锅炉房!

最近跟公司做一个新项目:15T的锅炉房,工程师要求我们先做下了解。以前所学的也不是很专业的锅炉设计。项目还没有下来呢 应该是燃煤的锅炉。本人可能要求做一些仪表的控制。比如水位的控制,压力的控制等等。现在感觉很迷茫啊,没有一个好的的下手点。自己在看控制原理 这本书呢 。不知道有经验的前辈们是怎么考虑的 希望得到你们的经验和资料。谢谢!项目做好了 我会拿来和大家分享。谢谢!

回帖成功

经验值 +10