韓藝?yán)ぁ±罡荒辍∥添槨☆佊酪荨≈芎惴f
摘 要: 橋梁結(jié)構(gòu)監(jiān)測技術(shù)能有效地保證橋梁的安全運(yùn)營,保障人民群眾的生命財(cái)產(chǎn)安全。為了滿足橋梁結(jié)構(gòu)的遠(yuǎn)程數(shù)據(jù)監(jiān)測需要,實(shí)現(xiàn)橋梁監(jiān)測的網(wǎng)絡(luò)化,該系統(tǒng)在美國橋梁診斷公司(BDI)的橋梁結(jié)構(gòu)測試系統(tǒng)的基礎(chǔ)上加以改進(jìn),將無線網(wǎng)絡(luò)技術(shù)、虛擬儀器技術(shù)和橋梁結(jié)構(gòu)監(jiān)測技術(shù)與之結(jié)合在一起,并以LabVIEW作為軟件開發(fā)平臺(tái)研究并設(shè)計(jì)了一套無線數(shù)據(jù)傳輸解析存儲(chǔ)模塊,實(shí)現(xiàn)了橋梁傳感器數(shù)據(jù)的無線傳輸與存儲(chǔ),具有較強(qiáng)的適應(yīng)性和穩(wěn)定性,為中小型跨徑橋梁的監(jiān)測提供可行的解決方案。
關(guān)鍵詞: LabVIEW; 橋梁監(jiān)測; 無線傳輸; BDI
中圖分類號(hào): TN911?34; TP393 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2017)20?0169?04
Abstract: The bridge structure monitoring technology can ensure the safe operation of bridge, and protect life and property safety of the masses. To meet the need of remote data monitoring for the bridge structure and realize the cyberization of bridge monitoring, the system is improved on the basis of the bridge structure testing system of Bridge Diagnostics Inc. (BDI), and a set of wireless data transmission, analysis and memory module is studied and designed, in which the LabVIEW is regarded as the development platform, and the wireless network technology, virtual instrument technology and bridge structure monitoring technology are combined. The module can realize the wireless transmission and storage of bridge sensor date. The system has strong adaptability and high stability, and provides a feasible solution for the monitoring of small?and medium?size bridge.
Keywords: LabVIEW; bridge monitoring; wireless transmission; BDI
0 引 言
近年我國橋梁安全事故頻發(fā),所引起的損失慘重,已經(jīng)引起社會(huì)的廣泛關(guān)注。其主要原因是橋梁在其設(shè)計(jì)和施工過程中存在缺陷,以及在服役過程中不可避免地受到設(shè)計(jì)載荷、環(huán)境腐蝕、材料老化等問題,同時(shí)一些突發(fā)事件(臺(tái)風(fēng)、地震、撞擊等)也會(huì)引起橋梁結(jié)構(gòu)損傷,因此有必要對(duì)橋梁結(jié)構(gòu)損傷進(jìn)行實(shí)時(shí)監(jiān)測。目前橋梁結(jié)構(gòu)損傷檢測和在線安全監(jiān)測已成為當(dāng)前國內(nèi)外學(xué)術(shù)界和工程界的熱點(diǎn)問題[1?2]?,F(xiàn)有的橋梁健康監(jiān)測系統(tǒng)大多采用有線監(jiān)測方式,一般采用有線電纜實(shí)現(xiàn)傳感器數(shù)據(jù)傳輸。有線監(jiān)測系統(tǒng)普遍存在著安裝造價(jià)高、環(huán)境對(duì)傳輸信號(hào)的影響較大等缺點(diǎn)。而無線監(jiān)測系統(tǒng)具有安裝方便快捷,對(duì)環(huán)境適應(yīng)性強(qiáng)等優(yōu)勢,可有效地克服有線監(jiān)測的缺點(diǎn)[3]。美國橋梁診斷公司(BDI)的橋梁結(jié)構(gòu)測試系統(tǒng)是經(jīng)濟(jì)實(shí)用的無線結(jié)構(gòu)測試與評(píng)估設(shè)備,它通過無線網(wǎng)絡(luò)傳輸采集到的數(shù)據(jù),有較好的便攜性和穩(wěn)定性,廣泛應(yīng)用于中小型跨徑橋梁的監(jiān)測與評(píng)定。BDI軟件系統(tǒng)是采用LabVIEW開發(fā)的,LabVIEW是目前國際上應(yīng)用最廣的虛擬儀器開發(fā)環(huán)境之一,主要應(yīng)用于數(shù)據(jù)采集 、數(shù)據(jù)分析、數(shù)據(jù)顯示等領(lǐng)域。與傳統(tǒng)程序語言不同,LabVIEW采用強(qiáng)大的圖形化語言編程,編程簡單方便,界面直觀,具有強(qiáng)大的數(shù)據(jù)可視化分析和儀器控制能力等特點(diǎn)[4?6]。但BDI軟件系統(tǒng)較為封閉,無法直接獲得其實(shí)時(shí)傳感器數(shù)據(jù)。因此本系統(tǒng)利用BDI橋梁結(jié)構(gòu)監(jiān)測系統(tǒng)的硬件系統(tǒng),并針對(duì)BDI軟件系統(tǒng)的缺陷,開發(fā)了一套基于BDI軟件系統(tǒng)的數(shù)據(jù)采集和轉(zhuǎn)發(fā)模塊用于完成實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)發(fā)與存儲(chǔ),以方便本監(jiān)測系統(tǒng)調(diào)用,為橋梁無線監(jiān)測中的數(shù)據(jù)傳輸與存儲(chǔ)提出了切實(shí)可行的方案。
1 基于BDI的無線橋梁測試系統(tǒng)結(jié)構(gòu)
無線采集測試系統(tǒng)具有低成本、低能耗、高度靈活性、擴(kuò)展性強(qiáng)等特點(diǎn),同時(shí)省去了在測試橋梁時(shí)布線的困難,因此在中小型跨徑橋梁的監(jiān)測與評(píng)定過程中使用廣泛。BDI橋梁結(jié)構(gòu)測試系統(tǒng)利用雙通道無線電基站,構(gòu)建了一個(gè)基于IEEE 802.11g標(biāo)準(zhǔn)的STS無線網(wǎng)絡(luò),如圖1所示。雙通道無線電基站可以同時(shí)工作在2.4 GHz和5 GHz兩個(gè)頻段。2.4 GHz頻段用于所有傳感器節(jié)點(diǎn)與服務(wù)器端的通信;5.0 GHz頻段用于多個(gè)基站之間無線通信,支持長距離通信定向天線。
傳感器節(jié)點(diǎn)STS?Node將采集的信號(hào)通過無線STS網(wǎng)絡(luò)傳輸?shù)紹DI服務(wù)器端核心模塊(Core)組件。Core將信號(hào)解碼后,由其專用軟件STS?Live顯示,其中核心組件Core和顯示模塊STS?Live均采用LabVIEW編寫,如圖1所示。傳感器采集控制和信號(hào)解碼都集成在核心模塊Core中,為了提供BDI系統(tǒng)與其他監(jiān)測系統(tǒng)的兼容性,BDI提供了核心模塊Core的二次開發(fā)接口,方便其他系統(tǒng)無縫接入BDI監(jiān)測系統(tǒng)。
因此本系統(tǒng)充分利用Core的開發(fā)接口,對(duì)其進(jìn)行擴(kuò)展與改進(jìn),在服務(wù)端設(shè)置數(shù)據(jù)分析采集軟件模塊實(shí)時(shí)讀取傳感器數(shù)據(jù),并存儲(chǔ)到相應(yīng)的數(shù)據(jù)庫,為監(jiān)測系統(tǒng)提供數(shù)據(jù)支持,其框圖如圖2所示。
系統(tǒng)從邏輯結(jié)構(gòu)上分為三層(見圖1)。
(1) 傳感器數(shù)據(jù)采集與轉(zhuǎn)發(fā)層。主要完成傳感器數(shù)據(jù)采集,將傳感器數(shù)據(jù)轉(zhuǎn)發(fā)給服務(wù)端的Core程序。
(2) 中心服務(wù)系統(tǒng)層。在Core獲取到傳感器數(shù)據(jù)后,通過它的數(shù)據(jù)傳輸接口,將數(shù)據(jù)傳輸給STS?CLIENT,STS?CLIENT在接收到網(wǎng)絡(luò)數(shù)據(jù)后將數(shù)據(jù)解碼獲取有效數(shù)據(jù),通過LabVIEW的波形圖表控件顯示數(shù)據(jù),并將數(shù)據(jù)實(shí)時(shí)存入數(shù)據(jù)庫[7?9]。
(3) 用戶服務(wù)層。通過訪問中心數(shù)據(jù)庫獲取相關(guān)傳感器數(shù)據(jù),使用Web技術(shù),完成歷史數(shù)據(jù)查詢,實(shí)時(shí)數(shù)據(jù)監(jiān)控等功能。
2 無線系統(tǒng)設(shè)計(jì)方案
2.1 BDI數(shù)據(jù)傳輸接口與BDI的通信信息系統(tǒng)
BDI服務(wù)器組件Core是系統(tǒng)的控制采集和信號(hào)解碼的核心模塊,可以通過相關(guān)指令來完成對(duì)數(shù)據(jù)采集器硬件的控制。客戶端程序可以通過TCP/IP協(xié)議接入Core組件,對(duì)Core組件發(fā)送指令,將傳感器實(shí)時(shí)數(shù)據(jù)重定向到客戶端,從而達(dá)到控制無線傳感器數(shù)據(jù)的目的[10]。Core與客戶端程序之間的數(shù)據(jù)傳輸是建立在BDI專用的信息編碼格式上的,每一包數(shù)據(jù)打包方式由BDI通信信息系統(tǒng)規(guī)定,傳輸?shù)臄?shù)據(jù)信息要按照隊(duì)列元素(Queue Element)的規(guī)則打包。當(dāng)數(shù)據(jù)在TCP/IP上傳輸時(shí),隊(duì)列元素會(huì)被重新打包為TCP/IP通信的數(shù)據(jù)幀格式。其結(jié)構(gòu)如圖3所示。
2.1.1 隊(duì)列元素?cái)?shù)據(jù)的打包方式
隊(duì)列元素是一個(gè)由Object,Task,Caller,Call back task與data組成的結(jié)構(gòu)體,其結(jié)構(gòu)如圖3中有效數(shù)據(jù)字段所示。為了在網(wǎng)絡(luò)傳輸中傳送隊(duì)列元素這種結(jié)構(gòu)體,數(shù)據(jù)就必須平化為字節(jié)數(shù)組。在LabVIEW中,將數(shù)據(jù)從其內(nèi)存格式轉(zhuǎn)換為一種更適于網(wǎng)絡(luò)傳輸?shù)母袷?。這種更適合網(wǎng)絡(luò)傳輸?shù)母袷椒Q為平化的字符串?dāng)?shù)據(jù)(Flattened Data)。例如字符串“Task”平化后變?yōu)?000 0004 5461 736B(轉(zhuǎn)化為十六進(jìn)制顯示)。
在STS?CLIENT接收到一包數(shù)據(jù)時(shí)要通過一定規(guī)則解析數(shù)據(jù)。數(shù)據(jù)的平化字符串格式并不對(duì)該數(shù)據(jù)的類型編碼,LabVIEW將數(shù)據(jù)類型信息保存在類型描述符中?!皬淖址€原”函數(shù)要求將數(shù)據(jù)類型作為一個(gè)輸入端接入,以使函數(shù)對(duì)該字符串正確解碼。
2.1.2 傳感器的數(shù)據(jù)屬性
傳感器數(shù)據(jù)屬性包括:Sensor,傳感器編號(hào); DataPointer,數(shù)據(jù)個(gè)數(shù);Data,傳感器數(shù)據(jù);Group,傳感器所在節(jié)點(diǎn);SampleRate,采樣頻率。系統(tǒng)將這些屬性轉(zhuǎn)化為一個(gè)數(shù)據(jù)簇格式,以便用于儲(chǔ)存和傳輸。平化字符串?dāng)?shù)據(jù)解碼的LabVIEW代碼如圖4所示。
2.1.3 TCP/IP數(shù)據(jù)包格式
在BDI通信系統(tǒng)中數(shù)據(jù)的長度由傳感器采樣頻率決定,每一個(gè)數(shù)據(jù)包中包含0.5 s的傳感器數(shù)據(jù),因此數(shù)據(jù)量為采樣頻率的[12]。由于不同的采樣頻率下數(shù)據(jù)長度不統(tǒng)一,會(huì)導(dǎo)致讀取TCP/IP數(shù)據(jù)包時(shí)讀取字節(jié)數(shù)是變化的,同時(shí)讀取TCP/IP數(shù)據(jù)包可能會(huì)存在滯后的問題。如果數(shù)據(jù)包沒有被及時(shí)處理,未處理的數(shù)據(jù)包會(huì)存儲(chǔ)在緩存中,也就會(huì)造成讀取緩存中的數(shù)據(jù)時(shí)長度不確定的問題。未知數(shù)據(jù)包長度時(shí)無法正確讀取一包數(shù)據(jù)。因此為了解決這一問題,在每一個(gè)TCP/IP數(shù)據(jù)包的首部插入一段定長的16進(jìn)制數(shù)對(duì)數(shù)據(jù)長度信息編碼。TCP/IP數(shù)據(jù)包首部編碼方式結(jié)構(gòu)如圖3中的數(shù)據(jù)編碼字段,其編碼數(shù)據(jù)長度為8 B,第1 B為數(shù)據(jù)長度的CRC?8 MAX校驗(yàn)位,后3 B為數(shù)據(jù)包的長度,最后4 B為保留位為以后系統(tǒng)擴(kuò)展備用。讀取TCP/IP數(shù)據(jù)代碼如圖5所示,首先讀取8 B,獲取數(shù)據(jù)包的頭編碼,再取4 B將其中第1個(gè)字節(jié)以CRC?8 MAX算法解碼比較得到的數(shù)值與后3 B的數(shù)值是否一致,若不一致丟棄此數(shù)據(jù)包,若一致讀取相應(yīng)字節(jié)長度的TCP/IP數(shù)據(jù)。
2.2 STS?CLIENT設(shè)計(jì)與Core的指令功能
STS?CLIENT代替BDI橋梁結(jié)構(gòu)測試系統(tǒng)中的STS?Live,完成數(shù)據(jù)接收存儲(chǔ)與顯示功能,具體設(shè)計(jì)過程與運(yùn)行步驟如下:
(1) 通過TCP/IP協(xié)議建立與Core的通信連接,連接建立完成后首先發(fā)送登錄指令其中隊(duì)列元素的Task:CLIENTREGISTER,登錄成功后Core開始接收STS?CLIENT發(fā)送的其他命令;
(2) 根據(jù)隊(duì)列元素的結(jié)構(gòu)構(gòu)建指令字符串,首先向Core發(fā)送開始測試指令其中隊(duì)列元素Task:CLIENTCOMMAND,Data:NODE=ALL INITIALIZETEST=LIFELOAD;此指令用于初始化測試,Core收到此指令后將啟動(dòng)傳感器掃描,并獲取傳感器數(shù)據(jù)。成功獲取數(shù)據(jù)后Core默認(rèn)將數(shù)據(jù)轉(zhuǎn)發(fā)給STS?Live。
(3) 初始化測試并成功獲取數(shù)據(jù)后STS?CLIENT發(fā)送改變數(shù)據(jù)傳輸目標(biāo)指令,用于將發(fā)給STS?LIVE的傳感器數(shù)據(jù)改為發(fā)給STS?CLIENT,其隊(duì)列元素的前4項(xiàng)與開始測試指令相同,Data:NODE=ALL;ADDTRACES=Sensors,SensorName#Sensors,SensorName …;SensorName為想要獲取的傳感器的編碼,以“#”隔開。
(4) 解析接受到的傳感器數(shù)據(jù),通過無線網(wǎng)絡(luò)獲取到的TCP/IP數(shù)據(jù)包要經(jīng)過TCP/IP的數(shù)據(jù)解碼(解碼方法見2.1.3節(jié))后才能獲得有效數(shù)據(jù)的平化字符串格式,平化字符串?dāng)?shù)據(jù)格式解碼(解碼方法見2.1.1節(jié)與2.1.2節(jié))后獲取傳感器屬性數(shù)據(jù),將最終解析后的數(shù)據(jù)實(shí)時(shí)顯示在波形圖表控件上,同時(shí)將數(shù)據(jù)存入設(shè)計(jì)好的數(shù)據(jù)庫。
2.3 數(shù)據(jù)存儲(chǔ)的方案與數(shù)據(jù)庫的設(shè)計(jì)
本系統(tǒng)中傳感器數(shù)據(jù)存儲(chǔ)采用的數(shù)據(jù)庫平臺(tái)為SQL Server 2008R2。在LabVIEW平臺(tái)下利用LabSQL 工具包進(jìn)行數(shù)據(jù)庫訪問。LabSQL是一個(gè)免費(fèi)的、多數(shù)據(jù)庫、跨平臺(tái)的LabVIEW數(shù)據(jù)庫訪問工具包,支持Windows操作系統(tǒng)中任何基于OBDC的數(shù)據(jù)庫,將復(fù)雜的底層ADO及SQL操作封裝成一系列的LabSQL Vis。同時(shí)LabSQL是源代碼開放的,用戶可以通過簡單的程序修改來滿足需求。
采集與轉(zhuǎn)發(fā)模塊的數(shù)據(jù)庫設(shè)計(jì)如表1所示。
數(shù)據(jù)存儲(chǔ)過程中,將每一包數(shù)據(jù)(1包數(shù)據(jù)的時(shí)間為0.5 s)中的所有數(shù)據(jù)組合為一個(gè)長字符串存入數(shù)據(jù)庫,這樣存儲(chǔ)1個(gè)傳感器1 s的數(shù)據(jù)只需調(diào)用2次數(shù)據(jù)庫,且調(diào)用數(shù)據(jù)庫的次數(shù)與采樣頻率無關(guān),很好地解決了系統(tǒng)多次調(diào)用數(shù)據(jù)庫的缺陷。
3 系統(tǒng)應(yīng)用效果驗(yàn)證
服務(wù)端STS?CLIENT測試界面如圖6所示,系統(tǒng)能夠成功獲取到相應(yīng)傳感器的實(shí)時(shí)數(shù)據(jù)圖像,并能對(duì)傳感器狀態(tài)的變化做出及時(shí)的反應(yīng)。在啟動(dòng)數(shù)據(jù)庫后數(shù)據(jù)能實(shí)時(shí)存入數(shù)據(jù)庫中。
移動(dòng)端APP界面如圖7所示,可以通過Web服務(wù)器讀取數(shù)據(jù)庫中采集到的實(shí)時(shí)數(shù)據(jù)并對(duì)數(shù)據(jù)進(jìn)行圖像顯示。測試表明通過數(shù)據(jù)采集和轉(zhuǎn)發(fā)模塊,可以實(shí)現(xiàn)傳感器數(shù)據(jù)存儲(chǔ),并為其他監(jiān)測提供強(qiáng)有力的數(shù)據(jù)支持。
4 結(jié) 語
本文根據(jù)橋梁無線監(jiān)測系統(tǒng)的需求,在BDI橋梁結(jié)構(gòu)監(jiān)測系統(tǒng)的基礎(chǔ)上增加了實(shí)時(shí)數(shù)據(jù)監(jiān)測與存儲(chǔ)功能,以LabVIEW為軟件平臺(tái)為本系統(tǒng)設(shè)計(jì)了數(shù)據(jù)接收與存儲(chǔ)模塊,完成橋梁結(jié)構(gòu)數(shù)據(jù)由傳感器到數(shù)據(jù)庫的傳輸。現(xiàn)場的測試實(shí)驗(yàn)過程與結(jié)果表明該系統(tǒng)操作方便簡潔,有較高的精確度和較好的穩(wěn)定性,能準(zhǔn)確獲取傳感器數(shù)據(jù)并存入數(shù)據(jù)庫為系統(tǒng)后續(xù)應(yīng)用提供數(shù)據(jù)支持,適合在中小型橋梁無線監(jiān)測中使用。
注:本文通訊作者為李富年。
參考文獻(xiàn)
[1] 馬宏偉,聶振華.橋梁安全監(jiān)測最新研究進(jìn)展與思考[J].力學(xué)與實(shí)踐,2015(2):161?170.
[2] 王衛(wèi)彪.監(jiān)測與監(jiān)控技術(shù)在橋梁施工中的作用分析[J].交通世界,2016(1):82?83.
[3] 俞姝穎,吳小兵,陳貴海,等.無線傳感器網(wǎng)絡(luò)在橋梁健康監(jiān)測中的應(yīng)用[J].軟件學(xué)報(bào),2015(6):1486?1498.
[4] 陳樹學(xué),劉萱.LabVIEW寶典[M].北京:電子工業(yè)出版社,2011.
[5] 劉其和.LabVIEW虛擬儀器程序設(shè)計(jì)與應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2011.
[6] 何玉鈞,高會(huì)生.LabVIEW虛擬儀器設(shè)計(jì)教程[M].北京:人民郵電出版社,2012.
[7] 何晉,潘書文,朱西平.基于LabVIEW的橋梁監(jiān)測系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].成都信息工程學(xué)院學(xué)報(bào),2015,30(2):177?180.
[8] 王樹東,何明,王煥宇.基于LabVIEW的數(shù)據(jù)采集和存儲(chǔ)系統(tǒng)[J].電氣自動(dòng)化,2015(1):99?101.
[9] 沈瑤,金印彬,楊黎暉.淺談LabVIEW中采集數(shù)據(jù)的實(shí)時(shí)存儲(chǔ)和顯示方法[J].高校實(shí)驗(yàn)室工作研究,2016(1):47?49.
[10] 賈照麗,張俊,張少紅.基于LabVIEW的遠(yuǎn)程網(wǎng)絡(luò)數(shù)據(jù)采集與分析[J].通信技術(shù),2012(8):62?64.