如何快速实现CANopen网络的组建与配置

CANopen协议兴起于欧洲,现阶段在欧洲特别是工业发达的德国几乎所有的设备都提供CANopen的支持,我国工业还相对的落后,正处在引进国外先进设备的阶段,这就要求我们懂得CANopen通信协议,同时能够利用CANopen设备正确的组建一个适合特定应用的CANopen网络。

CANopen从站/主站特点

具有网络管理(Network Management:简称NMT)主机功能的设备通常被称为CANopen主站设备,通常也具有服务数据(Service Date Object:简称SDO)客户端功能。反之具有网络管理(NMT)从机功能的设备通常被称为CANopen从站设备,且其必须具备有服务数据服务器功能。这样CANopen主站设备就可以控制从站以及读写CANopen从站设备的对象字典。

(1)CANopen从站特性

CANopen从站在CANopen网络中拥有唯一的节点地址,并且能独立完成特定的功能,例如数据采集、电机控制等等。对实时性要求高的数据,通常通过实时数据过程(Process Data Object:简称PDO)进行传输,因此CANopen从站应当支持一定数量的PDO传输功能。根据CANopen协议DS301 V4.02的定义,每个从站都预定义了4个TPDO(Transmit Process Data Object:简称TPDO)和4个RPDO(Receive Process Data Object),另外从站也应具有节点/寿命保护或心跳报文以及生产紧急报文等功能。每个CANopen从站都应有一个对象字典,描述了从站所具有的应用参数和通信参数。

(2) CANopen主站特性

CANopen主站在网络所起的作用有别于CANopen从站,通常CANopen主站在网络中负责网络管理、从站参数配置以及从站数据的处理,其并不一定具有特定的功能,但也有自己的对象字典和唯一的节点地址。

CANopen网络组建

由于CANopen是基于CAN总线的一种应用层协议,因此其网络组建与CAN总线一致,典型的总线型结构,从站和主站都挂接在该总线上即可,在一个CANopen网络中只能有一个主站设备和若干个从站设备同时工作。CANopen网络布线时选用带屏蔽双绞线,提高总线抗干扰能力。表 1所示为CAN通信波特率与总线长度的关系。注意网络中的各节点的支线长度不易过长,波特率大于100Kbps的情况下,支线总长度不应大于30m,单个节点的支线也不应大于60cm。

表1 总线长度与波特率关系
(1)基本的CANopen网络结构
图1 CANopen基本网络结构

图1所示为CANopen网络的基本结构,在该网络中有一个CANopen主站,负责管理网络中的所有从站,每个设备都有一个独立的节点地址(NodeID)。从站与从站之间也能建立通信,通常需要事先对各个从站进行配置,使各个从站之间能够建立起独立的PDO通信。

(2)复杂的CANopen网络结构
图2 带网关设备的CANopen网络

图3所示为带有网关设备的CANopen网络,与基本的CANopen网络相比,该网络中增加了一个CANopen网关设备,该网关设备可以是CANopen转DeviceNet、Profibus、Modbus或其它的设备。在CANopen网络中,我们也可把该网关设备作为一个从站设备或者是CANopen主站设备。

CANopen网络中从站的配置

CANopen从站设备在出厂时都设定有默认参数,并且这些参数都与节点地址绑定,例如实时数据传输PDO,其预定义连接集定义了其默认的参数有4个TPDO和4个RPDO,其COB-ID(Communication Object -ID)如表 2所示。在一些应用简单的场合只需要采用默认设置即可进行正常通信,但对于一些应用比较复杂的场合,则需要对从站进行相应的配置,最常见的配置参数有PDO的COB-ID、PDO映射参数、以及节点/寿命保护等参数。

表2 PDO预定义连接

CANopen网络中,对从站的参数配置或获取都是通过SDO进行传输,因此从站和主站都必须支持SDO传输才能进行正常的配置。为了快速配置从站设备,在配置从站之前通过NMT使整个网络设备进入到预操作状态。

(1) 通信参数配置

CANopen设备的通信参数包括PDO的COB-ID、传输类型、禁止时间以及映射参数等。其参数配置顺序如图 3所示。

图3 通信参数配置顺序

在配置PDO的通信参数时,首先禁止PDO通信,根据DS301 V4.02的定义,当COB-ID的最高位(第31位)为1时即可禁止该PDO通信,禁止PDO通信操作示例如图 4所示。需要注意的是只有在PDO禁止的情况下,相应的传输类型、映射参数以及COB-ID的值才能被改变,否则试图以任何方式去更改都会出现错误。

(2)其它参数的配置

除了通信相关的参数之外,CANopen设备还有一些与安全相关的参数,例如节点/寿命保护或者心跳报文。根据DS301 V4.02的定义,同一个CANopen从站中只可能使用节点/寿命保护或心跳报文的一种。节点/寿命保护可以实现双向保护,即主站可监控从站的状态,而从站也可监控主站是否在线。心跳报文只是一种单向的保护机制,心跳报文的消费者可以监控到心跳报文生产者的状态。在网络总线负载较大的情况下,建议使用心跳报文的保护机制来减轻总线负载。

图4 禁止PDO通信方法
(3)配置从站与从之间的通信

CANopen网络中从站与从站可以直接进行PDO通信而不需要主站的参与,这样就提高了实时数据的实时性。将接收从站RPDO的COB-ID更改为发送从站TPDO的COB-ID,这样就建立了两个从站之间了PDO通信,在通信过程中也不需要主站的任何干预。表 3所示。

表3 从站与从站通信COB-ID配置
结语

根据不同应用环境可选用不同的线缆来组建CANopen网络,在CANopen网络的布置方面,需要了解线缆的阻抗、容抗、信号延时等来匹配总线的终端电阻,减少由于信号衰减或反射而导致总线工作异常。从而组建一个抗干扰能力强、稳定可靠的CANopen网络。

广州致远电子有限公司提供各种接口的CANopen接口卡、CANopen终端设备(包括数据采集,电机控制等)、CANopen分析仪、网关及网桥、OPC服务器以及基于CANopen协议的整套组网方案及应用开发。