符洪生 梁柱

摘 要:河東特大橋是G35濟廣高速安徽段的一座重要橋梁,橋梁跨度大,結構復雜,為大橋建立一個長期健康監測系統,對掌握橋梁的安全使用狀況,確保大橋的安全運營和服務管養有非常重要的意義。本文介紹了河東特大橋健康監測軟件系統的設計過程,提出了一種基于DTU的通用數據采集程序,提升了系統的通用性和可擴展性。
關鍵詞:橋梁;監測;大數據;數據傳輸單元
1 概述
河東特大橋位于安徽省岳西縣響腸鎮無愁村外畈組,距岳西收費站11公里,全長1 010 m。橋梁起點樁號為K794+814 m,終點樁號為K795+824 m,由左右兩幅橋組成。地面標高150.16 m~251.48 m,主橋墩高約為61 m~84 m,于2009年12月建成通車。為大橋建立一個長期健康監測系統,對掌握橋梁的安全使用狀況,確保大橋的安全運營和服務管養有非常重要的意義。我司使用新研發的基于DTU[1]的數據采集程序和基于B/S流式大數據健康監測系統[2]完成了河東特大橋健康監測軟件系統的建設,建成后的健康監測系統具有高實時性、通用性強等特點。
2 軟件系統需求分析與設計
隨著物聯網技術的發展,物聯網設備[3](如傳感器、采集儀)在橋梁結構健康監測中得到了廣泛使用,由于不同廠家的物聯網設備有不同的采集數據協議如485協議、232協議,即使相同的協議,采集命令和返回結果也不同,因此在橋梁結構健康監測軟件系統的設計開發過程中,常需要修改或重新設計采集程序,增加了成本。為解決這些問題,本系統采集端基于DTU通訊,構建了設備庫和自有的數據傳輸協議,并通過基于storm的流式大數據處理程序提高了系統實時性。系統結構如圖1所示,由物聯網設備和部署在云平臺上的配置程序、采集程序、基于storm流式大數據集群處理程序和展示程序組成。采集程序通過無線網絡向通訊單元(DTU)發采集命令,通訊單元向采集儀轉發采集命令,并將采集儀返回的結果轉發給采集程序,采集程序對結果處理后提交到分布式消息隊列中,基于storm的流式大數據集群處理程序從分布式消息隊列獲取數據,進行實時處理,將處理后的數據存儲到分布式緩存和數據庫中,數據展示程序從分布式緩存和數據庫中獲取數據,并做實時展示。本文將重點介紹配置程序和采集程序。
2.1 配置程序
為支持不同的設備(傳感器、采集儀和通訊單元DTU),本系統提出并構建了設備庫。設備庫是用來管理不同廠家不同型號的傳感器、采集儀和通訊單元。在設備庫里創建這些設備時,要提供設備的基本信息和采集信息。對于采集儀主要包括類型、波特率、數據位、采集命令和返回結果等。配置程序提供了模板語言描述采集命令和采集結果。采集程序內置了設備庫里一些設備采集過程的處理程序。
配置程序將橋梁健康監測系統抽象為傳感器、采集儀、通訊單元及它們間的關系,并提供了相關的配置功能。它們間的關系可理解為一個橋梁健康監測軟件系統是一個項目,一個項目包括多個通訊單元,一個通訊單元包括多個采集儀,一個采集儀可以連接多個傳感器。
2.2 采集程序
采集程序部署在云平臺主機(如阿里云主機)上。采集程序啟動后,從配置程序獲取項目的配置信息如一個項目有哪些通訊單元,一個通訊單元由哪些采集儀組成。并啟動socket監聽端口。當接收到來自通訊單元(DTU)的連接請求后,根據配置程序返回的相關采集儀的配置信息,向DTU發送采集命令,DTU將采集到的結果返回給采集程序,采集程序對數據處理后,以自定義的數據傳輸協議發送到分布式消息隊列中,基于storm流式大數據集群處理程序從分布式消息隊列中獲取數據并進行處理。
在這一過程中,為使流式處理程序具有通用性,采集程序使用自定義的數據傳輸協議來傳輸數據。自定義的數據傳輸協議里數據是由數據包組成;數據包由包頭和數據組成。
包頭由數據傳輸方式(3個字節)、廠家編碼(3個字節)、分隔符和采集協議(3個字節)組成如DTUKLM.485。數據傳輸方式有DTU和網絡(NET)兩種。DTU的英文全稱是Data Transfer unit,專門用于將串口數據轉換為IP數據或將IP數據轉換為串口數據通過無線通信網絡進行傳送的無線終端設備;廠家編碼用來表示不同廠家的代碼如昆侖海岸KLM;分隔符使用點(.)來表示;采集協議是指采集程序獲取采集儀的協議如485表示485協議。
數據包里的數據包括采集儀id、采集時刻和通道數據。采集儀id用來唯一標識采集儀設備,由配置程序在創建時生成。采集時刻是自1970年1月1日到采集時經歷的毫秒數,用time表示。數據用data表示,是各個通道上的數據,每個通道用no來表示,同一通道上多個數據使用serial來區分。val表示對應的數據。本項目為低頻(小于1hz)采集,數據是以json字符串的形式傳輸的如:DTUKLM.485{"id":"5f0c17f5c7dc23836ecc557d","time":1613635207031,"data":[{"no":1,"serial":1,"val":"004691"},{"no":2,"serial":1,"val":"005257"}]}表示id為5f0c17f5c7dc23836ecc557d的采集儀在北京時間2021年2月18日16點00分07秒采集到的2個通道的數據,通道1數據為4 691,通道2為5 257。
3 結論
本文介紹了河東特大橋結構健康監測系統軟件設計過程,通過創建自有的設備庫,自定義的數據傳輸協議,實現了對不同廠家物聯網設備的支持,提升了系統的通用性,降低了成本;使用基于storm的流式大數據處理程序,提高了系統的實時性。當然,本系統還有較大的提升空間,如對配置程序的改動必須重啟采集程序,可通過在配置程序發生更改時使用消息機制通知采集程序來解決。
參考文獻:
[1]李秋慧,李潔,王傳敏,等.基于GPRS DTU的遠程可控水質監測船[J].電子技術與軟件工程,2021(5):94-96.
[2]梁柱.基于大數據架構的橋梁健康監測云平臺[J].中國交通信息化,2020(6):115-117.
[3]肖時輝,梅敏彰,唐孟雄,等.基于LoRa的城市立交橋遠程監測數據采集系統[J].公路,2021,66(2):87-93.