梅 櫻, 趙紅衛(wèi), 黃 楓, 張哲龍
(1 中國鐵道科學(xué)研究院 機(jī)車車輛研究所, 北京 100081;2 北京縱橫機(jī)電技術(shù)開發(fā)公司, 北京 100094)
?
基于ControlBuid的TCMS集成軟件開發(fā)平臺設(shè)計(jì)*
梅櫻1, 趙紅衛(wèi)1, 黃楓1, 張哲龍2
(1中國鐵道科學(xué)研究院 機(jī)車車輛研究所, 北京 100081;2北京縱橫機(jī)電技術(shù)開發(fā)公司, 北京 100094)
自主研發(fā)基于ConrolBuild的TCMS集成軟件開發(fā)平臺,首先分析了開發(fā)該平臺的軟件需求;然后詳細(xì)描述了平臺軟硬件集成化設(shè)計(jì)的原理及實(shí)現(xiàn)過程;最后以某型動車組TCMS在本平臺的應(yīng)用實(shí)現(xiàn)為例,驗(yàn)證了本平臺的可用性和正確性。
ControlBuild, TCMS, 集成軟件, 開發(fā)平臺
列車網(wǎng)絡(luò)控制系統(tǒng)(Train Control and Management System, TCMS)是現(xiàn)代智能化軌道交通車輛的神經(jīng)中樞,承擔(dān)著整個列車的控制、監(jiān)視、診斷與保護(hù)等任務(wù)[1]。由于TCMS是一個大型、復(fù)雜、高度集成化的系統(tǒng),因此,采用一種可視化、模塊化的平臺對系統(tǒng)的應(yīng)用軟件進(jìn)行開發(fā),是對列車網(wǎng)絡(luò)控制系統(tǒng)進(jìn)行安全、可靠、高效集成的重要保證[2]。
目前國際上對可視化、模塊化編程制定了標(biāo)準(zhǔn)IEC 61131-3[3],國際上幾乎所有TCMS集成商,均具有自主的滿足該標(biāo)準(zhǔn)的平臺進(jìn)行列車網(wǎng)絡(luò)控制系統(tǒng)的軟件開發(fā),如西門子的SIBAS G平臺、龐巴迪的MITRAC平臺等[4]。而國內(nèi)尚未有完全自主開發(fā)的該類平臺。本文將研究我國自主研發(fā)的基于ConrolBuild的TCMS集成軟件開發(fā)平臺。
1.1ControlBuild軟件特點(diǎn)
ControlBuild(簡稱CB)是一款滿足IEC 61131標(biāo)準(zhǔn)的開放的自動化軟件平臺,具有自動生成工程源碼功能,其自帶的代碼生成器支持生成Windows、Linux和QNX等多種操作系統(tǒng)平臺下的源代碼。但目前CB主要用于系統(tǒng)仿真,尚未用作列車網(wǎng)絡(luò)控制系統(tǒng)軟件集成開發(fā)平臺,其主要原因如下:
(1) CB作為一個通用的仿真軟件,不具備搭建TCMS應(yīng)用所需的基本模塊庫;
(2) CB作為一個純軟件仿真平臺,不具備與目標(biāo)機(jī)硬件接口驅(qū)動能力;
(3) CB只能進(jìn)行上層的邏輯應(yīng)用編程,不具備對目標(biāo)機(jī)的TCMS功能驅(qū)動(如故障存儲、任務(wù)調(diào)度等)能力;
(4) CB也不具備TCMS集成軟件開發(fā)平臺所需的工具鏈(包括變量導(dǎo)入配置、診斷配置、可執(zhí)行代碼編譯下載、目標(biāo)機(jī)監(jiān)控等)。
1.2開發(fā)平臺軟件需求
鑒于上述原因,還需對CB做進(jìn)一步開發(fā),才能實(shí)現(xiàn)TCMS集成軟件開發(fā)平臺的功能需求。
針對2.1中描述的CB 4個不具備條件,圖1提出了基于ControlBuild的TCMS集成軟件開發(fā)平臺的軟件開發(fā)需求,其中包括:
(1) 功能模塊庫:搭建TCMS應(yīng)用軟件系統(tǒng)所需的基本功能庫,包括算法庫、控制庫、邏輯庫、TCN通信模塊庫等基本功能模塊;
(2) 目標(biāo)機(jī)硬件驅(qū)動:目標(biāo)機(jī)硬件驅(qū)動包括兩個部分,列車網(wǎng)絡(luò)通信驅(qū)動和一般硬件驅(qū)動。列車網(wǎng)絡(luò)通信驅(qū)動是TCMS運(yùn)行的基礎(chǔ)功能,因此對通信網(wǎng)卡進(jìn)行驅(qū)動,實(shí)現(xiàn)通信功能,是CB平臺作為列車網(wǎng)絡(luò)控制系統(tǒng)TCMS開發(fā)和驗(yàn)證平臺首要完成的功能;在列車網(wǎng)絡(luò)控制系統(tǒng)的目標(biāo)機(jī)上,還需進(jìn)行電源管理、模擬量采集、硬件保護(hù)、數(shù)字量輸入采集、數(shù)字量輸出控制等硬件驅(qū)動功能,因此,實(shí)現(xiàn)對目標(biāo)機(jī)一般硬件的驅(qū)動的,是CB集成軟件開發(fā)平臺需要完成的重要功能;
(3) TCMS功能驅(qū)動:TCMS系統(tǒng)除完成主要的控制邏輯實(shí)現(xiàn)外,還要完成系統(tǒng)的故障診斷及故障存儲;具體的功能需求,包括故障診斷、非易失變量存儲、底層任務(wù)調(diào)度和底層服務(wù)。這些功能主要用于保證軟硬件系統(tǒng)的運(yùn)行安全、使用維護(hù)方便,成為TCMS不可或缺的組成部分;
(4) 插件工具:由于采用符合IEC 61131標(biāo)準(zhǔn)的模塊化編程,在實(shí)現(xiàn)圖形化編程后,插件工具主要完成所有通信驅(qū)動、IO驅(qū)動、控制與診斷邏輯、診斷存儲等所有程序代碼的編譯、鏈接并生成可執(zhí)行代碼,插件工具還提供了程序運(yùn)行狀態(tài)監(jiān)控,包括變量導(dǎo)入工具、診斷配置工具、變量在線監(jiān)控工具等。
圖1 “基于ControlBuild的TCMS集成軟件開發(fā)平臺”軟件開發(fā)需求
將ControlBuild與開發(fā)的各類驅(qū)動及目標(biāo)機(jī)硬件系統(tǒng)實(shí)現(xiàn)一體化集成,使其成為一個完整的、可用的、可靠的TCMS應(yīng)用軟件開發(fā)平臺是本文研究的核心。為此,本文設(shè)計(jì)了一個關(guān)于本平臺的軟硬件系統(tǒng)結(jié)構(gòu)體系,其原理如圖2所示是本文設(shè)計(jì)的“基于CB的集成軟件開發(fā)平臺”的軟硬件體系,該體系采用應(yīng)用、功能、驅(qū)動分進(jìn)程進(jìn)行管理的結(jié)構(gòu)。
首先用戶在CB軟件平臺進(jìn)行控制邏輯、算法等TCMS應(yīng)用功能的編程,同時用戶根據(jù)TCMS需求對應(yīng)用程序進(jìn)行運(yùn)行周期分配,CB將根據(jù)用戶應(yīng)用程序及周期分配情況,自動生成各個周期相應(yīng)的源代碼;然后用戶通過相關(guān)配置工具,將CB應(yīng)用程序中的變量與驅(qū)動建立映射,生成配置文件;隨后通過編譯工具將CB生成的各個周期的源代碼編譯生成目標(biāo)機(jī)的可執(zhí)行進(jìn)程文件,同時根據(jù)配置文件編譯生成目標(biāo)機(jī)的硬件驅(qū)動和TCMS功能驅(qū)動進(jìn)程可執(zhí)行文件;最后通過監(jiān)控工具將生成可執(zhí)行文件下載到目標(biāo)機(jī)硬件中,并通過目標(biāo)機(jī)硬件上的底層服務(wù)程序?qū)崿F(xiàn)所有可執(zhí)行文件的順序加載,從而完成TCMS的編程、編譯、下載及運(yùn)行。
圖2 “基于CB的TCMS集成軟件開發(fā)平臺”的軟硬件體系結(jié)構(gòu)
如圖2所示,由CB生成的周期進(jìn)程T1~Tn,其主要實(shí)現(xiàn)列車網(wǎng)絡(luò)控制系統(tǒng)的邏輯控制、算法等應(yīng)用功能。由于周期進(jìn)程對系統(tǒng)的實(shí)時控制十分重要,因此采用單獨(dú)的“任務(wù)調(diào)度”進(jìn)程對“CB功能進(jìn)程_T1”~“CB功能進(jìn)程_Tn”進(jìn)程調(diào)度及監(jiān)控,以保證系統(tǒng)控制的實(shí)時、可靠和安全性。
配置工具將CB應(yīng)用程序中的變量與驅(qū)動建立映射,通過變量交互管理機(jī)制進(jìn)行數(shù)據(jù)交互和管理,最終實(shí)現(xiàn)CB中定義的硬件變量對系統(tǒng)硬件的驅(qū)動控制,以及對TCMS相關(guān)功能的控制,從而完成了ControlBuild與開發(fā)的各類驅(qū)動及目標(biāo)機(jī)硬件系統(tǒng)實(shí)現(xiàn)一體化集成。
3.1平臺軟件實(shí)現(xiàn)機(jī)制
通過第2節(jié)的設(shè)計(jì)可知,基于ControlBuild的TCMS集成軟件開發(fā)平臺實(shí)現(xiàn)的核心是:如何實(shí)現(xiàn)CB功能進(jìn)程與各驅(qū)動進(jìn)程間的交互管理,使ControlBuild平臺中的相關(guān)變量能夠控制目標(biāo)機(jī)硬件并實(shí)現(xiàn)TCMS相關(guān)功能。
本文所采用的平臺軟件實(shí)現(xiàn)機(jī)制是:變量交互管理通道,即通過變量交互管理通道實(shí)現(xiàn)CB變量對硬件接口或寄存器的控制及相關(guān)TCMS功能的控制。圖3所示為平臺的軟件系統(tǒng)實(shí)現(xiàn)機(jī)制。平臺軟件實(shí)現(xiàn)機(jī)制如下:通過配置工具,將硬件配置接口信息及TCMS功能驅(qū)動信息與CB中的接口變量進(jìn)行映射,并生成配置文件;通過可執(zhí)行代碼編譯工具完成目標(biāo)機(jī)的可執(zhí)行代碼的生成,其主要生成2大部分內(nèi)容。
圖3 平臺的軟件系統(tǒng)實(shí)現(xiàn)機(jī)制
(1) 根據(jù)平臺生成的CB功能進(jìn)程,這部分進(jìn)程主要執(zhí)行平臺中應(yīng)用的邏輯功能;
(2) 根據(jù)系統(tǒng)硬件配置文件生成的目標(biāo)機(jī)硬件及系統(tǒng)功能驅(qū)動進(jìn)程。
可執(zhí)行代碼編譯工具根據(jù)建立的映射關(guān)系,在進(jìn)程(1)和進(jìn)程(2)之間建立一個變量交互管理通道,兩個進(jìn)程都根據(jù)不同的硬件接口和TCMS功能配置,周期的更新及讀取其與變量交互管理通道間接口的變量,從而完成數(shù)據(jù)的周期交互。
3.2平臺軟件實(shí)現(xiàn)
如圖4所示為平臺軟件系統(tǒng)實(shí)現(xiàn)的流程圖。CB功能進(jìn)程中的變量與硬件及系統(tǒng)功能中的變量通過變量交互管理通道的映射進(jìn)行交互。其過程如下:
(1) CB功能進(jìn)程實(shí)時檢測其配置的每個任務(wù)周期T1~Tn的輪詢周期是否已到,若已經(jīng)到達(dá),則從變量交互管理通道中讀取相關(guān)地址的數(shù)值并對所映射變量進(jìn)行更新;同時向變量交互管理通道相關(guān)地址寫入需要更新的變量的數(shù)值;
(2) 硬件驅(qū)動進(jìn)程實(shí)時檢測其配置的輪詢周期是否已到,若已經(jīng)到達(dá),則從變量交互管理通道中讀取相關(guān)地址的數(shù)值并根據(jù)映射配置控制相關(guān)的硬件接口或寄存器;同時將從硬件接口或寄存器中讀取的硬件信息根據(jù)映射配置寫入變量交互管理通道的相關(guān)地址;
(3) TCMS系統(tǒng)功能驅(qū)動進(jìn)程實(shí)時檢測系統(tǒng)運(yùn)行過程中是否有相關(guān)的控制功能被觸發(fā),若有,則從變量交互管理通道中讀取相關(guān)地址的數(shù)值并進(jìn)行TCMS功能的控制實(shí)施;同時將TCMS功能中的控制結(jié)果或相關(guān)狀態(tài)根據(jù)映射配置寫入變量交互管理通道的相關(guān)地址。
至此,解決了CB平臺對目標(biāo)機(jī)硬件及TCMS功能控制的問題,使得CB成為適用于軌道交通TCMS系統(tǒng)開發(fā)的平臺軟件。
為驗(yàn)證研發(fā)的基于ControlBuild的TCMS集成軟件開發(fā)平臺的可用性和正確性,以某型動車組TCMS系統(tǒng)實(shí)現(xiàn)為目標(biāo),在平臺上開發(fā)了該型動車組的TCMS應(yīng)用控制軟件,如圖5所示。
圖4 平臺軟件系統(tǒng)實(shí)現(xiàn)流程圖
圖5 某型動車組TCMS應(yīng)用軟件實(shí)現(xiàn)示意圖
為了驗(yàn)證最終軟件的運(yùn)行效果,在試驗(yàn)室搭建了模擬列車網(wǎng)絡(luò)控制系統(tǒng)實(shí)際配置的系統(tǒng)測試平臺,如圖6所示。
圖6 某型動車組的TCMS系統(tǒng)測試平臺示意圖
該平臺搭建了模型動車組的低壓電氣模型,模擬了列車的運(yùn)行環(huán)境及與TCMS系統(tǒng)的所有接口,從而能夠?qū)λ鶎?shí)現(xiàn)的TCMS系統(tǒng)的所有功能進(jìn)行測試。
驗(yàn)證過程中,對TCMS各控制邏輯及系統(tǒng)功能進(jìn)行了逐項(xiàng)詳細(xì)測試,測試結(jié)果表明采用研制的平臺所開發(fā)的動車組TCMS系統(tǒng)能夠按照既定功能穩(wěn)定的運(yùn)行,證明了本平臺的可用性和正確性。
研制完成了基于ControlBuild的TCMS集成軟件開發(fā)平臺,該平臺為TCMS集成設(shè)計(jì)提供了可視化、模塊化的應(yīng)用軟件集成開發(fā)環(huán)境;為用戶提供了一套完整的系統(tǒng)開發(fā)工具鏈;通過工具鏈生成的系統(tǒng)目標(biāo)機(jī)可執(zhí)行程序,實(shí)現(xiàn)了對目標(biāo)機(jī)硬件控制及TCMS系統(tǒng)功能控制。
用戶只需在本平臺上開發(fā)TCMS系統(tǒng)邏輯部分應(yīng)用軟件,即可快速、完整實(shí)現(xiàn)對不同項(xiàng)目的TCMS系統(tǒng)開發(fā),大大縮短了系統(tǒng)開發(fā)周期、節(jié)約大量開發(fā)成本、提高了系統(tǒng)可靠性,適合在軌道交通領(lǐng)域廣泛推廣,具有很好的發(fā)展前景。
[1]孫寧, 李照星, 楊潤棟,等. 城市軌道交通車輛應(yīng)用技術(shù)[M]. 北京: 中國鐵道出版社, 2014.
[2]張大海, 施承有. 成都地鐵1 號線列車微機(jī)網(wǎng)絡(luò)控制系統(tǒng)[J]. 機(jī)車電傳動, 2009,(6): 41-43.
[3]Karl-Heinz John, Michael Tiegelkamp. IEC 61131-3:Programming Industrial Automation Systems[S], 2000.
[4]劉先愷. CRH2型200 km/h動車組列車網(wǎng)絡(luò)控制系統(tǒng)[J]. 機(jī)車電傳動, 2008,(6): 1-4.
The Design of Integrated Software Development Platform Based on ControlBuid
MEI Ying1, ZHAO Hongwei1, HUANG Feng1, ZHANG Zhelong2
(1Locomotive and Car Research Institute, China Academy of Railway Sciences, Beijing 100081, China;2Beijing Zongheng Electro-Mechanical Technology Development Co., Beijing 100094, China)
This article studied the TCMS integrated software development platform based on ConrolBuild, which is independently developmented in China. Firstly the platform software requirements were analyzed, then the software and hardware integrated principle and the realization process of the design platform was described in detail. Finally through an application of a certain type EMU TCMS on this platform, the correctness and availability of this platform was proved.
ControlBuild; TCMS; integrated software; development platform
1008-7842 (2016) 01-0020-04
女,助理研究員(
2015-09-01)
U284.48+1
Adoi:10.3969/j.issn.1008-7842.2016.01.05