Wincc語音報警C實現(xiàn)文字轉(zhuǎn)語音_第1頁
Wincc語音報警C實現(xiàn)文字轉(zhuǎn)語音_第2頁
Wincc語音報警C實現(xiàn)文字轉(zhuǎn)語音_第3頁
Wincc語音報警C實現(xiàn)文字轉(zhuǎn)語音_第4頁
Wincc語音報警C實現(xiàn)文字轉(zhuǎn)語音_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

Wincc語音報警及C#實現(xiàn)文字轉(zhuǎn)語音Wincc語音報警Wincc自己能夠利用C腳本,VBS及HORN來做語音報警,可是上述實質(zhì)上是調(diào)用的已存在的音頻文件,想實現(xiàn)播放及時更新的信息是不可以的,本文主要介紹經(jīng)過C腳本,VBS及HORN來實現(xiàn)語音報警,并最后介紹一種文字轉(zhuǎn)語音---TTS的實現(xiàn)方法。C腳本實現(xiàn)語音報警利用C腳本實現(xiàn)語音報警,只好是播放WAV文件。在C腳本中增添以下代碼:#include"apdefap.h"long_main(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName){voidWINAPIPlaySoundA(char*pszSound,char*hmode,DWORDdwflay);#pragmacode( )if(GetTagBit("testsound")==1){PlaySoundA("c:\\wav\\1.wav",NULL,1);}return0;}2此外需設置觸發(fā)器,以下:報變量語音文VBS實現(xiàn)語音報警利用VBS,實質(zhì)是在調(diào)用媒體播放器,能夠播放視頻,代碼以下:3FunctionBackColor_Trigger(ByValItem)DimsoundDimobjWshShellsound="c:\wav\1.avi"SetobjWshShell=CreateObject("Wscript.Shell")objWshShell.Run"mplay32.exe/play/close"&sound,0EndFunction利用HORN實現(xiàn)語音報警a.第一翻開報警器變量設置,此處和報警記錄的設置相同,如下為14報警記錄中設置:此時會同時播當testbool為1時,報警控件顯示以下:以上能夠看出,不論哪一種方式,實質(zhì)上都是在播放已經(jīng)存在的文件,那比方像鋼卷號什么的每次都不相同,想要實現(xiàn)語音播放就不可以能。那么我們能夠利用TTS來實現(xiàn),就是翻譯字典的語音功能相同。a.第一把需要語音播放的文件存在txt文檔中,以CAL上下線帶鋼準備焊接為例,代碼5以下:#include"apdefap.h"long_main(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName){//---------------------上線-----------------------------------------------//if(GetTagBit("OBI_Welder_Ready")&&GetTagBit("B_UpPL_NextSelect")){FILE*fp=fopen("D:\\test\\test.txt","w+");//翻開文檔,按以下格式寫入fprintf(fp,"%s,%.f,%.3f",GetTagChar("IL_PL1_ID"),GetTagFloat("IR_PL1_Width"),GetTagFloat("IR_PL1_Thick"));//txt文檔寫入內(nèi)容格式:鋼卷號,寬度保存0位小數(shù),厚度保存3位小數(shù)fclose(fp);//封閉文檔}//----------------------下線-----------------------------------------------//elseif(GetTagBit("OBI_Welder_Ready")&&GetTagBit("B_LwPL_NextSelect")){FILE*fp=fopen("D:\\test\\test.txt","w+");fprintf(fp,"%s,%.f,%.3f",GetTagChar("IL_PL2_ID"),GetTagFloat("IR_PL2_Width"),GetTagFloat("IR_PL2_Thick"));fclose(fp);}Return0;}相同的,如第一節(jié)所講,此外需設6置觸發(fā)器,設置完后當事件觸發(fā)時txt會生成以下內(nèi)容:因為Wincc自己不支持TTS功能,可是計算機自己是帶有TTS引擎的,所以我們能夠利用微軟的TTS語音引擎來實現(xiàn),把txt文文件里的文字經(jīng)過語音讀出來,以C#實現(xiàn)為例,原理是經(jīng)過檢測txt文檔的變化,當文檔內(nèi)容發(fā)生變化時,比方鋼卷號改變就播放txt文檔里面的內(nèi)容,代碼以下:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Threading;usingSystem.IO;usingSystem.Speech.Synthesis;usingSystem.Speech;namespaceYPC_TTS{publicpartialclassYPC_TTS:Form{publicYPC_TTS( )7{InitializeComponent( );WatcherStrat( );}string[]splite1;strings1,s2,s3;char[]c1;char[]c2;strings_all1;strings_all2;strings_all;Threadth;//定義線程FileSystemWatcherwatcher=newFileSystemWatcher( );//文本監(jiān)督voidWatcherStrat( ){watcher.Path=@"D:\test";watcher.Filter="*.txt";watcher.IncludeSubdirectories=true;//同意偵測此目錄下的子目錄watcher.NotifyFilter=NotifyFilters.LastWrite;watcher.Changed+=newFileSystemEventHandler(OnChanged);watcher.EnableRaisingEvents=true;//開啟提交事件}voidOnChanged(objectsource,FileSystemEventArgse){Thread.Sleep(330);watcher.EnableRaisingEvents=false;th=newThread(calculate);th.IsBackground=true;th.Start( );Control.CheckForIllegalCrossThreadCalls=false;watcher.EnableRaisingEvents=true;}privatevoidcalculate( ){StreamReaderobjReader=newStreamReader(@"D:\test\test.txt");SpeechSynthesizersynth=newSpeechSynthesizer( );stringstrLine=objReader.ReadLine( );if(strLine!=""){splite1=strLine.Split(',');s1=splite1[0];s2=splite1[1];8s3="鋼卷厚度¨¨"+splite1[2];c1=s1.ToCharArray( );//轉(zhuǎn)成字符數(shù)組if(c1.Length!=9){s_all="進口準備焊接;}else{s_all1="鋼卷號"+c1[0]+"`"+c1[1]+"`"+c1[2]+"`"+c1[3]+"`"+c1[4]+"`"+c1[5]+"`"+c1[6]+"`"+c1[7]+"`"+c1[8]+",";c2=s2.ToCharArray( );if(c2.Length==3){s_all2="鋼卷寬度"+c2[0]+"`"+c2[1]+"`"+c2[2]+",";}else{s_all2="鋼卷寬度"+c2[0]+"`"+c2[1]+"`"+c2[2]+"`"+c2[3]+",";}s_all="進口準備焊接"+","+s_all1+s_all2+s3;}objReader.Close(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論