2021-4-9 | 交通管理論文
1.在鐵路信息化建設目標的指導下,主動適應車輛修制改革和客車技術管理不斷發展的需要,充分利用既有的信息資源和系統資源,制定客車技術管理信息化建設的總體規劃和發展方向,編制客車技術管理的技術規范和數據編碼,為客車綜合管理軟件建設提供指導性方案和技術依據,以不斷提高鐵路客車技術管理的現代化水平和信息化程度和實現客車生產、經營、技術管理科學化、信息化。依據每輛客車由新造到報廢所產生的全部技術數據,形成鐵路客車技術信息庫,使客車技術管理數據資源規范、統一,數據存儲實時、完整,信息資源高度共享,信息分析準確、快捷,為鐵路客車技術管理的宏觀決策、生產組織、質量控制和企業發展提供全面的信息服務和技術支持。
實現對車輛段客車調度信息的管理,包括客車的技術履歷、各種技術參數、客車當前位置、走行公里統計、命令查詢、車統—14、交路、車電等管理等,提供了簡便的錄入、查詢和統計打印的功能,并將車統—181錄入、查詢和統計打印功能編入動態編組程序中,從而能進行有效的故障技術分析和調度管理。在編組界面中,可以根據實際情況對各列車進行動態編組。工作人員在電子動態板上移動運行客車、備用客車、檢修客車,直觀明了,輕松自如。將有關規章等作為編組條件,計算機自動記錄編組后狀態,自動更新計算機網絡上每個工作站,并能對車輛故障進行分類管理,實現各種故障的分析匯總功能。根據需要,系統還具備多條件查詢、打印功能及對各類信息的綜合處理能力。
2.系統特點
(1)以電子動態編組板為基本界面,在此界面下,全部完成動態編組和車統—181的錄入、分析、統計、打印,直觀快捷。(2)以車號、車次為紐帶,通過電子動態編組板將調度、庫檢、乘務、上部、車電等部門有機結合起來。(3)通過計算機網絡,將鐵路局、車輛段機關、調度室與客技站的業務有機聯系起來,實現信息共享,信息準確、快捷。(4)具有強大的統計分析功能,能進行分類顯示和多種條件查詢、統計、分析。(5)具有車統—181自動報警、定檢到期報警功能。當某一輛客車有181故障未處理時或定檢到期時,在編組動態板上,該客車紅色閃爍報警,并用不同的閃爍方式提示報警原因。(6)具有子母車、茶爐車、空調車編組錯誤提示功能。(7)具有界面友好,可操作性強和易學易用等特點。
3.系統軟件設計和實現
3.1界面設計
3.2實現流程
(1)圖形顯示車次
程序啟動時,從車次庫中讀取車次信息,根據車次數據,繪制出該車次圖形,該車次上時,快捷顯示該車次的到達日期、往返公 里、運行區間及當前區間。
(2)圖形顯示股道
程序啟動時,從股道庫中讀取股道信息,根據股道數據,繪制出該股道圖形,顯示股道號,用鼠標放在該股道上時,快捷顯示該股道的股道長度、允許停放車輛數。
(3)圖形顯示客車
程序啟動時,從客車履歷庫中讀取客車數據,根據客車數據,繪制出該客車圖形,顯示車號、非運用車狀態、一位端、雙層車等信息,用鼠標放在該客車上時,快捷顯示該客車的車種、車型、轉向架型號、制動機型號、子母車、廣播室、茶爐、空調、廠段輔修單位及到期。
(4)單擊列車
顯示整列車所有客車的主要基本信息,包括子母車、廣播室、茶爐、辦公車、轉向架、制動機、軸報型號及乘務員交路人員、天數等信息。
(5)客車控件實現方法
選擇TGraphicControl作為祖先類,然后在ClassName框中輸入新控件(類)的名稱,一般以“T”開頭。PalettePage是用來選擇新控件在Delphi的窗口中的控件頁面名稱。在UnitFileName中添好新控件文件的路徑及文件名,單擊OK按鈕,新的控件便加入了?,F在為該控件編寫代碼。
按照上面的方法,選擇TGraphicControl為祖先類,新控件的名稱是TTrainBox(客車控件)。選擇好文件路徑和文件名后,單擊OK按鈕,開始編寫代碼。
每一個控件,都會被創建(Create)和刪除(Destroy),所以必須首先編寫這兩個過程。對于控件中的每一個過程,都必須在前面先定義,然后再在后面編寫。定義的過程或屬性有四種:①在private后定義的是屬于控件內部使用的,使用該控件的人無法看到;②在protected后定義的一般是看不到的,只在別人使用該控件作為祖先類編寫其它控件時才可見;③在public后定義的只允許別人在程序中調用;④在published后定義的可以在屬性窗口(ObjectInspector)中看到。由于創建和刪除過程除了在編程過程中建立控件時自動執行外,還可能在程序運行過程中動態創建控件時被調用,所以把它定義在public后。
首先為這個控件添加一些屬性。我們定義一個Data屬性用于設置客車的履歷資料,在履歷資料中存儲客車的車號、車種、車型、配屬、標記速度等信息,程序可以自動通過車種顯示客車的不同顏色,也可以通過車型或標記速度顯示不同的顏色。
在程序中一般不直接使用屬性,所以要定義一個變量,和該屬性對應起來,以便修改或讀取其值。因為它只在控件內部使用,所以我們把它定義在private后。其它的變量和屬性也類似的定義,因為執行寫入該類屬性的時候需要做其它的事情,所以不能光用一個變量來處理,應該用一個過程來處理。這種過程一般定義在protected后。
因為我們編寫的是可視化控件,所以必須在控件上畫圖。我們這個控件的祖先類TGraphicControl中封裝有一個Canvas(畫布)對象,我們可以直接使用它來畫圖。
祖先類TGraphicControl中有一個Paint事件,當控件需要重畫時,便會自動觸發,但我們要為這個事件編寫一段程序。首先在protected后定義一個Canvas對象。由于它是祖先類中已有的,所以不需要加任何說明。我們將使用這個對象來畫圖。然后就要定義一個Paint過程,編寫繪制控件的代碼。先在public后定義Paint過程。由于它是由祖先類觸發的,而不是由用戶調用的,所以后面必須加上override,否則,該控件將會由于Paint過程永遠不會被調用而不成為可視化控件。Paint過程中的寬、高等變量是用來控制客車控件的大小,這部分程序和普通的Application中的程序差別不大,大部分都是對畫布進行操作。FFlash是和該控件的屬性Flash相關聯的布爾型變量,在程序中判斷該客車是否需要報警閃爍提示。當需要報警時,通過執行toFlash(n:integer)方法,使該客車控件在主界面中閃爍報警,整形變量n表示報警方式(0:表示整個客車閃爍;1:表示左邊1/3閃爍;2:表示中間1/3閃爍;3:表示右邊1/3閃爍。),因此,可以區分報警原因。