CANopen协议—PDO介绍 下载本文

内容发布更新时间 : 2024/5/16 4:03:32星期一 下面是文章的全部内容请认真阅读。

机械工程学院机械设计及理论研究所

目录第一章 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工作流分析 V1.0

Date: 2011-5-20 Copyright By Tongji University i

机械工程学院机械设计及理论研究所

第一章 PDO实例分析

一、目的:

实例的目的如图1-1所示,实现节点1的数据(A、B)传送到节点2、节点3,同时实现节点2传输数据(C、D)至节点3 。

图1-1 数据传输目的

二、手段:

使用PDO进行数据传送。

三、分析:

图1-2 SDO客户/服务器通讯模式

[1]

PDO通信是基于生产者/消费者(Producer/Consumer)模型,主要用于

传输实时数据。产生数据的节点将带有自己节点号的数据放到总线上,需要该数据的节点可以配置为接收该节点发送的数据[3]。

CANopen工作流分析 V1.0

Date: 2011-5-20 Copyright By Tongji University 1

机械工程学院机械设计及理论研究所

四、过程:

4.1.对象字典的编写

对象字典的结构和条目对于所有设备是共同的,本例中采用索引定位,子索引确定对象的思想构建对象字典,方法是使用结构体定义子索引,子索引结构体的成员变量包含对象的属性(读写权限,数据类型,数据长度等)和指向对象的指针,定义索引时包含指向子索引的指针和子索引数目,对象字典各项在代码中采取如图1-3所示的方式来组织构建,这样可以方便地通过索引和子索引一找到对应的项,对象定义为指针的形式可以通过主站的SDO报文进行读写,实现对对象字典的灵活配置,同时这种方式实现通讯层与应用层共享数据变量的特点。对象字典的条目格式如图1-3所示:

索引 对象(符号名)

名称 属性 类型 强制/可选 图1-3 对象字典模块结构图

4.1.1各节点ID分配表定义

表1-1 各节点ID分配表

节点 NODE-ID 节点1 节点2、 节点3 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 01h 02h 名称 入口数目 A B 类型 U8 U16 U8 值 02h 2DFFh C3h 权限 rw rw rw 表1-3 节点1的TPDO1通讯参数在对象字典中的定义

1800h — 00h 01h TPDO 入口数目 发送PDO标识符 数据类型 U8 U32 值 05h 180h+NodeID 权限 ro rw CANopen工作流分析 V1.0

Date: 2011-5-20 Copyright By Tongji University 2