wincc报警发声怎么做真人发声?请高手指点

怎么使用微软TTS语音引擎做真人发声的报警啊?请高手指点,小弟QQ51974074

问题补充:
微软的TTS可以朗读字符串,只是没接触过wincc,不知道代码往哪写……

最佳答案

wincc6.0的可以用脚本来做也可以用horn来做,horn只要定义了报警变量,以及要播放的声音文件,只能是wav格式的。我这有一个脚本它是全局脚本:
 #include "apdefap.h"
 int gscAction( void )
 {
 #pragma code("Winmm.dll")
 void WINAPI PlaySoundA(char* pszSound ,char* hmode,DWORD dwFlag);
 #pragma code()
  DWORD A1,A2,A3,A4,A5,A6,A7;
  DWORD B1,B2,B3,B4,B5,B6,B7;
 A1=GetTagDWord("YQ_ALARM_1");
 A2=GetTagDWord("YQ_ALARM_2");
 A3=GetTagDWord("YQ_ALARM_3");
 A4=GetTagDWord("YQ_ALARM_4");
 A5=GetTagDWord("YQ_ALARM_5");
 A6=GetTagDWord("YQ_ALARM_6");
 A7=GetTagDWord("COMM_ALARM");
 B1=GetTagDWord("YQ_ALARM_SAVE_1");
 B2=GetTagDWord("YQ_ALARM_SAVE_2");
 B3=GetTagDWord("YQ_ALARM_SAVE_3");
 B4=GetTagDWord("YQ_ALARM_SAVE_4");
 B5=GetTagDWord("YQ_ALARM_SAVE_5");
 B6=GetTagDWord("YQ_ALARM_SAVE_6");
 B7=GetTagDWord("COMM_ALARM_SAVE");
 if(
  ((A1^B1)&A1)|
  ((A2^B2)&A2)|
  ((A3^B3)&A3)|
  ((A4^B4)&A4)|
  ((A5^B5)&A5)|
  ((A6^B6)&A6)|
  ((A7^B7)&A7)
 )
 SetTagBit("yq_alarm_out",1);
 if (GetTagBit("yq_alarm_out"))
 PlaySoundA("c:\\winnt\\Media\\chord.wav",NULL,1);
 SetTagDWord("YQ_ALARM_SAVE_1",A1);
 SetTagDWord("YQ_ALARM_SAVE_2",A2);
 SetTagDWord("YQ_ALARM_SAVE_3",A3);
 SetTagDWord("YQ_ALARM_SAVE_4",A4);
 SetTagDWord("YQ_ALARM_SAVE_5",A5);
 SetTagDWord("YQ_ALARM_SAVE_6",A6);
 SetTagDWord("COMM_ALARM_SAVE",A7);
 return 0; 
 }
 这个脚本是多个报警发出一个声音,如果要不同报警发出不同声音那么只要中间的if语句你多用几次,不同的变量对应不同的声音就可以了!这个是我用的,没有问题。

提问者对于答案的评价:
万分感谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc269642.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午6:56
下一篇 2019年6月11日 上午6:56

相关推荐

  • 如何查看WINCC “ArchiveManager”文件夹里的MDF文件

    我在项目运行里只能找到两个月之前的变量记录,再往前的就没有了,但是我在项目文件夹TagLoggingFast里有去年的MDF文件,请问如何看到里面的变量记录,如何转成Excel格式…

    2021年7月5日
  • 如何制作彩色旋转车轮

    组态手册上提到的彩色车轮,说是标准对象中的饼图分割组成的,咋标准对象里面就没有这项呢。该怎么做呢? 问题补充:我的意思是如何把饼图画出来 最佳答案 全局脚本,触发周期500ms&n…

    SIMATIC WinCC 2018年1月1日
  • WinCC C脚本项目函数

    WinCC C脚本项目函数是否可以调用项目函数,如何在项目函数中调用已经编译好的项目函数。 最佳答案 尝试在该项目函数中首行调用  #include&…

    SIMATIC WinCC 2021年7月5日
  • wincc7.3 vb脚本报表日月报表

    原项目日月报表都能正常生成。项目复制后做了另一个项目,只是改了项目文件名还有vb脚本中的变量数量和存放路径。excel表中的格式也是修改了变量数量对应的名称。现在新项目的vb脚本日…

    2021年7月5日
  • 如何编写wincc 按钮的vbs脚本

    新手wincc画面设置一个i/o域和一个按钮。设置一个内部变量a,与wincc画面设置的i/o连接;外部变量b,通过dde与excel的r1c1连接。在wincc画面的i/o中输入…

    SIMATIC WinCC 2019年6月11日
  • 如何在触摸屏上显示历史数据表

    如何在触摸屏上显示历史数据表?触摸屏是MP277,在触摸屏上以表格形式显示出历史数据 问题补充:最好是在flexible编辑的界面中显示出来 最佳答案 显示表格不太容易,触摸屏没有…

    SIMATIC WinCC 2019年6月11日
  • wincc v7.3 如何实现两个画面自动切换

    我做了两个画面,想实现两个画面间隔5分钟自动轮回切换,求各位大师指点如何实现?自己试用C脚本触发,但是一直报错,不知道什么原因?见图: 图片说明:    最佳答…

    2021年7月5日
  • TP270-10触屏怎么改写后在上传

    触屏TP270-10  备份出来的文件是PSD的格式   用什么软件改写  WINCC2008只读HMI格式的…

    SIMATIC WinCC 2017年12月1日
  • WebNavigator用哪个版本合适?

    我装的是WINCC6.0SP3 ASIA.不知道WebNavigator也有6.0SP3 ASIA的么? 最佳答案 WinCC V6 SP3 ASIA…

    SIMATIC WinCC 2019年6月11日
  • wincc编辑表格

    wincc7.5中怎样绘制表格,把仪表等设备反馈信息放在表格中,这样条理清晰一点,不是做归档报表,类似于威纶通触摸屏中绘制表格 问题补充:类似于图片中这样,想要吧按钮和输入输出域整…

    2021年7月5日