韓藝坤 李富年 翁順 顏永逸 周恒穎
摘 要: 橋梁結構監測技術能有效地保證橋梁的安全運營,保障人民群眾的生命財產安全。為了滿足橋梁結構的遠程數據監測需要,實現橋梁監測的網絡化,該系統在美國橋梁診斷公司(BDI)的橋梁結構測試系統的基礎上加以改進,將無線網絡技術、虛擬儀器技術和橋梁結構監測技術與之結合在一起,并以LabVIEW作為軟件開發平臺研究并設計了一套無線數據傳輸解析存儲模塊,實現了橋梁傳感器數據的無線傳輸與存儲,具有較強的適應性和穩定性,為中小型跨徑橋梁的監測提供可行的解決方案。
關鍵詞: LabVIEW; 橋梁監測; 無線傳輸; BDI
中圖分類號: TN911?34; TP393 文獻標識碼: A 文章編號: 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 引 言
近年我國橋梁安全事故頻發,所引起的損失慘重,已經引起社會的廣泛關注。其主要原因是橋梁在其設計和施工過程中存在缺陷,以及在服役過程中不可避免地受到設計載荷、環境腐蝕、材料老化等問題,同時一些突發事件(臺風、地震、撞擊等)也會引起橋梁結構損傷,因此有必要對橋梁結構損傷進行實時監測。目前橋梁結構損傷檢測和在線安全監測已成為當前國內外學術界和工程界的熱點問題[1?2]。現有的橋梁健康監測系統大多采用有線監測方式,一般采用有線電纜實現傳感器數據傳輸。有線監測系統普遍存在著安裝造價高、環境對傳輸信號的影響較大等缺點。而無線監測系統具有安裝方便快捷,對環境適應性強等優勢,可有效地克服有線監測的缺點[3]。美國橋梁診斷公司(BDI)的橋梁結構測試系統是經濟實用的無線結構測試與評估設備,它通過無線網絡傳輸采集到的數據,有較好的便攜性和穩定性,廣泛應用于中小型跨徑橋梁的監測與評定。BDI軟件系統是采用LabVIEW開發的,LabVIEW是目前國際上應用最廣的虛擬儀器開發環境之一,主要應用于數據采集 、數據分析、數據顯示等領域。與傳統程序語言不同,LabVIEW采用強大的圖形化語言編程,編程簡單方便,界面直觀,具有強大的數據可視化分析和儀器控制能力等特點[4?6]。但BDI軟件系統較為封閉,無法直接獲得其實時傳感器數據。因此本系統利用BDI橋梁結構監測系統的硬件系統,并針對BDI軟件系統的缺陷,開發了一套基于BDI軟件系統的數據采集和轉發模塊用于完成實時數據轉發與存儲,以方便本監測系統調用,為橋梁無線監測中的數據傳輸與存儲提出了切實可行的方案。
1 基于BDI的無線橋梁測試系統結構
無線采集測試系統具有低成本、低能耗、高度靈活性、擴展性強等特點,同時省去了在測試橋梁時布線的困難,因此在中小型跨徑橋梁的監測與評定過程中使用廣泛。BDI橋梁結構測試系統利用雙通道無線電基站,構建了一個基于IEEE 802.11g標準的STS無線網絡,如圖1所示。雙通道無線電基站可以同時工作在2.4 GHz和5 GHz兩個頻段。2.4 GHz頻段用于所有傳感器節點與服務器端的通信;5.0 GHz頻段用于多個基站之間無線通信,支持長距離通信定向天線。
傳感器節點STS?Node將采集的信號通過無線STS網絡傳輸到BDI服務器端核心模塊(Core)組件。Core將信號解碼后,由其專用軟件STS?Live顯示,其中核心組件Core和顯示模塊STS?Live均采用LabVIEW編寫,如圖1所示。傳感器采集控制和信號解碼都集成在核心模塊Core中,為了提供BDI系統與其他監測系統的兼容性,BDI提供了核心模塊Core的二次開發接口,方便其他系統無縫接入BDI監測系統。
因此本系統充分利用Core的開發接口,對其進行擴展與改進,在服務端設置數據分析采集軟件模塊實時讀取傳感器數據,并存儲到相應的數據庫,為監測系統提供數據支持,其框圖如圖2所示。
系統從邏輯結構上分為三層(見圖1)。
(1) 傳感器數據采集與轉發層。主要完成傳感器數據采集,將傳感器數據轉發給服務端的Core程序。
(2) 中心服務系統層。在Core獲取到傳感器數據后,通過它的數據傳輸接口,將數據傳輸給STS?CLIENT,STS?CLIENT在接收到網絡數據后將數據解碼獲取有效數據,通過LabVIEW的波形圖表控件顯示數據,并將數據實時存入數據庫[7?9]。
(3) 用戶服務層。通過訪問中心數據庫獲取相關傳感器數據,使用Web技術,完成歷史數據查詢,實時數據監控等功能。
2 無線系統設計方案
2.1 BDI數據傳輸接口與BDI的通信信息系統
BDI服務器組件Core是系統的控制采集和信號解碼的核心模塊,可以通過相關指令來完成對數據采集器硬件的控制。客戶端程序可以通過TCP/IP協議接入Core組件,對Core組件發送指令,將傳感器實時數據重定向到客戶端,從而達到控制無線傳感器數據的目的[10]。Core與客戶端程序之間的數據傳輸是建立在BDI專用的信息編碼格式上的,每一包數據打包方式由BDI通信信息系統規定,傳輸的數據信息要按照隊列元素(Queue Element)的規則打包。當數據在TCP/IP上傳輸時,隊列元素會被重新打包為TCP/IP通信的數據幀格式。其結構如圖3所示。
2.1.1 隊列元素數據的打包方式
隊列元素是一個由Object,Task,Caller,Call back task與data組成的結構體,其結構如圖3中有效數據字段所示。為了在網絡傳輸中傳送隊列元素這種結構體,數據就必須平化為字節數組。在LabVIEW中,將數據從其內存格式轉換為一種更適于網絡傳輸的格式。這種更適合網絡傳輸的格式稱為平化的字符串數據(Flattened Data)。例如字符串“Task”平化后變為0000 0004 5461 736B(轉化為十六進制顯示)。
在STS?CLIENT接收到一包數據時要通過一定規則解析數據。數據的平化字符串格式并不對該數據的類型編碼,LabVIEW將數據類型信息保存在類型描述符中。“從字符串還原”函數要求將數據類型作為一個輸入端接入,以使函數對該字符串正確解碼。
2.1.2 傳感器的數據屬性
傳感器數據屬性包括:Sensor,傳感器編號; DataPointer,數據個數;Data,傳感器數據;Group,傳感器所在節點;SampleRate,采樣頻率。系統將這些屬性轉化為一個數據簇格式,以便用于儲存和傳輸。平化字符串數據解碼的LabVIEW代碼如圖4所示。
2.1.3 TCP/IP數據包格式
在BDI通信系統中數據的長度由傳感器采樣頻率決定,每一個數據包中包含0.5 s的傳感器數據,因此數據量為采樣頻率的[12]。由于不同的采樣頻率下數據長度不統一,會導致讀取TCP/IP數據包時讀取字節數是變化的,同時讀取TCP/IP數據包可能會存在滯后的問題。如果數據包沒有被及時處理,未處理的數據包會存儲在緩存中,也就會造成讀取緩存中的數據時長度不確定的問題。未知數據包長度時無法正確讀取一包數據。因此為了解決這一問題,在每一個TCP/IP數據包的首部插入一段定長的16進制數對數據長度信息編碼。TCP/IP數據包首部編碼方式結構如圖3中的數據編碼字段,其編碼數據長度為8 B,第1 B為數據長度的CRC?8 MAX校驗位,后3 B為數據包的長度,最后4 B為保留位為以后系統擴展備用。讀取TCP/IP數據代碼如圖5所示,首先讀取8 B,獲取數據包的頭編碼,再取4 B將其中第1個字節以CRC?8 MAX算法解碼比較得到的數值與后3 B的數值是否一致,若不一致丟棄此數據包,若一致讀取相應字節長度的TCP/IP數據。
2.2 STS?CLIENT設計與Core的指令功能
STS?CLIENT代替BDI橋梁結構測試系統中的STS?Live,完成數據接收存儲與顯示功能,具體設計過程與運行步驟如下:
(1) 通過TCP/IP協議建立與Core的通信連接,連接建立完成后首先發送登錄指令其中隊列元素的Task:CLIENTREGISTER,登錄成功后Core開始接收STS?CLIENT發送的其他命令;
(2) 根據隊列元素的結構構建指令字符串,首先向Core發送開始測試指令其中隊列元素Task:CLIENTCOMMAND,Data:NODE=ALL INITIALIZETEST=LIFELOAD;此指令用于初始化測試,Core收到此指令后將啟動傳感器掃描,并獲取傳感器數據。成功獲取數據后Core默認將數據轉發給STS?Live。
(3) 初始化測試并成功獲取數據后STS?CLIENT發送改變數據傳輸目標指令,用于將發給STS?LIVE的傳感器數據改為發給STS?CLIENT,其隊列元素的前4項與開始測試指令相同,Data:NODE=ALL;ADDTRACES=Sensors,SensorName#Sensors,SensorName …;SensorName為想要獲取的傳感器的編碼,以“#”隔開。
(4) 解析接受到的傳感器數據,通過無線網絡獲取到的TCP/IP數據包要經過TCP/IP的數據解碼(解碼方法見2.1.3節)后才能獲得有效數據的平化字符串格式,平化字符串數據格式解碼(解碼方法見2.1.1節與2.1.2節)后獲取傳感器屬性數據,將最終解析后的數據實時顯示在波形圖表控件上,同時將數據存入設計好的數據庫。
2.3 數據存儲的方案與數據庫的設計
本系統中傳感器數據存儲采用的數據庫平臺為SQL Server 2008R2。在LabVIEW平臺下利用LabSQL 工具包進行數據庫訪問。LabSQL是一個免費的、多數據庫、跨平臺的LabVIEW數據庫訪問工具包,支持Windows操作系統中任何基于OBDC的數據庫,將復雜的底層ADO及SQL操作封裝成一系列的LabSQL Vis。同時LabSQL是源代碼開放的,用戶可以通過簡單的程序修改來滿足需求。
采集與轉發模塊的數據庫設計如表1所示。
數據存儲過程中,將每一包數據(1包數據的時間為0.5 s)中的所有數據組合為一個長字符串存入數據庫,這樣存儲1個傳感器1 s的數據只需調用2次數據庫,且調用數據庫的次數與采樣頻率無關,很好地解決了系統多次調用數據庫的缺陷。
3 系統應用效果驗證
服務端STS?CLIENT測試界面如圖6所示,系統能夠成功獲取到相應傳感器的實時數據圖像,并能對傳感器狀態的變化做出及時的反應。在啟動數據庫后數據能實時存入數據庫中。
移動端APP界面如圖7所示,可以通過Web服務器讀取數據庫中采集到的實時數據并對數據進行圖像顯示。測試表明通過數據采集和轉發模塊,可以實現傳感器數據存儲,并為其他監測提供強有力的數據支持。
4 結 語
本文根據橋梁無線監測系統的需求,在BDI橋梁結構監測系統的基礎上增加了實時數據監測與存儲功能,以LabVIEW為軟件平臺為本系統設計了數據接收與存儲模塊,完成橋梁結構數據由傳感器到數據庫的傳輸。現場的測試實驗過程與結果表明該系統操作方便簡潔,有較高的精確度和較好的穩定性,能準確獲取傳感器數據并存入數據庫為系統后續應用提供數據支持,適合在中小型橋梁無線監測中使用。
注:本文通訊作者為李富年。
參考文獻
[1] 馬宏偉,聶振華.橋梁安全監測最新研究進展與思考[J].力學與實踐,2015(2):161?170.
[2] 王衛彪.監測與監控技術在橋梁施工中的作用分析[J].交通世界,2016(1):82?83.
[3] 俞姝穎,吳小兵,陳貴海,等.無線傳感器網絡在橋梁健康監測中的應用[J].軟件學報,2015(6):1486?1498.
[4] 陳樹學,劉萱.LabVIEW寶典[M].北京:電子工業出版社,2011.
[5] 劉其和.LabVIEW虛擬儀器程序設計與應用[M].北京:化學工業出版社,2011.
[6] 何玉鈞,高會生.LabVIEW虛擬儀器設計教程[M].北京:人民郵電出版社,2012.
[7] 何晉,潘書文,朱西平.基于LabVIEW的橋梁監測系統設計與實現[J].成都信息工程學院學報,2015,30(2):177?180.
[8] 王樹東,何明,王煥宇.基于LabVIEW的數據采集和存儲系統[J].電氣自動化,2015(1):99?101.
[9] 沈瑤,金印彬,楊黎暉.淺談LabVIEW中采集數據的實時存儲和顯示方法[J].高校實驗室工作研究,2016(1):47?49.
[10] 賈照麗,張俊,張少紅.基于LabVIEW的遠程網絡數據采集與分析[J].通信技術,2012(8):62?64.