当然,以下是修改后的规范化的VBS脚本示例,实现当报警优先级为0时触发声音报警:[code]
Option Explicit
Dim objWinCC, objData, objFilter, objList, objAlarm, objFso, objFile, alarmPriority
Set objWinCC = CreateObject(\"WinCC.Runtime\")
Set objData = objWinCC.Tags(\"AlarmList\")
Set objFilter = objData.Filter
objFilter.PriorityFilterFixed = 0
Set objList = objFilter.Execute
Do While Not objList.EOF
Set objAlarm = objList.Alarm
alarmPriority = objAlarm.Priority
If alarmPriority = 0 Then
Set objFso = CreateObject(\"Scripting.FileSystemObject\")
Set objFile = objFso.GetFile(\"C:\\Windows\\Media\\Alarm01.wav\")
objFile.Attributes = objFile.Attributes And Not (1 + 2 + 4 + 16 + 32 + 64 + 128)
Beep
End If
objList.MoveNext
Loop
Set objWinCC = Nothing
Set objData = Nothing
Set objFilter = Nothing
Set objList = Nothing
Set objAlarm = Nothing
Set objFso = Nothing
Set objFile = Nothing
[/code]
此脚本通过遍历报警列表,检查每个报警的优先级是否为0,如果是,则触发声音报警,否则不做任何处理。请注意,该脚本默认使用 `C:\\Windows\\Media\\` 目录下的 `Alarm01.wav` 文件作为报警提示音,如需更改,请将文件路径和名称替换为自己所需的。 |