close
loading...
loading...
在线情况
  • 2023-05-30 22:21:13
  • 人气:2565
  • 引用回复此帖引用
  • 头像
  • 级别
  • 声望
    +1
  • 魅力
    1
  • 积分
    945
  • 经验
    7328
  • 文章
    185
  • 注册
    2015-11-12
  • 给工控小周发消息
自动语音播报WinCC报警消息
[FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]客户经常问到:[COLOR=rgb(0,122,170)]出现严重故障时,能不能自动语音播报消息文本?因为做不到时时刻刻盯着监控画面。[/FACE][/COLOR][/SIZE][/COLOR][/COLOR]








[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][b][COLOR=rgb(0,122,170)]So easy[/FACE][/b][COLOR=rgb(0,122,170)][COLOR=rgb(0,122,170)]![/COLOR][/COLOR][/SIZE][/COLOR][/COLOR][/ALIGN]
[FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]实验环境:[/FACE][/COLOR][/SIZE][/COLOR][ul][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][li][COLOR=rgb(0,0,0)]WinCC 7.5 SP2[/FACE][/li][li][COLOR=rgb(0,0,0)]Windows10 及 Windows Server 2016/2019[/COLOR][/li][/COLOR][/SIZE][/COLOR][/ul]
[FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px]
[/FACE][/COLOR][/SIZE]
[FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]实现思路:[/FACE][/COLOR][/SIZE][/COLOR][ul][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][li][COLOR=rgb(0,0,0)]实时捕捉WinCC的报警文本[/FACE][/li][li][COLOR=rgb(0,0,0)]调用windows自带的SAPI语音技术接口,播报文本[/COLOR][/li][/COLOR][/SIZE][/COLOR][/ul]
[FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px]
[/FACE][/COLOR][/SIZE]
[FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px]
[TABLE][tr][TD=3,1][ul][COLOR=rgb(34,34,34)][/FACE][li][COLOR=rgb(34,34,34)][b][COLOR=rgb(255,255,255)]开发步骤[/COLOR][/b][/COLOR][/li][/ul][/td][/tr][/TABLE][/SIZE][/COLOR][/COLOR][ul][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][li][COLOR=rgb(0,0,0)]windows键+R,输入services.msc,打开windows服务界面[/FACE][/li][/COLOR][/SIZE][/COLOR][/ul]
[COLOR=rgb(0,0,0)]
[/COLOR]
[COLOR=rgb(0,0,0)]
[/COLOR]
[COLOR=rgb(0,0,0)]
[/COLOR]
[IMG=0,absmiddle]https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/90921540dbc3456e89db6451c9001387~noop.image?_iz=58558&from=article.pc_detail&x-expires=1686060063&x-signature=wcXkx3N6Ejcn42nRWg0dvBL5pic%3D[/IMG]
[FACE=PingFang SC][COLOR=rgb(0,0,0)][SIZE=18px]WinCC的“报警记录”中,对需要语音播报的消息变量,勾选“触发动作”,此报警消息触发后,会执行GMsgFunction函数。[/FACE][/COLOR][/SIZE]
[IMG=0,absmiddle]https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/7a16c317064d4497b0eaa0e85c850a83~noop.image?_iz=58558&from=article.pc_detail&x-expires=1686060063&x-signature=K4SLj%2FHv0VdboLOmF3F2OSWvF8g%3D[/IMG]
[ul][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][li][COLOR=rgb(0,0,0)]在全局C脚本处的GMsgFunction函数里添加自定义的脚本(如下蓝颜色框),捕捉报警消息文本,传递给内部变量(如下红颜色框)。修改完后,此函数会自动从左侧目录树的“Alarm”进入“alarm”下:[/FACE][/li][li]
[/li][/COLOR][/SIZE][/COLOR][/ul]





[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)].......[/FACE][/COLOR][/SIZE][/COLOR][/ALIGN]
[FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px]
[/FACE][/COLOR][/SIZE]





[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]MSG_RTDATA_STRUCT mRT;[/FACE][/COLOR][/SIZE][/COLOR][/ALIGN]





[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]MSG_CSDATA_STRUCT sM; // holds alarm info[/FACE][/COLOR][/SIZE][/COLOR][/ALIGN]





[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]MSG_TEXT_STRUCT tMeld; // holds message text info[/FACE][/COLOR][/SIZE][/COLOR][/ALIGN]





[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]CMN_ERROR pError;[/FACE][/COLOR][/SIZE][/COLOR][/ALIGN]





[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]memset( &mRT, 0, sizeof( MSG_RTDATA_STRUCT ) );[/FACE][/COLOR][/SIZE][/COLOR][/ALIGN]





[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)].......[/FACE][/COLOR][/SIZE][/COLOR][/ALIGN]





[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]if(mRT.dwMsgState == MSG_STATE_COME)[/FACE][/COLOR][/SIZE][/COLOR][/ALIGN]





[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]{[/FACE][/COLOR][/SIZE][/COLOR][/ALIGN]





[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]MSRTGetMsgCSData(mRT.dwMsgNr, &sM, &pError);[/FACE][/COLOR][/SIZE][/COLOR][/ALIGN]





[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]MSRTGetMsgText(0, sM.dwTextID[0], &tMeld, &pError);[/FACE][/COLOR][/SIZE][/COLOR][/ALIGN]
[FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]SetTagBit("alarmComing",TRUE); [/FACE][COLOR=rgb(64,118,0)]//置位VBS脚本触发器[/COLOR][/COLOR][/SIZE][/COLOR]
[FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]SetTagChar("alarmText",tMeld.szText); [/FACE][COLOR=rgb(64,118,0)]//报警消息文本[/COLOR][/COLOR][/SIZE][/COLOR]





[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]}[/FACE][/COLOR][/SIZE][/COLOR][/ALIGN]
[FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px]
[/FACE][/COLOR][/SIZE][ul][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][li][COLOR=rgb(0,0,0)]VBS全局脚本中调用SAPI接口播报消息文本,此脚本采用变量触发(内部变量alarmComing)。[/FACE][/li][/COLOR][/SIZE][/COLOR][/ul]

[IMG=0,absmiddle]https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/95b3d09f24f8444e8f9a5262349ee441~noop.image?_iz=58558&from=article.pc_detail&x-expires=1686060063&x-signature=NwsRuw926A4AK4M%2Bxs6MxRmDHuo%3D[/IMG]





[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]Dim speaker, alarmText[/FACE][/COLOR][/SIZE][/COLOR][/ALIGN]




[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]Dim alarmComing[/FACE][/COLOR][/SIZE][/COLOR][/ALIGN]




[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]alarmComing=HMIRuntime.Tags("alarmComing").Read[/FACE][/COLOR][/SIZE][/COLOR][/ALIGN]




[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]alarmText=HMIRuntime.Tags("alarmText").Read[/FACE][/COLOR][/SIZE][/COLOR][/ALIGN]




[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]If alarmComing = 1 Then[/FACE][/COLOR][/SIZE][/COLOR][/ALIGN]




[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]Set speaker = CreateObject("SAPI.SpVoice")[/FACE][/COLOR][/SIZE][/COLOR][/ALIGN]
[FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]speaker.rate = 0 [/FACE][COLOR=rgb(64,118,0)]'语速[/COLOR][/COLOR][/SIZE][/COLOR]
[FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]speaker.volume = 100 [/FACE][COLOR=rgb(64,118,0)]‘音量[/COLOR][/COLOR][/SIZE][/COLOR]




[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]speaker.Speak alarmText[/FACE][/COLOR][/SIZE][/COLOR][/ALIGN]




[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]HMIRuntime.Tags("alarmComing").write 0[/FACE][/COLOR][/SIZE][/COLOR][/ALIGN]




[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]End If[/FACE][/COLOR][/SIZE][/COLOR][/ALIGN]




[ALIGN=left][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][COLOR=rgb(0,0,0)]End Function[/FACE][/COLOR][/SIZE][/COLOR][/ALIGN]
[FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px]
[/FACE][/COLOR][/SIZE][ul][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px][li][COLOR=rgb(0,0,0)]完成组态过程[/FACE][/li][/COLOR][/SIZE][/COLOR][/ul]
[IMG=0,absmiddle]https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/53d61c225e3648cba86e2fb2b7cf451d~noop.image?_iz=58558&from=article.pc_detail&x-expires=1686058645&x-signature=xDur3g7GA74FbghRYP6h2P19n4w%3D[/IMG]
[IMG=0,absmiddle]https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/1d84cad4e7bf4c23b449708f109d8726~noop.image?_iz=58558&from=article.pc_detail&x-expires=1686058645&x-signature=21EcIgKtv3Fjp%2BYHRlWEjYRDz%2Bc%3D[/IMG][COLOR=rgb(0,0,0)][FACE=Microsoft YaHei][SIZE=4][b]微信群:PLC工业自动化社区 (加好友标注:姓名-城市)[/b][FACE=PingFang SC][COLOR=rgb(34,34,34)][SIZE=18px]扫码拉进群,已满200人,总人数已超过10000PLC工程师加入组织了,欢迎PLC工程师[/COLOR][/FACE][/SIZE][/FACE][/COLOR][/SIZE]
自动化专业设计 ——设计不一样的人生(自控犹如毒药,深陷不能自拔!)
专注PLC无线远程监控模块,PLC无线通讯   PLC远程监控   PLC远程下载   PLC远程维护,组态软件远程OPC,手机网页远程监控PLC,电话:159618722327  QQ1348945454
loading...
loading...
loading...
loading...
loading...
loading...
回复帖子 注意: *为必填项
*验证信息 用户名 密码 验证码 注册新用户
*帖子名称 长度不得超过255字
内容(最大25K)
是否是UBB代码
内容支持插入UBB标签
使用方法请参考帮助
其它选项 显示签名 锁定帖子 Alt+S或Ctrl+Enter快速提交
 
Powered by LeadBBS 6.0.
Page created in 0.2969 seconds with 7 queries.
豫ICP备11033203号