辛全波,王瑞璽,胡亞杰,陽志文,2,畢金強
(1.交通運輸部天津水運工程科學研究所,天津 300456;2.港口水工建筑技術國家工程研究中心,天津 300456)
懸浮隧道作為一種嶄新的水下交通結構形式,成為近年來隧道行業的研究熱點[1-2]。研究懸浮隧道結構在波浪、水流或大型物體樁體條件下的動力響應,可為理論分析和工程設計提供科學依據。在尚無工程案例和實測數據的情況下,物理模型試驗是當前研究懸浮隧道的主要方法[3]。保證試驗環境中各類傳感器采集的數據在時間軸上同步更便于分析物理量間的變化規律,特別是在極端工況下,分析特定時刻的物理量極值的關系是懸浮隧道模型試驗的研究重點。
模型試驗數據分析存在諸多困難:1) 不同采集系統的時間系統不一致,缺少高精度時間同步機制;2) 無法保證各采集系統的起始采集時間處于同一時刻;3) 部分傳感器未記錄原始時間,以采集系統的時間替代實際采集時間存在傳輸延遲;4) 數據多源、異構、量大,極端工況下特征提取困難。
針對上述問題,依托天津水運工程科學研究院籌建的“懸浮隧道試驗水池”和懸浮隧道機理試驗研究工作[4],從萬兆光纖組網、數據采集同步控制、數據實時存取與智能判斷3 個方面,研究面向懸浮隧道機理試驗的局域網同步采集控制和特征數據提取技術,設計并實現懸浮隧道試驗數據同步采集控制系統,解決高精度的模型試驗時間同軸和數據智能提取問題,以滿足機理試驗符合試驗數據精準控制與試驗結果可重復的設計原則。
懸浮隧道試驗的采集數據包括試驗環境監測數據和模型響應測量數據兩類,試驗環境監測數據是指波浪和流速等環境水動力數據,該數據作為特征數據提取的判斷條件;模型響應測量數據是指管體模型在水動力環境下的結構響應數據,包括運動姿態、加速度、纜力、應變等。各類數據由單獨的傳感器采集,并配有相應的數據采集控制系統實現數據管理。本次懸浮隧道機理試驗采用的數據采集系統情況如表1 所示。

表1 試驗數據采集系統情況Table 1 Situation of experimental data acquisition system
為了滿足模型試驗可重復、可再現的原則[2],有如下問題需解決:
1) 試驗數據終端采集系統多為定制開發,各系統之間缺少數據與信息交互機制,依賴人工操作實現同步采集控制,數據同步精度無法保證。如何通過技術手段突破定制化軟件的信息交互壁壘是關鍵和難點。因此,需建立局域網內的終端通信協同機制,研究面向不同采集系統的外部調用方法,實現對試驗數據采集系統的同步控制。
2) 考慮到數據從采集終端至采集系統的傳輸時間可忽略不計,可用采集系統時間代替數據采集時間。由于系統時間偏差和時鐘累積誤差的存在,難以保證各采集系統擁有同一時間基準。需研究局域網內的時間同步機制,減少網絡傳輸造成的延遲,保證時間的一致性和精確性。
3) 如何從海量實時的水動力監測數據中快速提取滿足特定工況的特征數據片段是機理試驗數據分析的重點。因此,需研究海量數據的高效存儲方法和特征數據的快速提取方法,實現數據的完整保存和特征數據的智能化判斷。
光纖網絡具有頻帶寬、損耗低、抗干擾能力強、性能可靠等優勢[5],常被用于局域網搭建。萬兆光纖組網是目前桌面級主流的高速組網方案[6],可滿足懸浮隧道機理試驗數據傳輸需求。依靠萬兆交換機和萬兆光模塊2 個關鍵設備,為所有入網的采集控制計算機加裝10 G 光纖網卡,通過光纖匯聚至萬兆交換機,組成萬兆光纖局域網,網絡拓撲架構如圖1 所示。

圖1 萬兆光纖組網的網絡拓撲架構Fig.1 Network topology architecture of 10 Gigabit fiber optic networking
萬兆光纖組網由網絡層、軟件層和采集層組成。網絡層由萬兆光纖、萬兆交換機和光纖網卡組成。軟件層包括同步控制端、數據服務器、采集客戶端(上位機)和展示大屏,每類設備均安裝光纖網卡,通過網絡層實現互連互通;采集層為安裝在懸浮隧道機理試驗環境中的各類傳感器和下位機。
萬兆光纖組網的信息流轉過程為:同步控制端通過同步控制端系統向采集客戶端的數據采集系統(上位機)發送數據采集指令,數據采集系統接收到消息后向下位機或傳感器發送指令,并通過萬兆網卡反饋最新的數據采集狀態,數據采集系統將采集數據實時存儲至數據服務器,將系統實時圖像信號同步傳輸至展示大屏上。經測算,局域網中計算機之間的理論通信延遲低于400 μs,可忽略網絡傳輸延遲造成的影響。
時間同步控制是通過操作本地時鐘,達到為局域網內的控制服務端和采集客戶端提供統一時間基準的過程。NTP 協議基于時間戳概念,利用雙向傳輸的方法可將局域網內計算機同步至時鐘源[7-10],精度可以達到毫秒級,滿足懸浮隧道試驗的精度要求,而且不需要對網絡設備和網絡協議進行改造,性價比高。結合懸浮隧道機理試驗的環境現狀和需求,采用基于NTP 協議的時間同步方法。NTP 協議通過時間戳記錄服務端和客戶端信息發送和接收的時間,通過時間差計算來確定時間延遲和偏差。
如圖2 所示,T1為服務器發出同步指令的時間,T2為客戶端收到同步指令的時間,T3為客戶端發出確認指令的時間,T4為服務端收到確認指令的時間。假設服務端與客戶端的時間偏差值為θ,δ1為同步指令的網絡傳輸耗時,δ2為確認指令的網絡傳輸耗時,δ 為網絡傳輸總耗時。

圖2 NTP 協議原理Fig.2 NTP protocol principle
可以推算出網絡傳輸總耗時δ、服務端與客戶端的時間偏差值θ。
受網絡穩定性影響,同步指令和確認指令的網絡傳輸時間不同,每次同步指令和確認指令的網絡傳輸也不盡相同,這是時間偏差值θ 的主要誤差來源。假設雙向網絡傳輸耗時δ1和δ2相等,網絡傳輸總耗時δ 和近似時間偏差值θ1可被準確的計算出來,時間偏差的Δθ 誤差值最大為δ/2。
根據上述算法和分析進行時間同步試驗,以150 次往返同步請求為一組數據,共采集10 組數據,單組時間同步試驗結果如圖3 所示,可以看出,網絡傳輸總耗時δ 和近似時間偏差值θ1之間有明顯的線性相關且趨于固定值,網絡傳輸穩定性直接影響時間偏差的測量。為此,可通過概率統計方法求得目標值,首先基于均值和標準差的異常值檢測方法[11]去除偏離平均值超過±5%的采樣數據,然后對保留的數據計算均值和標準差。

圖3 單組時間同步試驗結果Fig.3 Single experimental results of time synchronization
重復多次時間同步試驗的結果如表2 所示。利用概率統計方法可得出本次試驗結果為:近似時間偏差值θ1約為13.955 s,最大時間偏差誤差值約為2 ms,時間偏差13.955 s±2 ms,達到懸浮隧道模型試驗對時間精度的要求。

表2 多次時間同步試驗結果Table 2 Multiple experimental results of time synchronization
借助于萬兆光纖網絡,建立同步控制端與采集客戶端之間的Socket 通信連接,基于C#.NET平臺和TCP/IP 協議實現雙向通信和數據交換[12]。
服務端程序創建ServerSocket 對象并綁定IP和端口,啟動監聽命令,接收客戶端程序發送的連接請求;客戶端創建ClientSocket 對象,并向服務端發送連接請求;服務端與客戶端建立連接后,通過Socket 通信方式進行通信;服務端向客戶端發送時間同步指令或采集控制指令,客戶端接收到指令后執行相應操作,并將結果發送至服務端。服務端與客戶端的同步控制通信機制如圖4 所示。
數據采集控制中間件處于客戶端與下位機之間,實現對數據采集系統的交互控制和數據訪問,包括開始數據采集、停止數據采集、讀寫監測數據等功能。首選的中間件開發方式是數據采集系統能夠提供基于SDK 的開發接口,這樣既不會對現有系統造成影響,又能實現接口和數據的定制。然而,部分數據采集系統為國外軟件或第三方開發,提供接口開發的可行性和性價比低。波要素采集系統(波高)、PolySync 軟件(流速)、流量采集系統(流量)均無法提供接口。
受限于平臺和技術的封閉性,通過系統二次開發實現信息交互極為困難,考慮到數據采集系統運行在Windows 操作系統上,而Windows 是一個事件驅動的操作系統,可通過消息隊列實現底層通訊,從而突破數據訪問和接口相對封閉的限制。采用基于Spy++的消息模擬觸發采集控制指令的執行,使用Spy++的圖形視圖找出要操作的窗口和控件句柄,然后調用Windows API 中的SendMessage 函數,將指定的消息發送到指定窗口,由窗口調用觸發控件關聯的事件,實現數據采集控制。
數據采集系統之間相對封閉的數據存儲方式存在局限性:片段式存儲無法實時反饋試驗狀態,甚至發生重要數據資料因故障丟失情況;數據不完整影響試驗數據分析;數據橫向對比困難,數據分析效率低。針對這些問題,通過四庫分離存儲的數據庫設計來提高數據查詢的時效性、高效性和安全性。
1) 數據解析存儲
數據解析存儲依賴于數據采集系統的數據處理方式。對于具備數據實時存取條件的采集系統,可通過對現有系統進行功能擴展、開發數據讀取接口或開發數據轉存程序3 種方式實現。對于不具備數據實時存取條件的采集系統,開發數據轉換存儲功能,并記錄數據采集時間戳,對臨時數據文件解析處理后存儲至數據庫中。
2) 存取效率提升
數據庫設計上,通過數據庫分區、分表的方式減少數據之間的存取效率影響,設計臨時庫、正式庫、永久庫、歷史庫對5 類監測數據分別存儲。臨時庫存放實時監測數據;正式庫存放經過智能化判斷后提取的特定工況監測數據;永久庫存放正式庫中進一步篩選后符合試驗數據分析要求的監測數據;歷史庫存放歷史監測數據。通過數據庫分離設計能有效保證海量監測數據的高效存儲與及時更新。
數據庫存取上,通過讀寫分離、數據索引構建等方法提升數據庫性能。通過設定數據庫腳本自動執行任務實現將臨時庫中超過一定時限的數據遷移至歷史庫中,保證批量數據插入和智能化判斷在低負載環境下執行。
智能判斷是通過監測水動力環境變化,自動提取符合特定工況條件的監測數據[4]。水動力環境參數包括波高、流量和流速,智能化判斷規則包括純流工況判斷、純浪工況判斷和波流工況判斷,具體判斷方法有均值法、極值法、累積值法、方差法等,各類工況的觸發條件均預先設定,當水動力環境條件達到設定閾值或條件時,系統自動做出判斷并執行下一步操作。通過建立試驗階段、試驗類型、環境參數、模型參數的數據庫,開發工況管理模塊,實現試驗工況標準化管理,盡量避免因人為失誤導致的試驗失敗和重復試驗風險。
2019 年5—8 月,懸浮隧道試驗數據同步采集系統在懸浮隧道整體結構行為機理試驗中得到成功應用[2],完整記錄了機理試驗過程中拉力、應變、波高、加速度、流速、流量等動態監測數據,實現了各類數據的同步采集控制,并通過智能化判斷自動提取了包括波浪試驗、水流試驗、波流試驗、激振試驗、撞擊試驗等滿足特定工況條件的試驗數據。系統保證了試驗數據安全可靠,降低了試驗數據丟失風險,實現了試驗數據高效存儲,提升了數據分析效率,保障了懸浮隧道試驗順利開展。采集同步控制系統如圖5 所示。

圖5 采集同步控制系統Table 5 Acquisition synchronization control system
圖6 記錄了純浪工況下波浪試驗的數據智能提取的完整過程,當波高超過設定閾值時開始提取水動力環境數據(波高)和模型響應監測數據(拉力、加速度、垂向位移),直至不再滿足預設工況條件。

圖6 純浪工況下波浪試驗的數據提取過程Fig.6 Data extraction process of wave experiment under single wave condition
針對懸浮隧道模型試驗測量系統復雜、試驗數據龐大的特點和試驗過程高精度、可再現的要求,通過軟硬件結合設計了試驗數據同步采集系統,實現了數據高精度同步采集和特征數據自動提取。試驗表明:
1) 萬兆光纖組網方案能夠提高網絡傳輸效率和穩定性,為同步采集控制和數據實時存儲提供運行環境支撐,萬兆光纖組網產生的網絡傳輸延遲可忽略不計。
2) 基于概率統計的時間偏差估計方法可提高基于NTP 的時間同步精度,在萬兆光纖網絡下同步精度可達到毫秒級,且更加穩定可靠。
3) 采用臨時庫、正式庫、永久庫、歷史庫的數據庫分離設計能夠提升海量試驗數據的存儲和分析效率,滿足懸浮隧道試驗對數據實時存取和特征提取的需求。
下一步將該方法應用到其他水工模型試驗和工況環境分析中,驗證方法的普適性,并采用流式緩存技術進一步提升和優化數據存取效率。