wincc7.0中如何用上升沿触发音频输出,起到报警的作用
112.95.251.214
发布于2014-04-24 10:27
9
0
标签:
想在工控机上装音响,设备停机就报警,这个该如何做?
问题补充:
不想用报警控件来触发让音响报警,除了这个之外还有别的办法吗?重点是在软件上如何编写指令使连接在工控机上的音响发声。
佳答案
其实不用horn报警器也是做出来。
上次试了试完全没有问题。
用wincc的全局脚本,做语音报警,
1:用周期性1s做触发器
2:当变量"报警"置1时,语音报警一直持续。当变量"报警"置0时,语音报警停止继续。
程序如下:
#include"apdefap.h"
intgscaction(void)
{
#pragmacode("winmm.dll")
voidwinapiplaysounda(char*pszsound,char*hmode,dworddwflag);
#pragmacode()
if(gattagbit("报警"))
playsounda("c:\winnt.400\media\tada.wav",null,0x1);
return0;
}
注意:
1:音乐地址为c:\winnt.400\media\tada.wav。为\。是不行的。
2:0x1也可以写成0x8.
playsounda函数的说明:
参数char*pszsound:
指定声音文件(*.wav文件)的全路径。
参数char*hmode:
总为0。
参数dworddwflag:
snd_sync=0x0000:声音文件播放一次,该脚本一直等到播放结束
snd_async=0x0001:声音文件播放一次,同时并行处理该脚本
snd_nodefault=0x0002:如果未找到该声音文件,则不播放默认值,而是什么也不播放。
snd_loop=0x0008:重复该声音文件直到下个playsounda调用(只能通过0x0001)=>总是指定0x0009。