王中堯
(1.中車長(zhǎng)春軌道客車股份有限公司國(guó)家工程技術(shù)中心 吉林 長(zhǎng)春 130000;2.大連交通大學(xué)電信學(xué)院 遼寧 大連 116033)
擁有完全自主化知識(shí)產(chǎn)權(quán)的中國(guó)標(biāo)準(zhǔn)動(dòng)車組“復(fù)興號(hào)”已經(jīng)在京滬線投入運(yùn)營(yíng),并在2017年9月21日起實(shí)現(xiàn)350 km/h時(shí)速運(yùn)營(yíng),這一里程碑式的跨越也標(biāo)志著中國(guó)高鐵運(yùn)用技術(shù)的成熟和車輛技術(shù)的進(jìn)步。
車輛在配屬運(yùn)用前,需要對(duì)各運(yùn)用部門進(jìn)行大量的培訓(xùn),為了滿足用戶對(duì)“復(fù)興號(hào)”動(dòng)車組操作功能的深入學(xué)習(xí)和了解,同時(shí)降低主機(jī)企業(yè)對(duì)用戶培訓(xùn)的人力資源成本,特別開發(fā)了中國(guó)標(biāo)準(zhǔn)動(dòng)車組顯示屏模擬操作軟件,既為后續(xù)主機(jī)廠對(duì)用戶的培訓(xùn)指導(dǎo)提供了便捷,也為日后“復(fù)興號(hào)”的遠(yuǎn)程應(yīng)急指揮提供了指導(dǎo)工具。
依據(jù)“復(fù)興號(hào)”列車網(wǎng)絡(luò)控制邏輯,通過Qt平臺(tái)設(shè)計(jì)完成了中國(guó)標(biāo)準(zhǔn)動(dòng)車組司機(jī)顯示屏模擬操作軟件,下面對(duì)此進(jìn)行介紹。
中國(guó)標(biāo)準(zhǔn)動(dòng)車組司機(jī)顯示屏模擬操作軟件平臺(tái)開發(fā)應(yīng)該具備較強(qiáng)的可擴(kuò)展性能,便于使用者進(jìn)行維護(hù)與二次開發(fā),同時(shí)需要具備豐富的圖形界面編輯功能,綜合以上考慮,選取Qt軟件作為中國(guó)標(biāo)準(zhǔn)動(dòng)車組司機(jī)顯示屏模擬操作軟件的開發(fā)平臺(tái)。
Qt是一款跨平臺(tái)的C++圖形用戶界面應(yīng)用程序框架。它既可以用于開發(fā)GUI程序,也可以開發(fā)非GUI程序,允許真正地組件編程,并且很容易擴(kuò)展,具備了應(yīng)用軟件開發(fā)所建立美觀圖形用戶界面所需的所有功能[1]。
Qt支持Windows平臺(tái)和絕大部分類UNIX系統(tǒng),擁有良好的可擴(kuò)展性及跨平臺(tái)性。Qt本身使用C++語言編寫,這使得它的模塊化程度比較高,可重用性較好,利于標(biāo)準(zhǔn)化開發(fā)。Qt還提供了一種稱為signal/slot(信號(hào)/槽)的機(jī)制而替代了一般GUI庫(kù)中所使用的回調(diào)函數(shù)機(jī)制[2]。信號(hào)和槽可以帶有任意數(shù)量和類型的參數(shù),并且一個(gè)信號(hào)可以連接到任意多個(gè)槽,同樣,一個(gè)槽也可以被任意多個(gè)信號(hào)激發(fā)。在這種機(jī)制下,只要開發(fā)者完成了信號(hào)與槽的連接,當(dāng)信號(hào)被激發(fā)時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用當(dāng)前信號(hào)相對(duì)應(yīng)的槽所描述的響應(yīng)函數(shù)并且完成參數(shù)傳遞過程[3-4]。
中國(guó)標(biāo)準(zhǔn)動(dòng)車組司機(jī)模擬操作軟件是基于Windows平臺(tái)運(yùn)用Qt Creator進(jìn)行集成開發(fā)的一款軟件,使用者可在PC終端點(diǎn)擊封裝好的可執(zhí)行性文件直接打開模擬操作軟件進(jìn)行使用。
根據(jù)中國(guó)標(biāo)準(zhǔn)動(dòng)車組司機(jī)顯示屏統(tǒng)型文件要求,顯示屏結(jié)構(gòu)樹如圖1所示。
圖1 顯示屏界面結(jié)構(gòu)圖
由圖中可以看出,司機(jī)顯示界面由主界面、1級(jí)界面、2級(jí)界面組成,顯示屏模擬操作軟件應(yīng)滿足各界面間的跳轉(zhuǎn)。
顯示界面根據(jù)內(nèi)容分為公共顯示區(qū)A、主要顯示區(qū)B、公共顯示區(qū)C、主要顯示區(qū)D,其中公共顯示區(qū)A會(huì)將時(shí)間、車速、故障等情況進(jìn)行實(shí)時(shí)顯示;主要顯示區(qū)B根據(jù)不同界面之間的切換顯示相應(yīng)的界面信息,其中主顯示屏默認(rèn)為牽引主界面,輔助顯示屏默認(rèn)為制動(dòng)主界面;公共顯示區(qū)C會(huì)顯示狀態(tài)圖標(biāo),對(duì)司機(jī)進(jìn)行提示;主要顯示區(qū)D分布有10個(gè)界面跳轉(zhuǎn)按鍵。區(qū)域分布如圖2所示。
圖2 中國(guó)標(biāo)準(zhǔn)動(dòng)車組模擬操作軟件主界面
公共顯示區(qū)A從左至右集中顯示信息為當(dāng)前日期、北京時(shí)間、當(dāng)前速度、運(yùn)行模式、運(yùn)行模式對(duì)應(yīng)的設(shè)定速度或級(jí)位、故障提示圖標(biāo)。其中當(dāng)前速度以及運(yùn)行模式對(duì)應(yīng)的設(shè)定速度或級(jí)位在車輛觸發(fā)限速時(shí)字體由白色改為紅色,代表當(dāng)前有限速發(fā)生。
主要顯示區(qū)B會(huì)根據(jù)界面跳轉(zhuǎn)顯示不同界面的不同信息,具體界面呈現(xiàn)根據(jù)中國(guó)標(biāo)準(zhǔn)動(dòng)車組顯示屏統(tǒng)型界面要求執(zhí)行。
公共顯示區(qū)C顯示車輛狀態(tài)提示圖標(biāo),從左至右的圖標(biāo)顯示依次為全列門狀態(tài)、主斷路器狀態(tài)、換端標(biāo)識(shí)、外接電源、乘客報(bào)警觸發(fā)、司機(jī)警惕觸發(fā)、火災(zāi)報(bào)警觸發(fā)、空轉(zhuǎn)滑行,在車輛觸發(fā)相關(guān)信號(hào)時(shí),顯示屏?xí)霈F(xiàn)信號(hào)標(biāo)識(shí),同時(shí)乘客緊急觸發(fā)、火災(zāi)報(bào)警觸發(fā)、司機(jī)警惕觸發(fā)和空轉(zhuǎn)滑行觸發(fā)時(shí)會(huì)有語音報(bào)警提示。
主要顯示區(qū)D是各界面下方的軟按鍵,通過按鍵索引可以跳轉(zhuǎn)到目標(biāo)界面進(jìn)行查看或操作。主要顯示區(qū)D下方共10個(gè)軟按鍵,對(duì)應(yīng)顯示屏面板上的0~9數(shù)字硬鍵。
顯示屏界面根據(jù)統(tǒng)型文件要求,不同主機(jī)廠設(shè)計(jì)生產(chǎn)的中國(guó)標(biāo)準(zhǔn)動(dòng)車組司機(jī)操作界面是面向用戶軟件開發(fā)很重要的一環(huán),界面安排是否合理、清晰,使用是否方便、易操作等都是要考慮的重點(diǎn)[5-6]。
遵循硬件800*600分辨率大小的顯示屏進(jìn)行設(shè)計(jì),運(yùn)用Qt Designer進(jìn)行可拖拽的圖形界面編輯,設(shè)計(jì)步驟如下:(1)進(jìn)入Qt Designer;(2)新建基于Qwidget的界面;(3)修改界面名稱等屬性,添加按鈕并修改屬性;(4)連接需要的現(xiàn)有信號(hào)和槽;(5)查看界面效果圖,并保存為“.ui”文件,退出[7]。
Qt Designer設(shè)計(jì)窗口如圖3所示。
圖3 Qt圖形化編輯界面窗口示意圖
圖形化實(shí)現(xiàn)方法如下:
(1)創(chuàng)建UI界面并命名。在界面中創(chuàng)建一個(gè)Qlabel控件,右鍵點(diǎn)擊“改變對(duì)象名稱”對(duì)控件進(jìn)行命名,如圖4所示。
圖4 控件命名
(2)界面編輯完成后,進(jìn)行保存。
(3)在可執(zhí)行文件中關(guān)聯(lián)對(duì)應(yīng)UI界面。
(4)創(chuàng)建函數(shù),并對(duì)不同狀態(tài)顯示圖標(biāo)關(guān)聯(lián)相關(guān)變量。
(5)ui槽與變量進(jìn)行關(guān)聯(lián)。
控件所關(guān)聯(lián)變量均在頭文件中進(jìn)行定義,每個(gè)變量根據(jù)端口位置通過配置文件一一對(duì)應(yīng),底層程序處理后可以與列車總線進(jìn)行通信。在Qt Designer圖形化的設(shè)計(jì)過程中,將UI文件與可執(zhí)行文件進(jìn)行定義關(guān)聯(lián),每個(gè)控件為單一信號(hào)槽,在可執(zhí)行文件中使用變量與信號(hào)槽進(jìn)行關(guān)聯(lián),通過自定義函數(shù)將變量的變化與圖形庫(kù)中的圖形進(jìn)行結(jié)合,最后在顯示屏界面中順利呈現(xiàn)圖形化狀態(tài)。
按鍵操作區(qū)通過Qt Designer進(jìn)行圖形化編程設(shè)計(jì),根據(jù)司機(jī)臺(tái)布局以及司機(jī)操作習(xí)慣,將主要司機(jī)操控按鍵合理分布在按鍵操作區(qū)當(dāng)中并實(shí)現(xiàn)功能[8]。按鍵區(qū)主要功能有鑰匙占用、方向占用、主斷路器開關(guān)、受電弓開關(guān)、車門開關(guān)。
操作按鍵區(qū)域界面如圖5所示。
(1)鑰匙占用及方向開關(guān)占用后,界面出現(xiàn)鑰匙標(biāo)識(shí)及方向標(biāo)識(shí),此時(shí)代表車輛已經(jīng)占用,具備操作條件;操作區(qū)操作受電弓升起按鍵后,車輛按照邏輯自動(dòng)升起后弓,同時(shí)車輛具備主斷路器閉合條件,如圖6所示。
(2)在受電弓升起的條件下,操作主斷路器閉合按鍵,主斷路器自動(dòng)閉合,此時(shí)車輛所有設(shè)備正常工作如圖7所示。
(3)切換至車門界面,車門默認(rèn)為全列關(guān)閉狀態(tài),操作門打開按鍵,全列車門進(jìn)行的操作如圖8所示。
圖5 中國(guó)標(biāo)準(zhǔn)動(dòng)車組模擬操作軟件操作界面
圖6 受電弓升起
圖7 設(shè)備正常工作狀態(tài)
圖8 全列門關(guān)閉
“復(fù)興號(hào)”中國(guó)標(biāo)準(zhǔn)動(dòng)車組作為擁有自主化知識(shí)產(chǎn)權(quán)的動(dòng)車組,其核心技術(shù)列車網(wǎng)絡(luò)控制系統(tǒng)已被我國(guó)完全掌握,司機(jī)顯示屏在列車網(wǎng)絡(luò)控制系統(tǒng)中扮演了重要的角色,既將列車的網(wǎng)絡(luò)信號(hào)通過顯示屏傳遞給司機(jī),同時(shí)也將司機(jī)指令通過顯示屏發(fā)送到網(wǎng)絡(luò)系統(tǒng),所以車輛在運(yùn)行途中,遠(yuǎn)程應(yīng)急指揮能夠快速地指揮機(jī)械師通過顯示屏找到故障信息,提供快速高效的應(yīng)急指揮方案,是本款軟件開發(fā)的重要意義。
目前中國(guó)標(biāo)準(zhǔn)動(dòng)車組顯示屏模擬操作軟件已經(jīng)在中國(guó)國(guó)家鐵路局集團(tuán)有限公司多個(gè)路局的應(yīng)急指揮及用戶培訓(xùn)工作中進(jìn)行使用,提高了培訓(xùn)效果也提升了應(yīng)急指揮的效率,得到了用戶的認(rèn)可。后續(xù)將顯示屏模擬操作軟件功能繼續(xù)開發(fā)完善,制作成為動(dòng)車組標(biāo)準(zhǔn)化平臺(tái),供所有產(chǎn)品使用。