劉 雁,裴世廉
(沈陽鐵路局 信息技術所, 沈陽 110001)
調車計劃傳輸代理程序的設計與實現
劉 雁,裴世廉
(沈陽鐵路局 信息技術所, 沈陽 110001)
調車計劃傳輸代理程序可以讀取調車作業通知單信息,根據定制格式轉換處理,通過串口傳輸到駝峰自動化系統。本文介紹了應用開發背景、系統需求與具體實現。
調車計劃傳輸;串口;格式轉換
駝峰自動化系統可以提高駝峰作業效率、縮短列車解體時間,從而提高車站改編能力,在大型技術站、貨運站廣泛使用。車站管理信息系統的功能涵蓋了列車到發、車輛調動、裝卸作業、日常統計分析等運輸生產和管理環節,覆蓋到全路大部分車站,可以全面提高作業管理水平,減輕勞動強度,同時為鐵路局的運輸生產指揮提供原始的基礎信息。
調車計劃傳輸代理程序可以把車站管理信息系統中編制的調車作業通知單,根據現場作業需要,有選擇地傳輸到駝峰自動化系統中,實現無縫銜接,避免駝峰作業人員人工輸入帶來的誤差,減少計劃核對時間,提高作業安全性。
目前各鐵路局推廣使用的車站管理信息系統,程序版本有多個:鐵路總公司開發的《鐵路車站綜合管理信息系統》,沈陽鐵路局開發的《集中模式車站系統》,以及成都、蘭州等鐵路局自行研發的車站系統。駝峰自動化系統同樣也存在多版本的情況,沈陽鐵路局管內使用的駝峰自動化系統中,有FTK、DCD、TW-2等多種版本,即便是同一種接口模式,也會因為設備廠家、建設(或改建)年代不同,在數據接口模式、握手協議、關鍵字識別等細節有差別。隨著駝峰自動化系統的逐步升級,接收調車計劃的模式和數據格式仍然不斷修改和完善。
調車計劃數據傳輸時,要保證數據完整,并實現格式轉換,能適應車站系統和駝峰自動化系統之間的傳輸協議、數據格式的差別,保證傳輸的及時性、可靠性、穩定性,界面簡潔、操作簡單。在滿足車站既有現場作業的基礎上,要充分考慮車站系統、駝峰系統的后續版本兼容性。
駝峰自動化系統通過串口與外部系統交換數據,如接收調車計劃、發送計劃執行進度等,一般在兩個場所實現物理連接:(1)在駝峰樓,與操作臺的工控機串口連接,目前,TW-2駝峰多采用該方式;(2)在駝峰自動化機械室,駝峰自動化系統與主機連接,早期建設的FTK駝峰多采用該方式。
由于物理連接位置不同,導致通信線路距離、數據傳輸質量、防雷設施等方面的標準不同,在硬件選擇和物理連接方式方面存在差異:(1)微機串口直連。如果車站系統在駝峰樓設置微機操作,駝峰自動化系統通過操作臺工控機接收調車計劃,就可以使用該微機串口通信,由駝峰值班員編制調車計劃直接傳輸,或者作為數據通信前置機,傳輸解編助調、區長等崗位人員編制的計劃。微機直連時一般使用光電隔離模塊加以保護。(2)考慮使用協議轉換器、專線調制解調器、基帶數傳機等硬件,延長串口通訊的傳輸距離。(3)可以使用串口服務器,通過網絡傳輸。由于通信線路在物理連接方式不同,與硬件相關聯的串口參數設置不盡相同,甚至在不同車站、不同作業地點都會有差異。
車站操作用戶,希望把操作和顯示都集成在車站系統中,在計劃傳輸過程中不需要切換程序界面,只需要簡單操作,就可以及時、迅速、準確地完成計劃傳輸,并可以查詢是否傳輸成功。
開發維護人員,希望提供方便的調試、監控手段。當設備故障或傳輸錯誤時,可以查看各設備和程序的運行狀況,查看不同系統之間的數據傳輸內容、檢查傳輸日志,以便定位故障點、分析原因,從而快速方便地排除故障、解決問題,把故障影響降到最低。
駝峰自動化系統版本、廠家不同,造成了數據傳輸內容和格式的差異:(1)有些車站要求調車通知單的計劃號必須是“1位字符+3位數字”的格式,否則在駝峰自動化系統不能正確識別,接收后續計劃時,會覆蓋已經接收的尚未執行的計劃;(2)每鉤甩掛車數不得超過64輛,這會影響編組輛數超過該限定值的列車解體計劃接收(可能會出現丟鉤、甩掛輛數不正確等現象),而長編組列車已經廣泛運行在干線上;(3)解體列車車次長度不得超過5位字符(有的系統則放寬到12位)、車次是否允許包含漢字,左右對齊方式、車次首尾是否需要空格補位等。
為了應對這些繁瑣、細微的差別,使用參數文件來定制切合車站現場實際情況的參數配置。調車計劃傳輸程序可以解析參數設置,配置軟硬件環境、握手方式、傳輸內容,根據參數轉換數據格式,把調車計劃中的特殊備注內容(如空車、禁溜、禁峰、大軸、上峰、下峰等)翻譯成駝峰自動化系統能夠識別的特定格式,提供特殊股道(如禁溜線)對照轉換。配置文件要方便靈活、內容簡單明了,使用文本編輯軟件(如記事本)可以編輯修改。
調車計劃傳輸程序要適應多種接口,使用方便,盡量減少手工操作或者不需要操作,界面顯示直觀;要適合運行于Windows XP / 7 / 8等操作系統;要方便部署,盡可能不依賴第三方軟件;要方便日常維護,有豐富的傳輸數據監控顯示、日志記錄功能,出現問題或發生故障時有據可查,不需要其它專業技能和工具軟件。
3.1 傳輸任務
程序可以定時讀取傳輸任務,不需要人工干預,主要有兩種模式實現:(1)讀取指定目錄下的文件,如果文件的生成時間在1 h之內,視為待傳輸計劃,傳輸完成后,留存到備份目錄;否則視為過期文件,直接把文件拋棄到過期文件目錄中。《鐵路車站綜合管理信息系統》提供調車計劃的PCS傳輸功能,計劃為純文本文件方式,FTP傳輸到駝峰前置機中。駝峰前置機安裝程序,把計劃傳輸到駝峰自動化系統中。(2)定時查詢數據庫中是否有計劃傳輸請求,以1 h為限,早于1 h的記錄視為無效,直接丟棄。
用戶手工查詢指定崗位(或全站)的調車計劃,程序根據計劃是否已經執行,以不同顏色區分顯示,然后手工選擇調車計劃,向駝峰自動化系統中傳輸,如圖1所示。

圖1 調車計劃顯示界面
3.2 調車計劃載入
程序有兩種方式載入調車計劃內容:(1)在指定目錄下發現純文本文件后,直接讀取文件內容,根據參數文件中定義的關鍵字來識別車次、計劃號、作業項目,按數據項的起止位置,解析調車計劃的內容。《鐵路車站綜合管理信息系統》提供調車計劃傳輸功能,可以把計劃形成純文本文件,傳輸到駝峰前置機;《集中模式車站系統》可以把計劃落地成本地文件。由于不同車站系統生成文件的編碼格式不同,解析文件時需要自動判定文件編碼格式是ANSI、Unicode或UTF-8字符集。(2)根據文件名解析出計劃號,或者從數據庫中獲取計劃ID值,然后從數據庫中讀取計劃。
為了方便程序安裝,推薦數據庫連接訪問方式為:(1)ADO訪問數據庫。使用《鐵路車站綜合管理信息系統》的車站,一般都在微機上安裝Oracle客戶端。(2)ODAC訪問數據庫。《集中模式車站系統》直接使用IE瀏覽器操作,客戶端只需要安裝fash插件。
3.3 數據格式轉換
為適應不同版本的駝峰自動化接口模式,分別建立TW-2、DCD、FTK轉換類,生成握手請求、識別應答內容,實現轉換數據格式等功能。數據格式轉換類如圖2所示。

圖2 數據格式轉換類
為了方便現場實施,數據的傳輸模式、轉換規則都寫在參數文件中,可以隨時修改。在參數文件中,與格式轉換相關的內容主要如下。
3.3.1 格式設置
傳輸格式 = TW-2 ;【TW-2】、TW、DCD、FTK
續行符 = 0D,0A ;16 進制數,缺省為【0D,0A】
調車場股道起止 = SB1,SB99
編組場 =
掛車= +,#
甩車 = -,~
車次允許漢字 = y
標車號輛數 = 5 ;摘掛輛數達到該值時,顯示開口車號
備注忽略 = 空線,空重,重空
目錄 =計劃:{JHH#4}號
目錄 =解體車次:{CC#12#右}
目錄 =---------
#正文說明 {#字段名#長度#左、中、右對齊#字段超長舍棄前部或后部#}
正文 ={#SWH#2#右} {#GDM#4#右#前}{#ZG BZ#1}{#CS#2#右}{#KZBZ#1#左} {#JSL#12#左} {#CH#7#左}
目錄 =*********
目錄 =區長:{#QZ#0#左} 調車長:{#DCZ#0#左}
目錄 =編制時間:{#BZSJ#0#左}
3.3.2 股道轉換
# 股道轉換(禁溜線、迂回線等)= 原股道碼 @轉換后股道碼 @ 特定連掛方式
禁溜線 = SB77 @ J01
禁溜線 = SB88 @ J02
3.3.3 備注轉換
# 備注轉換 = 內容 @ 需要轉換為新股道 @ 連掛方式 @ 特定標識 @ 場別
# 限速 = ⑴,⑵,⑶,⑷,⑸,⑹,⑺,⑻,⑼,⑽,⑾,⑿,限速,竄,X @ @ @ @ X
限速 = ⑴,⑵,⑶,⑷,⑸,⑹,⑺,⑻,⑼,⑽,⑾,⑿,限速,竄,X @ @ @ !
禁峰 = 迂,U,YH,禁峰,JF @ @ # @ @ YH
禁溜 = 禁,$,∏,JL,送,大軸,△ @ @ #
上峰 = 上峰 @ @ S
下峰 = 下峰 @ @ X
空車 = 空 @ @ @ K
手動 = 手 @ @ D
3.3.4 備注轉換FTK
禁峰 = 迂,U,YH,禁峰,JF @ @ @ A
禁溜 = 禁,$,∏,JL,送,大軸,(O)△ @ @ @ B空車 = P,C,N,G,空 @ @ @ G
程序讀取參數文件時,根據駝峰自動化接口模式,實例化對應的類,解析數據轉換規則。轉換每鉤計劃內容時,先判斷甩掛車股道,是否屬于本場編組股道、禁溜線、迂回線,如果是,過濾“備注忽略”中定義的敏感字詞,避免轉換記事欄內容,與轉換關鍵字沖突,造成誤判;根據規則轉換數據內容。每項調車鉤轉換完成后,再根據目錄、正文格式設置,以及換行符定義,重新編碼數據、計算校驗碼,形成傳輸文本內容。
3.4 傳輸數據顯示
(1)調車計劃顯示。如圖3所示,程序解析/讀取待傳輸計劃后,會在“內容顯示”頁面右邊顯示計劃內容,便于作業人員核對計劃。手工查詢時,會在左邊刷新顯示計劃列表。

圖3 調試信息頁面
(2)調試信息顯示。傳輸計劃時,會在“調試信息”標簽頁中顯示傳輸的內容。左邊顯示發送請求、應答消息;右邊顯示格式轉換后的計劃內容,以純文本、16進制兩種方式顯示。這樣可以方便程序調試,發生故障時,現場操作員可以簡要描述程序顯示的內容,有利于分析故障原因。
3.5 設定串口參數
串口數據傳輸受通訊線路質量的影響比較大,一般波特率采取9 600 bps,如果線路質量不良,需要適當降速。如果是電纜傳輸,要考慮是否會受到冬季、雨季的影響;還要采取防雷措施、安裝串口卡,避免微機主板雷擊損壞。要有良好的接地線措施,減少傳輸過程中的誤碼。參數文件中與串口設置相關的內容主要有:
[傳輸設置]
端口 = COM2
波特率 = 9600
奇偶校驗 = 0 ;【0無校驗】、1奇校驗,2偶校驗
數據位 = 8 ;4 - 【8】
停止位= 0 ;【0】,1,2分別對應 1,1.5,2停止位
流控制 = 0 ;【0】無
超時 = 500 ;毫秒數
4.1 使用工具軟件
常用的調試工具有:
(1)串口調試助手,支持300~115 200 bps波特率,以ASCII或16進制碼方式發送文本或接收顯示。在開發調試過程中,有兩個缺點:a.只能使用串口COM1~COM4,如果使用串口卡,串口個數可能會受限,需要手工修改串口名;b.顯示串口接收數據時,漢字在純文本方式顯示接收內容時會有問題,16進制顯示則沒有問題。
(2)虛擬串口軟件,如VSOD,可以成對增加虛擬串口,這兩個串口可以連接起來,實現通訊,彌補微機、筆記本串口數量少(或者沒有串口)的問題。
4.2 同步編制模擬調試程序
預先編制模擬調試程序,模擬駝峰自動化系統數據接收過程。通過“程序樁”來顯示串口傳輸的請求應答、業務數據、校驗反饋等數據傳輸各階段的數據內容,同時以16進制、純文本方式顯示,實現“透明”傳輸,方便數據核對、利于程序調試與故障排除。純文本雖然可以方便查看,但是一些非可視字符無法正常顯示,而以16進制顯示方式不存在問題。
調車計劃傳輸代理程序已經在沈陽鐵路局管內十幾個編組站、區段站投入使用,實現了調車作業通知單向駝峰自動化系統傳輸,取代了駝峰作業人員的手工輸入,保證了計劃數據傳輸的正確性、及時性,避免了二次輸入帶來的誤差,保證了駝峰作業的安全,有效減輕了駝峰操作人員的勞動強度。
[1]杜志遠,趙鳳錦,丁 昆,等.駝峰自動集中微機儲存與控制系統[J].鐵道學報,1990(3):86-91.
[2]鐘衛紅.編組站綜合自動化駝峰控制系統的研究[J].鐵路通信信號工程技術,2008(3):15-18.
責任編輯 陳 蓉
Shunting plan transfer agent program
LIU Yan,PEI Shilian
( Institute of Information Technology,Shenyang Railway Administration,Shenyang 110001,China)
Shunting plan transfer agent program can read the information of shunting operation notice,make conversion processes according to the custom format.The information is transmitted through the serial port to the hump automation system.This article introduced the background of application development,system requirements,and concrete implementation.
shunting plan transfer;serial port;format conversion
U292.12:TP39
A
1005-8451(2016)08-0036-04
2015-12-25
劉 雁,高級工程師;裴世廉,高級工程師。