机械工程学院机械设计及理论研究所
机械工程学院机械设计及理论研究所
机械工程学院机械设计及理论研究所
机械工程学院机械设计及理论研究所
目录目录目录目录
第一章 PDO 实例分析 ................................................................................................................ 1
一、目的: ................................................................................................1
二、手段: ................................................................................................1
三、分析: ................................................................................................1
四、过程: ................................................................................................2
4.1.对象字典的编写 ...................................................................................................... 2
4.1.1 各节点 ID 分配表定义 .................................................................................. 2
4.1.2 对节点 1 进行对象字典编写......................................................................... 2
4.1.3 对节点 2 进行对象字典编写......................................................................... 3
4.1.4 对节点 3 进行对象字典编写......................................................................... 5
4.2 节点 1 发送数据至节点 2、节点 3 ........................................................................ 6
4.2.1 节点 1 发送数据至总线................................................................................. 6
4.2.2 节点 2、节点 3 从总线接收数据................................................................. 7
4.3 节点 2 发送数据至节点 3 ..................................................................................... 8
4.3.1 节点 2 发送数据至总线............................................................................... 8
4.3.2 节点 3 从总线接收数据................................................................................ 9
参考文献 ....................................................................................................................................... 10
CANopen
CANopen 工作流分析
工作流分析 V1.0
工作流分析
CANopen
CANopen
工作流分析
Date: 2011----5555----20 Copyright By Tongji University
Date: 2011
20 Copyright By Tongji University
Date: 2011
Date: 2011
20 Copyright By Tongji University
20 Copyright By Tongji University
i
机械工程学院机械设计及理论研究所
机械工程学院机械设计及理论研究所
机械工程学院机械设计及理论研究所
机械工程学院机械设计及理论研究所
第一章第一章第一章第一章 PDO 实例分析
实例分析
实例分析
实例分析
一一一一、、、、目的目的目的目的:
实例的目的如图 1-1 所示,实现节点 1 的数据(A、B)传送到节点 2、节点
3,同时实现节点 2 传输数据(C、D)至节点 3 。
图 1-1 数据传输目的
二二二二、、、、手段手段手段手段:
使用 PDO 进行数据传送。
三三三三、、、、分析分析分析分析:
PDO 通信是基于生产者/消费者(Producer/Consumer)模型,主要用于
图 1-2 SDO 客户/服务器通讯模式
[1]
传输实时数据。产生数据的节点将带有自己节点号的数据放到总线上,需要该数
据的节点可以配置为接收该节点发送的数据
[3]
。
CANopen
CANopen 工作流分析
工作流分析 V1.0
工作流分析
CANopen
CANopen
工作流分析
Date: 2011----5555----20 Copyright By Tongji University
Date: 2011
20 Copyright By Tongji University
Date: 2011
Date: 2011
20 Copyright By Tongji University
20 Copyright By Tongji University
1
机械工程学院机械设计及理论研究所
机械工程学院机械设计及理论研究所
机械工程学院机械设计及理论研究所
机械工程学院机械设计及理论研究所
四四四四、、、、过程过程过程过程::::
4.1.对象字典的编写
对象字典的编写
对象字典的编写
对象字典的编写
对象字典的结构和条目对于所有设备是共同的,本例中采用索引定位,子索
引确定对象的思想构建对象字典,方法是使用结构体定义子索引,子索引结构体
的成员变量包含对象的属性(读写权限,数据类型,数据长度等)和指向对象的
指针,定义索引时包含指向子索引的指针和子索引数目,对象字典各项在代码中
采取如图 1-3 所示的方式来组织构建,这样可以方便地通过索引和子索引一找到
对应的项,对象定义为指针的形式可以通过主站的 SDO 报文进行读写,实现对对
象字典的灵活配置,同时这种方式实现通讯层与应用层共享数据变量的特点。对
象字典的条目格式如图 1-3 所示:
索引索引索引索引 对象对象对象对象((((符号名符号名符号名符号名)))) 名称名称名称名称 属性属性属性属性 类型类型类型类型 强制强制强制强制/可选可选可选可选
4.1.1 各节点各节点各节点各节点 ID 分配表定义
分配表定义
分配表定义
分配表定义
图 1-3 对象字典模块结构图
表 1-1 各节点 ID 分配表
节点 节点 1 节点 2、 节点 3 主节点
NODE-ID 0x01
0x02
0x03
0x04
4.1.2 对节点对节点对节点对节点 1 进行对象字典编写
进行对象字典编写
进行对象字典编写
进行对象字典编写
节点 1 发送数据至节点 2、节点 3,故需定义 TPDO,我们在此处定义为
TPDO1。节点 1 的应用数据区、TPDO1 的通讯参数和映射参数在对象字典中的
定义分别如表 1-2、1-3 和 1-4 所示。
表 1-2 节点 1 的应用数据区在对象字典中的定义
索引索引索引索引
子索引子索引子索引子索引
名称名称名称名称
类型类型类型类型
值值值值
权限权限权限权限
7100h
00h
入口数目
U8
02h
rw
01h
A
U16
2DFFh
rw
02h
B
U8
C3h
rw
表 1-3 节点 1 的 TPDO1 通讯参数在对象字典中的定义
1800h
02h
—
03h
00h
04h
01h
TPDO
传输类型
禁止时间
入口数目
Reserved
发送 PDO 标识符
数据类型
数据类型
数据类型数据类型
U8
U16
U8
——
U32
FFh
值值值值
00h
05h
——
180h+NodeID
rw
权限权限权限权限
rw
ro
rw
rw
CANopen
CANopen 工作流分析
工作流分析 V1.0
工作流分析
CANopen
CANopen
工作流分析
Date: 2011----5555----20 Copyright By Tongji University
Date: 2011
20 Copyright By Tongji University
Date: 2011
Date: 2011
20 Copyright By Tongji University
20 Copyright By Tongji University
2
表表表表 1-3 节点节点节点节点 1 的的的的 TPD01 通讯参数在对象字典中的定义
通讯参数在对象字典中的定义
通讯参数在对象字典中的定义
通讯参数在对象字典中的定义
1800H
TPDO
数据类型
数据类型
数据类型数据类型
入口数目
00h 入口数目
入口数目入口数目
U8
值值值值
05h
权限权限权限权限
ro
01h 发送发送发送发送 PDO 标标标标
U32
180h+NodeID
rw
识符识符识符识符
传输类型
02h 传输类型
传输类型传输类型
禁止时间
03h 禁止时间
禁止时间禁止时间
U8
U16
04h
reserved
------
FFh
00h
------
05h Event timer
U16
0x0000h
rw
rw
rw
rw
机械工程学院机械设计及理论研究所
机械工程学院机械设计及理论研究所
机械工程学院机械设计及理论研究所
机械工程学院机械设计及理论研究所
05h
event timer
U16
0x0000h
rw
节点 1 的 TPDO1 的 COB-ID 定义为 181h。
1A00h
表 1-4 节点 1 的 TPDO1 的映射参数在对象字典中的定义
值值值值
—
数据类型
TPDO1
数据类型
数据类型
数据类型
00h
01h
02h
PDO 映射数目
映射数目
映射数目
映射数目
A
B
U8
U16
U8
02h
7100 01 10h
7100 02 08h
权限权限权限权限
rw
rw
rw
其中 7100 01 10h 映射数据对象字典中索引为 7100h,子索引为 01h,长度
为 16 位的数据。
4.1.3 对节点对节点对节点对节点 2 进行对象字典编写
进行对象字典编写
进行对象字典编写
进行对象字典编写
节点 2 接收来自节点 1 的数据(A、B),故需定义 RPDO1;此外节点 2 将
数据传(C、D)送给节点 3,故需要定义 TPDO2。节点 2 的应用数据在对象字
典中的定义如表 1-5 所示。
表 1-5 节点 2 的应用数据在对象字典中的定义
索引索引索引索引
子索引子索引子索引子索引
名称名称名称名称
类型类型类型类型
值值值值
权限权限权限权限
7200h
00h
入口数目
U8
02h
rw
01h
A
U16
--
rw
02h
B
U8
--
rw
7300h
00h
入口数目
U8
02h
rw
01h
C
U16
F3CCh
rw
02h
D
U8
D5h
rw
此时索引为 7200h,子索引为 01h,02h 条目中起初并没有实际值,这两个
条目分别用来接收节点 1 的数据 A、B。接受数据后,子索引为 01h 的条目的值
为 2DFFh,子索引为 02h 的条目为 C3h。索引为 7300h,子索引为 01h,02h 条
目中为数据 C、D 的索引。
1400h
表 1-6 节点 2 的 RPDO1 通讯参数在对象字典中的定义
值值值值
数据类型
RPDO1
—
数据类型
数据类型数据类型
00h
01h
入口数目
U8
05h
接收 PDO 标识符
U32
180h+NodeID
权限权限权限权限
ro
rw
CANopen
CANopen 工作流分析
工作流分析 V1.0
工作流分析
CANopen
CANopen
工作流分析
Date: 2011----5555----20 Copyright By Tongji University
Date: 2011
20 Copyright By Tongji University
Date: 2011
Date: 2011
20 Copyright By Tongji University
20 Copyright By Tongji University
3
机械工程学院机械设计及理论研究所
机械工程学院机械设计及理论研究所
机械工程学院机械设计及理论研究所
机械工程学院机械设计及理论研究所
02h
03h
04h
05h
传输类型
禁止时间
U8
U16
FFh
0
Reserved
——
——
event timer
U16
0x0000h
rw
rw
rw
rw
节点 2 定义 RPDO1 的 COB-ID 为 181h,对应节点 1 的 TPDO 的 COB-ID,
实现节点 1 与节点 2 之间的数据传输。
1600h
表 1-7 节点 2 的 RPDO1 映射参数在对象字典中的定义
—
值值值值
数据类型
RPDO
数据类型
数据类型
数据类型
00h
PDO 映射数目
U8
02h
01h
A
U16
7200 01 10h
02h
B
U8
7200 02 08h
权限权限权限权限
rw
rw
rw
其中 7200 01 10h 表示映射到对象字典中索引为 7200h,子索引为 01h,长
度为 16 位的数据。
因为节点 2 发送数据至节点 3,故需在对象字典中定义 TPDO,在此定义为
TPDO2,其通讯参数和映射参数定义如表 1-8 和 1-9 所示。
表 1-8 节点 2 中 TPDO2 通讯参数在对象字典中的定义
1800 —
TPDO2
数据类型
数据类型
数据类型
数据类型
值值值值
05h
280h+NodeID
FFh
00h
——
0x0000h
权限权限权限权限
ro
rw
rw
rw
rw
rw
02h
03h
04h
05h
00h
入口数目
01h 发送 PDO 标识符
传输类型
禁止时间
U8
U32
U8
U16
Reserved
——
event timer
U16
节点 2 的 TPDO2 的 COB-ID 为 282h。
表 1-9 节点 2 中 TPDO2 映射参数在对象字典中的定义
CANopen
CANopen 工作流分析
工作流分析 V1.0
工作流分析
CANopen
CANopen
工作流分析
Date: 2011----5555----20 Copyright By Tongji University
Date: 2011
20 Copyright By Tongji University
Date: 2011
Date: 2011
20 Copyright By Tongji University
20 Copyright By Tongji University
4
机械工程学院机械设计及理论研究所
机械工程学院机械设计及理论研究所
机械工程学院机械设计及理论研究所
机械工程学院机械设计及理论研究所
—
00h
01h
02h
TPDO1
数据类型
数据类型
数据类型
数据类型
PDO 映射数目
C
D
U8
U16
U8
值值值值
02h
7300 01 10h
7300 02 08h
权限权限权限权限
rw
rw
rw
1A00
其中 7300 01 10h 表示映射到对象字典中索引为 7300h,子索引为 01h,长
度为 16 位的数据
4.1.4 对节点对节点对节点对节点 3 进行对象字典编写
进行对象字典编写
进行对象字典编写
进行对象字典编写
节点 3 分别接受节点 1、节点 2 的数据,需在节点 3 的对象字典中定义
RPDO1、RPDO2,其中 RPDO1 的 COB-ID 需与节点 1 的 TPDO1 的 COB-ID 一
致,RPDO2 的 COB-ID 需与节点 2 的 TPDO2 的 COB-ID 一致。
表 1-10 节点 3 的应用数据在对象字典中的定义
索引索引索引索引
子索引子索引子索引子索引
名称名称名称名称
类型类型类型类型
值值值值
权限权限权限权限
7100h
00h
入口数目
U8
02h
rw
01h
A
U16
--
rw
02h
B
U8
--
rw
7200h
00h
入口数目
U8
02h
rw
01h
C
U16
--
rw
02h
D
U8
--
rw
其中名称为 A、B、C、D 的条目起初并没有实际值,接受节点 1 和节点 2
的数据后,这些条目才具有相应的值。
1400h
表 1-11 节点 3 的 RPDO1 的通讯参数在对象字典中的定义
值值值值
数据类型
数据类型
数据类型
数据类型
—
RPDO1
00h
入口数目
U8
05h
01h 接收 PDO 标识符
U32
180h+Nod
02h
03h
04h
传输类型
禁止时间
U8
U16
eID
FFh
0
Reserved
——
——
权限权限权限权限
ro
rw
rw
rw
rw
CANopen
CANopen 工作流分析
工作流分析 V1.0
工作流分析
CANopen
CANopen
工作流分析
Date: 2011----5555----20 Copyright By Tongji University
Date: 2011
20 Copyright By Tongji University
Date: 2011
Date: 2011
20 Copyright By Tongji University
20 Copyright By Tongji University
5
机械工程学院机械设计及理论研究所
机械工程学院机械设计及理论研究所
机械工程学院机械设计及理论研究所
机械工程学院机械设计及理论研究所
05h
event timer
U16
0x0000h
rw
其中 RPDO1 的 COB-ID 为 181h,与节点 1 的 TPDO1 的 COB-ID 一致,实
现节点 1 与节点 3 之间的数据传输。
1600h
1401h
表 4-11 节点 3 的 RPDO1 的映射参数在对象字典中的定义
值值值值
数据类型
RPDO1
—
数据类型
数据类型
数据类型
00h
PDO 映射数目
01h
02h
A
B
U8
U32
U32
02h
7100 01 10h
7100 02 08h
表 4-12 节点 3 的 RPDO2 的通讯参数在对象字典中的定义
值值值值
数据类型
数据类型
数据类型
数据类型
U8
U32
U8
U16
——
U16
05h
280h+NodeID
FFh
0
——
0x0000h
—
00h
RPDO2
入口数目
01h 接收 PDO 标识符
02h
03h
04h
05h
传输类型
禁止时间
Reserved
event timer
权限权限权限权限
rw
rw
rw
权限权限权限权限
ro
rw
rw
rw
rw
rw
其中 RPDO2 的 COB-ID 为 282h,与节点 2 的 TPDO2 的 COB-ID 一致,实
现节点 2 与节点 3 之间的数据传输。
1601h
表 4-13 节点 3 的 RPDO2 的映射参数在对象字典中的定义
值值值值
数据类型
RPDO2
—
数据类型
数据类型
数据类型
00h
PDO 映射数目
01h
02h
C
D
U8
U32
U32
02h
7200 01 10h
7200 02 08h
权限权限权限权限
rw
rw
rw
4.2 节点节点节点节点 1 发送数据至节点
发送数据至节点 2、、、、节点节点节点节点 3
发送数据至节点
发送数据至节点
4.2.1 节点节点节点节点 1 发送数据至总线
发送数据至总线
发送数据至总线
发送数据至总线
节点 1 的 TPDO1 报文组装如图 1-4 所示:
CANopen
CANopen 工作流分析
工作流分析 V1.0
工作流分析
CANopen
CANopen
工作流分析
Date: 2011----5555----20 Copyright By Tongji University
Date: 2011
20 Copyright By Tongji University
Date: 2011
Date: 2011
20 Copyright By Tongji University
20 Copyright By Tongji University
6