声音报警确认问题

报警使用HORN方式做的,问下专家,,报警如果不消除,声音是一直响的,那个horn组里的reset不好复位的。能不能做到确认此次报警后不响,下一批新报警来时再发出声音???以此类推!

问题补充:
请问我如何判断新报警到来,脚本怎么写,谢谢!

最佳答案

打开全局脚本C脚本编辑器,然后找到标准函数里的Alarm这个组里的GMsgFunction函数
把它改成下面这样
BOOL GMsgFunction( char* pszMsgData)
{
#pragma code("Winmm.dll")
void WINAPI PlaySoundA(char*pszSound,char*hmode,DWORD dwflay);
#pragma code()
MSG_RTDATA_STRUCT mRT;
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?hler
 &mRT.dwFlags,   // Flags( intern )
 &mRT.wPValueUsed,
 &mRT.wTextValueUsed );
 
      // Prozesswerte lesen, falls gewünscht
    } 

if (mRT.dwMsgState==MSG_STATE_COME)
{
PlaySoundA("C:\\WINDOWS\\Media\\ringin",NULL,1|8); \\当报警到达,报警声循环发声
}
else if(mRT.dwMsgState==MSG_STATE_QUIT)
{
PlaySoundA("C:\\WINDOWS\\Media\\notify",NULL,0); \\当报警确认,确认声发一声
}
else if(mRT.dwMsgState==MSG_STATE_GO)
{
PlaySoundA("C:\\WINDOWS\\Media\\chimes",NULL,0); \\当报警离开,离开声发一声
}

  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 ) ;

   return( TRUE );

然后,打开报警记录,在每条报警编号的属性里进行组态,在“触发一个动作” 前打上勾,例如有100条报警,那么在这100条报警编号的属性里都要打勾。
进行完这个步骤后,就可以在WINCC平台中实现报警发声功能了。

提问者对于答案的评价:
谢谢 ,我试试看

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc266834.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日
下一篇 2019年6月11日

相关推荐

  • WinCC组态问题????

    一台工控机加CP5613板卡通过PROFIBUS协议与S7-400通讯能实现,在中间加一个交换机之后怎么做?如果再增加一个S7-300也连交换机上,怎么做? 最佳答案 交换机是一种…

    SIMATIC WinCC 2021年7月5日
  • vb客户端程序问题

    两台电脑,一台装wincc,做服务器,一台用vb写程序做客户端访问wincc变量,写了一段连接程序,发现连不通,是不是服务器dcom要做什么设置?或者其他什么原因? 问题补充:是用…

    SIMATIC WinCC 2019年6月11日
  • WinCC flexible SMART V3 SP1 安装链接

    WinCC flexible SMART V3 SP1  安装链接 最佳答案 软件官方免费提供的。新一代精彩系列面板SM…

    2021年7月5日
  • wincc在线帮助

    有没有独立的wincc帮助,可以在不安装wincc的电脑上查阅?要全面的 问题补充:个人电脑上wincc都是镜像恢复的,帮助系统老是出问题,所以还是希望要个全面的 独立的…

    SIMATIC WinCC 2019年6月11日
  • wincc实时曲线问题

    我想改变wincc online trend control里面实时曲线图的运行方式。从y轴开始向右运行,而不是从屏幕边缘开始显示,该如何实现? 问题…

    SIMATIC WinCC 2019年6月11日
  • WinCC 7 开发版RC授权配置

    系统配置8台S7-300PLC,上位机WinCC 7 一共6台,请问 开上位机要全部配成RC开发版授权吗?还有STEP 7 要怎么…

    SIMATIC WinCC 2019年6月11日
  • scout.winccv6.winccflexible能在win7系统下安装吗?

    电脑系统是WIN7,安装scoutV4.2.winccv6.2.winccflexible2008SP2都安装不上,这几个软件什么版本才支持WIN7. 问题补充:我的电脑系统是wi…

    SIMATIC WinCC 2021年7月5日
  • wincc创建文件

    大家好,小弟想问下,wincc除了能创建excel文档,还能创建什么类型的文件呢???  最佳答案 wincc除了能创建excel文档,还能创建什么类型的文件呢???–…

    SIMATIC WinCC 2019年6月11日
  • Wincc运行系统退不了。。急急急!

    在运行状态中设置的按钮,怎么关联函数都不行,而点资源管理器的停止小方块可以退出,是新装的,也不知怎么了。新建个项目也是如此。希望学长们帮帮忙。谢谢了! 问题补充:谢谢学长们,问题已…

    SIMATIC WinCC 2019年6月11日
  • hmi显示s7-200中的值

    怎样在hmi中显示plc中pid的输入输出值,具体地址是啥?需要用怎样的存储器,需要怎样转换?举例说明一下,谢谢! 最佳答案 PID符号表中有其地址,参考以下链接http://ww…

    SIMATIC WinCC 2021年7月5日