龙海儿
关注《电气外传》公众号,知乎,CSDN等同号
级别: 论坛先锋
精华主题: 0
发帖数量: 339 个
工控威望: 1245 点
下载积分: 1103 分
在线时间: 98(小时)
注册时间: 2018-04-13
最后登录: 2025-07-14
查看龙海儿的 主题 / 回贴
楼主  发表于: 16天前
图片:
图片:
图片:
图片:
图片:
1111MicrosoftInternetExplorer402DocumentNotSpecified7.8 磅Normal0如题,声音报警我们用的很多,但是如何实现差异化的语音报警呢?直接先看图看效果。
那语音报警都好理解,差异化又具体体现在哪里呢?
因为市面上已经有前辈开发出了语音报警,但是不能灵活单独的应用到每一条报警上面。比如我只想要一条或者两条重要信息实现语音播报,其它报警静默显示就行。那么通过本例可轻松解决。
特别说明!开发不易,本例所用脚本原件放在文章末尾,小额支持即可下载!感谢理解,欢迎交流。
第一步,打开WinCC创建内部变量(alarmComing)二进制类型与(alarmText)(prevAlarmText1)(prevAlarmText2)三个16位文本类型。(如需要多个报警可多建立两个Text变量)
第二步,用Win+r输入services.msc然后找到Windows Audio服务,启动它(一般都启动着)。
第三步,把gmsgfunc.fct脚本放到C:\Program Files (x86)\SIEMENS\WinCC\aplib\Alarm中替换掉以前的。
第四步,把Voice脚本vbs放到wincc项目ScriptAct文件夹中。
第五步,打开报警记录找到想要播报的变量勾选属性里面触发动作如图(不勾选的变量不会播报)。
通过以上操作就可以实现单独变量的声音报警,其它变量依然按照普通设置呈现。如果想触发报警之后一直播报,直到人员点击消音按钮才消失。那请看之下进阶操作。
将刚才第二步的Voice替换成cycle脚本(注意一定要替换,不可以都保留),然后在报警控件中将事件里面的OnToolbarButtonClicked属性加上记事本中的c脚本用于取消循环,也可以自己外加按钮来实现。
记得拷贝进去的每个脚本都打开再次保存一下,否则可能不能发声。以下是本例用到的脚本,各位也可以再次优化脚本生成更多功能。
更过截图和脚本链接请移步同名公众号查看

关注《电气外传》公众号,知乎,CSDN等同号
往事如风
科技改变制造
级别: 网络英雄

精华主题: 0
发帖数量: 11939 个
工控威望: 19333 点
下载积分: 14348 分
在线时间: 2782(小时)
注册时间: 2013-01-31
最后登录: 2025-07-14
查看往事如风的 主题 / 回贴
1楼  发表于: 13天前
  
三人行者必有我师 ,择其善者而从之