指南AI
指南AI

语音播报 :如何将WinCC报警消息通过语音进行播报

幕言助手 2024-05-02 07:08:35 幕言直播助手 525 ℃ 阿比整蛊源头|厂商微信:gogoh6
正文

做者:胡世川 - 西门子数字化工业集团主动化部

客户经常问到:呈现严峻毛病时,能不克不及主动语音播报动静文本?因为做不到每时每刻盯着监控画面语音播报 。

So easy语音播报 !

有视频有本相

若何将WinCC报警动静通过语音停止播报

语音播报 ,时长00:14

尝试情况:

WinCC 7.5 SP2Windows10 及 Windows Server 2016/2019

实现思绪:

实时捕获WinCC的报警文本挪用windows自带的SAPI语音手艺接白话音播报 ,播报文本

开发步调windows键+R语音播报 ,输入services.msc,翻开windows办事界面若何将WinCC报警动静通过语音停止播报

启动Windows的音频办事若何将WinCC报警动静通过语音停止播报

在WinCC的“报警记录”中,对需要语音播报的动静变量,勾选“触策动做”,此报警动静触发后,会施行GMsgFunction函数语音播报 。若何将WinCC报警动静通过语音停止播报

在全局C脚本处的GMsgFunction函数里添加自定义的脚本(如下蓝颜色框),捕获报警动静文本,传递给内部变量(如下红颜色框)语音播报 。修改完后,此函数会主动从左侧目次树的“Alarm”进入“alarm”下:.......

MSG_RTDATA_STRUCT mRT;

MSG_CSDATA_STRUCT sM; // holds alarm info

MSG_TEXT_STRUCT tMeld; // holds message text info

CMN_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)语音播报 。若何将WinCC报警动静通过语音停止播报

Dim speaker, alarmText

Dim alarmComing

alarmComing=HMIRuntime.Tags("alarmComing").Read

alarmText=HMIRuntime.Tags("alarmText").Read

If alarmComing = 1 Then

Set speaker = CreateObject("SAPI.SpVoice")

speaker.rate = 0 '语速

speaker.volume = 100 ‘音量

speaker.Speak alarmText

HMIRuntime.Tags("alarmComing").write 0

End If

End Function

完成组态过程

若接纳PC蜂鸣器提醒报警到来语音播报 ,可参考下面链接:

来源:人机常情 WinCC(微信公家号)

本文TAG:

指南AI

幕言互游在线咨询

上班时间:9:00-22:00
周六、周日:14:00-22:00
wechat
打开微信扫一扫,加我好友!

无限流量卡免费领取

点击预约
免费领取 先到先得