基于CANopen总线协议的城市地铁数据通信网设计
扫描二维码
随时随地手机看文章
摘要:介绍了CANopen总线协议的通信接口以及启动和仲裁机制,给出了在轨道交通车辆网络监测系统中引入CANopen总线协议来实现CAN-open应用层功能的设计方法。同时给出了列车通信层的网络拓扑结构以及CANopen接口的配置过程。
关键词:CANopen;总线协议;地铁通信;网络接口
0 引言
城市轨道交通网络的快速发展,给智能化、网络化的地铁通信提出了新的要求。事实上,城市轨道交通系统也必须具有一套专门负责城市地铁中列车各模块的数据采集、分析系统,以对列车各设备实施监测,提高列车车辆的运行安全。
通过地铁通信网络可对列车的运行、状态和故障进行监测和诊断,同时也可以对旅客服务信息进行综合处理。它可以应用多种总线技术把分布于各车厢内部的、可以独立完成特定功能的计算机互连起来,从而形成一种局域网,进而实现资源共享、协同工作、分散监测和集中操作。
CAN是一种可有效支持分布式控制和实时控制的串行通信网络,该总线具有很高的时效性、可靠性、抗干扰能力和检错能力,而且开发费用比较低。可以应用于城市轨道交通车辆的现场总线中。但是,CAN总线只是对网络的物理层和数据链路层进行了规范,而没有对应用层做相应的说明。为此,本文给出了通过配置CANopen网络接口来对地铁现场控制系统中各个部分的主要参数进行采集,并通过CANopen总线发送到服务器的实现方法。
1 CANopen简介
CANopen是基于CAN-bus的分布式工业控制技术标准。它是由生产商和用户联合CiA共同开发的一种CENELEC EN 50325-4标准。CANopen已经在广泛的工业通信上建立了标准(例如:机械工程,驱动系统和组件,医疗设备,楼宇自动化,交通工具等等)。CANopen的基本通信机制被
称为通信描述,不同的生产厂商可以协调使用一个CANopen网络。通信描述的结构增补是为专门的应用而设计的,这就是结构怎样定义安全数据传输(“CANopen Safety”)或可编程设备(例如PLC)。对象词典是每个CANopen设备的中心元素,具有描述设备的功能。
1.1 对象词典(Objeet Directory)
对象词典是每个CANopen设备的中心元素,可用于描述网络上设备的所有功能。对象词典可描述网络和应用程序之间的接口,所有对象词典的人口都引用16位的索引和8位子索引。对象词典包含着所有通过网络访问的参数,例如设备标识符、生产商名、PDOs和SDOs的通信参数、设备监控(“error control”)等都保存在对象词典的通用区。设备描述区包含有IO功能(开关量和模拟量的输入和输出)、以及设备参数和PLC映射。如果发生错误,对象词典还可以配置其行为。因此,对象词典可以使设备行为符合各自的应用。
对象词典位于通信层和用户层之间,其主要作用是为用户提供服务接口。图1所示是一个对象词典在CANopen设备模型中的结构图。
1.2 设备描述
设备描述表用于描述自动控制系统中主要设备的类型属性和特点。它定义了标准设备类型的功能和参数,所有的参数都保存在对象词典中,从而可保证CAN-bus用同一方式访问CANopen设备。通过不同生产商设备的互用性和可交换性,可为多客户需求提供先决条件。用户也可为开关量和模拟量的I/O设备、PLC设备和控制器定义设备描述表,以便在标准的EDS文件中用ASCII形式描述CANopen设备的参数和属性,并作为一个包含所有设备属性的表格访问网络。专门设备配置的实时参数通常保存在DCF(deviee configurationfile)中,DCF是继承于EDS的配置文件。
1.3 使用PDO/SDO进行数据传输
CANopen的数据传输具有两个不同的数据传输机制,CANopen一般用过程数据对象(PDOs,Process Data Object)来处理短过程数据的快速交换,并通过SDO(Service Data Object)访问对象词典的人口。PDO可根据事件约束来循环或查询传输,其传输采用无协议广播形式。一个PDO传输可以达到八个字节,一个同步信息可同步网络上数据的发送和迁移。每个PDO的属性都可以在对象词典中进行配置,其中包含通信参数(CAN标识符、传输类型等)和为每个PDO映射分配过程的数据。SDO则通过2个CAN-telegrams证实数据传输,并在两个设备间建立点对点的通信。这样,一个大的数据包(大于8字节)就能被传输给每个SDO。
1.4 CANopen通信接口
CANopen协议中将通信对象分为四种:网络管理对象(Network Management object,NMT),服务数据对象(SDO),过程数据对象(PDO)和预
定义报文/特殊功能对象。其中网络管理对象(NMT)负责层管理、网络管理和ID分配;服务数据对象用于对对象词典中的项进行访问,此类报
文可以工作在预操作状态和正常状态;过程数据对象工作在正常操作状态,可以传送8个数据字节,也就是64个状态位。通常用于实时数据的传送:预定义报文/特殊功能对象可为CANopen设备提供特定的功能,以方便CANopen主站对从站的管理。
1.5 CANopen总线的启动和仲裁机制
在网络初始化过程中,CANopen可支持最小boot-up机制和扩展boot-up机制,其中扩展boot-up是可选的,而所有CANopen设备和节点都必须能够支持最小的boot-up机制。
当两个或更多的结点在同时发送时,往往可能产生数据冲突,这样,CANopen总线就必须有一个仲裁机制,以便在发生冲突时可以可靠地分配总线给一个预备发送的结点。这个策略叫做总线仲裁。CAN总线使用一位一位的总线仲裁方式。当两个CAN站同时发送时,其发送权力可由显性总线状态决定。通过监视总线,当一个结点失去了总线仲裁时,它会被立即侦察到并停止发送,而当所有的结点都发送一个隐性位时,总线只在隐性状态。事实上,只要有一个结点发送一个显性位,整个总线电平就都是显性的。
2 城市轨道列车通信网络的设计
2.1 列车现场控制级通信网络
本文以4辆地铁列车车厢编组为对象来进行列车通信网络的设计,4辆地铁列车车厢由两个车辆单元组成,每一个单元包含带司机室的拖车(Trail car with cab,Tc)和带受电弓的动车(MotorCar with pantograph,Mp)。图2所示是基于CAN总线网络的列车通信网络的结构设计图。
该列车通信网络系统参照TCN(Topology Change Notification)配置,采用的是CAN总线,列车编组单元内的车辆总线采用CANopen协议。
所设计的地铁列车通信网络系统是基于轻型、模块化和分布式设计,列车网络采用两级总线的层次结构。本系统采用两路CAN总线来将各子系统的控制单元合理地分配到这两路CAN总线上。每路CAN总线在Mp(带受电弓的动车)车上有一个中继器,各个子系统提供的CANopen接口都连接
到列车总线,以便于传递控制数据和状态数据。列车控制监控系统可监视各子系统设备,同时接收各子系统的故障和状态数据,并通过总线控制子系统以完成相应的功能。
一般情况下,在选择网络拓扑结构时,应考虑到网络的适应性、可靠性、可扩充性等性能,以选择合理的网络拓扑结构,从而实现机车设备级CAN总线网络物理层的高可靠性。本文选择的CAN总线型网络拓扑结构能够更好地运行列车自动系统,其中包括列车自动保护系统(ATP)和列车自动运行系统(ATO)。
2.2 VCU控制单元
城市地铁列车网络的硬件系统通常由列车车辆控制单元(VCU),远程输入输出模块(RemoteI/O Module,RIOM),司机显示单元(DDU),列车通信中继器(Repeater)等组成。其中列车车辆控制单元(VCU)用于通过车辆总线连接各子设备,负责列车网络中各种数据的传输和管理,列车车辆控制单元与列车各子系统通信,可以采集列车运行时各子系统的数据,并将相应的控制指令发送到各子系统,以便对列车各设备实施列车级控制。VCU可选用高性能的列车专用PLC来实现。列车上的两台VCU分为强主VCU和弱主VCU,两个VCU互为冗余。在强主VCU工作时,弱主VCU一直处于侦听状态,同时也可接收网络上传送的任何数据,但不行使网络管理和控制功能。只有当强主VCU发生故障时,弱主VCU将马上自动接替强主VCU工作,从而保证列车的正常运行。
2.3 配置过程
本设计在CANopen通信网络的基础上,以牵引系统为例来设计牵引系统与控制单元之间的通信网络接口,然后由列车主控制器VCU完成监测过程中数据的处理和虚拟仪器的工作。图3所示是由VCU完成监测控制的程序流程图。
当系统进行完网络管理状态转换之后,即可对控制系统节点启动配置过程,具体步骤是在DCU不在线时,由VCU通过SDO周期性询问DCU
是否在线;如果DCU已经连接到CAN总线上,则由DCU响应VCU的SDO请求;之后,再由VCU配置DCU的Rx PDO和Tx PDO,对象为14xxh和18xxh;之后由VCU配置DCU的消费者心跳,对象为1016h;同时由VCU配置DCU的生产者心跳,对象为1017h;最后,由VCU启动DCU系统。此时,DCU系统将处于预操作模式,之后,DCU系统将进入操作阶段,这时,PDO就能够进行交换了。
在CANopen网络对牵引的控制过程中,其传输的数据类型有过程数据(PDO)、服务数据(SDO)、网络管理数据(NMT)、时间戳(TimeStamp)和心跳数据(Heart-Beat)。其中过程数据用于传输DCU状态数据、故障数据、控制指令等;服务数据指的是DCU系统所提供的一个SDO信道,这个信道用于网络配置;网络管理表示VCU使用NMT对象来管理和控制DCU通信;时间戳的作用主要是为了同步,通常VCU会周期性地广播一个标准的时间戳到DCU,以便使DCU实时时钟与VCU同步;此外,系统中的DCU也将周期性地产生一个心跳信息,这样,VCU就可以通过检测DCU心跳信息来了解其状态;反之亦然。
3 结束语
利用CANopen总线网络拓扑结构能很好地连接城市轨道列车的各个数据模块。另外,CANopen总线强大的数据传输能力,也可以让列车通信模块变得容易扩充。应当说明的是,CANopen总线协议的接口配置对不同的应用系统各有不同,而不同的配置也会影响通信速率,因此,只有合理配置,才能保证整个列车通信系统的正常工作。