- 1. 选型和安装
- 2. 入门
- 2.1 帮助文档
- 2.2 初次使用和S71200以太网通讯
- 2.3 博图winCC变量记录
- 2.4 Portal WinCC Prof硬狗
- 2.5 工业数据桥winCCIndustrialDataBridge
- 2.6 未找到许可证信息解决办法
- 3. 关键入口
- 4. 报警记录和数据记录
- 4.1 报警记录关联过程值
- 4.2 数据记录(用户归档/配方)
- 4.3 文本转语音(C读到变量,触发不了VB)
- 4.4 VBS脚本数据SQLServer,入库后触发更新库
- 5. 技巧
- 5.1 公共弹窗
- 5.2 把WINCC变量实时读写入excel
- 5.3 博图PLC300变量导出到经典winCC
- 5.4 SQLSERVER 启动sa用户登录
- 5.5 winCC移动复制画面
- 6. 发布客户端网页版
- 7. 通讯
文本转语音(C读到变量,触发不了VB)
- 2022-10-25 19:16:26
- 微图
- 1277
- 最后编辑:微图 于 2024-11-15 09:48:30
- 分享链接
参考文章
https://www.sohu.com/a/572624139_120720030
实现思路
报警触发→触发动作→C脚本→语音播报=1→VB脚本
以下是远程开发的曲折过程
(
C读到变量,但是始终触发不了全局脚本VB。
据说全局脚本是单线程的,这种方式容易阻塞,只适合特小工程。
想了下,还不如通过云连接传给其他设备播放了。
放弃这种方式。
)到现场一下调试就通了。
MSG_CSDATA_STRUCT sM; // holds alarm info MSG_TEXT_STRUCT tMeld; // holds message text info CMN_ERROR pError;
if(mRT.dwMsgState == MSG_STATE_COME) { MSRTGetMsgCSData(mRT.dwMsgNr, &sM, &pError); MSRTGetMsgText(0, sM.dwTextID[0], &tMeld, &pError); SetTagBit("alarmComing",TRUE); //置位VBS脚本触发器 SetTagChar("alarmText",tMeld.szText); //报警消息文本 }
原文的VB代码有点问题,也重贴一下
Option Explicit Function action Dim speaker, alarmText Dim alarmComing alarmComing=HMIRuntime.Tags("alarmComing").Read alarmText=HMIRuntime.Tags("alarmText").Read If alarmComing = 1 Then Set speaker = CreateObject("SAPI.SpVoice") speaker.rate = 0 '语速 speaker.volume = 100 '音量 speaker.Speak alarmText HMIRuntime.Tags("alarmComing").write 0 End If End Function
windowsServer2019开启文本朗读
excel回车朗读
发表评论