1. <del id="sqmd4"></del>
      <object id="sqmd4"></object>
      1. <object id="sqmd4"></object>
          加入收藏 在線留言 聯系我們
          關注微信
          手機掃一掃 立刻聯系商家
          全國服務熱線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