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

以下是脚本,请高手指点是否有错误,经常导致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日 上午11:45
下一篇 2017年11月25日 上午11:45

相关推荐

  • 急急急关于触摸屏不能下传的问题

    我用的是ktp178触摸屏,有两个版本一个是1.3.0.0 一个版本是1.2.0.0.用wicc2007传1.3.0.0能传下去。但是1.2.0.0不能下传。怎么回事呢。…

    SIMATIC WinCC 2019年6月11日
  • WINCC中区分问题

    wincc与s7200通讯要有PC ACCESS做桥梁,在PC ACCESS中可以新建PLC1\PLC2\…..PLC8.可是把这些PLC中建立的参数导入w…

    SIMATIC WinCC 2019年6月11日
  • wincc趋势图曲线不显示

    做了一个趋势图,数据源使用在线变量时,曲线显示是正常的,如第一张图;但是如果数据源使用归档变量时(图2图3),趋势图没有任何反应,曲线不显示(图4)。这是什么原因呢?请求指点。 问…

    2021年7月5日
  • wincc 全局脚本c

    long lValveColor = C_WHITE; //AKTOR undefined -> whi…

    SIMATIC WinCC 2020年11月1日
  • 能在WINCC菜单中实现用户登录吗?

    谁能给个代码,能实现在WINCC菜单中实现用户登录。也就是用VBS写用户登录程序 最佳答案 c脚本直接调用系统函数就能调出登录框,而vbs则可以用间接的方法实现:首先需要在项目属性…

    SIMATIC WinCC 2017年6月13日
  • 一个工控电脑联接12个CPU1214C,如何做性价比最高?

    现有个一控制室来监控12个远程设备台,每个设备站之间距离200-300米左右,控制室在中间,两边各6个站,本想用CPU1215C两个网口,这样两边6个站之间直接用内置网口直接联接起…

    SIMATIC WinCC 2017年6月19日
  • 主题:TP177A下载问题

    主题:TP177A下载问题   TP177A与S7-200通讯我在TP177A中将“通讯-连接-参数”设置为:PPI,9.6Kbps方式,PLC也是9…

    SIMATIC WinCC 2019年6月11日
  • 触摸屏是如何赋值给PLC

    比如说 我要控制电机上升5米 设了一个变量连接到PLC  我在触摸屏上的I/O域输入一个数值然后回车这个值是不是就已经传给PLC还是要另外在…

    SIMATIC WinCC 2019年6月11日
  • WINCC安装不了

    做完系统,安装完博图V13后,安装WHINCC V13时提示检测到以前的版本,然后只能修改升级 最佳答案 wincc v13吧  博图版本或…

    SIMATIC WinCC 2017年6月24日
  • wincc listview控件使用问题

    我在wincc里面调用LISTVIEW控件,对其进行操作但是怎么弄都没有反应。我怀疑这个控件在我的WINCC里面不能用,还是别的什么问题。程序是对的在VB环境里面都没有问题。见网上…

    SIMATIC WinCC 2019年6月11日