CiA 301
CANopen 应用层和通信协议
(本译文仅供个人技术交流,尊重原文版权方所有权利,禁止用于商业目的)
应用层和通信协议
版本:4.2.0
(译注版本:V0.2)
2011 年 2 月 21 日
CAN in Automation (CiA) e. V.
CANopen 应用层和通信协议
历史记录
日期
1994-11-01
更改
发布 1.0 版本作为标准草案建议
1995-01-01
发布 1.1 版本作为标准草案建议
1995-09-22
发布 2.0 版本作为标准草案建议
1996-10-30
发布 3.0 版本作为标准决议草案
1999-06-16
发布 4.0 版本作为标准决议草案
2000-06-01
发布 4.0.1 版本作为标准决议草案
2002-02-13
发布 4.0.2 版本作为标准决议草案
2006-08-15
发布 4.1 版本作为标准草案建议
2007-12-07
发布 4.2 版本作为标准草案建议
– 编辑上的更正和澄清
– 定义供应商 ID 0000 0000h
– 澄清访问类型的定义
– 附加其他允许的 CAN 物理层
2010-08-11
发表更正 1
2011-02-21
发布 4.2 版本 作为公共规范
2011-02 21
发表更正 2
版权和专利许可信息
CAN in AUTOMATION(CIA)提请注意该CIA 协议文本有关的某些元素可能涉及专利权利。CiA 不负责确定任
何或所有该等专利的权利。
因为该技术规范为免费许可,保障该协议符合相关法律规定。除非另有书面声明,版权持有者和/或其
它各方提供这一技术规范方不提供任何类型的担保,不论是明确的或隐含的,包括但不限于暗示的适
销性和适用于某特定用途的保证。全部规范的正确性和完整性取决于用户。即使该标准被证明失败,
也由用户来承担所有必要的维修、修理或更正费用。
商标
CANopen®和CiA®是CAN in Automation 注册的共同体商标。仅限CiA 成员或CANopen 供应商ID 持有
者使用。更多详细的条款可从 CiA 获取。
© CiA 2011
保留所有权利。除非另有规定,禁止将本出版物的任何部分复制或用于任何形式或通过任何电子或机械
手段,包括复印和缩微胶卷,除非从CiA 以下地址获得书面许可。
CAN in Automatione.V.
Kontumazgarten 3
DE-90429 德国纽伦堡
电话:+49-911-928819-0
传真:+49-911-928819-79
Url:www.can-cia.org
电子邮件:headquarters@can-cia.org
2
2
© CIA 2011 - 保留所有权利
CANopen 应用层和通信协议
目录
3.1
3.2
2.1
2.2
1 适用范围................................................................................................................................................7
2 参考资料................................................................................................................................................8
规范性引用.............................................................................................................................8
信息参考.................................................................................................................................8
3 缩写和定义............................................................................................................................................8
缩写.........................................................................................................................................8
定义.........................................................................................................................................9
标准帧........................................................................................................................................... 9
扩展帧........................................................................................................................................... 9
CAN-ID........................................................................................................................................... 9
COB-ID........................................................................................................................................... 9
实体............................................................................................................................................... 9
FSA................................................................................................................................................. 9
设备域........................................................................................................................................... 9
逻辑设备....................................................................................................................................... 9
Node-ID......................................................................................................................................... 9
对象............................................................................................................................................... 9
虚拟设备....................................................................................................................................... 9
4 建模......................................................................................................................................................10
设备域模型...........................................................................................................................10
通信参考模型.......................................................................................................................11
4.2.1 简述...............................................................................................................................11
CANopen 应用层...........................................................................................................11
4.2.2
概述.......................................................................................................................11
4.2.2.1
服务原语...............................................................................................................11
4.2.2.2
应用层服务...........................................................................................................12
4.2.2.3
CANopen 设备模型.............................................................................................................. 12
4.3.1 简述...............................................................................................................................12
通信协议分类.......................................................................................................................13
4.4.1 简述...............................................................................................................................13
4.4.2 主/从协议.....................................................................................................................13
4.4.3 客户端/服务器协议.....................................................................................................14
4.4.4 生产者/消费者协议-推/拉模式.................................................................................14
4.4.5 对象字典.......................................................................................................................15
网络系统模型.......................................................................................................................15
4.5.1 设备协议.......................................................................................................................15
4.5.2 应用协议.......................................................................................................................15
5 物理层..................................................................................................................................................16
OSI 参考模型........................................................................................................................16
介质相关接口.......................................................................................................................16
物理介质连接.......................................................................................................................16
物理信令...............................................................................................................................16
6 数据链路层..........................................................................................................................................18
简述.......................................................................................................................................18
CAN 帧类型.......................................................................................................................... 18
7 应用层..................................................................................................................................................19
数据类型和编码规则...........................................................................................................19
7.1.1 数据类型和编码规则简述...........................................................................................19
5.1
5.2
5.3
5.4
6.1
6.2
7.1
4.1
4.2
4.3
4.4
4.5
© CiA 2011 – 保留所有权利
3
CANopen 应用层和通信协议
7.1.4.1
7.1.4.2
7.1.4.3
7.1.4.4
7.1.4.5
7.1.4.6
7.1.4.7
7.1.2 数据类型定义...............................................................................................................19
位序列..........................................................................................................................................20
7.1.3 位序列...........................................................................................................................20
位序列定义...........................................................................................................20
7.1.3.1
位序列的传输语法.............................................................................................. 20
7.1.3.2
7.1.4 基本数据类型...............................................................................................................21
简述.......................................................................................................................21
NIL.........................................................................................................................21
Boolean.................................................................................................................21
Void.......................................................................................................................21
Unsigned Interger............................................................................................ 21
Signed Integer.................................................................................................. 22
浮点数...................................................................................................................22
7.1.5 复合数据类型...............................................................................................................23
7.1.6 扩展数据类型...............................................................................................................23
简述.......................................................................................................................23
7.1.6.1
八进制字符串...................................................................................................... 23
7.1.6.2
可显示字符串...................................................................................................... 24
7.1.6.3
Unicode 字符串................................................................................................... 24
7.1.6.4
时间.......................................................................................................................24
7.1.6.5
时间差...................................................................................................................24
7.1.6.6
域...........................................................................................................................24
7.1.6.7
通信对象...............................................................................................................................24
7.2.1 简述...............................................................................................................................24
7.2.2 过程数据对象(PDO).....................................................................................................25
简述.......................................................................................................................25
传输模式...............................................................................................................26
触发模式...............................................................................................................26
PDO 服务................................................................................................................27
PDO 协议.............................................................................................................28
7.2.3 寻址 PDO(MPDO)............................................................................................................28
简述.......................................................................................................................28
MPDO 寻址模式..................................................................................................... 29
MPDO 服务..............................................................................................................29
MPDO 协议..............................................................................................................30
7.2.4 服务数据对象(SDO).....................................................................................................31
简述.......................................................................................................................31
7.2.4.1
SDO 服务................................................................................................................32
7.2.4.2
SDO 协议................................................................................................................43
7.2.4.3
服务器..........................................................................................................................................49
服务器..........................................................................................................................................49
服务器...................................................................................................................53
客户端
7.2.5 同步对象(SYNC)...........................................................................................................59
简述.......................................................................................................................59
SYNC 服务..............................................................................................................59
同步协议...............................................................................................................60
7.2.6 时间戳对象(TIME).......................................................................................................60
简述.......................................................................................................................60
TIME 服务..............................................................................................................60
TIME 协议..............................................................................................................61
7.2.7 应急对象(EMCY)...........................................................................................................61
应急对象的使用.................................................................................................. 61
应急的对象服务.................................................................................................. 64
7.2.2.1
7.2.2.2
7.2.2.3
7.2.2.4
7.2.2.5
7.2.3.1
7.2.3.2
7.2.3.3
7.2.3.4
7.2
7.2.5.1
7.2.5.2
7.2.5.3
7.2.6.1
7.2.6.2
7.2.6.3
7.2.7.1
7.2.7.2
4
© CiA 2011 – 保留所有权利
7.3
7.4
7.5
7.2.7.3
CANopen 应用层和通信协议
7.4.7.1
7.4.7.2
7.3.2.1
7.3.2.2
7.3.2.3
应急对象协议...................................................................................................... 64
7.2.8 网络管理.......................................................................................................................65
简述.......................................................................................................................65
7.2.8.1
NMT 服务................................................................................................................65
7.2.8.2
NMT 协议................................................................................................................69
7.2.8.3
网络初始化和系统 boot-up................................................................................................ 74
7.3.1 简化的 NMT 启动...........................................................................................................74
NMT 状态机....................................................................................................................75
7.3.2
概述.......................................................................................................................75
NMT 状态................................................................................................................76
NMT 状态转换...................................................................................................... 77
7.3.3 通用预定义连接集.......................................................................................................77
7.3.4 特定预定义连接集.......................................................................................................78
7.3.5 受限 CAN-IDs................................................................................................................79
对象字典...............................................................................................................................79
7.4.1 常规结构.......................................................................................................................79
7.4.2 索引和子索引的使用...................................................................................................80
7.4.3 对象代码的使用...........................................................................................................81
7.4.4 数据类型的使用...........................................................................................................81
7.4.5 访问权限的使用...........................................................................................................81
7.4.6 类别和条目类别的使用...............................................................................................82
7.4.7 数据类型条目的使用...................................................................................................82
简述.......................................................................................................................82
对象字典条目的组织结构.................................................................................. 84
7.4.8 预定义复合数据类型规范...........................................................................................84
PDO 通讯参数记录规格...................................................................................... 84
7.4.8.1
PDO 映射参数记录规格...................................................................................... 85
7.4.8.2
SDO 参数记录规格............................................................................................... 85
7.4.8.3
身份记录规格...................................................................................................... 85
7.4.8.4
OS 调试记录规格................................................................................................. 85
7.4.8.5
OS 命令记录规格................................................................................................. 86
7.4.8.6
通信协议规范.......................................................................................................................86
7.5.1 对象及其条目说明规范...............................................................................................86
7.5.2 通信协议对象的详细规范...........................................................................................87
对象 1000h:设备类型........................................................................................ 87
7.5.2.1
对象 1001h:错误寄存器.................................................................................. 88
7.5.2.2
对象 1002h:制造商状态寄存器.......................................................................89
7.5.2.3
对象 1003h:预定义错误域............................................................................... 89
7.5.2.4
对象 1005h:COB-ID 同步消息...........................................................................91
7.5.2.5
对象 1006h:通信循环周期................................................................................ 92
7.5.2.6
对象 1007h:同步窗长度................................................................................... 92
7.5.2.7
对象 1008h:制造商设备名称............................................................................ 93
7.5.2.8
对象 1009h:制造商的硬件版本.......................................................................93
7.5.2.9
7.5.2.10 对象 100Ah:制造商软件版本............................................................................ 94
7.5.2.11 对象 100Ch:监护周期........................................................................................ 94
7.5.2.12 对象 100Dh:生存周期因子............................................................................... 95
7.5.2.13 对象 1010h:保存参数........................................................................................ 95
7.5.2.14 对象 1011h:恢复缺省参数................................................................................ 97
7.5.2.15 对象 1012h:时间戳对象 COB-ID.....................................................................100
7.5.2.16 对象 1013h:高分辨率时间戳..........................................................................101
7.5.2.17 对象 1014h:EMCY COB-ID................................................................................101
7.5.2.18 对象 1015h:EMCY 抑制时间.............................................................................102
7.5.2.19 对象 1016h:消费者心跳超时..........................................................................103
© CiA 2011 – 保留所有权利
5
CANopen 应用层和通信协议
7.5.2.20 对象 1017h:生产者心跳超时..........................................................................104
7.5.2.21 对象 1018h:对象身份...................................................................................... 105
7.5.2.22 对象 1019h:同步计数器溢出值......................................................................106
7.5.2.23 对象 1020h:验证配置...................................................................................... 107
7.5.2.24 对象 1021h:存储 EDS....................................................................................... 108
7.5.2.25 对象 1022h:存储格式...................................................................................... 109
7.5.2.26 对象 1023h:OS 命令......................................................................................... 110
7.5.2.27 对象 1024h:OS 命令模式................................................................................ 111
7.5.2.28 对象 1025h:OS 调试接口................................................................................. 112
7.5.2.29 对象 1026h:OS 提示符命令接口.....................................................................113
7.5.2.30 对象 1027h:模块列表..................................................................................... 114
7.5.2.31 对象 1028h:应急消费对象.............................................................................. 115
7.5.2.32 对象 1029h:错误行为对象.............................................................................. 117
7.5.2.33 对象 1200h~127Fh:SDO 服务器参数................................................................118
7.5.2.34 对象 1280h~12FFh:SDO 客户端参数................................................................121
7.5.2.35 对象 1400h~15FFh:RPDO 通信参数..................................................................123
7.5.2.36 对象 1600h~17FFh:RPDO 映射参数.................................................................126
7.5.2.37 对象 1800h~19FFh:TPDO 通信参数.................................................................129
7.5.2.38 对象 1A00h~1BFFh:TPDO 映射参数.................................................................134
7.5.2.39 对象 1FA0h~1FCFh:对像扫描仪列表...............................................................136
7.5.2.40 对象 1FD0h~1FFFh:对象分配列表..................................................................138
附件 A(更多信息).................................................................................................................................... 140
注译版本记录........................................................................................................................................... 142
6
© CiA 2011 – 保留所有权利
1 适用范围
CANopen 应用层和通信协议
本规范定义了 CANopen 应用层。包括数据类型、编码规则、对象字典以及 CANopen 通信服务协议。此外,
本规范也定义了 CANopen 网络管理服务协议。
本 规 范 规 定 了 CANopen 通 信 协 议 , 例 如 物 理 层 、 通 信 对 象 标 识 符 预 定 义 连 接 集 、 应 急 对 象
(Emergency)、时间戳和同步通信对象。
© CiA 2011 – 保留所有权利
7
CANopen 应用层和通信协议
2 参考资料
2.1 规范性引用
/EN61131-3/
EN 61131-3,可编程控制器——第 3 部分:编程语言
/ISO7498-1/
ISO 7498-1,信息技术-开放系统互连-基本参考模型:基本模型
/ISO8859/
ISO 8859,信息技术——8 位单字节编码图形字符集
/ISO11898-1/
/ISO11898-2/
/ISO11898-3/
ISO 11898-1,道路车辆——控制器区域网络(CAN)——第 1 部分:数据链路层和物
理信令
ISO 11898-2,道路车辆——控制器区域网络(CAN)——第 2 部分:高速介质访问单
元
ISO 11898-3,道路车辆——控制器区域网络(CAN)——第 3 部分:低速度、容错的
介质相关接口。
/ISO10646/
ISO 10646,信息技术-通用多八位编码字符集(UCS)
2.2 信息参考
/IEEE754/
IEEE 754,标准的二进制的浮点运算
IEC TR 62390,常规的自动化设备–协议的准则
/IEC62390/
3 缩写和定义
3.1 缩写
ARQ
CAN
CAN ID
COB
COB-ID
CRC
CSDO
DAM
FSA
LLC
LSB
MAC
MDI
MPDO
MSB
NMT
自动重复请求
控制局域网
CAN 标识符
通信对象
COB 标识符
循环冗余校验
Client-SDO
目的地址模式
有限状态机
逻辑链路控制
最低位/字节
介质访问控制
介质相关接口
多路复用 PDO
最高位/字节
网络管理
NODE-ID
节点标识符
OSI
PDO
PLS
8
开放系统互连
过程数据对象
物理层的信令
© CiA 2011 – 保留所有权利