欢迎来到天天文库
浏览记录
ID:44941715
大小:22.51 KB
页数:3页
时间:2019-11-05
《WinCC实现声音报 警的方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include"apdefap.h"intgscAction(void){#pragmacode("Winmm.dll")VOIDWINAPIPlaySoundA(char*pszSound,char*hmode,DWORDdwFlag);#pragmacode()if(GetTagByte("TI101")>100) {PlaySoundA("C:\\ProgramFiles\\WindowsNT\\Pinball\\SOUND36.WAV",NULL,1);}return0;}报警可以用以下两种实现方法:1、建一个全局脚本,时基为2S#include"
2、apdefap.h"intgscAction(void){#pragmacode("Winmm.dll")VOIDWINAPIPlaySoundA(char*pszSound,char*hmode,DWORDdwFlag);#pragmacode()if(GetTagByte("TAG")==1) 或 if(GetTagByte("TAG")>500) {PlaySoundA("d:\ringout.wav",NULL,1);}return0;}用以上程序就可以实现单个变量报警,开关量为1或模似量大于500都可以报警,用户可以根据自己的情况改变
3、以上数值,如果有多个变量可以增加多个if.2、通过报警记录,先在报警记录中组态好报警记录建一个全局脚本,时基为2S#include"apdefap.h"intgscAction(void){MSG_RTDATA_STRUCTmRT;inti;char*pszToken;//Nowismycode#pragmacode("Winmm.dll")BOOLWINAPIsndPlaySoundA(char*szWave,DWORDdwFlag);#pragmacode()DWORDSND_ASYNC=0x0001;DWORDSND_LOOP=0x0008;DWORDalarmsum,
4、alarmunack;LPCMN_ERRORerrorunack,errorsum;#pragmacode("msrtcli.dll")#pragmacode()LPDWORDlpdwServiceID;MSG_SERVICE_NOTIFY_PROClpfnNotifyProc;LPMSG_FILTER_STRUCTlpMsgFilter;DWORDdwNotifyMask;LPVOIDlpvUser;LPCMN_ERRORlpError;BOOLn1;n1=MSRTGetMsgQuit(&alarmunack,errorunack);SetTagDWord("number"
5、,alarmunack);MSRTGetMsgActual(&alarmsum,errorsum);SetTagDWord("sum",alarmsum);if(alarmsum==0)sndPlaySoundA(NULL,SND_ASYNC);else{if(alarmunack>0)sndPlaySoundA("C:\ProgramFiles\WindowsNT\Pinball\SOUND36.WAV",SND_ASYNC
6、SND_LOOP);elsesndPlaySoundA(NULL,SND_ASYNC);//sndPlaySoundA("C:\window
7、s\media\office97\laser.wav",SND_ASYNC
8、SND_LOOP);}return1;}这个可以实现报警记录中只要有报警发生,那么就触发声音报警。以上程序均已在WINCC5.1、WINCC6下运行通过
此文档下载收益归作者所有