《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于以太網(wǎng)的橋梁健康監(jiān)測系統(tǒng)的軟件設(shè)計
基于以太網(wǎng)的橋梁健康監(jiān)測系統(tǒng)的軟件設(shè)計
摘要: 近年來,隨著橋梁安全事故的不斷增多,橋梁健康監(jiān)測技術(shù)逐漸成為學(xué)術(shù)界、工程界的一個研究熱點,與此同時,也開發(fā)出了許多用于橋梁健康監(jiān)測的系統(tǒng)軟件。
Abstract:
Key words :
    近年來,隨著橋梁安全事故的不斷增多,橋梁健康監(jiān)測技術(shù)逐漸成為學(xué)術(shù)界、工程界的一個研究熱點,與此同時,也開發(fā)出了許多用于橋梁健康監(jiān)測的系統(tǒng)軟件。目前橋梁健康監(jiān)測系統(tǒng)軟件開發(fā)主要有兩種方式,一種是利用高級語言編程工具,主要有VB,VC,Delphi;另一種是利用專業(yè)化的圖形化編程語言Lab-VIEW。利用高級語言編程,不受開發(fā)工具的限制,可以根據(jù)開發(fā)者自身的設(shè)計開發(fā)出比較友好美觀的界面程序,但是對軟件人員的要求較高;利用LabVIEW進行二次開發(fā),雖然能夠在短時間內(nèi)開發(fā)出比較實用的軟件,但是軟件開發(fā)容易受限于開發(fā)工具。這兩種開發(fā)方式各有利弊,應(yīng)根據(jù)實際情況選擇使用。本文軟件編程采用的是面向?qū)ο蟮目梢暬幊陶Z言VC++6.0,充分利用VC++自帶的MFC類庫,開發(fā)出了界面友好美觀的橋梁健康監(jiān)測系統(tǒng)軟件。


1 基于以太網(wǎng)的橋梁健康監(jiān)測系統(tǒng)概述
    橋梁健康監(jiān)測技術(shù)是在橋梁體的關(guān)鍵部位安裝一些傳感器件,實時在線監(jiān)測這些監(jiān)測點所采集的結(jié)構(gòu)參數(shù)在橋梁運營過程中的變化,通過對這些結(jié)構(gòu)參數(shù)的分析和處理,綜合評定橋梁的安全服役狀況。因此,橋梁健康監(jiān)測系統(tǒng)基本應(yīng)該包含以下功能:
    (1)各種傳感器信號的采集和處理;
    (2)將采集到的數(shù)據(jù)變送至上位機控制單元;
    (3)上位機實時信號的監(jiān)控、分析和處理;
    (4)歷史數(shù)據(jù)的保存和查閱。
    隨著通信技術(shù)的發(fā)展,網(wǎng)絡(luò)技術(shù)也正逐步應(yīng)用在國內(nèi)外許多大型橋梁監(jiān)測系統(tǒng)中。將監(jiān)測儀通過以太網(wǎng)連接到中央控制機,可以實現(xiàn)采集數(shù)據(jù)的遠程傳輸和共享,從而在監(jiān)控中心就可以對橋梁各項結(jié)構(gòu)參數(shù)的實時在線監(jiān)測。
    基于以太網(wǎng)的橋梁健康監(jiān)測系統(tǒng)的框架結(jié)構(gòu)如圖1所示。其中,監(jiān)測儀主要完成數(shù)據(jù)的采集和變送,由于橋梁監(jiān)測系統(tǒng)采集和處理的數(shù)據(jù)量非常大,實時性要求非常高,以單片機實現(xiàn)的嵌入式系統(tǒng)難以滿足要求,本次設(shè)計的監(jiān)測儀主板的設(shè)計充分利用了DSP的強大數(shù)據(jù)處理能力和FPGA的時序邏輯功能,因此,可以滿足大數(shù)據(jù)量、實時監(jiān)測的系統(tǒng)需求。

    中央控制機實時顯示當(dāng)前監(jiān)測的各項性能指標(biāo),同時能夠自行分析橋梁是否處在安全服役狀態(tài),當(dāng)出現(xiàn)突發(fā)情況下橋梁的損傷、安全性能下降的情況下能提示安全警報,避免發(fā)生重大的惡習(xí)安全事故。

 

2 基于以太網(wǎng)的橋梁健康監(jiān)測系統(tǒng)的軟件設(shè)計
2.1 軟件設(shè)計需求分析
    現(xiàn)場監(jiān)測儀將采集到的信號通過以太網(wǎng)傳送到上位機PC,在PC機上實時顯示、保存、分析采集數(shù)據(jù)信息,既能夠充分利用了DSP在現(xiàn)場高速采集處理數(shù)據(jù)的能力,又能夠充分利用了上位PC機在繪制圖像和保存數(shù)據(jù)方面的優(yōu)勢。因此,一個完整的橋梁健康監(jiān)測系統(tǒng)在中央監(jiān)控部分應(yīng)該完成以下幾個功能:
    (1)每臺監(jiān)測儀IP地址、MAC地址、Port端口等網(wǎng)絡(luò)地址信息、運行模式以及系統(tǒng)采樣時間的設(shè)定;
    (2)監(jiān)測儀8個通道的采樣頻率、放大倍數(shù)、采樣保存時間的設(shè)定以及每個通道對應(yīng)傳感器類型的選擇;
    (3)動態(tài)實時顯示數(shù)據(jù)曲線。數(shù)據(jù)的顯示可以以原始數(shù)據(jù)和FFT兩種格式,并且可以調(diào)整采樣時間設(shè)定一幀采集的數(shù)據(jù)量的大??;
    (4)八個通道數(shù)據(jù)采集數(shù)據(jù)的長度、采集的時間能夠同步實時顯示在中央控制機上;
    (5)越限報警。當(dāng)采集到的數(shù)據(jù)出現(xiàn)異常,超出正常的數(shù)據(jù)范圍的時候,能夠向中央控制單元報警,便于工作人員及時查找出現(xiàn)的故障和損傷;
    (6)能夠?qū)Σ杉降臄?shù)據(jù)進行實時分析。
2.2 軟件系統(tǒng)整體設(shè)計和流程
    軟件設(shè)計核心部分主要有兩個,一個是中央控制單元向監(jiān)測儀發(fā)送命令參數(shù),另一個是中央控制單元接收監(jiān)測儀發(fā)送回來的采集數(shù)據(jù)信息。PC機接收到采集的數(shù)據(jù)信息后,還需要根據(jù)系統(tǒng)要求繪制出數(shù)據(jù)曲線圖,便于對采集到的數(shù)據(jù)進行分析,同時為了歷史數(shù)據(jù)信息的查閱,還必須將采集到的數(shù)據(jù)保存到Excel文件,其流程圖如圖2所示。根據(jù)軟件設(shè)計的整體設(shè)計和流程,采用了四個線程:
    線程1:UINT SendCMDToDSP(LPVOID IParam),完成向DSP發(fā)送在主程序設(shè)定的命令參數(shù);
    線程2:UINT、RecieveData(LPVOID IParam),完成接收采集的數(shù)據(jù)信息;
    線程3:UINT DrawCurve(LPVOID IParam),將采集到的數(shù)據(jù)繪制成曲線圖像;
    線程4:UINT StoreToExcel(LPVOID IParam),將采集到的數(shù)據(jù)保存到Excel文件,便于查閱分析歷史數(shù)據(jù)。
    其中,由于PC是被動接收監(jiān)測儀采集的數(shù)據(jù),為了保證在接收數(shù)據(jù)時沒有數(shù)據(jù)丟失,要把RecieveData線程的優(yōu)先級設(shè)為最高。
    Windows本身采用的是消息驅(qū)動機制,當(dāng)一個線程發(fā)出一條消息時,操作系統(tǒng)首先接收到該消息,然后把該消息轉(zhuǎn)發(fā)給目標(biāo)線程。所以可以自定義消息,然后通過操作系統(tǒng)來實現(xiàn)一個線程向另一個線程發(fā)送消息。

 

    首先SendCMDToDSP線程發(fā)送參數(shù)命令給監(jiān)測儀主板核心器件DSP,DSP收到參數(shù)命令后,按參數(shù)命令的要求向PC發(fā)送數(shù)據(jù),RecieveData線程監(jiān)聽到DSP開始發(fā)送采集數(shù)據(jù)后,開始接收數(shù)據(jù)。由于Recie-veData線程優(yōu)先級別高于SendCMDToDSP線程,所以當(dāng)接收數(shù)據(jù)時發(fā)送命令參數(shù),SendCMDToDSP線程則需要等待RecieveData線程接收完數(shù)據(jù)才能開始發(fā)送命令參數(shù),這樣就不會造成命令參數(shù)的覆蓋。在PC機內(nèi)存區(qū)域開辟一塊緩沖區(qū)用于接收數(shù)據(jù),RecieveData開始接收數(shù)據(jù),當(dāng)內(nèi)存緩沖區(qū)滿的時候,RecieveData線程PostThreadMessage一個消息給DrawCurve線程,將緩沖區(qū)指針和大小作為消息參數(shù)傳遞過去,然后釋放緩沖區(qū),再等待接收數(shù)據(jù);DrawCurve線程接收到消息后,分配另一塊內(nèi)存保存數(shù)據(jù),繪完采集數(shù)據(jù)的曲線圖像后,DrawCurve線程PostThreadMessage一個消息給StoreToExcel線程,將新的內(nèi)存指針和大小作為消息參數(shù)傳遞過去,然后把數(shù)據(jù)緩沖區(qū)釋放,再繼續(xù)等待消息;StoreToExcel線程獲取消息后,同樣分配另一塊內(nèi)存保存數(shù)據(jù),將采集的數(shù)據(jù)保存到Excel文件,然后把緩沖區(qū)釋放,再繼續(xù)等待消息。
2.3 以太網(wǎng)通信模塊設(shè)計
    PC與DSP的數(shù)據(jù)通信采用的是以太網(wǎng)通信,上位PC機向DSP發(fā)送設(shè)定好的命令參數(shù),DSP則按照接收到的命令參數(shù)采集數(shù)據(jù),然后向PC機發(fā)送采集到的數(shù)據(jù)。以太網(wǎng)通信部分采用的是套接口Socket編程,套接口Socket提供了許多函數(shù),利用這些函數(shù),程序員就可以實現(xiàn)DSP和上位PC機的以太網(wǎng)通信。

 

2.3.1 發(fā)送命令模塊
    當(dāng)上位PC機向監(jiān)測儀發(fā)送IP地址、MAC地址等命令參數(shù)時,監(jiān)測儀作為服務(wù)器端,PC機作為客戶端。在服務(wù)器端和客戶端分別創(chuàng)建一個套接口Socket,然后在系統(tǒng)上電后,監(jiān)測儀就處于監(jiān)聽狀態(tài),當(dāng)監(jiān)聽到PC有連接請求時,監(jiān)測儀服務(wù)端又創(chuàng)建一個新的套接口stcpctive來與PC建立連接,當(dāng)監(jiān)測儀與PC建立連接以后,PC就可以向監(jiān)測儀發(fā)送命令參數(shù)了。在此過程中,PC每次向監(jiān)測儀發(fā)送100 B的命令參數(shù),其中,第一個字節(jié)是區(qū)分不同命令參數(shù)的標(biāo)志,監(jiān)測儀接收到命令參數(shù)后,利用這個標(biāo)志來設(shè)置的各項參數(shù),通過這種方式,依次設(shè)定監(jiān)測儀各個通道的采樣頻率、保存時間、PGA、采樣閾值、FFT使能以及監(jiān)測儀本身的IP地址、MAC地址、運行時模式以及監(jiān)測儀系統(tǒng)時間的設(shè)置,其流程如圖3所示。

 

2.3.2 接收數(shù)據(jù)模塊
    當(dāng)監(jiān)測儀將采集到的數(shù)據(jù)通過以太網(wǎng)發(fā)送到上位PC機時,PC機作為服務(wù)器端,監(jiān)測儀作為客戶端。同樣,也是在PC機服務(wù)器端和監(jiān)測儀客戶端各創(chuàng)建一個套接口Socket,當(dāng)PC機上的應(yīng)用程序開始運行后,PC機就處于監(jiān)聽狀態(tài),當(dāng)監(jiān)聽到有監(jiān)測儀端有連接請求的時候,就創(chuàng)建一個新的套接口stcpctive與監(jiān)測儀建立連接。當(dāng)PC機與監(jiān)測儀建立連接以后,監(jiān)測儀依次向PC機發(fā)送采樣時間、通道號、數(shù)據(jù)長度、采樣數(shù)據(jù)。采樣時間即表示該發(fā)送的數(shù)據(jù)對象是哪個時刻的采樣結(jié)果。為了接收監(jiān)測儀發(fā)送過來的數(shù)據(jù)信息,需要在內(nèi)存緩沖區(qū)開辟一個容量為16 384×4的buffer,每臺監(jiān)測儀8個通道,因此開辟8個buffer,用來存放8個通道接收到的數(shù)據(jù),其流程如圖4所示。


3 模擬測試
    橋梁健康監(jiān)測技術(shù)的發(fā)展還有很多處于實驗室研究階段,因此,數(shù)據(jù)的采集測試是在實驗室環(huán)境下采用波形發(fā)生器產(chǎn)生的三角波信號來模擬實際現(xiàn)場傳感器信號。設(shè)定好通道號、采樣時間、采樣頻率和放大倍數(shù)等命令參數(shù),運行程序,可以看到如圖5所示的三角波波形。其中,橫坐標(biāo)表示在設(shè)定的采樣時間內(nèi)采集數(shù)據(jù)的個數(shù),即為1 s時間內(nèi)采集512個數(shù)據(jù)。縱坐標(biāo)表示采集信號的幅值,由于從傳感器出來的信號電壓是-2.5~2.5 V,ADC采樣分辨率為24 b,去掉第24位,取中間值即222,為0 V,如圖5所示。采集數(shù)據(jù)無漏點,波形完整,因此符合橋梁健康監(jiān)測系統(tǒng)的采集數(shù)據(jù)的基本需要。

 

4 結(jié) 語
    本文完成了基于以太網(wǎng)的橋梁健康監(jiān)測系統(tǒng)的軟件設(shè)計,實現(xiàn)了橋梁健康監(jiān)測系統(tǒng)中各種傳感器信號的采集,同時將采集到的數(shù)據(jù)信號通過以太網(wǎng)傳輸?shù)絇C上,實時顯示各采集信號的輸出波形,并將采集到的數(shù)據(jù)保存至Excel文件,便于歷史查閱和分析。軟件設(shè)計界面友好,可完成一般的橋梁健康監(jiān)測任務(wù)。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。