WinCC实现声音报警的方法

WinCC实现声音报警的方法


2024年5月15日发(作者:apk下载安装手机版)

#include "apdefap.h"

int gscAction( void )

{

#pragma code("")

VOID WINAPI PlaySoundA(char* pszSound,char* hmode,DWORD dwFlag);

#pragma code( )

if (GetTagByte("TI101")>100)

{PlaySoundA("C:Program FilesWindows

",NULL,1);}

return 0;

}

报警可以用以下两种实现方法:

1、建一个全局脚本,时基为2S

#include "apdefap.h"

int gscAction( void )

{

#pragma code("")

VOID WINAPI PlaySoundA(char* pszSound,char* hmode,DWORD dwFlag);

#pragma code( )

if (GetTagByte("TAG")==1) 或 if

(GetTagByte("TAG")>500)

{PlaySoundA("d:",NULL,1);}

return 0;

}

用以上程序就可以实现单个变量报警,开关量为1或模似量大于500都可以报警,

用户可以根据自己的情况改变以上数值,如果有多个变量可以增加多个if .

2、通过报警记录,先在报警记录中组态好报警记录

建一个全局脚本,时基为2S

#include "apdefap.h"

int gscAction( void )

{

MSG_RTDATA_STRUCT mRT;

int i;

char* pszToken;

//Now is my code

#pragma code("")

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("")

#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 FilesWindows

",SND_ASYNC|SND_LOOP);

else

sndPlaySoundA(NULL,SND_ASYNC);

//sndPlaySoundA("C:",SND_ASYNC|SN

D_LOOP);

}

return 1;

}

这个可以实现报警记录中只要有报警发生,那么就触发声音报警。

以上程序均已在WINCC5.1、WINCC6下运行通过


发布者:admin,转转请注明出处:http://www.yc00.com/xitong/1715786778a2671538.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信