wicc中弹出的报警画面怎么做

请教wicc中弹出的报警画面怎么做

最佳答案

同意1楼的说法,我来说详细点,你打开全局脚本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)
 {
 SetPictureName("背景画面","画面窗口名","报警弹出画面名称");
 //或者在这里做一个MESSAGEBOX也可以,如下面的
 //MessageBox(NULL,"有报警发生","alarm",MB_OK);
 }
   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 );
 }

提问者对于答案的评价:
很祥细 谢谢

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

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

相关推荐

  • wincc报警阀门的报警

    阀门的报警(开与关)故障报警求救这样在报警记录组太. 注释:阀门没开位与阀门没关到位报警 如有这方面的例题能发给本人更好 本人万分感谢!!!!&nbs…

    SIMATIC WinCC 2019年6月11日
  • WinCC 7.0报警记录查询,msgfiltersql应用

    Alarm.MsgFilterSQL=SQL.OutputValue其中SQL为一个I/O域,Alarm为报警控件,该脚本在wincc6.0运行正常,在WinCC7.0没有输出结果…

    SIMATIC WinCC 2019年6月10日
  • wincc的spreadsheet另存为excel指令

    需要将spreadsheet的表格格式及数据保存,Export属性好像只能导出数据到已有文件,将spreadsheet另存为excel的vb指令是什么, 问题补充:难道没有直接将s…

    SIMATIC WinCC 2017年6月5日
  • c语言不能用

    我用c编辑器什么都不写就有三十个错误,用动态功能出现wizarderror错误,不知道是什么原因? 最佳答案 我也碰到过类似情况,后来查看一下能正常使用的机器内安装的WINCC的相…

    SIMATIC WinCC 2019年6月11日
  • wincc7.0中XY趋势图如何能够实现按条件保存?

    wincc7.0中用XY趋势图来显示轧钢生产线上钢带长度与对应厚度差的变化曲线,想实现按轧钢的道次存储数据曲线,每个道次是一条曲线 最佳答案 参考:《WinCC &#82…

    SIMATIC WinCC 2021年7月5日
  • wincc vb脚本

    本人对VB编程语言不熟,但是想用WINCCD的VB脚本,不知道怎么用,现属于非常初级阶段,请朋友们帮帮忙,给推荐点资料或方法啊!谢谢 最佳答案 资料已发,注意查收! 提问者对于答案…

    SIMATIC WinCC 2019年6月11日
  • 417冗余PLC配置问题

    417冗余PLC配置两台冗余服务器,画面采用wincc,编程为S7,冗余服务器如何切换,wincc画面又怎么去切换? 钻石用户推荐最佳答案 400H配置https://suppor…

    SIMATIC WinCC 2021年7月5日
  • wincc变量错误报警,wincc与PLC断线

    画面切换几次后,或者修改了画面,wincc就会出现画面不更新,与PLC断线的假象,过几十秒钟后,报警与PLC断线,只能重新启动wincc,这是什么原因呢?怎么解决啊?紧急求助! 问…

    2017年11月13日
  • 如何将单击按钮等操作记录下来

    在WINCC中,要怎样才能单击一个按钮后,执行操作的同时,也可以将自定义的操作信息记录下来吗?网络上提供的代码是可以产生一条操作记录,但是不能将我想要的对应的信息记录下来啊,只能看…

    SIMATIC WinCC 2019年6月11日
  • wincc 报表问题

    wincc归档压缩数据怎样读取  做报表用 最佳答案 Dim oRs Dim conn Dim oCom&nb…

    SIMATIC WinCC 2017年8月24日