《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(yīng)用 > 高速公路結(jié)冰檢測(cè)系統(tǒng)上位機(jī)軟件實(shí)現(xiàn)
高速公路結(jié)冰檢測(cè)系統(tǒng)上位機(jī)軟件實(shí)現(xiàn)
2015年微型機(jī)與應(yīng)用第14期
陳俊良,葉 林,,葛俊鋒,,桂 康
(華中科技大學(xué) 自動(dòng)化學(xué)院,,湖北 武漢 430074)
摘要: 針對(duì)高速公路結(jié)冰檢測(cè)系統(tǒng),設(shè)計(jì)和開發(fā)了實(shí)現(xiàn)數(shù)據(jù)采集和處理的上位機(jī)軟件,。上位機(jī)軟件集成了多傳感器節(jié)點(diǎn)的邏輯判斷和數(shù)據(jù)融合機(jī)制,,實(shí)現(xiàn)了整個(gè)系統(tǒng)的通信、數(shù)據(jù)采集,、曲線顯示,、數(shù)據(jù)庫存儲(chǔ)等功能。實(shí)際應(yīng)用結(jié)果表明:該上位機(jī)軟件具有操作簡單,、功能完善,、穩(wěn)定性高和實(shí)時(shí)性強(qiáng)等優(yōu)點(diǎn),能實(shí)時(shí)準(zhǔn)確地實(shí)現(xiàn)對(duì)高速公路路面結(jié)冰狀態(tài)的實(shí)時(shí)檢測(cè)和預(yù)警,。
Abstract:
Key words :

  摘  要: 針對(duì)高速公路結(jié)冰檢測(cè)系統(tǒng),,設(shè)計(jì)和開發(fā)了實(shí)現(xiàn)數(shù)據(jù)采集和處理的上位機(jī)軟件。上位機(jī)軟件集成了多傳感器節(jié)點(diǎn)的邏輯判斷和數(shù)據(jù)融合機(jī)制,,實(shí)現(xiàn)了整個(gè)系統(tǒng)的通信,、數(shù)據(jù)采集、曲線顯示,、數(shù)據(jù)庫存儲(chǔ)等功能,。實(shí)際應(yīng)用結(jié)果表明:該上位機(jī)軟件具有操作簡單、功能完善,、穩(wěn)定性高和實(shí)時(shí)性強(qiáng)等優(yōu)點(diǎn),,能實(shí)時(shí)準(zhǔn)確地實(shí)現(xiàn)對(duì)高速公路路面結(jié)冰狀態(tài)的實(shí)時(shí)檢測(cè)和預(yù)警。

  關(guān)鍵詞: 路面結(jié)冰,;結(jié)冰傳感器,;上位機(jī);實(shí)時(shí)監(jiān)控技術(shù)

0 引言

  高速公路交通氣象觀測(cè)主要包括能見度觀測(cè),、路面氣象條件觀測(cè),、氣象環(huán)境觀測(cè),、視頻實(shí)景觀測(cè)4個(gè)主要方面,。路面氣象條件觀測(cè)內(nèi)容主要包括路溫、路面狀況,、冰點(diǎn)溫度以及融雪劑濃度等方面,。路面狀況泛指路面處于干燥、(潮)濕,、積水,、積雪(霜)、結(jié)冰等狀態(tài),,也包括水層,、雪層,、冰層的厚度情況。

  結(jié)冰造成路面抗滑能力顯著降低,,增加了汽車制動(dòng)距離,,容易使車輛發(fā)生打滑和側(cè)翻。據(jù)統(tǒng)計(jì),,在所有的交通安全事故中,,路面結(jié)冰時(shí)的事故是干燥路面的10倍[1]。因此,,路面結(jié)冰自動(dòng)監(jiān)測(cè)和及時(shí)預(yù)警對(duì)于保障行車安全,、減少交通事故具有重要意義。

  從20世紀(jì)50年代開始,,歐美一些發(fā)達(dá)國家開始進(jìn)行結(jié)冰傳感器的研究,。目前,國外結(jié)冰探測(cè)的方法以及相應(yīng)的結(jié)冰傳感器已發(fā)展到十幾種,,包括壓差式,、障礙式、振動(dòng)式,、潛熱式等[2-4],。國內(nèi)方面對(duì)結(jié)冰檢測(cè)技術(shù)的研究起步比較晚,資料顯示只有少數(shù)的高校與研究機(jī)構(gòu)在研究相關(guān)的結(jié)冰檢測(cè)技術(shù),,如華中科技大學(xué)的光纖式結(jié)冰傳感器[5-6],。

  為適應(yīng)高速公路氣象觀測(cè)系統(tǒng)自動(dòng)化、智能化和網(wǎng)絡(luò)化的發(fā)展趨勢(shì),,作者所在的團(tuán)隊(duì)設(shè)計(jì)和開發(fā)了基于多傳感器數(shù)據(jù)融合的高速公路結(jié)冰檢測(cè)預(yù)警系統(tǒng),。

001.jpg

  結(jié)冰檢測(cè)系統(tǒng)總體結(jié)構(gòu)示意圖如圖1所示。該系統(tǒng)主要由傳感器網(wǎng)絡(luò),、數(shù)據(jù)采集傳輸模塊,、光纖通信鏈路和軟件組成,實(shí)現(xiàn)了區(qū)域路面結(jié)冰狀態(tài)的檢測(cè)和預(yù)警,。

  圖1所示為常見的雙向四車道高速公路中單側(cè)車道,。圖中虛線箭頭所指示方向即為相應(yīng)車道的行車方向。為了不影響正常的行車,,減小行車中產(chǎn)生的灰塵等因素對(duì)傳感器產(chǎn)生的不利影響,,同時(shí)又能夠獲得相對(duì)準(zhǔn)確的結(jié)冰信息,傳感器安裝在行車較少的硬路肩與無行車的路緣帶交界處,。

  傳感機(jī)箱在獲取攝像機(jī)視頻信號(hào)的同時(shí),,獲取各點(diǎn)傳感器的信號(hào)值,并采用TCP/IP網(wǎng)絡(luò)傳輸協(xié)議將經(jīng)過處理的編碼信號(hào)發(fā)送至高速公路監(jiān)控中心,,由專用的上位機(jī)軟件完成解析處理和實(shí)時(shí)顯示,。

  為了實(shí)現(xiàn)對(duì)傳感器的工作狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)測(cè),、傳感器數(shù)據(jù)的采集、組織和處理,,以及路面結(jié)冰狀態(tài)的檢測(cè)和預(yù)警,,在Windows操作系統(tǒng)下Microsoft Visual Studio 2010編程環(huán)境中設(shè)計(jì)和開發(fā)了高速公路結(jié)冰檢測(cè)系統(tǒng)的上位機(jī)軟件。

1 上位機(jī)軟件的架構(gòu)和功能

  上位機(jī)和下位機(jī)通信,,進(jìn)行系統(tǒng)的參數(shù)設(shè)置,、數(shù)據(jù)采集、顯示,、存儲(chǔ),、查詢以及視頻監(jiān)控等功能。上位機(jī)軟件初始界面如圖2所示,。

002.jpg

2 上位機(jī)軟件功能的實(shí)現(xiàn)

  從架構(gòu)上講,,上位機(jī)軟件主要由圖形用戶界面、數(shù)據(jù)分析與處理,、數(shù)據(jù)庫和后臺(tái)軟件4部分組成,。

  從功能上講,上位機(jī)軟件主要包含5個(gè)功能模塊,,分別為參數(shù)設(shè)置模塊,、數(shù)據(jù)通信模塊、數(shù)據(jù)管理模塊,、視頻監(jiān)控模塊和控制輸出模塊,,如圖3所示。

003.jpg

  2.1 通信處理模塊

  通信建立上下位機(jī)之間的連接,,連接成功后,,上位機(jī)方可進(jìn)行實(shí)時(shí)檢測(cè)、數(shù)據(jù)傳輸和視頻監(jiān)控等操作,。高速公路結(jié)冰檢測(cè)系統(tǒng)中采用網(wǎng)絡(luò)通信的方式,,實(shí)現(xiàn)遠(yuǎn)距離的數(shù)據(jù)傳輸。

  套接字(Socket)是為了方便網(wǎng)絡(luò)編程開發(fā)的程序接口,,Socket是在應(yīng)用層和傳輸層之間的一個(gè)抽象層,,將TCP/IP層復(fù)雜的操作抽象為幾個(gè)簡單的接口供應(yīng)用層調(diào)用以實(shí)現(xiàn)進(jìn)程在網(wǎng)絡(luò)中通信[7]。

  上下位機(jī)的以太網(wǎng)通信是基于異步非阻塞Socket封裝類中的函數(shù)實(shí)現(xiàn)的,。上位機(jī)以客戶端的身份向服務(wù)端(下位機(jī))發(fā)送數(shù)據(jù)請(qǐng)求,,當(dāng)服務(wù)器確認(rèn)數(shù)據(jù)請(qǐng)求后返回?cái)?shù)據(jù),客戶端讀取下位機(jī)返回的數(shù)據(jù),,具體流程如圖4所示。

004.jpg

  2.2 數(shù)據(jù)管理模塊

  數(shù)據(jù)管理模塊主要實(shí)現(xiàn)上位機(jī)收到數(shù)據(jù)的解析,,邏輯判斷,,實(shí)時(shí)的數(shù)值顯示和曲線繪制,,數(shù)據(jù)庫存儲(chǔ)和歷史數(shù)據(jù)查詢等功能。

  上位機(jī)軟件將收到的數(shù)據(jù)按照指定的規(guī)則解析為傳感器的實(shí)時(shí)數(shù)據(jù),,即電流,、電壓、溫度等,,然后通過傳感器的冰厚模型計(jì)算當(dāng)前傳感器的冰厚,。上位機(jī)界面上將顯示實(shí)時(shí)的冰厚值并繪制冰厚曲線,同時(shí)將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫中,。

  2.2.1 曲線繪制

  上位機(jī)軟件中采用TeeChart控件實(shí)現(xiàn)實(shí)時(shí)冰厚,、電壓、溫度曲線的顯示功能,。TeeChart Pro是一款圖表圖形組件,,支持Windows和Linux系統(tǒng)平臺(tái),使用方便,,有利于產(chǎn)品集成,。

  Teechart控件的操作流程包括:注冊(cè)控件、添加控件,、初始化控件和刷新數(shù)據(jù),。初始化控件時(shí),主要使用AddSeries()函數(shù)添加曲線系列,,設(shè)置坐標(biāo)軸的范圍,、曲線的樣式、顏色等,。在定時(shí)器中刷新數(shù)據(jù),,根據(jù)實(shí)際需求選擇刷新數(shù)據(jù)的時(shí)間間隔,本上位機(jī)中采用500 ms,。將實(shí)時(shí)數(shù)據(jù)存儲(chǔ)在CList中,,在繪制曲線時(shí),使用AddXY()函數(shù)刷新數(shù)據(jù),。

  TeeChart控件除了完成基本的圖形曲線繪制外,,用戶可根據(jù)需要開發(fā)注釋、多Y軸多量程,、Y軸量程實(shí)時(shí)自適應(yīng)等功能,。

  2.2.2 數(shù)據(jù)存儲(chǔ)

  上位機(jī)軟件將傳感器原始數(shù)據(jù)和處理后的數(shù)據(jù)存儲(chǔ)在Access數(shù)據(jù)庫中,為后期數(shù)據(jù)維護(hù),、查詢和分析以及故障分析等提供真實(shí)可靠的數(shù)據(jù),。VC++通過ADO(ActiveX數(shù)據(jù)對(duì)象)的方式來訪問Access數(shù)據(jù)庫,實(shí)現(xiàn)對(duì)數(shù)據(jù)的存儲(chǔ)和查詢等操作。在VC中,,使用ADO之前必須在工程stdafx.h里添加對(duì)ADO的支持代碼,,使用#import指令引入ADO動(dòng)態(tài)鏈接庫文件,編譯器才能正確編譯,。

  ADO訪問數(shù)據(jù)庫,,首先要?jiǎng)?chuàng)建數(shù)據(jù)庫(Connection)對(duì)象建立與數(shù)據(jù)源的連接,然后創(chuàng)建記錄集(Recordest)對(duì)象,,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的訪問,。向數(shù)據(jù)庫中的數(shù)據(jù)表寫入數(shù)據(jù)的代碼如下:

  _RecordsetPtr m_pRecordset;//記錄

  String strSQL,;

  m_pRecordset->Open("SELECT*FROM數(shù)據(jù)",,m_pConnection.GetInterfacePtr(),adOpenDynamic,,adLockOptimistic,,adCmdText);

  strSQL.Format(_T("INSERT INTO數(shù)據(jù)(日期,,時(shí)間,,冰厚,溫度1,,溫度2,,溫度3))VALUES(′%s′,′%s′,,′%.2f′,,′%.2f′,′%.2f′,,′%.2f′)"),,strDay,strTime,,IceThick,,dTemp1,dTemp2,,dTemp3),;//創(chuàng)建數(shù)據(jù)表

  m_pConnection->Execute((_bstr_t)strSQL,&value,,adCmdText),;//寫入數(shù)據(jù)庫

  m_pRecordset->Close();

  2.2.3 歷史數(shù)據(jù)查詢

005.jpg

  歷史數(shù)據(jù)查詢的結(jié)果以曲線和列表兩種形式顯示,。曲線顯示通過TeeChart控件實(shí)現(xiàn),,直觀抽象,如圖5所示。列表顯示通過List Control控件實(shí)現(xiàn),,具體詳細(xì),。二者都是通過ADO方式對(duì)數(shù)據(jù)庫進(jìn)行操作,,查詢符合條件的目標(biāo)數(shù)據(jù),,獲取數(shù)據(jù)結(jié)果在界面上呈現(xiàn)。

  2.3 視頻監(jiān)控模塊

  系統(tǒng)中為了實(shí)時(shí)監(jiān)測(cè)傳感器工作的路面狀態(tài),,在應(yīng)用現(xiàn)場(chǎng)安裝??低暰W(wǎng)絡(luò)攝像機(jī)。上位機(jī)軟件中對(duì)??低昐DK進(jìn)行二次開發(fā),,集成了網(wǎng)絡(luò)攝像機(jī)圖像的實(shí)時(shí)預(yù)覽、錄像存儲(chǔ),、錄像回放和云臺(tái)控制等功能,。

006.jpg

  利用海康威視SDK實(shí)現(xiàn)視頻監(jiān)控模塊的功能調(diào)用順序如圖6所示,,視頻預(yù)覽和錄像功能調(diào)用的具體流程如圖7所示,。

007.jpg

  在上位機(jī)界面上添加一個(gè)靜態(tài)文本框作為視頻預(yù)覽窗口,此靜態(tài)文本框的句柄作為視頻預(yù)覽接口NET_DVR_RealPlay中預(yù)覽參數(shù)的播放窗口句柄,。

  在預(yù)覽成功的前提下,,調(diào)用錄像存儲(chǔ)模塊實(shí)現(xiàn)網(wǎng)絡(luò)攝像機(jī)實(shí)時(shí)數(shù)據(jù)流的存儲(chǔ)。開發(fā)過程中主要涉及錄像存儲(chǔ)路徑,、錄像文件的命名格式,、錄像文件的時(shí)長、循環(huán)錄像等,,可根據(jù)需求自由選擇,。

  調(diào)用海康威視SDK中的接口錄制的視頻文件,,必須使用??低暤慕獯a器解碼后才能播放。本文利用系統(tǒng)控件和??低暡シ艓霺DK中的播放函數(shù),,開發(fā)了一個(gè)視頻播放器實(shí)現(xiàn)錄像的回放。

  云臺(tái)控制模塊實(shí)現(xiàn)云臺(tái)轉(zhuǎn)動(dòng),、調(diào)焦,、調(diào)整光圈等基本操作。用戶可以在監(jiān)控中心操作云臺(tái)來遠(yuǎn)程控制攝像機(jī)來觀察傳感器的工作狀態(tài)和路面的結(jié)冰狀態(tài),。

3 結(jié)論

  本文介紹了高速公路結(jié)冰檢測(cè)系統(tǒng)上位機(jī)軟件的開發(fā),。上位機(jī)軟件在高速公路監(jiān)管部門監(jiān)控中心長時(shí)間不間斷運(yùn)行,界面友好,操作簡便,,數(shù)據(jù)傳輸穩(wěn)定,;實(shí)現(xiàn)了傳感器數(shù)據(jù)和監(jiān)控圖像的采集、顯示,、存儲(chǔ)和查詢功能,,能準(zhǔn)確地判斷路面是否結(jié)冰,若結(jié)冰能及時(shí)預(yù)警,。本方法對(duì)其他實(shí)時(shí)測(cè)控系統(tǒng)的上位機(jī)軟件編寫具有一定的借鑒意義,。

參考文獻(xiàn)

  [1] 張愛英,丁德平,,李迅,,等.相似離度在北京市道面結(jié)冰預(yù)報(bào)中的初步應(yīng)用[J].氣象科技進(jìn)展,2012,,2(1):36-38.

  [2] 馮金龍.高度公路路面結(jié)冰檢測(cè)系統(tǒng)的研究[D].南京:南京信息工程大學(xué),,2011.

  [3] 歐彥.路面結(jié)冰監(jiān)測(cè)技術(shù)研究進(jìn)展[J].公路,2013(4):191-195.

  [4] 孟遂珍.國外高速公路的管理和氣象信息[J].氣象科技,,2000(4):60-62.

  [5] 鄒建紅,,葉林,葛俊鋒,,等.一種用于氣象觀測(cè)的的光纖結(jié)冰探測(cè)儀的研制[J].儀表技術(shù)與傳感器,,2012(4):15-18.

  [6] 禹迅,葉林.機(jī)場(chǎng)地面結(jié)冰檢測(cè)系統(tǒng)的上位機(jī)軟件實(shí)現(xiàn)[J].計(jì)算機(jī)與數(shù)字工程,,2013,,41(6):993-995.

  [7] 孫海民.精通Windows Sockets網(wǎng)絡(luò)開發(fā):基于Visual C++實(shí)現(xiàn)[M].北京:人民郵電出版社,2008.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。