求wincc声音报警代码

最近做了个项目,写在报警记录中的报警条目都是从无符号32位变量中取位的形式,现在要求所有的报警都发出一个报警声音,想请师傅们给我一段全局代码:要求只要是报警记录中的任何一个报警来了,就触发声音文件从音响中发出声音。 (还有我从网上搜了一段代码,我也看不太懂,也没试成功)
#include "apdefap.h"


int gscAction( void )

{

MSG_RTDATA_STRUCT mRT;

int i;

char* pszToken;

//Now is my code

#pragma code("Winmm.dll")

BOOL WINAPI sndPlaySoundA(char* szWave,DWORD dwFlag);

#pragma code()

DWORD SND_ASYNC=0x0001;

DWORD SND_LOOP=0x0008;

DWORD alarmsum,alarmunack;

LPCMN_ERROR errorunack,errorsum;

#pragma code("msrtcli.dll")

#pragma code()

LPDWORD lpdwServiceID;

MSG_SERVICE_NOTIFY_PROC lpfnNotifyProc;

LPMSG_FILTER_STRUCT lpMsgFilter;

DWORD dwNotifyMask;

LPVOID lpvUser;

LPCMN_ERROR lpError;

BOOL n1;

n1=MSRTGetMsgQuit(&alarmunack,errorunack);

SetTagDWord("number",alarmunack);

MSRTGetMsgActual(&alarmsum,errorsum);

SetTagDWord("sum",alarmsum);

if (alarmsum==0)

sndPlaySoundA(NULL,SND_ASYNC);

else

{

if (alarmunack>0)

sndPlaySoundA("D:\HMI\yao0903\ALARM8.WAV",SND_ASYNC|SND_LOOP);

else

sndPlaySoundA(NULL,SND_ASYNC);

//sndPlaySoundA("C:\windows\media\office97\laser.wav",SND_ASYNC|SND_LOOP);

}

return 1;

}

最佳答案

你所提供的代码是利用GMsgFunction函数来进行声音的触发,不过光有代码是没有用的,在报警记录中必须要勾选“触发一个动作”才会调用该函数,关于GMsgFunction的详细使用方法可在找答案或论坛中搜索一下。

另外还需要调试的是发声代码,建议你放到按钮中进行调试。

最后建议,最简单的方法还是用Horn。

提问者对于答案的评价:
多谢指点。还是采用HORN控件好了。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日
下一篇 2019年6月11日

相关推荐

  • WINCC V7.3与DCS通过OPC通讯

    如何实现WINCC V7.3与DCS通过OPC通讯,wincc作为服务器OPCserver,艾默生DCS作为客户端client。想知道wincc这边该如何设置,尽量详细一…

    SIMATIC WinCC 2020年11月1日
  • WinCC能否在画面中用脚本动态添加控件

    如题,比如一个按钮触发,添加一个画面窗口是本来不存在,然后新建的,不是早就建好,然后显示隐藏 最佳答案 不可以,wincc不是智能机器人,添加画面窗口,要显示什么内容,是否需要变量…

    SIMATIC WinCC 2017年8月18日
  • 用PCS7中的WINCC编辑的界面系统自带的画面没显示

    请问各位大侠,我使用PCS7中的WINCC编辑的界面,运行时系统自带的顶部概况区、底部的按区没有显示,这是什么回事?理论上这两个区的画面应该自动显示的呀。 最佳答案 别乱说!&nb…

    SIMATIC WinCC 2019年6月11日
  • 树形菜单

    请教怎样使用微软提供的树形菜单控件,源码怎样写。谢谢 最佳答案 微软提供的树形菜单控件要先注册,然后在使用. 提问者对于答案的评价:号

    SIMATIC WinCC 2019年6月11日
  • wincc7.4和 7.5大家现在经常使用哪个?

    我们这边WIN7系统多,一般都是7.4或SP1的工程项目,大家呢? 最佳答案 都用过的,看单位买来的电脑配置及软件,现在基本都是v7.5版本的了,正版软件硬件狗,甲方要求的。一一满…

    SIMATIC WinCC 2021年7月5日
  • 日报月报年报

    我想用EXCEL作一个日报月报年报的数据记录,请提示一下思路,或者提供一个现成的程序 最佳答案 参考 http://www.ad.siemens.com.cn/club/…

    SIMATIC WinCC 2019年6月11日
  • wincc7.0打开有脚本的画面,画面设计器死机!!

    打开画面脚本,修改后,保存,画面死。打开画面的脚本,载入的非常慢。win7 64 虚拟机下运行。 钻石用户推荐最佳答案 1、虚拟机的话,给虚拟机多分配几个CPU…

    SIMATIC WinCC 2020年11月1日
  • 关于全局脚本的小问题

    在wincc项目管理器中,计算机属性对话框中,我并没有启动全局脚本运行系统,但是我在运行项目时发现,我编的项目函数照样可以用(就是在全局脚本,c-editor下的)这是为啥呢?&n…

    SIMATIC WinCC 2017年11月1日
  • wincc7.3 communication

    1、在wincc7.3软件中先插入simatic s7 protocol suite时,在TCP/IP建立所有S7300通讯都可以连上;同时在winc…

    2021年7月5日
  • wincc 自动运行

    我想启动电脑进入操作系统时我的一个WINCC项目也自动运行,这项目我已在WINCC->AutoStart设置好了,但开机进入操作系统自动运行一半它就自动消失了,这是为什么啊?…

    SIMATIC WinCC 2019年6月11日