wincc7.0中如何用上升沿触发音频输出,起到报警的作用

想在工控机上装音响,设备停机就报警,这个该如何做啊

问题补充:
我不想用报警控件来触发让音响报警,除了这个之外还有别的办法吗?我的重点是在软件上如何编写指令使连接在工控机上的音响发声。

最佳答案

其实不用HORN报警器也是做出来。
上次我试了试完全没有问题。

用WINCC的全局脚本,做语音报警,
1:用周期性1S做触发器
2:当变量"报警"置1时,语音报警一直持续。当变量"报警"置0时,语音报警停止继续。
程序如下:
#include "apdefap.h"
int gscAction(void)
{
#pragma code ("Winmm.dll ")
VOID WINAPI PlaySoundA ( char* pszSound, char* hmode, DWORD dwflag );

#pragma code()
if(GatTagBit("报警"))
 PlaySoundA("C:\\Winnt.400\\Media\\tada.wav",NULL,0x1);
return 0;
}

注意:
1:音乐地址为C:\\Winnt.400\\Media\\tada.wav。为\\。\是不行的。
2:0x1也可以写成0x8.
PlaySoundA 函数的说明: 

参数 char* pszSound:
指定声音文件 (*.wav 文件) 的全路径。 
参数 char* hmode:
总为 0。 
参数 DWORD dwflag:
SND_SYNC = 0x0000:声音文件播放一次,该脚本一直等到播放结束
SND_ASYNC = 0x0001:声音文件播放一次,同时并行处理该脚本
SND_NODEFAULT = 0x0002:如果未找到该声音文件,则不播放默认值,而是什么也不播放。
SND_LOOP = 0x0008:重复该声音文件直到下个 PlaySoundA 调用 (只能通过 0x0001) => 总是指定 0x0009。

提问者对于答案的评价:
我回头试试吧

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc247216.html

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月2日
下一篇 2018年12月2日

相关推荐