唐 曼
(呼和浩特鐵路局 科研所, 呼和浩特 010050)
車號(hào)識(shí)別模擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
唐 曼
(呼和浩特鐵路局 科研所, 呼和浩特 010050)
本系統(tǒng)主要用于模擬車號(hào)等車輛信息的捕捉和采集。用戶根據(jù)測(cè)試需求,調(diào)整對(duì)應(yīng)的測(cè)試數(shù)據(jù)。系統(tǒng)在保證數(shù)據(jù)真實(shí)性和準(zhǔn)確性的情況下,完成車輛信息的模擬采集,達(dá)到簡化采集過程,縮短采集周期,提高采集效率的目的。
車號(hào)識(shí)別;模擬;C#編程
隨著鐵路運(yùn)輸能力的提升,以及鐵路運(yùn)輸現(xiàn)代化管理的需要,鐵路車號(hào)自動(dòng)識(shí)別數(shù)據(jù)的應(yīng)用已非常廣泛。目前的鐵路管理系統(tǒng)軟件,需要通過采集線路上經(jīng)過的車輛車號(hào)等信息,實(shí)現(xiàn)一系列的管理功能。系統(tǒng)按照傳統(tǒng)測(cè)試方法,需要到現(xiàn)場(chǎng)采集硬件設(shè)備檢測(cè)到的信息,并同步傳輸?shù)接?jì)算機(jī)的分析軟件中完成測(cè)試,然后找出系統(tǒng)不足,再進(jìn)行系統(tǒng)完善和改進(jìn)?,F(xiàn)場(chǎng)環(huán)境比較復(fù)雜,需要等到適合測(cè)試的車輛通過,這就降低了系統(tǒng)的開發(fā)效率及數(shù)據(jù)實(shí)驗(yàn)效率。
車號(hào)識(shí)別模擬系統(tǒng)的設(shè)計(jì)可以改變這一現(xiàn)狀,簡化測(cè)試過程及數(shù)據(jù)實(shí)驗(yàn)過程,不必親臨現(xiàn)場(chǎng),即可在實(shí)驗(yàn)室內(nèi)模擬磁鋼等設(shè)備采集車號(hào)信息,并將信息收集起來,完成車號(hào)信息等的模擬采集。
系統(tǒng)主要用于模擬車號(hào)等車輛信息的捕捉和采集。用戶可以根據(jù)測(cè)試需求,調(diào)整對(duì)應(yīng)的測(cè)試數(shù)據(jù),在保證數(shù)據(jù)真實(shí)性和準(zhǔn)確性的情況下,系統(tǒng)進(jìn)行傳輸并收集,完成車輛信息的模擬采集,達(dá)到簡化采集過程,縮短采集周期,提高采集效率的目的。研究內(nèi)容主要有以下幾個(gè)方面:(1)通訊傳輸技術(shù)的研究;(2)模擬數(shù)據(jù)傳輸格式的研究;(3)模擬數(shù)據(jù)完整性的研究;(4)車號(hào)識(shí)別模擬系統(tǒng)的開發(fā)。
2.1 需求規(guī)定
輸入項(xiàng)目:所需車輛信息的類型需求。
輸出項(xiàng)目:車號(hào)、速度、方向等車輛信息。
功能性需求:操作人員在實(shí)驗(yàn)室內(nèi)依靠軟件模仿列車到達(dá),模擬貨車車號(hào)等車輛信息的捕捉和采集,向貨車裝載信息系統(tǒng)輸出這些數(shù)據(jù)(以下均以貨車裝載信息系統(tǒng)作為車輛數(shù)據(jù)接收方為例)。
系統(tǒng)功能主要分為兩部分:(1)根據(jù)不同需要模擬生成不同的車號(hào)數(shù)據(jù)通信包;(2)傳輸模擬數(shù)據(jù)包到貨車裝載信息系統(tǒng)。
2.2 運(yùn)行環(huán)境
操作系統(tǒng):Windows XP。驅(qū)動(dòng):USB轉(zhuǎn)串口線驅(qū)動(dòng)。
2.3 設(shè)計(jì)概念和處理流程
項(xiàng)目經(jīng)過分析比對(duì),系統(tǒng)最終采用發(fā)送錄制數(shù)據(jù)的方案。即通過串口,監(jiān)聽硬件設(shè)備與數(shù)據(jù)分析軟件之間傳輸?shù)男畔ⅲ⑦@些信息錄制存儲(chǔ)。當(dāng)需要測(cè)試時(shí),選擇發(fā)送存儲(chǔ)數(shù)據(jù)到數(shù)據(jù)分析軟件,并同時(shí)到達(dá)貨車裝載信息系統(tǒng)。數(shù)據(jù)通訊過程是在同一臺(tái)計(jì)算機(jī)上通過2個(gè)串口完成的。數(shù)據(jù)分析軟件默認(rèn)從串口1接收數(shù)據(jù),本系統(tǒng)通過串口2將數(shù)據(jù)發(fā)送到串口1。由于現(xiàn)在的計(jì)算機(jī)基本都只有1個(gè)串口,利用USB轉(zhuǎn)串口線模擬出一個(gè)串口2,并將2個(gè)串口連接起來,完成數(shù)據(jù)的傳輸。
車號(hào)模擬數(shù)據(jù)處理流程如圖1所示。
圖1 車號(hào)模擬數(shù)據(jù)處理流程
2.4 系統(tǒng)結(jié)構(gòu)
圖2 系統(tǒng)結(jié)構(gòu)圖
如圖2所示,本系統(tǒng)主要分為3部分:
(1)數(shù)據(jù)選擇。根據(jù)需要,用戶在操作界面的列表里選擇需要輸出的數(shù)據(jù)。
(2)車輛信息顯示。根據(jù)用戶在系統(tǒng)數(shù)據(jù)列表里的選擇,顯示對(duì)應(yīng)的車輛信息。
(3)原始數(shù)據(jù)發(fā)送。通過軟件接口,將原始數(shù)據(jù)包發(fā)送給貨車裝載信息系統(tǒng)。
3.1 串口打開、關(guān)閉功能
3.1.1 程序描述
利用SerialPort類實(shí)現(xiàn)串口通信,完成串口的打開及關(guān)閉操作。為了避免在關(guān)閉串口時(shí)發(fā)生死鎖,需要在關(guān)閉前加入while (Listening) Application.DoEvents()操作。
3.1.2 功能
此功能通過一個(gè)開關(guān)按鈕實(shí)現(xiàn)。串口打開的情況下,按鈕為關(guān)閉按鈕。串口關(guān)閉的情況下,為打開按鈕。
3.1.3 處理流程
系統(tǒng)處理流程如圖3所示。
圖3 系統(tǒng)處理流程
3.2 數(shù)據(jù)選擇功能
3.2.1 程序描述
利用Application.StartupPath獲取程序路徑,然后通過Directory.GetFiles方法把data文件夾的全部數(shù)據(jù)文件名列入到界面的列表內(nèi)。
3.2.2 功能
將程序目錄下指定文件夾內(nèi)已保存好的原始數(shù)據(jù)文件名,按順序顯示到界面列表內(nèi)。
3.2.3 數(shù)據(jù)篩選流程
數(shù)據(jù)篩選流程如圖4所示。
圖4 數(shù)據(jù)篩選流程
3.3 車輛信息顯示功能
3.3.1 程序描述
利用Application.StartupPath獲取程序路徑,根據(jù)所選數(shù)據(jù)文件名,查找對(duì)應(yīng)車輛信息文件,通過StreamReader類讀取文件內(nèi)容,顯示到界面信息框內(nèi)。
3.3.2 功能
將所選原始數(shù)據(jù)解析后的車輛信息顯示到信息框內(nèi)。
3.3.3 車輛信息顯示判斷流程
車輛信息顯示判斷流程如圖5所示。
圖5 車輛信息顯示判斷流程
3.4 原始數(shù)據(jù)發(fā)送功能
3.4.1 程序描述
利用Application.StartupPath獲取程序路徑,根據(jù)所選數(shù)據(jù)文件名找到數(shù)據(jù)文件,通過StreamReader類讀取文件內(nèi)容。轉(zhuǎn)換數(shù)據(jù)類型為16進(jìn)制Byte型,并填充到臨時(shí)數(shù)組內(nèi),通過SerialPort類將數(shù)據(jù)發(fā)送到串口。
3.4.2 功能
將所選數(shù)據(jù)文件的內(nèi)容發(fā)送到串口。
3.4.3 數(shù)據(jù)發(fā)送流程
數(shù)據(jù)發(fā)送流程如圖6所示。
圖6 數(shù)據(jù)發(fā)送流程
實(shí)驗(yàn)室內(nèi)準(zhǔn)備一臺(tái)計(jì)算機(jī),用USB轉(zhuǎn)串口線模擬出串口3,并與串口1連接到一起。測(cè)試計(jì)算機(jī)上除了車號(hào)識(shí)別模擬系統(tǒng)程序之外,還需安裝貨車裝載信息系統(tǒng)、車輛數(shù)據(jù)分析軟件。本軟件開發(fā)的目的是模擬硬件信息的采集和獲取,簡化貨車裝載信息系統(tǒng)的測(cè)試。用戶根據(jù)需要,選擇發(fā)送原始車輛數(shù)據(jù),在貨車裝載信息系統(tǒng)上接收到該數(shù)據(jù)即為測(cè)試成功。
選擇串口端口號(hào)COM3,及波特率9 600,點(diǎn)擊“打開”按鈕打開串口3 。
選擇“數(shù)據(jù)列表”內(nèi)的數(shù)據(jù),點(diǎn)擊“顯示數(shù)據(jù)”按鈕,查看此數(shù)據(jù)文件經(jīng)分析處理后的實(shí)際內(nèi)容,如圖7所示。
圖7 系統(tǒng)界面
如確定發(fā)送此數(shù)據(jù),則點(diǎn)擊“發(fā)送”按鈕,完成車輛信息的發(fā)送。此時(shí)貨車裝載信息系統(tǒng)收到發(fā)送的數(shù)據(jù)如圖8所示。
圖8 通信測(cè)試軟件
測(cè)試結(jié)果:貨車裝載信息系統(tǒng)成功接收到車輛信息,包含車號(hào)、方向、速度。并且對(duì)比發(fā)送前解析的數(shù)據(jù)和接收的數(shù)據(jù),兩者完全相同,沒有差異。證明數(shù)據(jù)完整、準(zhǔn)確,發(fā)送成功。
系統(tǒng)于2012年9月在呼和浩特鐵路局貨車裝載信息系統(tǒng)開發(fā)及試驗(yàn)階段進(jìn)行試用,各項(xiàng)性能指標(biāo)基本滿足技術(shù)要求,且運(yùn)行穩(wěn)定。有效的實(shí)現(xiàn)了模擬硬件設(shè)備采集和發(fā)送車號(hào)數(shù)據(jù)的功能,達(dá)到了簡化貨車裝載信息系統(tǒng)測(cè)試工作的目的。系統(tǒng)在實(shí)驗(yàn)室利用軟件模擬硬件設(shè)備采集數(shù)據(jù),提高了貨車裝載信息系統(tǒng)的開發(fā)效率。
該系統(tǒng)的應(yīng)用不僅縮短了貨車裝載信息系統(tǒng)測(cè)試周期,提高了工作效率,而且節(jié)約了測(cè)試成本。因此,它對(duì)貨車裝載信息系統(tǒng)的開發(fā)起到了積極的推動(dòng)作用。
車號(hào)識(shí)別模擬系統(tǒng)對(duì)提高鐵路車號(hào)自動(dòng)識(shí)別相關(guān)系統(tǒng)的開發(fā)及數(shù)據(jù)實(shí)驗(yàn)效率具有重要意義。通過在呼和浩特鐵路局貨車裝載信息系統(tǒng)開發(fā)中的試用,驗(yàn)證了數(shù)據(jù)結(jié)果的準(zhǔn)確性和真實(shí)性,及實(shí)現(xiàn)方法的正確性。此模擬系統(tǒng)也可對(duì)已安裝的車號(hào)識(shí)別相關(guān)系統(tǒng)進(jìn)行定期測(cè)試,為鐵路生產(chǎn)運(yùn)輸工作的穩(wěn)定提供技術(shù)保障。
責(zé)任編輯 陳 蓉
Design and implementation of Train Identification Simulation System
TANG Man
( Scientific & Technological Research Institute of Hohhot Railway Administration, Huhhot 010050, China )
The Train Identification Simulation System was mainly used to simulate the process of capturing and collecting the train information. User could adjust the output of the corresponding test data according to the test requirements. The System would implement the simulation of vehicle information acquisition process, simplify the acquisition process, short the acquisition cycle, improve collection efficiency.
train identification; simulation; C#
U284.55∶TP39
A
1005-8451(2014)01-0055-04
2013-05-21
唐 曼,工程師。