張廣吉
(中車青島四方車輛研究所有限公司,青島 266031)
目前,我國鐵路投入運(yùn)營的動(dòng)車組基本采用8輛或16輛的固定編組模式,旅客運(yùn)輸在春運(yùn)、節(jié)假日、寒暑假等期間會(huì)出現(xiàn)短期客流高峰,而在淡季時(shí)出現(xiàn)客流大幅減少等現(xiàn)象,造成客流量的不平衡,采用固定編組模式,在動(dòng)車組上座率較低的時(shí)候,造成資源的浪費(fèi)[1]。因此設(shè)計(jì)維修簡便、靈活編組、動(dòng)態(tài)調(diào)整運(yùn)力與客流需求相匹配、具備良好經(jīng)營效益的動(dòng)車組成為迫切需要,靈活編組的動(dòng)車組對(duì)客流變化較大線路具有重要意義,既可以很好地滿足旅客出行需求,又可節(jié)省運(yùn)營成本[2]。
本文依托可變靈活編組CRH3X[3]動(dòng)車組及CRH3X動(dòng)車組的網(wǎng)絡(luò)控制系統(tǒng),設(shè)計(jì)網(wǎng)絡(luò)顯示屏實(shí)時(shí)顯示系統(tǒng)。顯示屏是在動(dòng)車組上完成人機(jī)對(duì)話和系統(tǒng)信息顯示及反饋的重要設(shè)備,它為司機(jī)正確操作和控制動(dòng)車組、及時(shí)掌握動(dòng)車組工作狀況起到了至關(guān)重要的作用[4]。
本文設(shè)計(jì)是基于Linux嵌入式操作系統(tǒng),用Qt Creator開發(fā)工具開發(fā),對(duì)實(shí)時(shí)顯示系統(tǒng)的實(shí)現(xiàn)方法進(jìn)行研究[5]。實(shí)時(shí)顯示系統(tǒng)架構(gòu),如圖1所示,顯示系統(tǒng)主要實(shí)現(xiàn)與網(wǎng)絡(luò)控制系統(tǒng)中央控制單元的通信,并根據(jù)中央控制單元發(fā)送的數(shù)據(jù)實(shí)時(shí)顯示當(dāng)前車輛的狀態(tài),另外可以通過顯示系統(tǒng)發(fā)出控制指令,比如控制空調(diào)溫度等。顯示系統(tǒng)由電源模塊、中央處理器(CPU ,Central Processing Unit)、通信板卡及人機(jī)接口(HMI,Human Machine Interface)顯示屏組成[6],電源模塊實(shí)現(xiàn)DC110 V轉(zhuǎn)DC5 V,為CPU、通信板卡、HMI顯示屏供電;通信板卡通過多功能車輛總線(MVB,Multifunctional Vehicle Bus)實(shí)現(xiàn)與中央控制單元的通信;底層通信程序和應(yīng)用程序運(yùn)行在CPU上,將數(shù)據(jù)實(shí)時(shí)轉(zhuǎn)換,通過串行通信端口(COM,Cluster Communication Port )用戶界面(UI,User Interface);HMI顯示屏負(fù)責(zé) UI界面顯示。UI結(jié)構(gòu)樹,如圖2所示[7]。
圖1 實(shí)時(shí)顯示系統(tǒng)架構(gòu)
圖2 UI界面結(jié)構(gòu)樹
本文設(shè)計(jì)的靈活編組動(dòng)車組實(shí)時(shí)顯示系統(tǒng),解決了顯示屏軟件不能實(shí)時(shí)顯示多種編組形式的難題,避免編組形式變化后需要人工進(jìn)行配置的問題。在顯示屏軟件開發(fā)過程中,因其編組數(shù)量的靈活性及不確定性,較于固定編組的動(dòng)車組網(wǎng)絡(luò)控制系統(tǒng)顯示屏增加了開發(fā)難度,因此,實(shí)時(shí)顯示系統(tǒng)通過設(shè)計(jì)大小端及拖車模式、界面重繪機(jī)制、動(dòng)態(tài)關(guān)聯(lián)變量、故障變量與網(wǎng)關(guān)賬號(hào)綁定等創(chuàng)新措施,解決了獲知實(shí)時(shí)編組數(shù)量、實(shí)時(shí)顯示當(dāng)前車輛狀態(tài)、判斷發(fā)生故障部件的物理位置等難題,最終完成了可靈活編組的動(dòng)車組網(wǎng)絡(luò)控制系統(tǒng)顯示屏實(shí)時(shí)顯示系統(tǒng)的開發(fā)[8]。
每個(gè)司機(jī)室內(nèi)設(shè)有相互冗余的兩臺(tái)顯示屏,其中,駕駛位置的左側(cè)為主屏,右側(cè)為從屏,正常情況下主屏和從屏都可以顯示所有信息,但只有主屏可以發(fā)出操作命令,如果主屏發(fā)生故障時(shí),從屏需要代替主屏,既可以顯示所有信息,還能發(fā)出操作命令。另外在餐車還設(shè)有一個(gè)乘務(wù)員顯示屏,該顯示屏只有司機(jī)室顯示屏的部分功能,本文不再介紹。
本文開發(fā)的實(shí)時(shí)顯示系統(tǒng)滿足最大車輛編組為10編組,最小車輛編組為1編組,即帶司機(jī)室的動(dòng)車可以單獨(dú)運(yùn)行,其動(dòng)車分布在動(dòng)車組的兩端,定義物理車號(hào)較小的動(dòng)車為小端,物理車號(hào)較大的動(dòng)車為大端,拖車分布在小端動(dòng)車與大端動(dòng)車之間。大小端動(dòng)車編組最多分別為3編組,拖車最大編組為4編組,圖3為3-4-3編組形式,拖1車具有餐車功能。
圖3 3-4-3編組形式
為實(shí)現(xiàn)動(dòng)車組的可靈活編組,在10編組時(shí)共需要6個(gè)網(wǎng)關(guān)(不考慮冗余情況),大端動(dòng)1、小端動(dòng)1各有一個(gè)網(wǎng)關(guān),每輛拖車各有一個(gè)網(wǎng)關(guān),所以在靈活編組時(shí),動(dòng)車組上的網(wǎng)關(guān)數(shù)量為小端、大端及拖車數(shù)量的總和,這樣動(dòng)2車、動(dòng)3車及拖車的數(shù)量可以在不超過規(guī)定編組數(shù)量時(shí)自由組合,而不影響整車的通信,從而可實(shí)現(xiàn)靈活編組動(dòng)車組的目的。當(dāng)小端動(dòng)1車司機(jī)室鑰匙激活時(shí),即小端動(dòng)1車占用時(shí),小端動(dòng)1車、拖1、拖2、拖3、拖4和大端動(dòng)1車的網(wǎng)關(guān)依次為網(wǎng)關(guān)1—6;當(dāng)大端動(dòng)1車占用時(shí),大端動(dòng)1車、拖4、拖3、拖2、拖1和小端動(dòng)1車的網(wǎng)關(guān)依次為網(wǎng)關(guān)1—6,即占用端網(wǎng)關(guān)賬號(hào)為1。
(1)固定編組實(shí)時(shí)顯示系統(tǒng)因其編組數(shù)量的固定性,在顯示屏啟動(dòng)時(shí)就完成了整個(gè)界面的初始化,只有涉及到連掛時(shí)才會(huì)出現(xiàn)編組數(shù)量的變化,顯然固定編組實(shí)時(shí)顯示系統(tǒng)的編組數(shù)量只有2種情況,連掛和非連掛,所以在實(shí)時(shí)顯示系統(tǒng)中可以把2種界面都畫進(jìn)去,只根據(jù)連掛和非連掛切換不同的模式。
(2)靈活編組實(shí)時(shí)顯示系統(tǒng)的編組情況不僅僅是簡單的幾種,不能使用枚舉法把每種可能的編組方式都畫出來,只能根據(jù)車輛編組方式的變化實(shí)時(shí)重繪顯示屏界面的圖標(biāo),并且需要在不進(jìn)行網(wǎng)絡(luò)復(fù)位的情況下實(shí)現(xiàn),這無疑增加了實(shí)時(shí)顯示系統(tǒng)的開發(fā)難度。
(1)由于固定編組動(dòng)車組(以8編組為例)單列時(shí)只有2個(gè)網(wǎng)關(guān)(不考慮冗余),把列車分為2個(gè)半列,每半列4節(jié)車,分別為1、2、3、4車,固定編組實(shí)時(shí)顯示系統(tǒng)的每個(gè)變量都帶有網(wǎng)關(guān)號(hào)信息,可以根據(jù)網(wǎng)關(guān)號(hào)的不同區(qū)分位于哪一個(gè)半列,再根據(jù)1、2、3、4車信息就可以判斷其對(duì)應(yīng)的實(shí)際的物理車號(hào),進(jìn)而正確地與顯示屏界面的控件相關(guān)聯(lián)。
(2)靈活編組實(shí)時(shí)顯示系統(tǒng)由于網(wǎng)關(guān)及動(dòng)車數(shù)量的不確定性,無法在程序中預(yù)先把每個(gè)控件與變量相關(guān)聯(lián),只能根據(jù)實(shí)際編組中網(wǎng)關(guān)及動(dòng)車數(shù)量確定后,再動(dòng)態(tài)地關(guān)聯(lián)變量,這也增加了實(shí)時(shí)顯示系統(tǒng)的開發(fā)難度。
(1)固定編組動(dòng)車組的故障信息中給出的車輛號(hào)是邏輯的車號(hào),只需要根據(jù)當(dāng)前占用情況,就可以得到實(shí)際的物理車號(hào),以8編組為例,當(dāng)物理1車占用時(shí),邏輯1—8車即為物理1—8車,當(dāng)物理8車占用時(shí),邏輯1—8車即為物理8—1車。
(2)靈活編組動(dòng)車組的編組數(shù)量是變化的,根據(jù)不同的編組組合選擇不同的故障庫也是不現(xiàn)實(shí)的,因此靈活編組動(dòng)車組的故障信息給不出對(duì)應(yīng)的邏輯車號(hào),從而無法直接得到真實(shí)的物理車號(hào),所以只能根據(jù)實(shí)際的情況再進(jìn)一步計(jì)算得到故障的實(shí)際物理車號(hào)。
實(shí)時(shí)顯示系統(tǒng)可以實(shí)時(shí)得到車輛編組大小端動(dòng)車數(shù)量和拖車數(shù)量,可以根據(jù)得到的當(dāng)前編組情況實(shí)時(shí)地重繪顯示屏界面,具體的解決方法如下。
需要實(shí)時(shí)監(jiān)測(cè)車輛編組大小端動(dòng)車數(shù)量、拖車數(shù)量的變化,一旦發(fā)現(xiàn)編組信息發(fā)生變化和編組數(shù)量相關(guān)的顯示屏界面就執(zhí)行初始化程序,對(duì)其進(jìn)行重繪,使顯示屏界面與實(shí)際的編組情況相符合。在界面開發(fā)中,定義各種類型的圖標(biāo),例如車輛圖標(biāo),觀察發(fā)現(xiàn),其涉及4種不同類型的車輛:占用端頭車,非占用端頭車,非頭車動(dòng)車及拖車,4種類型車輛圖標(biāo),如圖4所示。
圖4 占用端頭車、非占用端頭車、非頭車動(dòng)車及拖車圖標(biāo)
當(dāng)顯示屏得到動(dòng)車組大小端及拖車編組數(shù)量時(shí),初始化顯示屏界面,確定所需要的圖標(biāo);再根據(jù)大小端占用情況確定各個(gè)圖標(biāo)的位置,標(biāo)注當(dāng)前車輛代表的物理車號(hào)。當(dāng)車輛編組大小端編組都為3,拖車編組為4,小端占用時(shí)的車輛排列,如圖3所示;當(dāng)小端編組為2,大端編組數(shù)為3,拖車編組為3,小端占用時(shí)的車輛排列,如圖5所示。其他圖標(biāo)可以通過同樣的方法進(jìn)行重繪。
圖5 2-3-3編組形式
在關(guān)聯(lián)變量時(shí),因?yàn)閯?dòng)車組編組數(shù)量及網(wǎng)關(guān)數(shù)量的不確定性,無法確定非占用端動(dòng)車的網(wǎng)關(guān)號(hào),無法直接關(guān)聯(lián)變量。首先應(yīng)該確保動(dòng)車組無論采取何種編組時(shí),都可以收到每輛車的變量信息,研究發(fā)現(xiàn),動(dòng)車組網(wǎng)關(guān)帳號(hào)最大為6,一個(gè)網(wǎng)關(guān)下最多有3輛車,所以可以在顯示屏程序中定義一個(gè)6行3列二維數(shù)組ac[6][3],如公式1所示,行表示網(wǎng)關(guān)帳號(hào),表示最多6個(gè)網(wǎng)關(guān),列表示此網(wǎng)關(guān)下車輛號(hào),表示一個(gè)網(wǎng)關(guān)下最多有3輛車,這樣不論編組形式如何變化,均可以在定義的二維數(shù)組中找到對(duì)應(yīng)的變量。以表1所示的空調(diào)狀態(tài)變量為例,當(dāng)編組形式為3-4-3且物理1車占用時(shí),acD1G1、acD2G1、acD3G1、acD1G2、 acD1G3、 acD1G4、 acD1G5、 acD1G6、acD2G6、acD3G6分別表示小端動(dòng)1車、小端動(dòng)2車、小端動(dòng)3車、拖1車、拖2車、拖3車、拖4車、大端動(dòng)1車、大端動(dòng)2車、大端動(dòng)3車空調(diào)狀態(tài)變量,如表1所示,即物理1車、2車、3車、4車、5車、6車、7車、10車、9車、8車的空調(diào)狀態(tài)變量。
表1 空調(diào)狀態(tài)變量
對(duì)于靈活編組動(dòng)車組的故障信息,直接可以得到的只有故障變量名,之后通過遍歷故障庫得到其他的故障信息,比如故障名稱、故障等級(jí)、故障描述和操作指南等。但對(duì)于故障車輛的物理車號(hào),因?yàn)殪`活編組動(dòng)車組編組數(shù)量及網(wǎng)關(guān)數(shù)量的不確定性,對(duì)于同一個(gè)故障變量,無法得到固定的物理車號(hào)?;谝陨显颍诠收蠋熘屑尤肓嗽摴收献兞克鶎?duì)應(yīng)網(wǎng)關(guān)帳號(hào)及該網(wǎng)關(guān)下第幾輛車的信息,這樣就可以在得知其編組模式和占用情況后,推算出其對(duì)應(yīng)的物理車號(hào),比如在2-3-3編組模式,小端占用時(shí),得知網(wǎng)關(guān)5,動(dòng)車2發(fā)生某一故障,可以計(jì)算得出該故障發(fā)生在物理的7車。
在動(dòng)車組編組或運(yùn)營期間不可避免地會(huì)發(fā)生故障,當(dāng)發(fā)生故障時(shí)如何快速有效地解決故障,將影響降低到最低,是動(dòng)車組設(shè)計(jì)的重要因素,因此本文設(shè)計(jì)了網(wǎng)絡(luò)節(jié)點(diǎn)故障工況下的顯示方法,如圖6所示。
圖6 網(wǎng)絡(luò)節(jié)點(diǎn)故障時(shí)處理機(jī)制流程
本文討論了研制可靈活編組動(dòng)車組的必要性及網(wǎng)絡(luò)控制系統(tǒng)顯示屏的重要性,分析了開發(fā)靈活編組相對(duì)于固定編組實(shí)時(shí)顯示系統(tǒng)存在的不同和難點(diǎn),針對(duì)這些問題提出了合理的解決方案,最后分析了網(wǎng)絡(luò)節(jié)點(diǎn)故障工況下的顯示方法,在此基礎(chǔ)上順利完成了靈活編組動(dòng)車組網(wǎng)絡(luò)顯示屏實(shí)時(shí)顯示系統(tǒng)的開發(fā)。