列车TCMS一体化软件开发及验证平台研究

2018-01-18 07:10梅樱
电子设计工程 2018年1期
关键词:子系统列车驱动

梅樱

(中国铁道科学研究院机车车辆研究所,北京100081)

列车网络控制系统(Train Control and Management System,TCMS)是现代化智能列车的中枢控制系统,主要实现对列车牵引、制动、辅助、空调、车门等几乎所有智能电气设备的综合协同管理控制,同时还承担对列车的监视、诊断及故障导向安全等任务[1]。

TCMS是一个涉及多个子系统的复杂综合系统[2],其控制软件的开发和验证是整个TCMS系统的核心工作,直接影响了其可用性和可靠性。由于开发与测试验证分属于软件生命周期的不同阶段,由不同人员独立执行,因此目前国内外针对TCMS系统的开发[3]和验证[4]均采用了不同的平台。然而不同的平台带来了很多附加工作,如TCMS集成商需要不同人员维护2个或多个平台、从开发到验证需要协调管理不同平台间复杂的接口等等。而这些附加工作最终也导致了TCMS系统开发和维护成本高、开发和验证周期长、维护困难等问题。

文中将研究列车TCMS一体化软件开发及验证平台,使TCMS软件的开发和验证能在同一平台上实现。

1 软件开发及验证平台一体化实现策略研究

列车TCMS软件开发平台及验证平台一体化可定义为:在同一平台上既能开发TCMS应用软件,同时也能开发对应用软件进行验证的仿真测试软件。实现列车TCMS软件开发平台及验证平台的一体化可以通过以下两种策略:

1)以已有的TCMS软件开发平台为基础,在其之上开发仿真验证功能。

2)以已有的仿真及验证软件为基础,在其之上实现TCMS软件开发功能。

1.1 策略1分析

TCMS是一个大型、复杂、高度集成化的系统,其软件涉及对几乎整个列车电气设备的管理及逻辑控制。因此采用一种可视化、模块化的编程方式[5]对系统的应用软件进行开发,是对TCMS进行安全、可靠、高效集成的重要保证。

目前国际上几乎所有TCMS集成商,均具有自主的满足IEC61131-3[6]标准的软件开发平台,如西门子的SIBAS G平台[7]、庞巴迪的MITRAC平台等,此外还有一些商业化的模块化编程的平台,如CoDeSys[8]、ISaGRAF[9]等。但这些开发平台都具有如下特点:由于专业性导致其可选范围小、平台内部高度封装而无法改变平台的执行行为、无法获取接口信息而导致很难实现平台的二次开发等。

因此,在已有的TCMS软件开发平台或满足IEC61131-3标准的开发平台上开发仿真验证功能将十分困难。

1.2 策略2分析

目前,很多商业化的成熟仿真软件,如matlab[10]等,它们大部分都具有:支持模块化编程、外部接口开放、以及支持源码生成等特点。

在这些平台上,用户能够针对不同的硬件平台和不同专业的特殊需求进行驱动或服务的二次开发。同时由于软件支持源码生成功能,使用户将开发的应用部署到不同的嵌入式操作系统或硬件平台上成为可能。

1.3 研究策略

文中将采用策略2对列车TCMS一体化软件开发及验证平台进行研究:首先选取一款适合进行TCMS系统测试验证的仿真软件;然后在此软件基础上研究实现其作为TCMS软件开发平台所需的功能;同时研究实现此软件作为TCMS软件验证平台所需的功能;最后对上述研究的软件开发平台及验证平台的一体化实现进行了研究。

2 列车TCMS软件开发平台研究

2.1 列车TCMS软件开发平台需求

文中选择了一款商业化仿真软件,该软件可支持IEC61131-3的所有编程语言、支持低压电气图及各类编程语言程序的仿真等。由于所选取的仿真软件为通用软件,不具备作为TCMS应用软件开发平台特性,因此需对该仿真软件进行二次开发,使其满足对列车TCMS应用软件开发的特殊需求。

图1 列车TCMS软件开发平台功能

图1列出了需对仿真软件进行二次开发的内容:

功能库:仿真软件本身可为用户提供模块化编程环境进行应用程序的编写,但是其本身缺少适用于搭建TCMS应用控制程序的功能模块,因此需要在仿真软件中建立所需的基本功能模块库,如算法库、控制库、逻辑库、通信库等;

驱动:仿真软件本身并不具备任何硬件驱动,为使在本平台上开发的TCMS应用软件运行于目标机设备,需针对不同的硬件和功能开发相关驱动,其中包括通信驱动[11]、硬件驱动和诊断驱动[12]。通信驱动是针对列车总线[13]通信网卡的驱动,实现列车总线通信功能,是整个TCMS系统的核心功能;硬件驱动是针对目标机本地硬件的驱动控制,如电源管理、硬件保护、数字量输入采集、数字量输出控制等;诊断驱动是针对TCMS故障存储及维护需求实现的功能。

服务:仿真软件本身并不具备任何目标机服务,因此需根据TCMS系统特点开发相关功能,其中包括调度服务和人机接口服务。调度服务是针对系统应用、驱动等任务的调度管理和运行监控服务,是TCMS系统正确运行的重要保障;人机接口服务是目标机与上层PC间交互的服务功能,主要满足TCMS的调试、维护需求。

插件工具:仿真软件本身不具备变量属性管理、目标机代码编译下载等功能,为使仿真软件成为产品化的开发平台,需对其开发相应功能的完整工具链,主要包括变量管理工具、配置工具、编译工具和监控工具。变量管理工具通过仿真软件的外部接口文件,将应用程序变量与通信及硬件相关变量数据进行属性关联;配置工具向用户提供TCMS诊断配置接口;编译工具将应用、驱动、服务等源码按照配置编译生成系统可执行文件;监控工具通过与开发的人机接口服务相配合,实现行变量监控、程序下载,诊断分析等在线调试功能。

插件工具是仿真软件和二次开发的驱动、服务等软件之间的桥梁。它利用仿真软件的外部接口文件和用户配置文件,将在仿真软件中开发应用程序中的变量数据与驱动、服务软件数据进行交互管理,达到应用程序与底层驱动和服务软件间的数据相融合和无缝连接。从而使仿真软件成为一个具有完整工具链的、能满足列车TCMS特定需求的软件开发平台。

2.2 列车TCMS软件开发平台软件结构

列车TCMS软件开发平台(以下简称:开发平台)的实现,需要驱动、服务等软件通过插件工具与原仿真软件进行数据接口。因此,本文采用了分层方法对开发平台软件结构进行研究,如图2所示。

图2 列车TCMS软件开发平台软件结构

按照各层次间的数据接口关系,本文将开发平台软件按从上到下分为三层结构:应用层、操作系统层、硬件/功能驱动层和操作系统层。

应用层为软件结构顶层,可针对不同TCMS项目需求搭建相关逻辑控制功能,如牵引逻辑控制、制动逻辑控制、门逻辑控制、空调逻辑控制、自动导向安全逻辑等。硬件/功能驱动层为软件结构中间层,可根据项目配置文件自动生成TCMS硬件/功能驱动,如通信驱动、硬件控制驱动、诊断存储驱动、系统调度、系统服务等。操作系统层为软件结构底层,为开发平台提供了操作系统的底层服务,同时提供了嵌入式操作系统的底层板级支持包BSP,是整个开发平台与硬件接口的底层支持软件。

硬件/功能驱动层中的数据交互管理接口是开发平台的关键核心,它将应用与驱动的接口数据通过地址方式进行映射,从而实现应用与驱动间的数据交互。同时,驱动亦通过操作系统层对相应的目标机板卡或介质等硬件进行直接操作,从而完成对硬件的控制,达到开发平台软/硬件系统的结合。

图3 列车TCMS软件开发平台实现

2.3 列车TCMS软件开发平台实现

本研究的列车TCMS软件开发平台实现机制如图3所示。

由于开发平台并不针对特定的目标机硬件,因此本文在平台实现时设计了对硬件信息的处理方式:目标机硬件信息输入文件。如图3所示,开发平台输入数据文件,文件以一定格式描述了目标机硬件相关信息及列车总线数据相关信息。变量管理工具解析数据文件,并通过仿真软件的外部接口文件,以一定规则,将应用逻辑中变量与硬件及总线通信相关变量通过地址方式进行关联,生成变量相关配置文件。配置工具则根据应用逻辑的诊断配置需求,生成诊断相关配置文件。因此,通过这些配置文件生成的通信、硬件、诊断等驱动,具有与应用逻辑相关的数据及地址信息,通过目标机的数据交互管理机制,完成与应用任务的信息交互。

为使开发平台能够自动编译生成目标机可执行代码,本文在平台实现时开发了编译工具,其工作原理如下:编译工具首先解析项目配置文件,并根据TCMS开发平台驱动模板自动生成与配置文件相匹配的驱动源码,然后编译工具分别将由仿真软件生成的应用逻辑源码和驱动源码,编译成为可运行于指定目标机硬件和操作系统的可执行代码,下载到目标机运行。

为使对目标机进行监控及维护,本文在平台实现时开发了监控工具及与之配套的目标机系统服务程序,如图3所示。监控工具运行于PC机,系统服务程序以进程方式在目标机上运行。系统服务进程不参与控制,只通过数据交互管理接口将系统变量、运行状态、诊断数据等通过以太网发送给监控工具进行分析。

TCMS系统的应用逻辑会根据项目需求配置为不同任务,主要包括周期类任务、中断类任务等。因此本文在平台实现时针对TCMS各类任务执行特点开发了调度服务。调度服务以任务进程方式对所有任务进行统一调度管理,如图3所示任务1~任务n。调度服务包括了:调度前任务完整性检查、任务启动顺序管理、周期类任务超时管理等等。通过调度服务及相关机制保证应用任务运行的实时性和可靠性。

驱动在目标机中以进程方式运行,包括了通信驱动进程、硬件驱动进程、诊断驱动进程等。如图3所示,驱动进程与应用逻辑任务进程间通过数据交互管理接口交互数据。驱动进程通过数据交互管理接口采集应用任务进程数据进行驱动处理,并将处理数据发送到硬件或列车总线上对TCMS系统进行控制;同时驱动进程采集TCMS系统硬件及列车总线数据,通过数据交互管理接口将相关数据发送到应用任务进程,实现应用逻辑控制。

通过上述对工具、调度、驱动及数据交互管理机制等内容的开发,使所选用仿真软件成为了一个具有完整工具链的、能满足列车TCMS特定需求的软件开发平台。本开发平台只需通过改变输入数据文件的相关描述,即可针对不同的目标机硬件,自动生成硬件、通信和诊断相关的驱动,因此具有很好的易用性和适用性。

3 TCMS验证平台研究

列车TCMS验证平台(以下简称:验证平台)是为TCMS系统功能测试提供搭建仿真模型环境的软件平台。通过验证平台可搭建列车控制模型,模拟列车实际运行工况,因此在地面即可完成对TCMS相关功能的验证的工作,如列车网络通信协议的验证、TCMS逻辑控制算法的验证、TCMS系统性能的验证和故障诊断策略的验证等等,从而大大降低系统调试和验证的成本和周期,增加系统可靠性。

为达到列车TCMS软件开发和验证平台的一体化,两平台需采用统一的软件作为基础进行开发,因此针对TCMS验证平台的开发本文也采用了本文开发平台所选取的仿真软件进行研究。

3.1 TCMS验证平台仿真模型研究

TCMS主控系统主要与列车上具有总线接口的电气系统通信,并对这些系统进行整车管理控制。因此,为了模拟TCMS实际运行工况及相关环境,需要对列车主要控制系统及其相关的列车控制电路按照实际功能进行仿真建模,如图4所示。

图4 TCMS验证平台仿真软件构架

一般TCMS验证仿真软件[14]采用模块化结构设计,如图4所示,按照列车控制系统将模型划分为子系统1~子系统n等模块,主要包括:TCMS中央控制、牵引、制动、高压、辅助、门、空调等。这种模块化的设计既有利于仿真过程中各个子系统的仿真模型的协同开发,分系统调试测试,也便于快速实现仿真模块的裁剪。

子系统模型由2部分组成:子系统的控制模型、与子系统相关的控制电路模型。在本文研究的验证平台中,采用C、ST及FBD等语言搭建控制模型,用于描述控制逻辑、性能及接口;采用低压电气图搭建车辆电路模型,用于描述与子系统相关的车辆电路的开关、设备、连线、性能、行为及接口。

各个子系统的仿真模型,与其他子系统模型具有2类接口:通过列车总线传输的数据接口、通过输入输出控制的硬线数据接口。在验证平台中,所有子系统的列车总线数据和硬线数据,分别通过列车数据管理和硬线数据管理数据库统一维护。通过2个数据库,各子系统模型间的控制或反馈信号可实现数据交互,使各子系统的仿真性能相互作用,从而实现对列车实际工况的模拟,达到可对TCMS进行验证的目的。

3.2 TCMS验证平台实现

在TCMS验证平台中,各个受控子系统的功能均在仿真软件中实现,当验证TCMS中央控制功能时,TCMS应用软件将在TCMS主控设备中运行,其他子系统将运行于1个或多个仿真工控机中,那么TCMS主控设备与子系统仿真模型之间需要通过列车总线和部分硬线,才能实现对列车网络控制系统的验证。如图5所示。

图5 列车TCMS软件验证平台驱动开发

在列车TCMS软件验证平台中开发的各子系统仿真模型将部署到工控机中,验证平台中的配置管理机将列车数据管理和硬线数据管理数据库,生成工控机的数据管理中心,管理该子系统的仿真模型的相关接口。由于仿真工控机需要通过列车总线和部分硬线与TCMS主控设备交互数据,而本文选取的仿真软件作为通用仿真软件,自身并没有具备相关接口,因此需进行二次开发实现相关驱动。如图5所示,除列车总线驱动已在开发平台中实现外,还需要针对验证平台开发硬线接口服务。

针对仿真工控机与TCMS主控设备及列车输入输出设备间的硬线交互问题,本文采用了与PLC电气柜连接方式解决,即仿真系统和控制电气硬线之间的输入输出信号转换通过PLC站完成。

由于PLC与TCMS仿真验证系统之间的接口信号众多,文中选用OPC[15](Object Linking and Embedding(OLE)for Process Control)通讯方式解决了在仿真模型的数据管理中心与PLC输入输出通道间高效、方便地建立对应关系的问题。OPC对通讯和信息管理进行了标准化,而无需处理特定协议的寻址问题,OPC客户端可以通过一个标准、开放的多供应商接口,与OPC服务器进行通讯。

因此,文中利用PLC内置软件建立了OPC服务器[16],仿真系统运行的工控机作为OPC客户端,在工控机中完成仿真信号与PLC通道间对应关系的配置管理。仿真系统运行时,工控机中的OPC客户端从数据控制中心读取仿真数据,并通过一个标准化的COM/DOM接口发送请求给OPC服务器,控制PLC通道输出;或者OPC客户端通过标准化的COM/DOM接口[17]发送请求给OPC服务器,采集PLC通道输入,并将采集数据写入数据控制中心用于仿真,从而实现仿真系统对PLC[18-19]电气柜的控制。

4 列车TCMS软件及验证平台一体化实现

通过对选取的通用仿真软件进行二次开发,使本文研究的平台不仅可以作为开发平台对TCMS应用系统进行开发,同时也可作为验证平台对TCMS仿真验证系统进行开发。

图6 列车TCMS软件开发及验证平台一体化实现

如图6所示,在研究的TCMS一体化软件开发及验证平台(以下简称:一体化平台)上,可同时开发TCMS应用控制逻辑及TCMS仿真验证模型,并通过任务部署方式,将控制逻辑应用和仿真验证模型部署到不同目标机上。

一体化不仅体现在可同时工作在同一平台上,同时体现在开发和验证工作的可交互性。在一体化平台中可同时开发应用逻辑程序及与之对应的仿真验证模型,并共用统一的变量。当不同任务部署到不同目标机上时,各任务间通过统一生成的数据管理接口及各自驱动实现实际的数据交互,同时完成TCMS开发和验证工作。

如图6所示,以变量s和变量r为例,变量s为TCMS应用逻辑中需要输出的信号,变量r为TCMS应用逻辑中需要输入的信号,这些信号可以为列车总线、以太网和硬线等信号等。在开发阶段,变量s和变量r分别为应用逻辑的输出和输入变量,在同一软件层次中,变量s和变量r分别为仿真验证模型的输入和输出变量。在一体化平台上,应用控制逻辑和仿真验证模型间对变量s和变量r具有实际连线进行连接,从而保证系统的一致性和完整性。

当应用逻辑程序和仿真验证模型开发完成,在一体化平台中,将其部署到不同目标机后,由一体化平台的数据接口管理机制,对不同目标机的接口统一管理。此时,变量s和变量r在数据接口管理中存在相匹配的2份管理接口文件。2份数据文件不同在于:变量输入输出方向不同,变量s和变量r分别为应用逻辑的输出和输入,同时为仿真验证模型的输入和输出;同时接口变量(如变量s)在应用逻辑和仿真模型程序中的变量地址不同。而2份数据文件相同之处在于:对于列车总线通信或硬件信号的描述一致,包括变量在车总线的端口、硬件端口、偏移、变量类型等,这也是最终2个目标机能进行通信或数据交互的本质。

数据接口管理由此分别生成应用逻辑和仿真模型相关的接口配置文件。应用逻辑程序结合本文开发平台研究的二次开发驱动、工具,使用接口配置文件,自动生成TCMS应用逻辑功能软件,并下载到TCMS主控设备中运行,完成TCMS逻辑控制功能;而仿真验证模型采用本文验证平台研究的建模方法及驱动,使用配置文件,生成TCMS仿真模型软件,并下载到仿真工控机设备中运行,完成TCMS仿真验证功能。

上述过程中对变量s和变量r的接口控制驱动也自动生成,如图6所示。系统最终运行时,TCMS主控设备根据应用逻辑算法输出控制信号s,仿真工控机通过实际连接线路(列车总线、以太网、硬线)接收该信号,并用于仿真功能运行;当仿真模型输出系统信号r,TCMS主控设备通过实际连接线路(列车总线、以太网、硬线)接收该信号,并用于应用逻辑运算。

5 结论

本文研究的列车一体化软件开发及验证平台目前已在包括某型动车组在内的多个实际项目中成功应用。其中某型动车组项目在本文研究的一体化平台上开发了TCMS应用逻辑和仿真验证模型,实现了完成对该型动车组从开发到验证的一体化设计。对TCMS系统验证的过程中,针对TCMS各控制逻辑及系统功能进行了逐项详细测试,测试结果表明采用本文研制的一体化平台所开发的动车组TCMS系统能够按照既定功能稳定的运行,证明了本平台的可用性和正确性。

本文研究的列车TCMS一体化软件开发及验证平台,首次将TCMS的应用逻辑的开发和仿真验证模型建立融合到同一平台中,并为TCMS集成设计提供了可视化、模块化的开发环境和完整工具链,从而使TCMS系统集成商从传统的需要维护不同开发和仿真软件、接口一致性维护、开发及验证阶段文件系统管理等复杂繁重的工作中解脱出来,只需专心于设计阶段的TCMS应用逻辑和验证阶段的仿真模型开发。

列车TCMS一体化软件开发及验证平台的使用大大缩短了TCMS系统开发和验证周期、节约大量开发和维护成本、提高了系统可靠性,适合在轨道交通领域广泛推广,具有很好的发展前景。

[1]高枫,赵红卫,黄志平,等.高速动车组列车网络控制系统自主化研制及应用[J].铁路技术创新,2015(2):77-82.

[2]孙宁,李照星,杨润栋,等.城市轨道交通车辆应用技术[M].北京:中国铁道出版社,2014.

[3]梅樱,赵红卫,黄枫,等.基于ControlBuild的TCMS集成软件开发平台设计[J].铁道机车车辆,2016,36(1):20-23.

[4]黄根生,赵红卫,王欣,等.CRH_3动车组半实物仿真测试台通信的设计与实现[J].铁道机车车辆,2014,34(2):5-9.

[5]赵勇,李翔,赵希骥.模块化编程在铝电解多功能机组控制系统中的应用[J].起重运输机械,2013(12):63-66.

[6]IEC61131-3 Programming Industrial Automation Systems[S].2000.

[7]陈帝水.深圳地铁罗宝线列车限速30km/h故障原因及对策[J].技术与市场,2013,20(3):21-22.

[8]申超,龙辛,黄波,等.基于CoDeSys的软PLC标准数据接口研究与实现[J].机械工程与自动化,2014(1):7-9.

[9]杨春瑜.基于ISaGRAF的PN300型分散控制器设计[J].华电技术,2015,37(7):4-8.

[10]严震宇,张茂青,许海丽,等.DSP2812基于MATLAB模块化编程的SPWM调制实现[J].苏州大学学报:工科版,2012,32(5):56-60.

[11]万海,孙雷,王恬,等.列车通信网络WTB链路层攻击方法研究[J].清华大学学报:自然科学版,2016,56(1):42-50.

[12]黄文灿.广州地铁3号线列车网络控制系统及其故障诊断分析[J].机车电传动,2012(6):54-56.

[13]IEC.IEC 61375-1.Electric railway equipment-Train bus-Part 1:Train communication network[S].Switzerland:IEC,1999.

[14]王欣.城轨列车半实物仿真测试台的设计与实现[J].铁道机车车辆,2016(2):101-106.

[15]王帅,胡毅,何平,等.基于OPC技术实现西门子数控系统的数据采集[J].组合机床与自动化加工技术,2016(4):69-71.

[16]蔡晓霞,钱新标.PLC控制系统中OPC技术应用效率研究[J].电气自动化,2016,38(4):110-112.

[17]唐海林.OPC标准化方法在系统集成中的应用研究与开发[D].北京:机械科学研究总院,2014.

[18]罗义钊,俞煌,严琦.基于HomePlug技术的宽带PLC采集系统应用研究[J].电力信息与通信技术,2015,13(2):80-86.

[19]杨盛泉,荆心,杨洪波,等.工业石灰窑MVC架构的PLC控制系统[J].西安工业大学学报,2015,35(11):877-882.

猜你喜欢
子系统列车驱动
不对中转子系统耦合动力学特性研究
基于模糊PI控制的驱动防滑仿真系统分析
登上末日列车
关爱向列车下延伸
屈宏斌:未来五年,双轮驱动,砥砺前行
GSM-R基站子系统同步方案研究
轨旁ATC系统门控柜接收/驱动板改造
穿越时空的列车
驼峰测长设备在线监测子系统的设计与应用
基于S3C6410的Wi-Fi驱动移植实现