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