1.新建一个tag,比如叫Test1。使能报警并设置报警组是ALL
2.新建一个调度,并在调度里面新建一个事件调度项,如下图
表示在 Fix32.G1GMS.ALL.F_AREA_UNACK > 0 时(即有未确认的报警),会每隔10秒钟执行一次vb脚本
3.vb脚本里面是如下代码
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Private Sub FixEvent1_WhileTrue()
'定义文件名-字符串类型,返回结果-长整型
Dim filename As String, result As Long
'声音文件路径
filename = "D:\CHOT86\GMS\APP\UNACKALARM2.WAV"
'返回结果
result = sndPlaySound(filename, SND_ASYNC)
End Sub
4.按CTRL+W运行
把Test1设置为1,处于报警状态,此时报警声音每隔10秒响一次.(注意报警文件的长度不要大于脚本调用间隔即本例是10秒)
5.把脚本设置为随ifix后台自动运行
把alarm1调度设置为后台运行,如下图
当把alarm1调度设置为后台运行之后,系统会自动把这个文件设置为后台启动。(如果没有,需手动添加)
把alarm1调度设置为了后台运行,意思是让后台程序FIXBACKGROUNDSERVER.EXE去运行这个调度,当FIXBACKGROUNDSERVER.EXE运行之后,alarm1调度的状态显示为激活,如下图,否则显示不可用
所以需要把FIXBACKGROUNDSERVER.EXE设置随ifix自动启动,在scu的任务里面配置一下即可
6.重启ifix