加入收藏 在線留言 聯系我們
        關注微信
        手機掃一掃 立刻聯系商家
        全國服務熱線13185520415
        公司新聞
        自動語音播報西門子WinCC報警消息
        發布時間: 2024-09-01 21:30 更新時間: 2024-11-22 08:00
        觀看自動語音播報西門子WinCC報警消息視頻

        客戶經常問到:出現嚴重故障時,能不能自動語音播報消息文本?因為做不到時時刻刻盯著監控畫面。

        So easy!有視頻有真相

        實驗環境:

      1. WinCC 7.5 SP2 

      2. Windows10 及 Windows Server 2016/2019

      3.  

        實現思路:

      4. 實時捕捉WinCC的報警文本

      5. 調用windows自帶的SAPI語音技術接口,播報文本


      6. 開發步驟

      7. windows鍵+R,輸入services.msc,打開windows服務界面



      8. 啟動Windows的音頻服務



      9. 在WinCC的“報警記錄”中,對需要語音播報的消息變量,勾選“觸發動作”,此報警消息觸發后,會執行GMsgFunction函數。 



      10. 在全局C腳本處的GMsgFunction函數里添加自定義的腳本(如下藍顏色框),捕捉報警消息文本,傳遞給內部變量(如下紅顏色框)。修改完后,此函數會自動從左側目錄樹的“Alarm”進入“alarm”下:


      11.    .......
          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); //報警消息文本}
      12. VBS全局腳本中調用SAPI接口播報消息文本,此腳本采用變量觸發(內部變量alarmComing)。


      13. Dim speaker, alarmTextDim alarmComingalarmComing=HMIRuntime.Tags("alarmComing").ReadalarmText=HMIRuntime.Tags("alarmText").ReadIf alarmComing = 1 Then      Set speaker = CreateObject("SAPI.SpVoice")      speaker.rate = 0  '語速      speaker.volume = 100 ‘音量      speaker.Speak alarmText      HMIRuntime.Tags("alarmComing").write 0End IfEnd Function
      14. 完成組態過程



      15. 若采用PC蜂鳴器提醒報警到來,可參考下面鏈接:

        www.ad.siemens.com.cn/service/elearning/course/1791.html

        聯系方式

        • 電  話:13510737515
        • 聯系人:董海波
        • 手  機:13185520415
        • 微  信:13185520415