回复:技术专题探讨-WinCC报警的设置

checkitout

官方工程师

  • 帖子

    176
  • 精华

    17
  • 被关注

    153

论坛等级:侠士

注册时间:2004-03-03

普通 普通 如何晋级?

发布于 2009-05-11 14:19:46

0楼

说起报警脚本,报警来时播放声音的全局脚本以前经常用到啊:
BOOL GMsgFunction( char* pszMsgData)
{
#pragma code("winmm.dll")
BOOL PlaySound(LPCTSTR lpszSound,HMODULE hModule,DWORD dwSound);
#define SND_FILENAME 0x00020000L
#define SND_ASYNC 0x0001
#pragma code()

BOOL bRet=FALSE;
MSG_RTDATA_STRUCT mRT;
memset( &mRT, 0, sizeof( MSG_RTDATA_STRUCT ) );


if( pszMsgData != NULL )
{
sscanf( pszMsgData, "%ld,%ld,%04d.%02d.%02d,%02d:%02d:%02d:%03d,%ld, %ld, %ld, %d,%d",
&mRT.dwMsgNr, // Meldungsnummer
&mRT.dwMsgState, // Status MSG_STATE_COME, .._GO, .._QUIT, .._QUIT_SYSTEM
&mRT.stMsgTime.wYear, // Tag
&mRT.stMsgTime.wMonth, // Monat
&mRT.stMsgTime.wDay, // Jahr
&mRT.stMsgTime.wHour, // Stunde
&mRT.stMsgTime.wMinute, // Minute
&mRT.stMsgTime.wSecond, // Sekunde
&mRT.stMsgTime.wMilliseconds, // Millisekunde
&mRT.dwTimeDiff, // Zeitdauer der anstehenden Meldung
&mRT.dwCounter, // Interner Meldungsz?hler
&mRT.dwFlags, // Flags( intern )
&mRT.wPValueUsed,
&mRT.wTextValueUsed );

if(mRT.dwMsgNr==1)
{ //printf(" No 1 alarm\r\n");
bRet=PlaySound("C:\\mm.wav",NULL,SND_FILENAMESND_ASYNC);
if(bRet) {MessageBeep((WORD)-1);}
}
}
。。。
return( TRUE );
}

大概从V6以后,可以使用horn了,使用起来较方便,点选即可。
管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32575条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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