自动语音播报WinCC报警消息
文章转载至微信公众号:人机常情 WinCC
自动语音播报WinCC报警消息
原创 He havefun 人机常情 WinCC 3月3日
作者:胡世川 - 西门子数字化工业集团自动化部
实现思路:
实时捕捉WinCC的报警文本
调用windows自带的SAPI语音技术接口,播报文本
开发步骤
windows键+R,输入services.msc,打开windows服务界面
启动Windows的音频服务
在WinCC的“报警记录”中,对需要语音播报的消息变量,勾选“触发动作”,此报警消息触发后,会执行GMsgFunction函数。
在全局C脚本处的GMsgFunction函数里添加自定义的脚本(如下蓝颜色框),捕捉报警消息文本,传递给内部变量(如下红颜色框)。修改完后,此函数会自动从左侧目录树的“Alarm”进入“alarm”下:
…
MSG_RTDATA_STRUCT mRT;MSG_CSDATA_STRUCT sM; // holds alarm info MSG_TEXT_STRUCT tMeld; // holds message text infoCMN_ERROR pError; memset( &mRT, 0, sizeof( MSG_RTDATA_STRUCT ) );.......if(mRT.dwMsgState == MSG_STATE_COME)
{MSRTGetMsgCSData(mRT.dwMsgNr, &sM, &pError);
MSRTGetMsgText(0, sM.dwTextID[0], &tMeld, &pError);
SetTagBit("alarmComing",TRUE); //置位VBS脚本触发器
SetTagChar("alarmText",tMeld.szText); //报警消息文本
}
VBS全局脚本中调用SAPI接口播报消息文本,此脚本采用变量触发(内部变量alarmComing)。
Dim speaker, alarmText
Dim alarmComing
alarmComing=HMIRuntime.Tags("alarmComing").Read
alarmText=HMIRuntime.Tags("alarmText").Read
If alarmComing = 1 ThenSet speaker = CreateObject("SAPI.SpVoice")speaker.rate = 0 '语速speaker.volume = 100 ‘音量speaker.Speak alarmTextHMIRuntime.Tags("alarmComing").write 0
End If
End Function
完成组态过程
自动语音播报WinCC报警消息相关推荐
- 火车站信号自动语音播报系统的设计
在现代工业控制过程中,广泛应用了工作状态和故障状态报警装置,通常它以声.光形式提醒操作者及时处理出现的问题.随着新技术的发展,人们又开始将语音技术应用到这一领域.它以更直观.易懂.更方便.准确的形式向 ...
- java语音播报天气_Home Assistant系列 -- 自动语音播报天气
在树莓派上要让 Home Assistant 发声朗读 ,从硬件上我们需要 3.5mm插口音箱(耳机)或usb口音箱(耳机).软件方面 我们需要一个媒体播放器以及 tts ( 将文字转化为语音的服务 ...
- 来电语音播报软件下载apk_消息语音播报app下载-消息语音播报安卓版 v1.0.1 - 安下载...
消息语音播报app是一款语音播报工具,它可以将微信.QQ.短信等消息进行语音播报,让你能够第一时间知晓消息内容,无需进入界面也能知晓发来的消息:它支持多个场就下使用,开启语音播报后无需你手动打开手机查 ...
- Python脚本实现Mac开机自动语音播报天气
简介 最近专注于捣腾mac系统,发现了系统语音朗读的功能,于是萌生了从一些天气服务的API获得并解析天气,在本地调用语音朗读指令,使得电脑上的"天气预报"也实现播报功能. 代码我已 ...
- vue实现自动语音播报功能,未解决。(已用js解决20220210)
这个放不出来 <template><div><i @click="reader" class="el-icon-microphone&quo ...
- Wincc7.5SP1 按钮操作记录(二次确认及语音播报)
Wincc 7.5 SP1 按钮操作记录生成(含二次确认及语音播报) 前面一篇文章已经介绍了"语音播报WINCC报警",本文是之前功能的延伸,记录按钮操作记录并实现播报. 操作记录 ...
- Vue中使用speak-tts插件实现点击按钮后进行语音播报(TTS/文字转语音)
场景 speak-tts插件 speak-tts - npm 实现点击按钮触发语音播报,播报指定的文字内容. 为什么不能实现自动语音播报. chrome浏览器在18年4月起,就在桌面浏览器全面禁止了音 ...
- SpeechSynthesisUtterance文字转语音播报
一.介绍 SpeechSynthesisUtterance是HTML5中新增的API,用于将指定文字合成为对应的语音.也包含一些配置项,指定如何去阅读(语言,音量,音调)等 二.基本属性 var sp ...
- 如何用WinCC发送报警消息至钉钉
HwDingTalk是HwLib(慧兰博)技术团队开发的一款用于WinCC或者.Net的钉钉消息控件.它可以嵌入到WinCC画面中,通过简单的设置即可将重要报警信号发送到手机端或者PC端的钉钉上.Hw ...
最新文章
- Java线程池使用与原理
- 一文了解PL610-01-O96TC-R
- 计算机网络网关作用,默认网关的作用
- CentOS 7配置Let’s Encrypt支持免费泛域名证书
- 题解P3745期末考试
- server.mappath php,Server.MapPath( ) 方法的主要功能是获取文件的绝对路径。
- 一片关于Bootstarp4的文章
- (转载)JavaScript中的原型和对象机制
- cocos2d 屏幕適配_cocos2dx 3.2 屏幕适配的理解
- C# 固高运动控制卡插补
- 如何在微软的下载商店找到下载的图片?
- 阅读笔记4:基于运动想象的脑机接口系统模式识别算法研究
- python均线斜率_一根20日均线闯天下——量化回测“压箱底指标”,值得散户认真研读...
- 微信小程序红包 php,微信小程序实现红包功能(后端PHP实现逻辑)
- Java8 jvm参数
- html,css和js
- stm32 驱动 TFT LCD
- 苹果Mac电脑系统优化清理工具CleanMyMac X
- firewall-cmd --permanent --get-zone-of-interface=ens33显示no zone
- MySQL可重复读级别会不会造成幻读