请教如何在WinCC画面中做出声响报警?

请教如何在WinCC画面中做出声响报警?,第1张

楼主可以写一个全局脚本,2s触发循环执行一次!提供一段代码你参考一下:#include"apdefap.h"intgscAction(void){#pragmacode("kernel32.dll")BOOLBeep(DWORDdwFreq,DWORDdwDuration)#pragmacode()//{Beep(500,500)}intaa,bbaa=(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"))

通过wincc内部变量的Horn变量组,报警记录,报警器,实现触发报警声音

第一步:打开wincc变量管理器,选中内部变量,在Horn变量组新建几个内部变量,本例中新建HORN_ALM,数据格式定无符号的值,8位,16位,32位都可以,本例中定义为32位,新建HORN1,HORN2,HORN3,数据格式为二进制

第二步:打开报警记录,在消息下面可以新建消息,本例中创建了三个消息组,按报警的等级创建了一级报警,二级报警,三级报警,等级的划分看项目上是否有要求,没有就不用划分

第三步:将HORN_ALM变量在添加到三个

消息组中,消息位不能重复,HORN_ALM定位32位值,消息位可以从0-31中任意选择

第四步:打开报警器,在消息分配中将三个报警等级选上,消息类别对应的变量为新建内部变量的HORN1,HORN2,HORN3

第五步:在信号分配中,组态HORN1,HORN2,HORN3,对应报警声音文件

楼上2位都是高手,看到你们写的都头晕,不过我还是要收藏滴。如果LZ和我一样可以用WINCC自带的声音报警器。只是你安装时要把这个插件安上,这样对不太会C语言的像我样的就很有帮助了,就和平时连接变量一样方便。还有一种就是用控件播放。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11950481.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存