已做的工作。
用GMsgFunction函数提其中一个供的例程来判断消息文本。
另外加一下面一段来弹出报警消息文本
if (mRT.dwMsgState==MSG_STATE_COME)//信息到达处理
{
MessageBox(NULL,tMeld.szText,"确定",MB_OK);
}
能报警弹出Message窗口,但存在下面几个问题。
1.问题是同一个报警在很短的时间里出现几次就一一弹出几次。
2.不同的变量报警不能弹出多个窗口。
3.MessageBox窗口里面的“确定”最好能确定报警信息。
请高手帮忙。附件发到sou0218@qq.com邮箱里。
问题补充:
此方法若不能实现报警自动弹出报警消息,请问有别的什么方法能做到。希望得到例程和注释
图片说明:
最佳答案
按顺序回答你的问题:
1、messagebox是返回int值的函数,报警来几次就调用几次messagebox函数,所以弹出消息框的次数等于报警出现次数。
2、messagebox函数调用时会阻挡程序往下执行,用户响应后返回值之后再弹出下一个messagebox窗口。同时弹出多个窗口,至少在WinCC中使用messagebox函数实现不了。
3、点击“确定”后,messagebox函数返回值1,再通过AcknowledgeMessage(DWORD MsgNr)函数确认该条报警信息即可。
问题补充:
1、使用WinCC自带的报警控件,设置好不同消息的颜色、等级,可以达到很好的警示效果。
2、如果需要更明显的消息报警,可以使用声音报警HORN。
3、还是不满意,一定要弹出窗口的使用WinCC ODK自己开发报警控件。
难度依次增大。
提问者对于答案的评价:
感谢你的回答。但我还是没找到最好的解决办法
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc263528.html