盧 怡
(宜昌測試技術(shù)研究所 湖北 宜昌 443003)
近年來,隨著世界各國對水下生態(tài)保護的意識逐漸加強[1],以及海洋國防的不斷發(fā)展[2],水下發(fā)聲器成為當下研究的熱點問題。但在以往的水下發(fā)聲器的研究或者研發(fā)設計中,科研工作者往往忽視了對于水下發(fā)聲器在線監(jiān)測和控制系統(tǒng)的研究[3-4]。例如,為保證水電站水下設施的安全,解決人類與水下物種間的相互干擾等問題,保護生態(tài)可持續(xù)發(fā)展,陳凱驊等[5]利用發(fā)聲器開發(fā)一套水下發(fā)聲系統(tǒng),由于水下環(huán)境特殊,有時人們無法通過肉眼來直接觀察水下發(fā)生器的實時深度、是否正常工作等信息,這時需要對水下發(fā)生器進行實時測控,但陳凱驊等人沒有對水下發(fā)聲器在線測控系統(tǒng)進行研發(fā)、設計。綜合以往人們對水下發(fā)聲器的研究,目前亟需一種水下發(fā)聲器在線監(jiān)控和控制系統(tǒng),使用戶不僅可以實時觀測水下發(fā)聲器的工作狀況、深度等信息,還可以控制實時水下發(fā)生器的聲源頻帶等信息。
本文以澳大利亞科學家曾經(jīng)研發(fā)一款自供能發(fā)聲器為研究背景,它是一款活塞式發(fā)聲器,由水擊渦輪提供動力,其工作原理是:在被拖曳的過程中,其尾部的葉輪受入射水流驅(qū)動而旋轉(zhuǎn),經(jīng)由傳動軸傳動后驅(qū)動發(fā)電機和液壓系統(tǒng)工作,發(fā)電機則為內(nèi)部控制系統(tǒng)供電或給內(nèi)置電池充電,液壓系統(tǒng)驅(qū)動聲輻射模塊產(chǎn)生寬帶頻譜聲場,這款活塞式發(fā)聲器具有以下的特點:(1)具有低頻驅(qū)動能力強、頻譜控制特性好的優(yōu)點;(2)靠水動渦輪提供動力,無需外部能量輸入和控制,可以便捷地裝配在各種類型的船只上。
本文為這款自供能發(fā)聲器設計并實現(xiàn)了一種在線的監(jiān)測和控制系統(tǒng),并對硬件系統(tǒng)設計、通信協(xié)議設計、軟件系統(tǒng)設計進行了詳細闡述,該系統(tǒng)可實現(xiàn)數(shù)據(jù)的雙向數(shù)據(jù)通信,具有聲信號控制、液壓監(jiān)測和控制、發(fā)聲器葉輪轉(zhuǎn)速監(jiān)測、電源系統(tǒng)監(jiān)測、深度監(jiān)測、扭矩監(jiān)測等功能。
在線測控系統(tǒng)包括計算機(personal computer,PC)測控平臺、通信線纜、控制器域網(wǎng)(controller area network,CAN)總線、串行通信接口232(RS232)、CAN轉(zhuǎn)RS232 轉(zhuǎn)換器、RS232 轉(zhuǎn)CAN 轉(zhuǎn)換器。自供能發(fā)聲器包括DSP 控制板、液壓聲源系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、電源系統(tǒng)等,在線測控系統(tǒng)主要是通過對自供能發(fā)聲器的DSP 控制板、電源系統(tǒng)等系統(tǒng)進行監(jiān)測或控制,進而實現(xiàn)對自供能發(fā)聲器的測控。圖1 為測控系統(tǒng)硬件平臺設計圖。
為了詳細闡明硬件平臺設計和測控系統(tǒng)功能實現(xiàn)原理,在圖2 中畫出了測控系統(tǒng)與自供能發(fā)聲器中DSP 控制板、液壓聲源系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、電源系統(tǒng)等系統(tǒng)的數(shù)據(jù)流關(guān)系。
在線測控系統(tǒng)中的PC 機測控平臺搭載了一款配套研發(fā)的動態(tài)可視化軟件,可以實時接收和發(fā)送數(shù)據(jù),用于控制設備的啟動、停止、工作狀態(tài)等,也可以監(jiān)測每個設備的工作情況,具體為聲信號(或聲源)控制、液壓監(jiān)測和控制、發(fā)聲器葉輪轉(zhuǎn)速監(jiān)測、電源系統(tǒng)監(jiān)測、水下深度監(jiān)測、扭矩監(jiān)測等功能。
在線測控系統(tǒng)實現(xiàn)聲信號(或聲源)控制,主要是通過控制數(shù)字信號處理(digital signal processing,DSP)控制板來實現(xiàn)的。DSP 控制板是自供能發(fā)聲器數(shù)字信號處理中心,PC 機測控平臺可以實時控制DSP 控制板的工作啟動和停止,并且實時控制DSP 控制板輸出信號,PC 機測控平臺向DSP 控制板發(fā)送指定增益系數(shù),DSP 控制板生成的特定噪聲波形,波形被其內(nèi)部功率放大器放大至指定的倍數(shù),然后將數(shù)模轉(zhuǎn)換(Digital-to-analog conversion,D/A)電壓模擬信號輸出給液壓系統(tǒng),引起液壓系統(tǒng)內(nèi)部油缸驅(qū)動剛性活塞敲擊膜板的位置發(fā)生變化,進而使得聲信號發(fā)生變化,從而實現(xiàn)聲信號(或聲源)控制的供能。
有時液壓系統(tǒng)會出現(xiàn)壓力過大的情況,會影響自供能發(fā)聲器的工作性能,此時,需要在線測控系統(tǒng)對液壓系統(tǒng)的壓力進行監(jiān)測和控制。在線測控系統(tǒng)接收自供能發(fā)聲器的液壓系統(tǒng),并在PC 機測控平臺進行解析、顯示,實現(xiàn)對液壓系統(tǒng)的壓力監(jiān)測。在線測控系統(tǒng)控制液壓系統(tǒng),是通過PC 機測控平臺向液壓系統(tǒng)發(fā)送的控制信號實現(xiàn)的,在線測控系統(tǒng)可以控制溢流比例閥的開啟、關(guān)閉、開度信號,開度信號可以控制液壓系統(tǒng)的溢流比例閥打開的程度,進而調(diào)節(jié)液壓系統(tǒng)的液體壓強。
在線測控系統(tǒng)實現(xiàn)發(fā)聲器葉輪轉(zhuǎn)速監(jiān)測、電源系統(tǒng)監(jiān)測、水下深度監(jiān)測等功能,主要是通過接收自供能發(fā)聲器的轉(zhuǎn)速、電源電壓、水下深度、扭矩等數(shù)據(jù),并將數(shù)據(jù)在PC 機測控平臺進行解析、顯示實現(xiàn)的。PC 機測控平臺實時接收數(shù)據(jù)采集系統(tǒng)的數(shù)據(jù),比如自供能發(fā)聲器實時的轉(zhuǎn)速、電源系統(tǒng)的電壓、深度、扭矩大小等信息,并將數(shù)據(jù)進行解析,利用配套的動態(tài)可視化軟件進行顯示,用戶通過觀測軟件界面,就可以了解自供能發(fā)聲器的實時工作狀況。值得一提的是,自供能發(fā)聲器的發(fā)電情況無法從傳感器的數(shù)據(jù)直接知曉,需要利用在線測控系統(tǒng)提供的數(shù)據(jù)計算得出,發(fā)電功率的計算公式為:
由于整個自供能發(fā)聲器系統(tǒng)工作時,需要實時監(jiān)測和控制的設備較多,通信數(shù)據(jù)種類多、數(shù)量大,數(shù)據(jù)傳輸距離遠等,RS232 這種簡單的一對一串行通信模式已經(jīng)遠遠不能滿足通信要求,所以本系統(tǒng)采用了基于CAN 總線的數(shù)據(jù)傳輸協(xié)議,但是由于PC 機測控平臺和各設備的接口只集成了RS232 串行總線接口,所以通信又采用了CAN 總線數(shù)據(jù)轉(zhuǎn)RS232 串口數(shù)據(jù)、RS232 串口數(shù)據(jù)轉(zhuǎn)CAN 總線數(shù)據(jù)的網(wǎng)關(guān)。
CAN總線是一種支持雙向串行多節(jié)點通信的現(xiàn)場總線[6-7],是目前使用最為廣泛的現(xiàn)場總線之一,由德國BOSCH 公司開發(fā)。CAN 總線采用差分信號傳輸,抗干擾能力強,最高傳輸速率可達1 Mbps,最大通信距離可達10 km[8-9],可以大大降低信息傳輸延時,適用于對通信時序較為嚴格的控制系統(tǒng)[10]。發(fā)聲器工作時,設備的監(jiān)測和控制只能由電子操作遠程完成,多個設備的實時監(jiān)測和控制使得通信較為復雜,此外系統(tǒng)的功能決定了必須使用“一主一從”的點對點通信模式。因此,本系統(tǒng)的通信機制須盡可能精細,一方面要實現(xiàn)對設備“一主一從”的點對點控制要求,另一方面盡量降低系統(tǒng)的復雜性。由于CAN 總線具有可靠性高、實時性強、支持分布式通信等特點,所以本系統(tǒng)采用的是基于CAN 總線的通信協(xié)議。
在線測控系統(tǒng)的通信采用的是主-從通信模式,主設備為PC 機測控平臺,從設備主要為發(fā)聲器,主設備通過CAN總線與從設備相連。PC 測控平臺首先通過CAN 總線與發(fā)聲器建立邏輯連接,設備連接成功后,PC 測控平臺可以控制和監(jiān)測與發(fā)聲器的工作情況。本系統(tǒng)使用的是CAN 2.0 B 傳輸協(xié)議,數(shù)據(jù)幀為11 個字節(jié),前3 個字節(jié)為信息部分,第1 個字節(jié)表示數(shù)據(jù)位長度,第2 字節(jié)和第3 個字節(jié)表示報文識別碼;后8 個字節(jié)為數(shù)據(jù)幀的實際數(shù)據(jù)部分,即為有效字節(jié),稱為數(shù)據(jù)位。在PC 機測控平臺發(fā)送的數(shù)據(jù)中,第1 個字節(jié)和第2 個字節(jié)表示報文的起始地址,第3 個字節(jié)表示控制的模塊地址,第4 個字節(jié)表示功能代碼,第5 個和第6 個字節(jié)表示設定的數(shù)據(jù),第7 個字節(jié)和第8 個字節(jié)表示報文結(jié)束。在PC 機測控平臺接收的數(shù)據(jù)中,第1 個字節(jié)表示功能代碼,最后1 個字節(jié)表示報文結(jié)束,第2 個字節(jié)和第3 個字節(jié)表示工況類型1,第4 個字節(jié)和第5 個字節(jié)表示工況類型2,第6個字節(jié)和第7 個字節(jié)表示工況類型3。這樣的通信協(xié)議設計,可以實現(xiàn)主控端向網(wǎng)絡的每一個設備發(fā)送控制信息報文,也可以保證網(wǎng)絡中的每一個設備都可以主動發(fā)送工況報文,設備之間不存在通信干擾,避免網(wǎng)絡沖突,從而達到“一主一從”的點對點通信效果。
傳統(tǒng)型測控軟件往往具有以下3 個問題:(1)系統(tǒng)通信中斷、系統(tǒng)設備異常時無法提供警示;(2)多以文本方式顯示,當數(shù)據(jù)超限時無法及時警示用戶;(3)對需要高頻次顯示的數(shù)據(jù)無法以波形方式實時顯示,影響用戶決策。
為解決上述問題,本文設計的系統(tǒng)軟件考慮了通信中斷警示和通信控制、重要設備控制、自動報警、可視化模塊動態(tài)顯示數(shù)據(jù)等功能。由于Microsoft Visual C++ 6.0占用的系統(tǒng)資源少,打開工程和編譯運行的速度都比較快,本文將其作為開發(fā)平臺,開發(fā)語言使用C++。
由于發(fā)聲器通常是在水下工作,水下環(huán)境往往變幻莫測,可能因不可預知的情況,通信中斷或者停止,為及時發(fā)現(xiàn)這一狀況,在軟件界面設計時使用了微軟基礎類(microsoft foundation classes,MFC)中的“iRotationDisplayX”控件。系統(tǒng)軟件實現(xiàn)了串口通信中斷警示功能的大致思路為,將是否存在自供能發(fā)聲器的監(jiān)測數(shù)據(jù)從串口輸入作為圖標旋轉(zhuǎn)依據(jù)。具體思維為:設置圖標每次旋轉(zhuǎn)角度為a,在t 時刻圖標的角度為b;如果在t+1 時刻,存在監(jiān)測數(shù)據(jù)從串口輸入,那么此時圖標的角度為b+a。這樣用戶可以通過觀察圖標是否旋轉(zhuǎn),從而判斷此時通信是否正常連接。
此外,在以往的測控軟件設計中,一般會設置特定的數(shù)據(jù)通信的串口,當系統(tǒng)測控軟件移植到其他電腦上時,往往需要程序開發(fā)人員在源代碼上修改串口編號,不便于通信配置?;谝陨峡紤],在系統(tǒng)軟件的研發(fā)過程中,增加串口選擇功能,用戶可以直接根據(jù)設備的實際情況,選擇數(shù)據(jù)接收和發(fā)送的串口,大大簡化通信配置的流程,節(jié)省通信配置的時間。
DSP 控制板和液壓系統(tǒng)是本系統(tǒng)中的重要控制對象,直接關(guān)乎聲源的頻譜帶寬。基于實際控制需要,在系統(tǒng)測控軟件界面上設計了以下操作功能:DSP 控制板啟動信號輸出、停止信號輸出、信號增益設置;液壓系統(tǒng)的開關(guān)閥開啟、開關(guān)閥關(guān)閉、溢流閥開度設置。DSP 控制板和液壓系統(tǒng)為精細設備,有特定的性能參數(shù),為避免用戶操作失誤,增加操作錯誤警示窗口彈出功能,協(xié)助用戶使用軟件,例如,溢流閥開度設置的警示窗口彈出功能程序設計為:
if(0<=(GetDlgItemInt(IDC_EDIT_FLOODVALVE))&&(Ge tDlgItemInt(IDC_EDIT_FLOODVALVE))<=85)
m_pPort->WriteStringDataToPort(m_uiPort,(char*)chSend,8);
else MessageBox("溢流閥設置輸入有誤!","提示信息",MB_OK);
為了讓用戶直觀知悉系統(tǒng)實時工況數(shù)據(jù)、是否存在報警等,將文本控件派生于CLable 類,對默認的控件顏色、控件文本顏色、控件文本字體進行了改寫,實現(xiàn)彩色文本顯示,以控件顏色為例,數(shù)據(jù)正常時用控件文本顏色為藍色進行顯示,快到臨界值時用控件文本顏色為紅色進行顯示,數(shù)據(jù)超限時用控件文本顏色為紅色進行顯示,這樣當數(shù)據(jù)異常時可以及時警示用戶。另外,在發(fā)聲器工作時,用戶往往會根據(jù)數(shù)據(jù)變化趨勢實施操控,所以使用了MFC中的“iPlotX”控件,對工況數(shù)據(jù)進行可視化動態(tài)波形顯示。由于有的工況數(shù)據(jù)數(shù)位不一致,如果將所有數(shù)據(jù)都以1 ∶1 在同一個示波器上顯示,那么用戶不方便觀察數(shù)據(jù)變化趨勢,所以在示波器顯示時進行比例顯示,系統(tǒng)壓力P、壓力A、壓力B 和系統(tǒng)流量、拖體深度是1 ∶1 顯示,而轉(zhuǎn)速是以實際數(shù)據(jù)的1/10 進行顯示。
為了驗證發(fā)聲器在線測控系統(tǒng)的功能,開展了湖上試驗,圖3 為某次試驗時發(fā)聲器測控系統(tǒng)軟件的主界面。試驗時,可以在通信控制和通信指示根據(jù)設備的實際情況選擇數(shù)據(jù)接收和發(fā)送的串口,在串口通信狀態(tài)指示區(qū)觀察通信連接情況;在重要設備控制區(qū),可以設置DSP 控制板的信號輸出啟動和停止、輸出信號增益,可以設置液壓系統(tǒng)的開關(guān)閥開啟和關(guān)閉、溢流閥開度,在界面的顯示區(qū)域能夠?qū)崿F(xiàn)各類工況數(shù)據(jù)的實時接收以及顯示,采集的設備工況以數(shù)據(jù)或示波器圖像形式進行動態(tài)顯示。
本文主要對自供能發(fā)聲器的監(jiān)測和控制進行了研究,提出了一種在線測控系統(tǒng),并詳細介紹了系統(tǒng)的硬件平臺設計、通信協(xié)議設計、系統(tǒng)軟件設計,具有聲信號控制、液壓監(jiān)測和控制、發(fā)聲器葉輪轉(zhuǎn)速監(jiān)測、電源監(jiān)測、深度監(jiān)測、扭矩監(jiān)測功能,配套的動態(tài)可視化軟件可實現(xiàn)通信中斷警示、通信控制、重要設備控制、自動報警、可視化模塊動態(tài)顯示數(shù)據(jù)等。最后,通過湖上試驗對系統(tǒng)的基本功能以及可靠性進行了測試,測試結(jié)果充分驗證了本系統(tǒng)設計的正確性。