CANopen协议介绍

  

1. CANopen协议简介

,,,,从OSI网络模型的角度来看,总能线只定义了OSI网络模型的第一层(物理层)和第二层(数据链路层),而在实际设计中,这两层完全由硬件实现,设计人员无需再为此开发相关软件或固件。

,,,,同时,可以只定义物理层和数据链路层,没有规定应用层,本身并不完整,因此需要一个高层协议来定义可以报文中的11/29位标识符和8字节数据的使用。而且,基于总能线的工业自动化应用中、越来越需要一个开放的,标准化的高层协议:这个协议支持各种可以厂商设备的互用性,互换性,能够实现可以在网络中提供标准的,统一的系统通讯模式,提供设备功能描述方式,执行网络管理功能。

,,,, CANopen协议是CAN-in-Automation (CiA)   定义的标准之一,并且在发布后不久就获得了广泛的承认,尤其是在欧洲,CANopen协议被认为是在基于   的工业系统中占领导地位的标准。大多数重要的设备类型,例如数字和模拟的输入输出模块,驱动设备,操作设备,控制器,可编程控制器或编码器,都在称为“设备描述”的协议中进行描述;“设备描述“定义了不同类型的标准设备及其相应的功能。依靠CANopen协议的支持,可以对不同厂商的设备通过总线进行配置。

,,,,在OSI模型中,可以标准,CANopen协议之间的关系如图1 - 1所示。

,,,,,,,,,,,,,,,,,,,,,,,,,, CANopen协议介绍

图1-1 可以标准,CANopen协议在OSI网络模型中的位置框图

,,,, CANopen和可以报文的关系如图1 - 2所示。

,,,,,,,,,,,,,,,,,,,,,,,,,,,,, CANopen协议介绍

图1-2 CANopen和可以报文的关系如所示。

,,,,可以报文由7个不同的位域组成,而CANopen就是规定其中的仲裁域(11位标识符)和数据域(8字节数据)的使用情况。

2. CANopen设备结构

,,,, CANopen是一个基于可以串行总线系统和卡尔(应可以用层)的高层协议。   CANopen的核心概念是设备对象字典(OD):   ObjectDictionary), CANopen通讯通过对象字典(OD)能够访问驱动器的所有参数.CANopen设备结构如图2所示。

,,,,,,,,,,,,,,,,,,,,,,,,,,,,, CANopen协议介绍

图2-1 CANopen设备结构

2.1,CANopen对象字典

,,,, CANopen对象字典(对象字典、OD)是CANopen协议最为核心的概念。所谓的“对象字典”,就是一个有序的对象组,每个对象采用一个16位的索引值来寻址。为了访问数据结构中的元素,同时定义了一个8位的子索引,对象字典的结构如表2 - 1所示。

表2-1 对象字典结构

,,,,,,,,,,,,,,,,,,, CANopen协议介绍

,,,, CANopen网络中每个节点都有一个对象字典。对象字典包含了描述这个设备和它的网络行为的所有参数。

,,,, CANopen对象字典中的项由一系列子协议来描述。子协议描述对象字典中每个对象的功能,名字,索引,子索引,数据类型,读/写属性,以及这个对象是否必需等,从而保证不同厂商的同类型设备兼容。

,,,, CANopen协议的核心描述子协议是DS301,包括CANopen协议应用层及通信结构描述,其他子协议都是对DS301协议描述文本的补充与扩展。

,,,, CANopen协议包含许多子协议,其主要划分为以下3类:

<强>,,,,1只;通信子协议

,,,,通信子协议(通讯配置文件)描述对象字典的主要形式,以及对象字典中的通信对象和参数。这个子协议适用于所有的CANopen设备,其索引值范围为0 x1000 ~ 0 x1fff。

<>强,,,,2只;制造商自定义子协议

,,,,对于在设备子协议中未定义的特殊功能,制造商可以在制造商自定义子协议(手机生产商的特殊用户   配置文件)中根据需求定义对象字典项,因此,这个区域对不同厂商来说,相同的对象字典项的定义不一定相同,其索引值范围为0 x2000 ~ 0 x5fff。

<强>,,,,3只;设备子协议

,,,,设备子协议(设备)为各种不同类型设备定义对象字典中的对象,其索引值范围为0 x6000 ~ 0 x9fff。

2.2,CANopen通信

,,,,在CANopen协议中主要定义网络管理对象(NMT)服务数据对象(SDO),过程数据对象(PDO),预定义报文或特殊功能对象4种对象。

<强> 2.2.1 网络管理对象

CANopen协议介绍