楼主可以写一个全局脚本,2s触发循环执行一次!提供一段代码你参考一下:#include"apdefap.h"intgscAction(void){#pragmacode("kernel32.dll");BOOLBeep(DWORDdwFreq,DWORDdwDuration);#pragmacode();//{Beep(500,500);}intaa,bb;aa=(GetTagByte("GROUP1.GREL")/32)%2;//取这个字节的第5位的状态bb=(GetTagByte("GROUP1.GREL")/64)%2;//取这个字节的第6位的状态if(((GetTagByte("GROUP1.GALM")==2)(aa==1))&&(GetTagBit("Horn_enable"))){Beep(2100,1000);}//群组动态报警;动态报警优先。else{if(((GetTagByte("GROUP1.GALM")==3)(bb==1))&&(GetTagBit("Horn_enable"))){Beep(2100,100);}}//群组静态报警。return(0);}然后你可以在画面上做一个控制声音开关的按钮,来翻转内部变量"Horn_enable",要声音的时候让其为“1”,消声让其为“0”,这样让他们想用就ON,不想用就OFF。按钮的脚本如下!^_^SetTagBit("Horn_enable",!GetTagBit("Horn_enable"))
楼上2位都是高手,看到你们写的都头晕,不过我还是要收藏滴。如果LZ和我一样可以用WINCC自带的声音报警器。只是你安装时要把这个插件安上,这样对不太会C语言的像我样的就很有帮助了,就和平时连接变量一样方便。还有一种就是用控件播放。
更容易的实现方式 免费wincc语音报警 百度搜索 Wincc真人语音报警软件
网页链接
直接用HORN组件就可以做出来了,我最近才做了一个
非常感谢1楼和2楼的专家解答,我先试试。