PXF0888-[CANopen协议]-CANopen协议简介

Shanghai Passiontech Tech, 021-51870017, sales@51Lm.cn

     
     
     

[CANopen协议]-CANopen协议简介


型号: PXF0888


简介:CANopen协议介绍1、介绍 从OSI 网络模型的角度来看同,现场总线网络一般只实现了第1 层(物理层)、第2 层(数据链路层)、第7 层(应用层)。因为现场总线通常只包括一个网段,因此不需要第3 层(传输层)和第4 层(网络层),也不需要第5 层(会话层)第6 层(描述层)的作用。CAN(Controller Area Net...
品牌 ixxat ixxat
产地德国
型号PXF0888
折扣其他电询

CANopen协议介绍

1、介绍
从OSI 网络模型的角度来看同,现场总线网络一般只实现了第1 层(物理层)、第2 层(数据链路层)、第7 层(应用层)。因为现场总线通常只包括一个网段,因此不需要第3 层(传输层)和第4 层(网络层),也不需要第5 层(会话层)第6 层(描述层)的作用。
CAN(Controller Area Network)现场总线仅仅定义了第1 层、第2 层(见ISO11898 标准);实际设计中,这两层完全由硬件实现,设计人员无需再为此开发相关软件(Software)或固件(Firmware)。
同时,CAN只定义物理层和数据链路层,没有规定应用层,本身并不完整,需要一个高层协议来定义CAN 报文中的11/29 位标识符、8 字节数据的使用。而且,基于CAN 总线的工业自动化应用中,越来越需要一个开放的、标准化的高层协议:这个协议支持各种CAN 厂商设备的互用性、互换性,能够实现在CAN 网络中提供标准的、统一的系统通讯模式,提供设备功能描述方式,执行网络管理功能。
 应用层(Application layer):为网络中每一个有效设备都能够提供一组有用的服务与协议。
 通讯描述(Communication profile):提供配置设备、通讯数据的含义,定义数据通讯方式。
 设备描述(Device proflile):为设备(类)增加符合规范的行为。
下面的章节将介绍基于CAN 的高层协议:CAL 协议和基于CAL 协议扩展的CANopen 协议。CANopen 协议是CAN-in-Automation(CiA)定义的标准之一,并且在发布后不久就获得了广泛的承认。尤其是在欧洲,CANopen 协议被认为是在基于CAN 的工业系统中占领导地位的标准。大多数重要的设备类型,例如数字和模拟的输入输出模块、驱动设备、操作设备、控制器、可编程控制器或编码器,都在称为“设备描述” 的协议中进行描述;“设备描述”定义了不同类型的标准设备及其相应的功能。依靠 CANopen 协议的支持, 可以对不同厂商的设备通过总线进行配置。
在OSI 模型中,CAN 标准、CANopen 协议之间的关系如下图所示:
 

2、CAL 协议
CAL(CAN Application Layer)协议是目前基于CAN 的高层通讯协议中的一种,最早由Philips医疗设备部门制定。现在CAL由独立的CAN用户和制造商集团CiA(CAN in Automation)协会负责管理、发展和推广。
CAL 提供了4 种应用层服务功能:
 CMS (CAN-based Message Specification)
CMS提供了一个开放的、面向对象的环境,用于实现用户的应用。CMS提供基于变量、事件、域类型的对象,以设计和规定一个设备(节点)的功能如何被访问(例如,如何上载下载超过8字节的一组数据(域),并且有终止传输的功能)。CMS 从 MMS (Manufacturing Message Specification)继承而来。MMS 是OSI 为工业设备的远程控制和监控而制定的应用层规范。
 NMT (Network ManagemenT)
提供网络管理(如初始化、启动和停止节点,侦测失效节点)服务。这种服务是采用主从通讯模式(所以只有一个NMT 主节点)来实现的。
 DBT (DistriBuTor)
提供动态分配CAN ID(正式名称为COB-ID,Communication Object Identifier)服务。这种服务是采用主从通讯模式(所以只有一个 DBT 主节点)来实现的。
 LMT (Layer ManagemenT)
LMT 提供修改层参数的服务:一个节点(LMT Master)可以设置另外一个节点(LMT Slave)的某层参数(如改变一个节点的NMT 地址,或改变CAN 接口的位定时和波特率)。

CMS 为它的消息定义了8 个优先级,每个优先级拥有220 个COB-ID,范围从1 到1760。剩余的标志(0,1761-2031)保留给NMT,DBT和LMT,见表2-1。
 

点击查看原图
注意这是CAN2.0A 标准,11 位ID 范围【0,2047】,由于历史原因限制在【0,2031】。如果使用CAN2.0B标准,29 位ID 并不改变这个描述;表中的11 位映射到29 位COB-ID 中的最高11 位,以至于表中的COB-ID范围变得增大许多。
 
3、CANopen
CAL提供了所有的网络管理服务和报文传送协议,但并没有定义CMS对象的内容或者正在通讯的对象的类型(它只定义了how,没有定义 what)。而这正是CANopen切入点。
CANopen 是在CAL 基础上开发的,使用了CAL 通讯和服务协议子集,提供了分布式控制系统的一种实现方案。CANopen 在保证网络节点互用性的同时允许节点的功能随意扩展:或简单或复杂。
CANopen 的核心概念是设备对象字典(OD:Object Dictionary),在其它现场总线(Profibus,Interbus-S)系统中也使用这种设备描述形式。注意:对象字典不是CAL 的一部分,而是在CANopen 中实现的。
下面先介绍对象字典(OD:Object Dictionary),然后再介绍CANopen 通讯机制。
 
3.1 对象字典OD
对象字典(OD:Object Dictionary)是一个有序的对象组;每个对象采用一个16 位的索引值来寻址,为了允许访问数据结构中的单个元素,同时定义了一个8 位的子索引,对象字典的结构参照表3-1。不要被对象字典中索引值低于0x0FFF 的‘data types’项所迷惑,它们仅仅是一些数据类型定义。一个节点的对象字典的有关范围在0x1000 到 0x9FFF 之间。
 
点击查看原图
 
CANopen 网络中每个节点都有一个对象字典。对象字典包含了描述这个设备和它的网络行为的所有参数。
一个节点的对象字典是在电子数据文档(EDS:Electronic Data Sheet)中描述或者记录在纸上。不必要也不需要通过CAN-bus“审问”一个节点的对象字典中的所有参数。如果一个节点严格按照在纸上的对象字典进行描述其行为,也是可以的。节点本身只需要能够提供对象字典中必需的对象(而在CANopen 规定中必需的项实际上是很少的),以及其它可选择的、构成节点部分可配置功能的对象。
CANopen 由一系列称为子协议的文档组成。
通讯子协议(communication profile),描述对象字典的主要形式和对象字典中的通讯子协议区域中的对象,通讯参数。同时描述CANopen 通讯对象。这个子协议适用于所有的 CANopen 设备。
还有各种设备子协议(device profile),为各种不同类型设备定义对象字典中的对象.目前已有5 种不同的设备子协议,并有几种正在发展。
设备子协议为对象字典中的每个对象描述了它的功能、名字、索引和子索引、数据类型,以及这个对象是必需的还是可选的,这个对象是只读、只写或者可读写等等。
注意:一个设备的通讯功能、通讯对象、与设备相关的对象以及对象的缺省值由电子数据文档(EDS:Electronic Data Sheet)中提供。
单个设备的对象配置的描述文件称作设备配置文件(DCF:Device Configuration File),它和 EDS 有相同的结构。二者文件类型都在 CANopen 规范中定义。
设备子协议定义了对象字典中哪些OD对象是必需的,哪些是可选的;必需的对象应该保持最少数目以减小实现的工作量。
可选项――在通讯部分和与

url: http://www.51lm.cn/p/templates/cn/show.php?cid=0&aid=888

 

电话400-878-1895, 传真:021-51561359 邮箱:sales@51LM.cn
sales@51LM.cn 上海徐汇区斜土路2601号嘉汇广场T1-11B