CANopen协议

  • 格式:pdf
  • 大小:1.41 MB
  • 文档页数:16

CANopen协议

⼀、CANOpen总线结构

⼴播命令

⼆、通信类型CANOpen有三种通信⽅式:

主/从通信⽅式

服务器/客户端通信⽅式

⽣产商/顾客通信⽅式2.1主/从通信⽅式(NMT)对某⼀特点功能⽽⾔,⼀个⽹络中只有⼀个主机,其他全为从机。由主机发送请求信号,从机发送相应信号(如果需要)

主机发出命令,从机作出响应,但不回送数据

主机发出命令,从机作出响应,同时回送数据确认2.2服务器/客户端通信⽅式(SDO)这种关系指发⽣在⼀个服务器和⼀个客户端之间,客户端发送命令,服务器执⾏后,回答客户端

2.3⽣产商/顾客通信⽅式(SYNC、Time Stamp、EMCY)

这种通信⽅式有Push和pull两种模式,⽹络中在这⼀个⽣产⼚,0或多个顾客。2.3.1push模式⼚商发送命令,顾客执⾏,不需回送数据

2.3.2 pull模式

⼚商发送命令,顾客执⾏,回送证实数据

三PDO传送模式PDO分为TPDO(发送PDO)与RPDO(接收PDO)两种,PDO的传送模式有两种:同步传送与异步传送。同步传送⼜分为周期传送与⾮周期传送3.1同步传送

由某⼀个同步应⽤在⽹路上周期性的发送同步对象,及发送SYNC帧,该同步应⽤可以是主机也可以是从机

PDO通信参数中的传输类型说明传送模式与触发⽅式,

TPDO:传送类型同时说明其传送率,以基本传送周期的倍数表⽰。

传送类型为0时,表⽰当某事件发⽣后,收到⼀个同步对象帧(SYNC)时,⽴刻进⾏数据传输。(⾮周期传送)

传送类型为1时,表⽰当每收到⼀次同步对象帧(SYNC)时,传送⼀次数据。(周期传送)

传送类型为n时,表⽰当每收到n次同步对象帧(SYNC)时,传送⼀次数据。(周期传送)RPDO:接收是在收到SYNC信号后,运⾏接收,独⽴于传输参数定义的传送率。

传输类型 252 为⾮周期传输,在接收到同步对象后进⾏采样但不发送,在接收到请求该数据的远程帧后发送。3.2异步传送

TPDO: 异步传送与SYNC⽆关,

传输类型 253-255 为异步传输,定义为此三种类型的 TPDO在接收到远程帧或规定的事件发⽣后进⾏传输。3.3触发模式:

触发⽅式有三种3.3.1事件触发⽅式

对于周期性传送,接收到的SYNC报⽂达到设定数量,相当于出发事件,引起⼀次发送。

对于⾮周期性传送由设备⼦协议设定的事件触发发送3.3.2定时器触发

当设定的时间达到后,触发⼀次发送3.3.3远程帧触发

在收到其他设备发送的远程帧后,启动⼀次异步传送3.4PDO协议

PDO的通信模式相当于⼚商/顾客的通信模式,包含如下参数:

PDO数量:1~512,

⽤户类型:⼚商/顾客

数据类型:由PDO映射确定

禁⽌时间:n*100ns

索引20h描述PDO的通信参数,索引21描述PDO的映射参数3.4.1写PDO

使⽤⼚商/顾客模式的PUSH形式,⼚商主动发送PDO3.4.2读PDO

使⽤⼚商/顾客模式的PULL形式,某⼀顾客发送远程帧,传送发送PDO,这是可选模式,所有的PDO都可以接收,。这种模式若PDO发送的数据量L⼤于PDO映射定义的数据量n,取前那个数据,若PDO发送的数据量L⼩于PDO映射定义的数据量n,若顾客⽀持Emergency报⽂,发送Emergency报⽂,错误代码为8210

四SDO传送模式SDO以段的形式发送,⾸先发送的是初始化阶段的段,以加速传送⽅式传送,包含4个以内字节的数据,索引为22h的对象字典描述SDO通信参数。相应的对象字典的条⽬通过下式计算:SSDO(RSDO)通信参数索引=1200h+SSDO_No-1

CSDO(TSDO)通信参数索引=1280h+CSDO_No-1

4.1SDO协议

SDO参数:

SDO数量:1~128,

⽤户类型:客户端/服务器Index和subindex的数据类型有多种形式:structure unsigned(16),unsigned(8)Index说明对象字典的条⽬,subindex说明条⽬中的具体内容

传送类型:数据在4个字节以下:加速传送

数据在4个字节以上:分段传送或块传送

数据类型:由index和subindex确定禁⽌时间:n*100ns5对象字典

5.1对象字典的通⽤格式

Index:指⽰该对象在对象字典中的位置,不包含⼦索引

Object:按照下表确定的对象名称

表37

Name:是该对象功能的简单⽂本描述

Type:提供关于对象类型的信息,可能的类型包括:BOOLEAN, floating point number, UNSIGNED Integer, Signed Integer, visible/octetstring, timeof-day, time-difference and DOMAIN,还包括预定义的复杂数据类型PDOMapping和⼚商或设备预定义的特殊的复杂数据类型

Attribute:定义从总线看向设备时的访问权限,如下所⽰

M/O:表明该对象是强制(Mandatory)的还是可选(Optional)的5.2对象字典的内容

下表给出对象字典的整体布局

表39

索引20h~23h包含预定义的复杂数据类型

索引24h~3Fh预留

索引40h~5Fh⼚家⾃由定义⾃⼰的复杂数据类型

索引60h~7Fh包含设备⼦协议说明的标准数据类型

索引80h~9Fh包含设备⼦协议说明的复杂数据类型

索引A0h~25Fh包含多功能设备模块中的数据类型

索引1000h~1FFFh包含对象字典中相关通信解释内容。这些内容称为通信条⽬,对于所有设备是⼀样的

索引2000h~5FFFh留给⼚家定义⼦协议索引6000h~9FFFh包含标准设备⼦协议参数

索引A000h~FFFFh预留

设备不必⽀持所有的数据类型,只要⽀持1000h~9FFFh中⽤到的数据类型即可

对象字典条⽬结构类型的组织

若对象字典的某⼀条⽬包含⼦⽬录,则⼦索引0的内容为⼦索引的个数,不算⼦索引为FFh 这⼀条。FFh这⼀条表⽰内容如下:

这⼀条是可选项

预定义的复杂数据类型

索引20h~23h预定义复杂数据类型:thePDO CommPar record(PDO_COMMUNICATION_PARAMETER), the PDO MappingAPPLICATION LAYER CANopen CiA82record (PDO_MAPPING), the SDO Parameter record (SDO_PARAMETER) and the Identityrecord (IDENTITY).其具体内容解析如下:

6 通信协议说明

对象字典条⽬的结构按照如下⽅式进⾏描述:所有设备

接⼝

应⽤协议6.1对象规范细节

对象代码必须是上表内容中的⼀个,为了便于阅读,对象表述还包含对象名

对于简单变量值描述只出现⼀次,且不包含sub-index和Entry Category,对于复杂数据类型必须包括上述所有内容。6.2对象字典中有关通信⽅⾯的条⽬概述

表47给出由通信⼦协议定义的对象字典相关条⽬的概况

若某设备⽀持PDO,则必须包含相应的PDO communication parameter and PDO mapping条⽬(强制),若⽀持SDO必须包含相应的SDOparameters(强制)

6.3通信⼦协议的特殊对象的详细描述

Object 1000h: 设备类型

本条包含有关设备类型的信息。描述设备类型及他的功能。有两个16位的数据组成,第⼀的16位描述所使⽤的设备⼦协议,第⼆个16位给出设备可选功能的附加信息。附加的信息参数是设备⼦协议特定的,有各⾃的设备⼦协议确定。值0000h表⽰这个设备不是标准的设备⼦协议。对于多设备模块,附加信息参数包括FFFFh且1000h所参考的设备⼦协议号是对象字典中第⼀个设备的设备⼦协议,其他设备⼦协议的设备⼦协议存储在67FFh+x*800h的对象内,x=内部设备号(0~7)。

数据类型

下表是CANOpen⽀持的数据类型,这些数据类型的编码表如下:第⼀列是在IEC 61131-3中的定义,第⼆列是在CANOpen中的等价定义,第三列是数据对应的数据长度,第四列是该数据类型对应的实际编码

下表的数据类型不能通过PDO发送下表中是不同数据类型之间如何进⾏转换

预定义的连接集CAN的帧结构

COB_ID即11位仲裁区

1.CAN初始化:

1.1初始化本节点ID

⼼跳报⽂(包括发送时间间隔,报⽂ID,长度以及数据初始化为0)SDO 响应/中⽌报⽂(包括报⽂ID,长度以及数据初始化为0)

1.2初始化RPDO

①检查RPDO 数⽬的范围和节点ID 的范围(1-127) 以及PROD 指向过程映射数组的偏移量(offset) 是否超过映射数组的最⼤范围;

②初始化通讯⼦索引(通讯参数的个数) 的数⽬,传输类型,事件定时周期,数据长度,偏移量(offset) 和ID。

1.3初始化TPDO

①检查TPDO 数⽬和节点ID 的范围(1-127) 、数据长度(1-8) 和事件定时周期、禁⽌时间的设置(两个变量⾄少定义⼀个) 以及offset(指向过程数组的偏移量) 是否超过映射对象的范围;②初始化通讯⼦索引,传输类型,数据长度,偏移量,接收同步对象计数器,ID,时间定时周期,时间定时周期计数器,禁⽌时间,禁⽌时间计数器。1.4 初始化同步报⽂

设置同步对象的ID,长度,发送周期以及周期计数器2.进⼊预操作状态2.1发送boot_up报⽂

2.2根据需要发送SYNC报⽂

2.3处理接收到的NMT、SDO报⽂