WinCC 报警发声

已锁定

belial

  • 帖子

    71
  • 精华

    0
  • 被关注

    0

论坛等级:游士

注册时间:2007-11-26

普通 普通 如何晋级?

WinCC 报警发声

1158

2

2011-07-08 16:48:32

刚翻了遍精华帖 看到不少关于WinCC报警声音的

我看到过一个项目是通过 GMSGFUNC.FCT来实现的
优点:比较简洁
缺点:分类报警 比较麻烦

#include "msrtapi.h"//

BOOL GMsgFunction( char* pszMsgData)
{
MSG_RTDATA_STRUCT mRT;
MSG_CLASS_STRUCT mClass;//
CMN_ERROR mError;//

#pragma code ("Winmm.dll")//
VOID WINAPI PlaySoundA (char*pszSound,char*homode, DWORD dwflag ) ;//


memset( &mRT, 0, sizeof( MSG_RTDATA_STRUCT ) );


if( pszMsgData != NULL )
{
printf( "Meldung : %s \r\n", pszMsgData );

// Meldungsdaten einlesen
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鋒ler
&mRT.dwFlags, // Flags( intern )
&mRT.wPValueUsed,
&mRT.wTextValueUsed );

// Prozesswerte lesen, falls gew黱scht
}

printf("Nr : %d, St: %x, %d-%d-%d %d:%d:%d.%d, Dur: %d, Cnt %d, Fl %d\r\n" ,
mRT.dwMsgNr, mRT.dwMsgState, mRT.stMsgTime.wDay, mRT.stMsgTime.wMonth, mRT.stMsgTime.wYear,
mRT.stMsgTime.wHour, mRT.stMsgTime.wMinute, mRT.stMsgTime.wSecond, mRT.stMsgTime.wMilliseconds, mRT.dwTimeDiff,
mRT.dwCounter, mRT.dwFlags ) ;

if (!MSRTGetClassInfo(mRT.dwMsgNr, &mClass, &mError)) printf("Get Classinfofailed.\r\n");//


//以下是我们需要手动添加的部分,报警发声程序(出现、确认、离开三个声音)
if ((mClass.dwClassID == 1) && (mRT.dwMsgState == MSG_STATE_COME))//
PlaySoundA("?:\\???\\??.wav", NULL,1);//
else if ((mClass.dwClassID == 1) && (mRT.dwMsgState == MSG_STATE_QUIT))//
PlaySoundA("?:\\???\\??.wav", NULL,1);//
else if ((mClass.dwClassID == 1) && (mRT.dwMsgState == MSG_STATE_GO))//
PlaySoundA("?:\\???\\??.wav", NULL,1);//



return( TRUE );
}
WinCC 报警发声 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32922条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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