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