基本每个行业的 CAN 应用,都需要一个高层协议来定义 CAN 报文中的 11/29
位标识符、 8 字节数据的使用。但在 CAN 总线的工业自动化应用中, 由于设备的互通互联
的需求越来越多,所以需要一个开放的、标准化的高层协议:这个协议支持各种 CAN 厂商
设备的互用性、互换性,能够实现在 CAN 网络中提供标准的、统一的系统通讯模式,提供
设备功能描述方式,执行网络管理功能。
目前 CANopen 协议已经在运动控制、车辆工业、轨道交通、电机驱动、工程机械、船舶
海运等行业得到广泛的应用。 比如轨道交通中的城市轻轨车辆(低地板车)中, CiA 联合西
门子、庞巴迪等轨道交通厂商,共同制定了以下轨道交通相关的 CANopen 子协议:
CiA 421 series: Train vehicle control system 列车车辆控制系统
CiA 423 series: Diesel engine control system 柴油机控制系统
CiA 424 series: Door control system 门控制系统
CiA 426 series: Exterior light control system 外部灯控制系统
CiA 430 series: Auxiliary equipment control system 辅助设备控制系统
CANopen 的预定义报文 ID 分类
在 CANopen 创立之初,即使在 CAN 总线应用最广泛的汽车电子行业,网络中的 CAN
节点数量和需要通讯的信息都是比较少的。人们使用 CAN 取代 RS485, 主要是看重其可以
突发发送的实时性优势,而在多节点、长距离应用中, CAN 总线和 RS485 比起来并无优势,
比如同样的波特率下, CAN 的通信距离只能达到 RS485 的 0.6-0.8 倍,而多节点通信 CAN
无法进行任意的突发发送, 不得不遵循 RS485 那样的轮询通信机制,否则会导致拥堵。