作者:胡世川 - 西门子数字化工业集团自动化部 客户经常问到:出现严重故障时,能不能自动语音播报消息文本?因为做不到时时刻刻盯着监控画面。 So easy! 有视频有真相 实验环境:
实现思路:
....... MSG_RTDATA_STRUCT mRT; MSG_CSDATA_STRUCT sM; // holds alarm info MSG_TEXT_STRUCT tMeld; // holds message text info CMN_ERROR pError; memset( &mRT, 0, sizeof( MSG_RTDATA_STRUCT ) ); ....... 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); //报警消息文本 }
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
若采用PC蜂鸣器提醒报警到来,可参考下面链接: www.ad.siemens.com.cn/service/elearning/course/1791.html 来源:人机常情 WinCC(微信公众号) |
/1
|手机版|免责声明|本站介绍|工控课堂
( 沪ICP备20008691号-1 )
GMT+8, 2025-12-23 04:50 , Processed in 0.084958 second(s), 23 queries .
Powered by Discuz! X3.5
© 2001-2025 Discuz! Team.