发布于 2008-11-01 16:36:47
0楼
我只知道用VBS怎么做,其他就不清楚了:
VBS这样做:
Dim objTag
Dim IOSte
Set objTag = HMIRuntime.Tags("设备的任意一个变量名")
IOSte = objTag.Read
If objTag.QualityCode < 192 Then
ScreenItems("CommErr").Visible = 1
Else
ScreenItems("CommErr").Visible = 0
End If
原理就是在读取一个变量时,顺便读取它的质量代码(QualityCode)。如果质量代码等于192,表示通讯正常;否则表示读操作无相应、通讯中断的意思。
至于故障恢复等其他质量代码可以自己试试了。
这个方法有个不好的地方就是当一个画面中有30台以上设备需要检测通讯状态时,整个VBS循环下拉就很浪费时间了。