[西门子] 通过VBA实现AB SE上位机软件声音报警

[复制链接]
查看28610 | 回复0 | 2024-4-29 15:39:48 | 显示全部楼层 |阅读模式


    很多项目现场系统有报警时,中控画面需要有报警声音提示,而SE软件中Alarm banner控件自带的报警声音功能只能播放电脑喇叭默认声音,无法播放用户指定的声音文件。下面我们来介绍如何通过VBA代码实现SE声音报警。

01



测试软硬件平台

软件平台:FactoryTalk View Studio V12

02



SE画面程序组态

1、报警组态

打开SE模板程序(看过前期文章的人可能知道,我这边建的有模板工程,有导航画面、通过全局对象调用公用画面等功能,这里不再详述),在程序中新建几个报警标签,报警标签名需要有相同字符:



以上报警标签名后缀都是_Alarm。如果需要实现不同的报警播报不同的声音,可以通过设定不同的报警标签名来分组实现。

2、画面组态

在导航画面中添加一个数值显示框:



在数值显示框的通用属性中输入以下表达式:

If AE_InAlmUnackedCount("*_Alarm")then 1 else 0

“*_Alarm”中的*为VB语言中通用字符,用来代替报警标签名的前缀,即当有未确认的报警时,值为1否则为0。

为方便测试效果本例数值显示框是可见的,项目实际使用时将此数值显示框隐藏即可。

3、宏调用

本例中的导航画面在工程运行时是一直处于激活的,如果你的项目没有此类画面,需要在宏中调用命令行将数值显示框所在的画面一直在缓存中运行,命令行如下:

Display 画面名称 /DT

4、音频文件存放

将需要播报的音频文件放置在电脑盘中,本例直接放在C盘根目录下。

03


VB代码编写

1、导入代码文件

打开VB编辑器,导入报警声音代码库文件:



导入后如下所示:


代码无需修改,有兴趣的朋友可自行研究。

2、右键导航画面中数值显示框,选择VBA code,输入以下代码:



                        

代码中有循环播放和单次播放两种方式,用户可根据需求自行选择。

04


测试



video: https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_2395081527891329024
有需要代码的可以后台联系。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则