广告招募

当前位置:全球装备网 > 技术中心 > 所有分类

让WINCC OA狂飙中国话

2025年02月07日 18:07:41      来源:云南昌晖仪表制造有限公司 >> 进入该公司展台      阅读量:42

分享:

报警来了,播个铃声,播放一个一段wav文件,不过这个功能有点简单。

来换个玩法吧,在的事件发生时,把根据你自由定义的文本(报警文本或运行时生成的文本)读出来,操作员不用看屏幕就知道发生了什么事,这样不是更惬意些吗?想跟工程师一起练练手,那就继续往下看。
 
这中间就需要“文本转语音”TTS功能,当然这个功能的历史也算是比较悠久了,可惜西门子WinCC OA没有提供中文TTS功能。那就想办法自己找一个吧,Windows中文操作系统自带的中文TTS功能,可以借用这个。
让WINCC OA讲中国话
用记事本写一个VBS: d:ts.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:/ts.vbs " + text);  
请加入自己的文本即可,英文单词也可以读出来。简单易行!
本文作者:程瀚侬
版权与免责声明:
1.凡本网注明"来源:全球装备网"的所有作品,版权均属于全球装备网,转载请必须注明全球装备网。违反者本网将追究相关法律责任。
2.企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
3.本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。 4.如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系。