SCADA|KingSCADA实现有新报警时声音报警提示

雅轩聊科技 2024-09-18 18:50:32

哈喽,你好啊,我是雷工!

在SCADA项目中有的现场系统比较多,每个调度员可能会一个人盯好多个系统,因此不会一直盯着一个系统,这时候就需要当有新的报警产生时,有报警声音提示,提示调度员查看报警,进行处理。

这里记录用KingSCADA做的SCADA系统中一种声音报警的实现方式。

以下为实 现的笔记。

01 效果演示

02 实现步骤

2.1、报警变量

KingSCADA系统提供有系统变量$NewAlarm;

$NewAlarm是一个离散型的变量,是新报警的意思,即当前系统中有新的报警信息产生时,该变量会自动置为1;

有些项目我们可以使用该变量触发,来实现语音报警。

注意事项:

$NewAlarm变量不能够自动清0,需要人为将其清0。

2.2、PlaySound函数

PlaySound函数的使用需要计算机系统安装有Windows wave音频设备驱动器,音频文件的格式为*.wav格式的。

①函数格式

PlaySound(string strWaveFileName,int nMode)

②参数说明

strWaveFileName:音频文件的名称。

nMode:播放模式;

③音频文件

音频文件名称前可以添加音频文件所在的目录,也可以不添加。

音频文件参数名称前列出目录时,则按列出的目录查找;

若参数中未列出,则在KingSCADA工程目录,系统目录中查找。

如果均找不到该音频文件,则不播放声音。

我个人觉得这里最好在名称参数前列数目录,节约查找时间。

④播放模式

播放模式说明见下表:

模式

说明

备注

0

停止播放

停止异步播放和重复播放

1

同步播放

按照调用PlaySound函数顺序,依次完整播放所有音频

2

异步播放

若当前正在异步播放一个音频,再调用PlaySound会中止当前音频的播放

3

重复播放

重复播放音频到下次调用PlaySound为止

4

蜂鸣器报警

5

停止同步播放

当前音频完整播放,停止的是当前音频之后的音频。

2.3、事件脚本

①:打开KingSCADA的脚本—>自定义脚本—>条件事件脚本,打开对话框。

②:新建,在条件框输入:\\local\$NewAlarm==1

③:在进入时,写下如下脚本:

PlaySound("E:\a.wav", 3);\\local\$NewAlarm =0;

2.4、消音

①:在界面中添加一个按钮;

②:在按钮的左键抬起事件中添加如下代码:

PlaySound("E:\a.wav", 0);

2.5、运行

通过创建测试界面,创建一个内存变量,内存变量,配置报警,界面按钮制造报警,测试效果。

03 后记

以上为一最简单的报警提示的实现,实际中可能还会要求语音播报啥啥报警的声音,具体有时间再进行测试。

欢迎点赞留言,更多相关功能也可以在交流群探讨。

0 阅读:0

雅轩聊科技

简介:感谢大家的关注