回复:回复精华:wincc5.1报警记录如何实现声音报警????

下水游泳的猫

  • 帖子

    184
  • 精华

    0
  • 被关注

    2

论坛等级:游士

注册时间:2005-03-22

普通 普通 如何晋级?

发布于 2005-08-04 16:15:29

0楼

MSG_RTDATA_STRUCT mRT;
int i;
char* pszToken;

#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("C:\\Program Files\\Windows NT\\Pinball\\SOUND36.WAV",SND_ASYNCSND_LOOP);
SetTagBit("TAG",1); //Return - Type :BOOL
printf("alarm is on");
}
else
{
sndPlaySoundA(NULL,SND_ASYNC);
SetTagBit("TAG",0); //Return - Type :BOOL
printf("alarm is off");
}
}
return 0;
上面的程序是写在全局脚本里面,用500MS的时基监控这个程序,那个TAG(指示器)就是你要报警的变量啊
不懂就问!!!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32569条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。