5501|0

91

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

让WINCC OA狂飙中国话 [复制链接]

原文地址:/tech/1536.html
报警来了,播个铃声,播放一个一段wav文件,不过这个功能有点简单。

来换个玩法吧,在指定的事件发生时,把根据你自由定义的文本(报警文本或运行时生成的文本)读出来,操作员不用看屏幕就知道发生了什么事,这样不是更惬意些吗?想跟昌晖仪表制造有限公司工程师一起练练手,那就继续往下看。

这中间就需要“文本转语音”TTS功能,当然这个功能的历史也算是比较悠久了,可惜西门子WinCC OA没有提供中文TTS功能。那就想办法自己找一个吧,Windows中文操作系统自带的中文TTS功能,可以借用这个。

用记事本写一个VBS: d:\tts.vbs
set sp = createobject("SAPI.SpVoice")
set Voices = sp.GetVoices()  '获得语音引擎集合
for i=0 to Voices.count-1
     if Right(Voices(i).Id, 24)="MSSimplifiedChineseVoice" then cn=i
next
set sp.Voice = Voices.Item(cn)
set oArgs = WScript.Arguments  '命令行参数
For Each text In oArgs
         sp.speak(text)
Next

在命令行下测试一下:D:\>tts.vbs 测试测试,这时如果计算机TTS正常工作,应该听得到“测试测试”的中文朗读。

接下来在WinCC OA需要播放声音的地方,加入以下脚本:
string text="测试测试";
system("start /b d:\\tts.vbs " + text);
请加入自己的文本即可,英文单词也可以读出来。简单易行!

点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表