报警来了,播个铃声,播放一个一段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);
请加入自己的文本即可。
英文单词也可以读出来。
简单易行!