恭喜,你发布的帖子
发布于 2016-05-24 09:25:16
1楼
同一个运转设备的状态,运行/停止是一个外部二进制变量,故障是一个外部二进制变量。假设画面中有10台运转设备,都是泵,其外部变量名称是:
Pump1_Running表示1#泵运行/停止状态,Pump1_Fault表示1#泵故障
Pump2_Running表示2#泵运行/停止状态,Pump2_Fault表示2#泵故障
Pump3_Running表示3#泵运行/停止状态,Pump3_Fault表示3#泵故障
Pump4_Running表示4#泵运行/停止状态,Pump4_Fault表示4#泵故障
Pump5_Running表示5#泵运行/停止状态,Pump5_Fault表示5#泵故障
Pump6_Running表示6#泵运行/停止状态,Pump6_Fault表示6#泵故障
Pump7_Running表示7#泵运行/停止状态,Pump7_Fault表示7#泵故障
Pump8_Running表示8#泵运行/停止状态,Pump8_Fault表示8#泵故障
Pump9_Running表示9#泵运行/停止状态,Pump9_Fault表示9#泵故障
Pump10_Running表示10#泵运行/停止状态,Pump10_Fault表示10#泵故障
最佳答案建议脚本中使用一维数组,数组有3个元素,分别计算运行、停止、故障设备的台数。写VBS脚本:
dim Status(3),i,Pump_Running(10),Pump_Fault(10)
for i=1 to 10
set Pump_Running(i)=HMIRuntime.tags("Pump" & Cstr(i) & "_Running")
set Pump_Fault(i)=HMIRuntime.tags("Pump" & Cstr(i) & "_Fault")
next
for i=1 to 10
if Pump_Running(i).read then
Status(1)=Status(1)+1
else
Status(2)=Status(2)+1
end if
if Pump_Fault(i).read then
Status(3)=Status(3)+1
end if
next
msgbox "10台泵当中,正在运行的泵数量是" & cstr(Status(1))
msgbox "10台泵当中,停止的泵数量是" & cstr(Status(2))
msgbox "10台泵当中,故障的泵数量是" & cstr(Status(3))
请填写推广理由:
分享
只看
楼主