报警来了,播个铃声,播放一个一段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);

请加入自己的文本即可。

英文单词也可以读出来。

简单易行!

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查