养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

CAN总线基础知识-CANopen协议介绍

时间:2024-10-10 05:20:50

学习CAN总线基础知识时,会遇到很多不懂的问题,其中CANopen协议作为CAN总线的高层协议,往往是CAN总线入门学习的门槛,涉及的基本概念比较多,也比较抽象,今天凭借广成的CANopen主从站设备,为大家介绍下CANopen协议。

CAN总线基础知识-CANopen协议介绍

工具/原料

广成CANopen主从站设备

CANopen基本概念

1、CANopen是在CAL基础上开发的,使用了CAL通讯和服务协议子集,提供了分布式控制系统的一种实现方案。CANopen在保证网络节点互用性的同时允许节点的功能随意扩展:或简单或复杂

CAN总线基础知识-CANopen协议介绍

2、CANopen的核心概念是设备对象字典(OD:ObjectDictionary),在其它现场总线(Profibus,Interbus-S)。系统中也使用这种设备描述形式。注意:对象字典不是CAL的一部分,而是在CANopen中实现的。

CANopen协议-对象字典OD

1、对象字典(OD:ObjectDictionary)是一个有序的对象组;每个对象采用一个16位的索引值来寻址,为了允许访问数据结构中的单个元素,同时定义了一个8位的子索引。

CAN总线基础知识-CANopen协议介绍

2、CANopen网络中每个节点都有一个对拇峨镅贪象字典。对象字典包含了描述这个设备和它的网络行为的所有参数。一个节点的对象字典是在电子数据文档(EDS:Electron足毂忍珩icDataSheet)中描述或者记录在纸上。不必要也不需要通过CAN-bus“审问”一个节点的对象字典中的所有参数。如果一个节点严格按照在纸上的对象字典进行描述其行为,也是可以的。节点本身只需要能够提供对象字典中必需的对象(而在CANopen规定中必需的项实际上是很少的),以及其它可选择的、构成节点部分可配置功能的对象。

CANopen协议-子协议

1、通讯子协议(communicationprofile),描述对象字典的主要形式和对象字典中的通讯子协议区域中的对象,通讯参数。同时描述CANopen通讯对象。这个子协议适用于所有的CANopen设备。

2、还有各种设备子协议(deviceprofile),为各种不同类型设备定义对象字典中的对象。目前已有5种不同的设备子协议,并有几种正在发展。设备子协议为对象字典中的每个对象描述了它的功能、名字、索引和子索引、数据类型,以及这个对象是必需的还是可选的,这个对象是只读、只写或者可读写等等。

CANopen协议-CANopen通讯

1、CANopen通讯模型定义了4种报文(通讯对象):1.管理报文2.服务数据对象SDO(ServiceDataObject)3.过程数据对象PDO(ProcessDataObject)4.预定义报文或者特殊功能对象

CAN总线基础知识-CANopen协议介绍

CANopen协议-CANopen预定义连接集

1、为了减小简单网络的组态工作量,CANopen定义了强制性的缺省标识符(CAN-ID)分配表。这些标志符在预操作状态下可用,通过动态分配还可修改他们。CANopen设备必须向它所支持的通讯对象的提供相应的标识符。缺省ID分配表是基于11位CAN-ID,包含一个4位的功能码部分和一个7位的节点ID(Node-ID)部分。

CAN总线基础知识-CANopen协议介绍

2、Node-ID由系统集成商定义,例如通过设备上的拨码开关设醅呓择锗置。Node-ID范围是1~127(0不允许被使用)。预定义的连接集定义了4个接收惺绅寨瞀PDO(Receive-PDO),4个发送PDO(Transmit-PDO),1个SDO(占用2个CAN-ID),1个紧急对象和1个节点错误控制(Node-Error-Control)ID。也支持不需确认的NMT-Module-Control服务,SYNC和TimeStamp对象的广播。缺省ID分配表如表3-3所示。

CAN总线基础知识-CANopen协议介绍

CANopen协议-CANopen标识符分配

1、ID地址分配表与预定义的主从连接集(set)相对应,因为所有的对等ID是不同的,所以实际上只有一个主设备(知道所有连接的节点ID)能和连接的每个从节点(最多127个)以对等方式通讯。两个连接在一起的从节点不能够通讯,因为它们彼此不知道对方的节点ID。比较上表的ID映射和CAL的映射,显示了具有特定功能的CANopen对象如何映射到CAL中一般的CMS对象。

2、CANopen网络中CAN标识符(巡綮碣褂或COB-ID)分配3种不同方法:1.使用预定义的主从连接集。惺绅寨瞀ID是缺省的,不需要配置。如果节点支持,PDO数据内容也可以配置。2.上电后修改PDO的ID(在预操作状态),使用(预定义的)SDO在节点的对象字典中适当位置进行修改。3.使用CALDBT服务:节点或从节点最初由它们的配置ID指称。节点ID可以由设备上的拨码开关配置,或使用CALLMT服务进行配置。当网络初始化完毕,并且启动后,主节点首先通过”Connect_Remote_Node”报文(是一个CALNMT服务)和每个连接的从设备建立一个对话。一旦这个对话建立,CAN通讯ID(SDO和PDO)用CALDBT服务分配好,这需要节点支持扩展的boot-up

© 一点知识