王正方++賈磊++王靜++沈省三++張萌萌++隋青美++曹玉強++趙初林



摘 要:由于傳統的光纖土木工程安全監測軟件平臺功能簡單,且監測參數過于單一,已不能滿足現場監測的需要。本文根據研制的土木工程光纖監測硬件系統,構建了一套適用于土木工程安全監測的人機交互良好的光纖多參數三維軟件平臺。應用Microsoft Visual C++ 2010的開發環境,采用MFC基于對話框的整體框架及模塊化設計思想進行系統軟件平臺的開發。該系統以采集處理土木工程關鍵參數實時顯示為核心,首先實現了監測系統參數設置、數據采集處理、三維顯示和實時曲線顯示、數據庫存儲等功能,然后采用等比例擴展的算法完成三維立體模擬顯示,實現了土木工程安全多場監測與三維顯示。
關鍵詞:安全監測;多場;三維顯示;MFC
DOI:10.16640/j.cnki.37-1222/t.2017.15.114
1 引言
近年來,我國土木工程建設蓬勃發展,但同時安全事故頻繁發生,造成了重大的經濟損失與人員傷亡,因此實現土木工程的安全監測具有重要意義。土木工程現場環境極其惡劣,且影響因素復雜,傳統的電類與振弦測技術由于易發生蠕變、耐腐蝕性能差等,不能很好的滿足工程需要。光纖傳感技術具有抗電磁干擾、防水防潮性能好、無零漂等諸多優點,能夠很好的適應土木工程安全監測的需求。目前適用于土木工程安全監測的應變、壓力、位移、溫度等關鍵參數的光纖傳感器技術已經相對成熟,光纖傳感器解調技術與光纖傳感器組網技術也已經能夠滿足工程現場的需要,但是軟件平臺功能簡單,大多只能采集原始波長。
自劉大安提出土木工程安全監測信息系統構想以來,土木工程安全監測系統已漸成規模。曹國金等進行了基于數據庫的隧洞工程安全監測管理系統的開發,用于大量現場數據的存儲和管理,但是功能相對比較單一,只實現了單一參數的監測;吳金華等開發出的監測資料處理系統在地下工程施工中對監測信息管理、有效性檢查和處理較為全面,但是視覺化功能較弱。長久以來,土木工程安全監測軟件的開發仍然存在不足,具有三維立體實時顯示的可視化軟件平臺更是少有。因此開發具有友好人機交互界面,對數據進行有效的采集、存儲、處理和三維實時顯示平臺成為土木工程安全監測技術進一步發展的需求。
本文基于研制的土木工程光纖安全監測硬件系統,構建了一套多場三維實時可視化監測軟件平臺,實現了人機交互良好的多功能的土木工程安全監測,克服了傳統軟件的功能單一和不能實現三維實時顯示等缺陷。
2 系統構建
2.1 監測系統結構
基于土木工程安全監測的光纖多參數監測系統硬件結構框架如圖1 所示,整個系統分為三部分:(1)不同監測參數的光纖光柵傳感器(溫度、位移、應變、滲壓等),安裝在工程現場的待測點,用于實時監測相應的關鍵參數的變化情況。(2)光纖光柵解調儀與通道擴展裝置。解調儀采用美國MOI生產的4通道光纖光柵解調儀SM125,采集頻率為1Hz,波長解調精度為1pm。為了增大傳感網絡容量,采用了空分復用技術,光開關用于進行光路切換,進而實現通道擴展。(3)計算機與監測軟件平臺部分,經解調儀解調后的信號通過串口送入計算機,由軟件平臺進行數據采集、處理、顯示、存儲等。
2.2 軟件設計流程
基于上述光纖傳感網絡,開發了相應的多參數三維軟件平臺,經過用戶登錄,串口、IP等設備參數設置成功后,將光開關和光纖光柵解調儀采集的監測數據進行實時自動處理,通過參數配置,獲得位移、溫度、應變、滲壓等數值,給出,土木工程關鍵監測場的三維立體顯示與關鍵參數變化趨勢顯示,并實現數據自動存儲,設計流程如圖2所示。
3 基于VC++的多場三維軟件平臺開發
3.1 多場三維軟件平臺概述
本文針對多場實時監測需求以及當前監測軟件的不足,在Microsoft Visual Studio 2010開發環境下,開發了光纖多場三維軟件平臺。該軟件平臺主要分為登錄與連接配置模塊、參數設置模塊、數據采集與處理模塊、三維顯示與曲線顯示模塊、數據管理模塊和報警模塊等。根據光柵光纖傳感器在土木工程中的分布位置及解調儀采集的數據,用由紅到藍的漸變顏色定義分別定義關鍵參數的不同變化區間,實現三維立體顯示。軟件平臺主界面如圖3所示。
3.2 功能模塊設計
3.2.1 參數配置模塊
參數配置包括元件配置和監測顯示配置。在土木工程安全監測中,需要監控的參數可能隨時發生變化,當傳感器的類型、數量以及在分布位置發生變化時,可以通過參數配置進行調整,使軟件平臺具有較強的通用性。
元件配置主要包括六種常用傳感器的選擇,用戶可以通過選擇單一或多個類型的元件,與實時曲線顯示非模態對話框通過PostMessage函數實現值傳遞,改變顯示曲線的類型和個數。
監測顯示配置界面采用列表框實現手動添加和修改網絡中傳感器的位置、計算參數和補償參數等,以及在三維顯示立方體中的位置和擴展精度等。監測顯示配置界面如圖4所示。
為傳感器信息定義一個結構體SENSORINFO,為列表框添加變量,變量類型為軟件為CSensorList類型, CSensorList定義為:
Typedef CTypedPtrList
CSensorList。
CTypedPtrList類是一個模板類,作用類似于鏈表,有相同于鏈表的可執行操作。當傳感器類型與參數發生變化時,都可以通過查詢語句獲得數據庫保存的參數配置,可靈活實現多場測量。
3.2.2 數據采集處理模塊
數據采集模塊共有兩種通信方式,分別為網絡通信和串口通信。解調儀與上位機的通信為網絡通信,光開關與上位機的通信為串口通信。網絡通信基于TCP/IP協議,利用socket實現網絡編程。串口通信通過基于Win32 API函數實現的串口通信的編程步驟完成:(1)打開串口;(2)配置串口;(3) 讀寫串口;(4)關閉串口。采集模塊在網絡通信中開辟了一個接收線程,數據以數據包的形式接收。
對數據的處理包括解析數據包、計算中心波長以及計算測量值。計算中心波長需要獲取配置參數以及采用光纖光柵解調儀自帶的動態鏈接庫(DLL)來求取中心波長。配置參數從數據庫中獲得。
3.2.3 三維顯示與曲線顯示模塊
三維顯示與曲線顯示模塊是主宰著整個軟件平臺監測質量。計算機通過網絡通信讀取解調儀中的原始數據,由數據處理、計算得到對應的測量參數值,進行實時顯示和存儲。顯示模塊分三維模擬立體顯示和實時曲線顯示設置。
三維立體顯示根據光柵光纖采集的溫度、位移、應變、滲壓大小模擬出土木工程場的分布情況,用由紅到藍的漸變顏色顯示在立方體中。立方體的繪畫采用三維坐標(X,Y,Z)數據轉化成平面中二維坐標數據(X,Y)的方法,實現數據的三維顯示。響應OnMouseMove函數,拖動鼠標左鍵可以旋轉立方體,多次繪圖會出現閃爍,采用CDC雙緩沖技術解決,背景定為黑色,利用定時器OnTime函數每隔25毫秒刷新一次屏幕。每隔200毫秒采集的數值在每次刷新時改變立體圖中所在位置的顏色。最終效果如圖5所示。
漸變顏色計算算法:首先獲取兩種顏色的R、G、B分量的差值,然后獲取顯示區域的距離,用R、G、B值除以區域的距離獲得每一個像素點R、G、B的變化值(即步長),將起始位置顏色的R、G、B值加上每個像素點的變化值就得到了當前位置的顏色值。算法代碼如下:
//得到開始和結束顏色值得R、G、B分量
BYTE r1 = GetRValue(StartColor);
BYTE g1 = GetGValue(StartColor);
BYTE b1 = GetBValue(StartColor);
BYTE r2 = GetRValue(EndColor);
BYTE g2 = GetGValue(EndColor);
BYTE b2 = GetBValue(EndColor);
//計算兩個顏色各個分量的差值
r = (double)(r2-r1)/rect.Width();
g = (double)(g2-g1)/rect.Width();
b = (double)(b2-b1)/rect.Width();
//計算當前位置的R、G、B分量
r3 = r1+ i*r; g3 = g1+i*g; b3 = b1+i*b;
實時曲線顯示部分主要是使用MFC ActiveX中。
TeeChart Pro Activex control v5控件完成,TeeChart作為優秀的ActiveX圖形控件,具有許多優良的特性,它可以有效地解決圖形顯示問題,使實時數據顯示更加直觀和易于理解,有保存帶曲線圖片的函數。本文能根據元件選擇動態改變Teechart控件顯示的個數,所以采用動態創建的方式,部分代碼如下:
m_ctrlChart= new CTChart;
m_ctrlChart->Create(_T(""),WS_VISIBLE,CRect(40, 80,200,300),this,ID_TEECHART); //動態創建
m_ctrlChart->GetPanel().BackImageLoad(m_strPath+_T("image\\back00.bmp"));//設置背景圖片
m_ctrlChart->AddSeries(0);//添加曲線
m_ctrlChart->AddChartTitle(_T("溫度監測"));//標題m_ctrlChart->Series(0).AddXY((ShowNum[SensorType]%100
),dRValue,strTime,RGB(255,0,0));//添加數據
m_ ctrlChart->GetExport().SaveToBitmapFile(str);//保存圖片
輸入目標觀測點的坐標,顯示此坐標下實時曲線動態變化。界面如圖6所示。
3.2.4 數據庫模塊
軟件中關于傳感器的參數設置使用數據庫方式保存,數據庫的設計采用關系型數據庫Access,利用PowerDesigner進行數據庫的建模,由物理數據模型構建Sensor表。
利用ADO的方式加載數據庫,采用數據庫連接池。數據庫連接池負責分配、管理和釋放數據庫連接,對數據庫連接進行集中管理,它允許應用程序重復使用一個現有的數據庫連接。系統啟動時建立足夠的連接,應用程序需要時直接從數據庫連接池中獲取連接,程序退出時,清空初始化連接池。
4 總結
實時監測土木工程關鍵參數,并實現多場三維立體顯示,有效獲取土木工程安全監測信息,是有效預防土木工程災害的關鍵因素。
本文實現了土木工程多場監測軟件平臺,實現了三維立體顯示和實時曲線顯示,數據庫存儲穩定,操作方便,具有報警提示功能,在功能和使用效果上達到了預想的目的。該軟件平臺進行了長期運行,其運行狀態良好,性能穩定,能夠很好的滿足現場監測的需要。
參考文獻:
[1]王靜.光纖光柵多參數傳感理論技術研究及在地下工程災害監測中的應用[D].山東:山東大學,2011.
[2]劉大安,劉小佳.地質工程監測信息系統開發[J],工程地質學報, 1997(04).
[3]郝小紅,崔江利,曹國金.隧洞監測信息數據庫管理系統的設計與應用[J],建井技術,2003(04).
[4]曹國金,蘇超,周澄.隧洞工程監測資訊資料庫管理系統設計及其應用[J].巖土工程師,2002,04(02):34-36.
[5]吳金華,邱先聲,金全鑫.監測作業與地下工程[J],巖土力學與工程學報,1999,18:1181-1184.
基金項目:山東省自然科學基金面上項目(ZR2014FM025);國家自然科學基金青年項目(41602292);國家自然科學基金面上項目(41472260)。
作者簡介:王正方(1988-),男,山西廣靈人,博士,副研究員,研究方向:新型檢測技術及應用。
*為通訊作者endprint