新浪博客

WINCCV7.5SP2使用HORN做声音报警练习

2024-02-11 10:12阅读:
现场设备需要做声音报警,在家里计算机上做了一个练习,把练习过程记录下来。
新建一个WINCC项目,计算机属性的启动设置,附加程序添加HMRT.EXE程序。
使用内部变量来模拟报警发生的情况。
WINCCV7.5SP2使用HORN做声音报警练习
alarm1至alarm5模拟5个报警变量,AlarmACK1和AlarmACK2用于报警确认,假设需要报警确认的变量很多。ALARMARRIVE用于表示有报警到来。
新建报警记录
WINCCV7.5SP2使用HORN做声音报警练习
给报警变量分配确认变量,如上图所示。
打开报警器设置-消息分配,给消息分配设置变量 WINCCV7.5SP2使用HORN做声音报警练习

设置信号分配,设置播放的声音文件
WINCCV7.5SP2使用HORN做声音报警练习
新建画面,通过点击按钮让alarm1至alarm5为1或者为0
WINCCV7.5SP2使用HORN做声音报警练习
画面运行时,如果让上面5个变量任何一个为1,会触发声音报警,即使报警回零,还是继续报警。
再做一个按钮用于消音,按钮的按下鼠标事件写下面的VBS脚本
Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)
Dim ack1,ack2
Set ack1=HMIRuntime.Tags('AlarmACK1')
Set ack2=HMIRuntime.Tags('AlarmACK2')
ack1.Write 4294967295
ack2.Write 4294967295
End Sub
数值4294967295对应的是无符号32位数每一位都是1,这样一来报警记录中报警变量都被报警确认。
在这个按钮的鼠标弹起事件中写下面的VBS脚本
Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y)
Dim ack1,ack2
Set ack1=HMIRuntime.Tags('AlarmACK1')
Set ack2=HMIRuntime.Tags('AlarmACK2')
ack1.Write 0
ack2.Write 0
End Sub
这样一来点击报警确认按钮,发一个报警确认的脉冲,消音。如果新的报警到来,再次声音报警,直到再次点击报警确认按钮。这个消音还可以通过在PLC程序建立BOOL变量,wincc关联这个BOOL变量,点击一次鼠标,就在下位机发一个几秒钟的脉冲。这么做的好处是可以将这个BOOL变量做进历史趋势,可以追溯什么时候做了消音操作,毕竟单纯的鼠标按下和弹起时间间隔太短,wincc的历史趋势和报警记录功能可能都无法记录下来这个事件。
在wincc项目的计算机属性设置的启动项目勾选报警记录,这样的话可以使用报警记录控件查看报警信息了。
这个练习以前在wincc其他版本做过,这里再练习一遍,记录下来。
我把练习的例程放到了百度网盘,地址是
链接:https://pan.baidu.com/s/13jA43cl9Wex4WZLvmjqBbA
提取码:1234

我的更多文章

下载客户端阅读体验更佳

APP专享