施 聰
(上海軌道交通維護保障中心通號公司,200331,上海∥工程師)
近年來,隨著城市軌道交通的大力發展,也相應地對維護保障工作提出了更高的要求。自從ATC(Automatic Train Control,列車自動控制)系統投入使用以來,由于合同和技術保密的原因,并沒有向運營方提供與運營相關的關鍵設備和系統的技術參數。目前車載信號系統中有關ATC數據只能記錄在系統CPU板的EEPROM(電可擦寫可編程只讀處理器)內,由于EEPROM的容量有限,只提供了短時間內簡單保存一些最終事件記錄報告的功能而沒有中間變量的監控,因而在設備發生故障特別是瞬間出現故障時,使得維護人員找不到故障原因和解決問題的依據,造成故障定位困難,故障處理時間長。因此,有必要對車載ATC系統有關的關鍵信息,特別是安全信息進行長時間的實時監控和記錄,并且要求能對數據進行圖形化顯示,以方便分析處理。本文介紹一種應用于上海軌道交通2號線的車載安全數據監控系統。
該系統總體分為兩個部分:車載記錄板卡和上位機回放分析軟件。車載記錄板卡將數據存儲在大容量的SD卡中;上位機回放分析軟件則通過讀卡器直接在PC端讀取數據,進行顯示和分析。
車載記錄板卡總體結構設計思路為:從車載ATC設備上下載ATO(Automatic Train Operation,列車自動運行)、ATP (Automatic Train Protection,列車自動保護)的數據,并保存在大容量的SD卡中。要求車載記錄板卡符合列車車頭機架尺寸,可在機架上插拔,便于安裝。其整體結構框圖如圖1所示。
圖1 車載記錄板卡整體結構框圖
數據回放分析軟件的總體結構設計思路為:以基礎資源庫為基石,以接口平臺為運行支撐,以回放基礎功能為中心,建立系統架構,并在此系統架構的支持下開發軟件。軟件的體系結構包括資源庫、接口平臺和回放系統框架(如圖2所示)。
圖2 分析與回放軟件的體系結構圖
車載ATC設備接口為標準的RS232串口(DB9接頭),波特率為19 200。車載記錄板卡設有兩個串口接收端,分別用于接收ATC設備中的ATP數據和ATO數據。內部使用adm202e電平轉換芯片,其可靠性高,可以在-40℃~85℃內正常工作,并且有15kV以內的靜電保護,能防止雷電等帶來的干擾和損害。
由于SD卡的正常工作電壓為3.3V,而單片機ATmega128工作在5V電壓下,若直接將單片機和SD卡連接將有可能損壞SD卡,所以需要進行合適的5V-3.3V的電平轉換電路。SD卡工作在SPI(串行外設接口)模式。
74LVC245芯片完成從5V到3.3V的轉換。74LVC245芯片的3.3V供電電壓由 AMS1117-3.3芯片從5V轉換得到。與單片機連接的MOSI(主機輸出、從機輸入)、SCK(時鐘信號)、SDCS(SD芯片選擇)的5V電平通過74LVC245轉換為3.3V輸出。而與SD卡連接的S_MISO(主機輸入、從機輸出)的3.3V電平通過74LVC245輸出仍為3.3V。對于工作在5 V電壓下的單片機而言,3.3V輸入仍然能夠識別為高電平。所以,通過74LVC245芯片轉換后主機和SD卡雙向都能夠正常工作。
列車機車電源為110V直流電源,必須通過DC—DC(直流—直流)轉換成5V電壓。如圖3所示,LC1為扼流圈,濾除110V中的高頻交流成分;ZLQ為整流堆,起反接保護。DC110S05芯片為DC 110~5V的電源轉換模塊,輸出為5V直流。
圖3 電源轉換電路
串口接收采用中斷方式,帶有1k字節緩存。緩存用FIFO(先進先出)的環形隊列結構。SD卡讀寫方式為單扇區讀寫,512字節為一個扇區,即必須到達512字節數據量才開始一個扇區的寫操作。
由于采集的數據實時性要求較高,只要發送開始命令后數據就將以19 200波特率的速度不停發送。而文件系統在簇處理上需要尋找空扇區以建立文件簇鏈,往往在不連續的空扇區中將占用幾十ms到上百ms不等。所以串口的通信模塊中帶有1kB的緩存,能夠為文件系統的處理時間爭取427ms左右的時間,可有效防止數據的意外溢出導致數據丟失。
程序開始時,循環檢測SD卡;一旦SD卡插入卡槽后或SD卡已在卡槽中,就開始SD卡初始化,進入SPI工作模式;初始化成功后,即裝載文件系統,讀取當前時間,建立當天的文件夾;隨后向ATC設備發送開始接收命令。此時ATC設備將通過串口發送數據給車載監控板卡,程序進入主循環。具體流程見圖4。
由于ATC設備有時會故障重啟或人為關閉,所以需要檢測ATC設備掉線情況。正常工作時,ATC設備將以400ms為間隔連續不斷地發送列車運行時的數據;如果遇到5s內沒有收到任何數據時,表明掉線發生,則應重新向ATC設備發送開始接收命令。
掉線檢測的具體流程如下:串口緩存設置一個計數器,指示當前緩存中的數據量。當從緩存中取走一個字節數據時,計數器減一。相反,當串口接收一個字節數據到緩存中,計數器加一。當計數器減為0時,表明數據緩沖區當前為空,進入循環檢測。如果在5s內緩存區依舊為空,關閉當前文件,重新發送開始接收的命令。當新數據再次到來時,建立一個當前時間的新文件并開始接收數據。
圖4 數據采集記錄程序流程框圖
1)系統分析。其任務在于明確并描述系統的需求,包括功能需求、界面需求、接口需求和性能需求等,并定義系統中的關鍵領域問題。
2)總體設計。根據系統分析需求,考慮特定系統的特殊需求,分析和設計具體的系統架構。具體包括控件設計、軟件接口設計、ATC數據解析設計、界面設計和回放功能設計等。
3)數據準備。收集整理所需的數據資源庫,包括ATC配置文件、站場數據和所需組件等。
4)系統集成。生成基本操作界面,包括ATC數據顯示界面和站場圖,通過接口平臺進行無縫連接,初步生成具有基本功能的回放系統(見圖5)。
圖5 ATC數據分析與回放軟件的系統集成
1)組件設計。圖6為上海軌道交通2號線設計組件的列表。圖7為上海軌道交通2號線的軌道信息通過組件設計而繪制的某站場圖。
2)軟件接口的實現。文本文件的輸入、輸出利用C++語言的fstream文件流進行操作。車載板采集到的十六進制TXT文件需要用ios∶binary以二進制方式打開,其余文本文件以默認方式打開。文本文件以ios∶∶out方式保存。EXCEL文件的輸入、輸出利用EXCEL操作類進行操作。這里由于ODBC(開放數據庫連接)的功能限制,放棄了ODBC的快速讀寫速度,而調用office的com接口來操作office。這種方法的功能強大,便于滿足需求。
3)ATC數據解析實現。由于車載板采集到的數據文件為十六進制格式,在Windows系統下難以直接分析,故需先將其轉換成ASCII碼的十六進制文本文件,以便于分析采集到的數據是否正確;然后,根據分析ATC系統配置文件得到的參數對數據進行分配組合完成數據處理。
4)實現基本回放功能由5個功能模塊組成,如圖8所示。①導入并且分析處理ATC系統的配置文件。由于ATC系統的配置文件會不斷地更新,如果每更新一次就要修改相關程序,就會使軟件的實用性大打折扣。因此,需要使軟件對配置文件能夠自我分析和處理。②導入并且處理車載板采集到的數據文本文件。車載板采集到的文本格式為連續的十六進制數據,需要對其進行進制轉換,然后根據導入ATC系統配置文件而得到的參數完成對原始本文的處理。最后將所需信息的相關數據導入軟件并按格式生成所需的EXCEL文件。③ 對所需ATC信息進行回放顯示。ATC系統生成的每一組數據信息都會有對應匹配的時間信息,因此以時間信息為基準,隨著時間信息的改變來同步顯示所需的相應其他數據信息。④ 站場圖關聯。同樣以時間信息為基準,根據提供的《軌道ID對應表》將ATC信息中的“軌道ID”與站場圖中的“軌道名稱”相關聯,當“軌道ID”為某一值時,使列車會同步顯示在站場圖中相應的軌道上,以實現列車在站場圖中的回放。⑤ 回放控制。控制回放的開始和結束,提供設置所需回放時間段,提供設置所需回放速度。
5)根據ATC信息需求和基本功能需求設計操作界面。界面窗口分割為2大部分:一部分是數據顯示和回放控制;另一部分是站場圖(如圖9所示)。利用MFC(微軟基礎類)各控件能夠較容易地完成第一部分的繪制;但由于站場圖非常大,為方便起見需要對全圖進行分割,并按照站點分為徐涇東—南京西路、人民廣場—塘鎮、凌空路—浦東國際機場共三段,再用已注冊的仿真組件完成繪制。
本文介紹了一種用于監控記錄上海軌道交通2號線車載安全數據的系統。該系統有車載監控板卡和上位機回放分析軟件兩部分組成。車載板卡數據存儲量大、便于安裝,回放分析軟件能將采集到的安全數據圖形化顯示,可進行一定的分析。該系統大大提高了列車的維護保障效率、故障處理速度,稍加改造即可用于其它線的列車。這對保障城市軌道交通的安全監控有積極意義。
[1]馬潮.AVR單片機嵌入式系統原理與應用實踐[M].北京:北京航空航天大學出版社,2007:8.
[2]ChaN.ELM-FAT File Syst0em Module[EB/OL].http:∥elm-chan.Org/fsw/ff/00index_e.html
[3]姜堅華.上海軌道交通線ATC系統的比較[J].城市軌道交通研究,2003(2):56.
[4]王野,郭秀清.基于組件技術的列車自動監控仿真系統開發平臺[J].計算機應用,2007,27(S2):286.
[5]楊芙清,梅宏,李克勤.軟件復用與軟件構件技術[J].電子學報,1999,27(2):68.
[6]段繼華,劉衛.組件化技術在程序設計中的應用[J].無線電通信技術,2003,29(1):57.
[7]宇鵬,王曉峰,李云飛.Visual C++實踐與提高——ActiveX篇[M].北京:中國鐵道出版社,2001.
[8]周庭梁,周雄軍,張立鵬.城市軌道交通車載信號設備狀態的自適應采集研究[J].城市軌道交通研究,2010(11):43.