基于CANopen协议的网络控制系统研究与开发

2020-01-08 11:36邢月华赵海院
铁道机车车辆 2019年6期
关键词:调车报文机车

邢月华, 付 磊, 赵海院

(1 中车唐山机车车辆有限公司, 河北唐山 064000;2 山东普利森集团有限责任公司, 山东德州 253000)

某调车机车用于某公司调车场、专用铁路线和车站正线上,为直流永磁电传动调车用内燃机车,用于20辆普通碳钢客车、16辆动车组以及满载货车进行编组、调车及小运转牵引作业。该调车机车适用于工业企业的调车和小运转作业,保证机车连续稳定工作。

CANopen协议是CIA(CAN in Automation)协会基于CAN总线定义的应用层协议之一[5],通过采用面向对象的设计思想,具有模块化和高适应性的特点,因此研究CANopen协议在调车机车网络控制系统中的应用具有很高的实用价值。

1 网络控制系统设计

1.1 网络拓扑结构示意图

某调车机车网络控制系统由车辆控制单元(VCU)、人机接口设备(HMI)、事件记录仪(ERM)、远程输入输出模块(RIOM)组成,见图1网络拓扑结构示意图。

图1 网络拓扑结构示意图

通过CANopen总线接入网络控制系统的设备有:人机接口设备(HMI)、车辆控制单元(VCU)、事件记录仪(ERM)、远程输入输出模块(RIOM)、牵引变流器(TCU)、辅助供电系统(APU),其中VCU和ERM通过维护扩展单元板卡连接,RIOM板卡与VCU通过背板通信。

通过CAN J1939总线接入网络控制系统的设备有:柴油机(ECM)、变频一路(FC1)、变频二路(FC2)。

在整个列车网络控制系统中,VCU监控其他子系统,主要完成柴油机监控、牵引系统监控、辅助供电系统监控、冷却系统监控等,并协调各子系统间的数据通信。该网络系统具有统一的时钟,能自动收集、记录、存储及显示列车故障,并通过服务软件将列车故障数据下载到个人电脑,方便用户及维护人员分析。

1.2 通信对象的设计

CANopen协议定义了4种报文格式用作不同功能,分别为系统管理命令(NMT)用于网络管理;服务数据对象(SDO)用于传输非时间关键数据;过程数据对象(PDO)用于传输时间关键进程数据;特殊功能对象用于同步、应急和时间戳等。

(1)网络管理服务(NMT)

网络管理服务负责启动配置网络和监控设备。网络管理服务为主从结构,一个CANopen网络系统中只有一个主节点,其余都为从节点[1]。CANopen子节点在上电后进行内部初始化,之后进入预操作状态。然后通过启动消息报文(Boot up),将这一状态的改变事件通知NMT主节点。NMT主节点会把Start_Remote_Node指令发送给所有子节点。Node-ID=0则针对所有的从节点模块。操作状态下,所有的CANopen通信服务都支持。此外,NMT主机的Stop_Remote_Node还可以强制设备进入停止状态。在该状态下,除了网络管理和心跳服务之外,其他的所有CANopen通信服务都被禁止。

通过对列车的控制结构分析可知,设置VCU为主节点,其余设备为从节点,见表1节点地址设置。

表1 节点地址设置

(2)服务数据对象(SDO)

SDO( Service Data Object) 用来在设备之间传输大的低优先级数据,典型的是用来配置CANopen网络上的设备[2]。SDO的通讯模式是客户/服务器型,文中VCU为客户端,其他从节点为服务端。SDO配置过程见表2。

表2 SDO配置过程为例

表2以VCU与HMI进行SDO通信为例进行说明,客户端发送命令COB-ID为600+0Dh,服务器响应命令为580+0Dh。由表2可见,序号1~22是主节点A对从节点D的对象字典进行读写操作的SDO传输报文。其中序号1~4对应的报文为主节点查询从节点的设备类型和ID信息,确认设备并保存信息。序号5~6为主节点配置从节点的心跳时间报文,通过SDO对从节点对象字典进行写操作,心跳时间修改为2 000 ms。序号7~14为主节点配置从节点的TPDO1通信参数,其中第1个子索引COB-ID为0x18D,第2个子索引Transmission Type为255,第3个索引Inhibit Time为250 ms,第5个子索引PDO event timer为2 000 ms。序号15~22为主节点配置从节点的RPDO1通信参数,其中第1个子索引COB-ID为0x20D,第2个子索引Transmission Type为255,第3个索引Inhibit Time为250 ms,第5个子索引PDO event timer为2 000 ms。SDO参数配置完后,0x70D的报文为7F与操作状态。主节点发送NMT报文01 00,控制从节点进入运行状态,从节点心跳报文内容由7F变为05,开始主从节点间PDO报文的传输[3]。

(3) 过程数据对象(PDO)

PDO(Process Data Object)报文主要用来传输实时性较高的数据。PDO采用生产者/消费者通信方式[3],数据从一个生产者传到一个或多个消费者,数据长度限制在8个字节之内。PDO分为两种,发送过程数据对象TPDO和接收过程数据对象RPDO。报文主要通过对象词典中的映射参数和通讯参数来描述,见图2~图3。

图2 HMI发送TPDO1示意图

图3 VCU接收RPDO1示意图

(4)特殊功能对象

时间戳用来同步系统内从节点与网络主的内部时钟,见图4。

时间戳的传输依据生产者/消费者模型,参数如下:

①生产者: VCU

②消费者: 所有CAN从节点

③数据类型: TIME_OF_DAY

TIME_OF_DAY 数据类型表现的是绝对时间。它由48 位数据组成(6个字节),编码的规则如下:

①毫秒(ms): 由Unsigned28来表示, 它是从零时零分零秒开始计数的(0:00);

②天(days): 由Unsigned16来表示,它是从1984年1月1日开始计数的;

③“毫秒”和“天”之间的4位‘0’为填充位

时间戳的数据组成如图4所示,数据将先发送低位字节(LS-Byte) ,后发送高位字节(MS-Byte)。

图4 时间戳定义示意图

在此设置时间戳的周期为1 s,即信号tProducerTime_TS的值为1 s。

2 故障诊断

故障诊断的任务是为维修人员和列车人员排除故障提供一定的支持。如果机车发生故障,故障诊断系统能尽早辨认故障,准确指明功能限制和故障位置,指出对车辆行驶的影响并提供维修信息。这些信息将以纯文本格式在HMI上显示,工作人员可以根据不同的故障类别进行故障评估,并给出合适的应急指导。HMI故障诊断界面如图5所示。

根据故障对子系统或者列车的性能或安全性的影响划分为不同的故障等级:

(1)严重故障:严重影响系统的故障,系统自动关闭。

(2)中等故障:列车运行或者乘客服务等功能受限,允许列车维持运行至前方站点,再进行处理;

(3)轻微故障:不影响列车运行或乘客服务功能,给出提示信息,司机或者机械师给予关注,允许列车完成运行图规划的全天运行后,再返回基地。

图5 HMI故障诊断界面示意图

3 试验验证

基于CANopen协议的网络控制系统在某国产化直流永磁调车机车的现场运行试验中,车辆能够有效接收各子系统发来的数据,并控制车辆安全运行。通过CANaLyzer软件采集网络总线上的数据,如图6所示,直观显示了总线中各报文的传输过程和传输数据,主从节点之间没有报文丢失的现象[4],各设备间通信正常,验证了该网络控制系统的可用性和可靠性。

图6 CANaLyzer采集的总线数据

4 结束语

基于CANopen总线技术,通过对NMT、SDO、PDO的设计和故障诊断的开发,提出了一种应用广泛、高可靠性的网络控制系统,并在CANaLyzer软件环境中进行了通讯测试,成功完成了VCU与其他网络设备的网络通信调试。目前该网络控制系统已经在某调车机车装车验证。CANopen协议作为CAN总线的应用层协议,在城市轨道交通领域有着广阔的应用前景,文中的研究成果可供该领域借鉴和参考。

猜你喜欢
调车报文机车
基于J1939 协议多包报文的时序研究及应用
基于DMR的成都地铁5号线车辆基地数字化调车系统
动车所调车防护系统应答器设置及控制方案研究
低轨星座短报文通信中的扩频信号二维快捕优化与实现
HXN5型机车牵引力受限的分析与整治
中间站调车监控系统维护台的设计与实现
CTCS-2级报文数据管理需求分析和实现
一种基于GPS的调车作业安全自动防护预警系统
浅析反驳类报文要点
“周恩来号”机车连续40年投入春运