?

高速公路交通監控系統技術應用的探討

2010-08-15 00:49馮興林
中國新技術新產品 2010年1期
關鍵詞:輪詢外場線程

馮興林

(云南省交通科學研究所,云南 昆明 650011)

1 數據采集方式

在高速公路監控中,數據采集分為兩種方式,即:自動采集方式和非自動事件檢測方式。自動采集方式是在后臺自動進行的數據采集,不需要人工干預,采集過程對于監控人員來說是透明的。非自動事件檢測方式是指監控人員通過道路監視或緊急電話等確認交通事件,或交利用人工觀測的方式獲得氣象情況,并在前臺人機交互界面輸入交通事件信息和氣象信息,存入到數據庫業中去。因為非自動事件檢測方式較為簡單,本文就不再詳述,下面將詳細介紹數據自動采集方式。數據自動采集,一般主要涉及的設備有:外場設備、通信設備、串口設備和通信計算機。在一般高速公路監控系統中,外場設備主要有車輛檢測器、氣象檢測器、能見度檢測器、可變信息標志 (包括小型可變信息標志)、可變限速標志等;通信設備一般采用MODEM(調制解調器)和其它數據傳輸設備;串口設備一般采用多串口卡。

2 外場設備的數據采集

高速公路交通流參數實時數據的采集主要是通過車輛檢測器來實現的。車輛檢測器的環行線圈埋設在道路表面下,并與車輛檢測器控制器相連;當車輛通過時,通過線圈電磁場的變化來對車輛進行檢測;來自傳感器的信號由設置在路旁的微處理器進行計算,得出各個車道的平均車速、最高車速、最低車速、車流量、車道占有率和車頭時距等。

氣象檢測器由多種傳感器(溫度、濕度、風向、風速、雨量、能見度、路面狀況)、數據采集器和控制器等組成,各種傳感器由敏感元件和轉換電路組成。數據采集器是一種智能性采集器,它采集各種傳感器的電信號。氣象檢測器控制器進行數據的預處理。能見度檢測器與氣象檢測器數據采集過程相同,但它只能檢測能見度。

可變信息標志是高速公路監控系統向過往車輛發布交通信息、通告的主要設備??勺冃畔酥痉譃榇笮涂勺冃畔酥竞托⌒涂勺冃畔酥?,其中大型可變信息標志模組數一般為10或12,安裝在高速公路上方的龍門架上,可顯示圖形和文字;小型信息標志體積較小,安裝在路旁,可顯示1個圖形或4個漢字??勺冃畔酥镜目刂破鞑杉斍帮@示信息和故障信息。

可變限速標志安裝在高速公路的路旁,當天氣惡劣、發生交通事故或其它異常情況時,控制室及時發布限速標志的顯示內容,限制車速,確保高速公路行車安全和交通流暢;同時,可變限速標志的控制器可反饋顯示內容及故障信息。

上述外場設備采集到自身檢測出的數據后,控制器先進行處理,然后通過控制器上的RS232、485、422等接口,經通信系統將數據上傳至監控室的通信計算機。

3 數據傳輸和串口設備

數據傳輸和采集設備一般主要包括MODEM、子速率板和串口設備等。

在高速公路監控中一般應采用專線MODEM。MODEM主要是用以延伸計算機數字信號傳輸的距離。

MOEDM將計算機送來的數字信號調制成載波信號(模擬信號),調制后的載波信號通過通訊信道送到控制室,由上位MODEM將接收到的載波信號解調成數字信號,最后送給通信計算機處理。

若外場設備和通信計算機之間的距離較小,外場設備和通信計算機之間直接用一對MODEM就可以 實現數據傳輸;若距離超出了MODEM的最大傳輸距離,這時必須添加其它數據傳輸設備,例如子速率板。子速率板也是成對使用的,上位端一般在監控室附近的通信機房,下位端在通信站。外場設備一般位于某個立交(收費站)附近,距離立交一般在幾公里以內,可在立交附近可設立通信站。一對子速率板可提供多個數據傳輸通道,一般采用異步傳輸模式。串口設備一般采用多串口卡。多串口卡技術較為成熟,且多串口卡成本較低,便于維護。多串口卡安 裝在通信計算機PCI插槽里,外接串口盒。每塊多串口卡一般最多支持32個串口或64個串口。

軟件功能及實現

3.1 數據采集軟件的主要功能

數據采集軟件實現的主要功能有:外場設備數據輪詢、控制命令的執行、更改輪詢周期、進程的開啟關閉、通信配置等。數據采集軟件運行在通信計算機上。

外場設備數據輪詢模塊主要對外場設備進行數據采集。所謂輪詢是指依次通過串行口與外場設備通信,取得外場設備采集的數據的過程。輪詢周期是指相鄰兩次輪詢開始時刻的時間間隔。數據輪詢模塊以輪詢周期為時間間隔進行外場設備數據的采集,取得外場設備的故障信息、當前信息和校時信息,并且存人數據庫中。

控制命令的執行模塊在一個通信端口監測著多媒體計算機發送過來的控制命令,若接收到控制命令,數據驗證合格后,向相關設備發送控制命令,主要是可變信息標志、可變限速標志的開啟、關閉、編輯、調光等,以及所有外場設備的故障檢測,并將處理結果返回給發送方。

更改輪詢周期模塊設置套接字,監聽下發的系統參數。如收到更改輪詢周期的有關數據,則對輪詢周期進行相應的處理,并將處理結果返回給發送方。

進程的開啟關閉。采用Windows NT的多進程服務機制,將輪詢模塊作為Windows NT的服務進行啟動和運行。服務程序在系統安裝時向windows NT服務管理器注冊,所有服務進程均采用手工啟動的方式。監控人員可通過人機交互界面發出開啟與關閉服務進程命令來實現,也可使用windowsNT服務管理器來控制進程的開啟與關閉。

通信配置模塊提供一個人機交互界面,通過該界面可完成對數據采集系統的通信配置,配置內容有:串口行、波特率、數據位、停止位、奇偶校驗、外場設備代碼等。

3.2 軟件實現

數據采集軟件在設計和開發中,除考慮滿足業務需求外,著重考慮穩定性和高效性。在系統分析與設計方法上,采用面向對象的分析與設計方法,這樣降低了系統結構的復雜度,提高了代碼的可重用性和可維護性。通信計算機采取的操作系統為廣泛使用的Windows NT操作系統,數據庫采用大型關系數據庫,網絡通信協議采用TCP/IP協議。

在數據采集系統中,外場設備數據輪詢模塊是最重要、也是開發難度最大的模塊,因此下面將主要介紹該模塊的軟件實現,以及數據采集系統中的關鍵技術、開發工具的選擇。

外場設備數據輪詢模塊的實現。外場設備數據輪詢模塊首先初始化輪詢對象列表,用于保存關于輪詢對象(外場設備)信息的表;創建定時器,并從數據庫中取得輪詢周期賦予定時器;等待時間為輪詢周期時,定時器啟動,通信計算機向外場設備依次發送數據上傳指令;發出的指令主要有讀取故障信息、讀取當前信息和更改設備時間等,其中讀取故障信息和讀取當前主交通數據命令是在每次輪詢都要進行,更改設備時間只在零點進行。發出讀取數據指令后,按照設置的等待時間進行等待;接收到數據后,軟件進行數據解包,通過數據合法性校驗的數據進入數據庫,若未通過合法性校驗,則給出提示信息,并記錄到日志中。在輪詢結束時,發送輪詢結束事件,以便監控系統處理其它業務。

軟件實現中的關鍵技術。數據采集軟件主要采用了如下技術和策略:

1)Win32串口通信技術

Win32下串口通信與16位串口通信有很大的區別。在Win32下,可以使用兩種編程方式實現串口通信,其一是調用Windows的API函數,其二是使用串口通信類或ActiveX控件。在本文的數據采集中采取調用Windows的API函數方式。使用API函數調用,需要清楚地掌握串口通信的機制,熟悉各種配置,對軟件開發人員的開發能力要求較高,但可以自由靈活地實現串口通信。

2)Socket網絡編程技術

在更改論詢周期和控制命令執行模塊中,采用Socket網絡編程技術,分別在不同端口監聽數據,一旦接收到數據就對數據進行及時處理。在輪詢結束時,也利用Socket網絡編程,發送輪詢結束信息,從而讓服務器及時進行數據發送和自動控制的執行。Socket網絡編程技術保證了在不同計算機上運行的多個進程之間的相互通信,從而及時進行相業務的處理,使整個監控系統成為有機的一個整體。

3)注冊表技術

注冊表是為Windows NT等所有32位硬件驅動和32位應用程序設計的數據文件。運行一個應用程序時,可以從注冊表中獲得配置信息。在注冊表中設置通信配置信息具有讀取速度快、配置靈活等優點。因此,數據采集系統通過通信配置界面,將每個串口的配置信息記錄在注冊表的相應位置,包括設備代碼、設備種類、波特率、校驗位、數據位、停止位、等待時間等。注冊表技術的應用,提高了程序的運行效率。

4)多線程機制與線程同步

在Win32操作系統中,每個進程可以同時執行多個線程,進程中的線程是并行執行的,每個線程占

用CPU的時間由系統劃分,系統不停的在各個線程之間切換。由于系統為每個線程劃分的時間片很小(20毫秒左右),所以看上去好象是多個線程在同時運行。數據采集采用多線程機制,將實時數據輪詢、更改輪詢周期、控制命令的執行等幾個線程同時執行,只不過是更改輪詢周期、控制命令的執行在大部分時間里是在相應端口等待數據的到來。

線程同步的目的是避免兩個線程同時操作同一個共享資源。在數據采集中有很多地方需要線程同步,例如對串口操作部分、錯誤提示信息向操作界面的輸出等。數據采集系統中使用的線程同步方法包括利用線程阻塞其自身執行的等待函數、沖突臨界區、互斥量等。多線程機制與線程同步的運用,節省了系統資源,提高了數據采集的效率,同時保證了各種操作不會相互沖突。

5)計時器的使用

可等待的計時器是在特定時間或固定的時間間隔使自己有信號的內核對象。外場設備數據輪詢程序創建可等待的計時器,對采樣周期采用定時器進行精確定時。每次論詢不僅需要等到定時器信號到來,同時需要上次輪詢結束信號的到來,這樣保證了相鄰兩次輪詢不會出現沖突,并且使輪詢時間控制得較為準確。

6)統一的接口協議

可變信息標志、可變限速標志、車輛檢測器等外場設備可由多個供應商提供。在實施過程中,要求這些供應商的設備都執行統一的接口協議,這樣系統就具有與設備無關性,系統的擴展性較強。

7)日志管理

日志包括操作日志和異常信息日志。各種操作都記錄在日志中,便于日后明確責任。在數據采集過程中,可能有多種異常情況出現,例如設備未返回信息、返回的信息格式不正確或不完整、數據庫無法連接等。在出現異常情況下,系統自動將異常信息記錄到相應日志文件中,以備日后查詢。

4 軟件開發工具的選擇

在軟件開發中,選擇一種合適的編程語言,可以大大加快工作效率,并且對軟件開發的難易程度也有很大的影響。數據采集系統過去一般是在DOS操作系統下應用匯編語言開發的。Windows操作系統的普及應用,尤其是可視化開發軟件Visual C++的出現,為軟件開發提供了強大的圖形界面功能,使得開發出來的應用程序具有良好的人機交互功能,并且程序運行速度快、效率高。因此,在進行高速公路監控系統時,可采用Visual C++來開發遠程數據采集軟件。

5 結束語

本文主要論述了高速公路監控系統中數據采集的方式、遠程數據采集軟件的功能及實現、應用效果等。應用實踐表明:本文論述的遠程數據采集系統是可行的、有效的,在高速公路監控領域具有較高的推廣價值。

猜你喜歡
輪詢外場線程
淺談高速公路外場ETC門架供電系統保障方案
基于等概率的ASON業務授權設計?
公路外場監控設備防直擊雷與接地技術探討
外場監控系統建設
淺談linux多線程協作
金溢科技出席我國LTE-V2X頻率驗證外場測試
依托站點狀態的兩級輪詢控制系統時延特性分析
利用時間輪詢方式操作DDR3實現多模式下數據重排
基于上下文定界的Fork/Join并行性的并發程序可達性分析*
Linux線程實現技術研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合