雷剑锋 郭鑫
西南交通大学牵引动力国家重点实验室,四川 成都 610031
列车网络控制技术的发展方向逐步从单台机车控制转向列车网络控制。同时,基于我国的现实情况,电动车组、高速列车、城市轨道交通车辆等新的铁路机车车辆在运输中担任了越来越重要的任务。在列车通信网络技术中,二型动车组的网络控制系统具有很重要的意义。该系统不仅可以通过贯穿列车的总线来实现传输信息的功能,同时还能够集中管理列车的运行状况甚至车载设备动作的相关信息。以纯软件(通过以太网)模拟CRH2动车通信网络的工作过程,实现高速列车牵引传动和列车网络系统--网络系统虚拟仿真系统与综合仿真平台之间的无缝连接。本设计的主要研究内容有:车载设备数据模型界面设计;车载设备与网络之间的通信接口规范的实现;车载设备命令及状态数据的软件产生;数据交换,基于以太网的TCP/IP(socket)通信,数据传输过程模拟。
本次设计设定在2M1T基本动力单元中来进行仿真,以2M1T模型为研究对象。“2M+1T”为常见的动力单元,极其具有代表性,即含有具有牵引功能的动车部分,又含有无动力的拖车部分,同时又可以以整体为单位进行多单元联挂完成列车的构建,如CRH1常见编组形式为2(2M1T)+1M1T。此外,2M1T的基本动力模型中,既包含了功能不同的动车和拖车进行对比,也包含了两辆相同的动车进行对比。以纯软件(通过以太网)模拟CRH2动车通信网络的工作过程,简化模型如图1所示。
图1 2M1T设计总体方案图
根据各车载设备接口规格书的要求,列车网络系统中传递的数据信息均为一次性发送的数据块,数据包中数据多而复杂,不同的字节代表了不同的含义,若使用一般的数据传递方式,采用若干个TCP数据节点来写入读取信息会使整个程序庞杂无序,并且编写过程中一旦出现错误,将很难准确查找及修改。因此本次设计采用2维n*8布尔数组来模拟数据包的传输,例如空调显示设定器对象机器侧发送数据以36*8的布尔数组模拟,每列8个布尔量分别代表每个字节的数据。当空调设备状态发生变化时,则采用替换数组子集的方式对数据进行修改;数据在局域网进行传递时,则将二维布尔数组转换为字符串数据在局域网中传输;数据接收之后将字符串还原成二维布尔数组,并且对数组子集进行读取,即可得到所传递的具体数据。
2.3 二维布尔数组向字符串转换的实现
由于LabVIEW的TCP/IP局域网通信只能在两机之间传输字符串数据的局限性,数据包采用二维布尔数组表示,就必须实现二维布尔数组向字符串转换的过程。又由于二维布尔数组数据组成十分特殊,既为二维数组,数组的组成又是布尔常量,因此转换过程比较复杂,本文在设计的过程中,重点攻克了这一难点。
转换过程中,本文利用了for循环的自动索引功能,二维布尔数组进入for循环会自动进行索引,转换成一维数组,在for循环内,将一维布尔数组中的布尔常量转换为数字常量,数据出for循环的时候自动进行索引,重新转换成二维数组,此时数组中的元素为数字,最终进行字节数组至字符串转换,得到所需的字符串进行双机通信。此外,二维布尔数组在进入for循环之前,由于数组的列数过多,需提前进行二维数组的转置才能正常进行转换。同样的,终端装置接收到字符串数据需要转换为二维布尔数组进行数据处理时只需将此过程逆用即可完成。
表1 制动控制装置对象机侧发送数据TEXT(25)—TEXT(45)
根据各车载设备的接口规格书,编写程序,使所编写的虚拟仪器能够进行数据的修改、传递、读取、显示。设计按照如下步骤完成:先完成前面板设计;然后进行程序框图的连线;最后完善数据的传输环节。
制动控制装置的传输数据格式如下:
对象机器侧发送数据
实时监控用信息(状态数据:SD)
数据格式
TEXT(0): 20H (文本种类编码)
TEXT(1)~(45): 状态数据(以下的共45字节)
分析45字节长的所有数据,把各数据进行分类,大致分为三大部分,第一部分为故障信息,第二部分为状态信息,第三部分为数值信息。例如:
图2 制动控制装置对象机侧发送数据TEXT(18)
图2中“MRC卡正常”为故障信息;其余7项为状态信息;表中显示数据为数值信息。
然后,根据分组,设计前面板,将同类的数据放在一起以方便数据的显示监控。同理,以同样的方法分析装置接口规格书中的信息控制装置发送数据得到终端信号接收界面的前面板。(表1)
根据CRH2列车的实际运行情况,动车与拖车所搭载的车载设备有所不同,同样的车载设备所监控与传输的信息同样也有所区别,所以,主程序编写完成之后需要对程序进行修改,以对应3辆车的实际情况。
如图3所示,动车与拖车最大的区别在于拖车搭载了辅助电源装置,而动车则是搭载了牵引变流装置,因此分装在拖车的程序中需删除牵引变流装置,并且删除在终端装置程序中的牵引变流装置选项卡;同理分装在动车的程序中需删除辅助电源装置,并且删除在终端程序中的辅助电源装置选项卡。
此外,根据制动控制装置接口规格书,如图4所示,动车与拖车的制动控制装置所监控的内容有所不同,需要在分装的同时进行修改。
图3 动车与拖车搭载的车载设备的区别
图4 制动控制装置中传输数据的区别
3.3.1 通信端口数值与IP地址的约定
此次设计所创建的程序窗口数量很多,而且相互之间存在不同的数据传输,因此,为了方便程序的编写与调试,提前将程序之间通信端口数值与各实验机器IP地址进行约定是必要的。
本次设计中通信端口数值采用四位数字组成:
千位数固定为1,表示列车网络车载设备信息通信部分,以便以后与其他部分的仿真能够相互兼容;
百位数表示分装在不同车辆上的程序:0表示拖车、1表示动车1、2表示动车2;
十位数表示所代表的车载设备的程序:0表示制动控制装置、1表示侧面目的地显示器、2表示牵引变流装置、3表示辅助电源装置、4表示指南信息显示器、5表示空调显示设定器;
个位数字表示信息在车载设备与终端装置之间传递的方向:0表示终端装置传输到车载设备的指令信息、1表示车载设备传输到终端装置的状态监控信息。
例如,动车1上搭载的制动控制装置向该车辆上的终端装置传输的信息所采用的端口为1101;拖车上终端装置向该车辆上搭载的辅助电源装置发出的控制指令信息所采用的端口为1030。
采用此种方式大大降低了程序的编写与调试难度。
实验室中用于调试的4台计算机表示不同的装置,因此需要将各自在局域网中的IP地址进行规范,以方便调试。具体设置如图5。
图5 实验室计算机IP地址设定值
3.3.2 实验室调试
完成实验室局域网的建立与程序的编写之后进行程序的实验室调试,重点排查TCP/IP局域网信息的传输与各程序的运行状态,以完善程序的编写。
本文利用了LabVIEW虚拟仪器编程,独立完成了2型动车组2M1T模型各车载设备以及终端系统的前面板设计,同时又结合了动车组各车载设备实际的接口规格书,完成了2型动车组网络系统车载设备信息模块的局域网通信。经过不断的调试,完成了能够通过终端系统进行车辆的各车载设备运行状态的监控,排查故障,以及控制各车载设备的软件设计。
本文的设计过程中,基本遵循了2型动车组列车网络中各车载设备间信息传输的实际情况,但是仍存在少量的不足,如在侧面目的地显示器TCP局域网通信设计的过程中,需要将中文字符串按照GB2312代码转换为布尔数组,由于掌握的知识有限,无法实现这一过程,故采用了增加TCP节点的方式,将中文字符串独立进行传输与读取,此过程与实际情况不符,在以后的研究过程中需要重点改进。本文的设计过程中虽有不足,但是对于设计要求来说仍然可以达到最终的仿真的目的。
[1]倪文波,王雪梅编著. 高速列车网络与控制技术. 西南交通大学出版社, 2008.05.
[2]刘先恺. CRH2型200 km/h动车组列车网络控制系统[J]. 机车电传动,2008,(6):1-4.
[3]李成钢.CRH2型动车组国产化制动控制单元(BCU)通信网关的研究[D]. 北京交通大学,2010.
[4]路向阳.列车通信网络的发展与应用综述.机车电传动,2002, (01)
[5]张玮. CRH2与CRH5动车组列车信息控制网络比较. 铁道运营技术, 2010, (04)
[6]曾嵘,杨卫峰,刘军. 列车分布式网络通信与控制系统. 机车电传动, 2009, (03)
[7]江守亮. 环形ARCNET网络系统的设计与实现[D]. 西南交通大学,2010.
[8]朱琴跃. 列车通信网络实时性理论与方法研究[D]. 同济大学交通运输工程学院,2008.
[9]黄轶,胡鹏飞. 工业以太网在列车网络中的应用设计[J]. 铁道运营技术,2011,17(1):40-42,45.
[10](美)PeterA.Blume著. LabVIEW编程样式. 电子工业出版社,2009.06.
[11]Kirrmann, H.;Zuber, P.A.. The IEC/IEEE train communication network.Micro, IEEE, 2001