wincc 的horn声音报警的使用

在horn中,我用一个报警类触发一个变量,用这个变量触发声音文件,但是报警类最多定义16个,我报警有50个,怎么做啊?我又不能直接用报警变量触发声音文件,因为这样如果报警存在,是复位不掉的,声音一直响,请问应该怎么做啊,是不是我理解错了

问题补充:
问题是如果用PLC的变量触发,上位机复位,你复位按钮怎么知道现在复位的报警是那个报警啊?

最佳答案

1.WinCC V6.0可以用Horn组态实现声音报警,不用编程。
  打开Horn,在Message assignment选项页选定Message Class为Error,定义一个Bool型的Tag;在Signal assingment选项页选定Tag为刚才定义的Bool型的Tag,在Sound中选择要播放的.wav声音文件。
 运行时,只要Error类别的报警触发,则Bool型的Tag置位,.wav声音循环播放;在报警控件中确认报警,.wav声音中止,也可以将Bool型的Tag复位,.wav声音中止。
 Horn是基本过程控制(BPC)的组件,标准安装是不会安装的。
 安装WinCC时选择“自定义安装”,已经安装了就选择“安装卸载组件”,组件栏中选择“选项”,右边栏子选项选择“Basic Process Control”安装即可。

 2.自定义两个内部32位变量stat1和stat1_save,然后在报警记录里面消息位使用外部变量,状态位为stat1中的位。然后在脚本中:
 定义两个DWord变量A1、B1连接stat1和stat1_save。
 #pragma code("Winmm.dll")
 void WINAPI PlaySoundA(char* pszSound ,char* hmode,DWORD dwFlag);
 #pragma code()

 A1=GetTagDWord("stat1");
 B1=GetTagDWord("stat1_save");
 if((A1^B1)&A1)

 SetTagBit("ok_1",1);
 if(GetTagBit("ok_1"))
 PlaySoundA("C:\\winnt\\music\\06.wav",NULL,1);
 SetTagDWord("stat1_save",A1);

 
 

提问者对于答案的评价:
多谢

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

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

相关推荐