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