控件记录中存在报警时播放音乐

以下是脚本,请高手指点是否有错误,经常导致wincc画面异常,删除此全局脚本后,画面运行正常,谢谢!

#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 dwNotityMask;
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:\\Horn_Attention.WAV",SND_ASYNC|SND_LOOP);
else
sndPlaySoundA(NULL,SND_ASYNC);
// sndPlaySoundA("D:Horn_Attention.WAV",SND_ASYNC|SND_LOOP);
}
// WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction "DMTagName"
// next TagID : 1
// WINCC:TAGNAME_SECTION_END
// WINCC:PICNAME_SECTION_START
// syntax: #define PicNameInAction "PictureName"
// next PicID : 1
// WINCC:PICNAME_SECTION_END 
return 1; 
}

最佳答案

直接用wincc自带的过程组建horn吧,这个组态简单,而且不耗费wincc资源

http://www.ad.siemens.com.cn/download/docMessage.aspx?Id=2580&

视频:

WinCC跟我做:WinCC实现声音报警的方法
http://www.ad.siemens.com.cn/Service/elearning/cn/Course.aspx?CourseID=892&

提问者对于答案的评价:
简单实用

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

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

相关推荐

  • wincc图形编辑器里面的线对象的缺陷问题

    本人使用的是wincc6.0的sp3版本,在图形编辑器里面,使用对象选项板—标准对象—线来画了两条线。然后分别在线的对象属性—属性—对象里面的(位置X,位置Y,高度…

    SIMATIC WinCC 2019年6月11日
  • 博途软件安装的过程中,出现问题

    博途软件安装的过程中,出现“没有在您的计算机上找到以下所需软件:Microsoft.NET Framework 的附加部分”。 问题补充:安装软件是 …

    SIMATIC WinCC 2017年11月18日
  • WINCC 向串口设备 写数据

    现有1台串口设备需要取到WINCC中的输入输出变量,我有两种方案:1.在WINCC中,通过OPC协议向串口定时写数据(输入输出量)2.制作VB程序,定时取WIncc变量的值,用VB…

    SIMATIC WinCC 2019年6月11日
  • wincc web发布后浏览器打开没有画面

    wincc   web发布后浏览器打开没有画面,一片空白,组态和发布都正常没有报错,登录时用户名和密码都输入了 图片说明:    …

    2021年7月5日
  • wincc变量问题,如何将一个画面定一个变量的一个值

    如何将一个画面赋予一个变量里的一个常数,然后通过这个常数来切换画面,就像图里这种的 图片说明:       最佳答案 在画面窗口属性里面做我…

    2020年11月1日
  • wincc c脚本刷新

    我WINCC做了个C脚本关于阀门的。它不是实时更新状态 ,实时的老更新不全。比如自动状态不能操作开关阀的按钮,它经常出现只有开或者关不能操作,但是我切一下画面,再切回来两…

    SIMATIC WinCC 2019年6月11日
  • WinCCV7SP1Asia打开项目显示未指定的错误

    安装了WinCCV7SP1Asia打开项目或新建项目都显示未指定的错误,请问怎么解决? 图片说明:          最…

    2019年6月11日
  • WinCC归档数据查看

    WinCC归档数据包是如何打开并查看的?是不是要安装相关的软件,有相关教程吗 最佳答案 在Wincc中用趋势、表格控件都可以查看参考:https://cache.industry.…

    SIMATIC WinCC 2020年11月1日
  • 授权问题

    我安装了WINCC V6.0 SP3版本的软件,但是没有授权。请问在没有授权的情况下,是否可以组态?或者用WINCC 监控S7-200 PL…

    SIMATIC WinCC 2019年6月11日
  • WINCC 项目复制器复制不了

    WINCC项目复制器用复制功能将项目复制到另一台服务器, 复制后文件夹是空的,请教以下 ,很头疼。 问题补充:复制的方法和相关权限设置,文件夹共享什么的都设置了…

    SIMATIC WinCC 2020年11月1日