CANopen总线协议的基本概念

网络 网络管理
引言:作为高功效低成本的CANopen总线在越来越多的市场中取得了更高的份额。所以我们现在来了解一下有关于CANopen总线协议的相关内容。

现在通信电子设备有很多已经具备很高的智能性了。在一定程度上和计算机已经不相上下。那么,在通讯设别中,我们给大家介绍一下CANopen总线的使用。考虑到CANopen总线是开放性较好、成本较低,绝大多数欧美厂商支持的现场总线,所以要加强CANopen总线协议的学习。

CANopen总线协议包括通讯子协议(Communication Profile)和各种设备子协议(Device Profile)。通讯子协议描述对象字典的主要形式和对象字典中的通讯子协议区域中的对象,通讯参数,同时描述CANopen通讯对象,这个子协议适用于所有的CANopen设备,如CIA-DS301。设备子协议为各种不同类型设备定义对象字典中的对象,并为对象字典中的每个对象描述了它的功能、名字、索引和子索引、数据类型,以及这个对象是必需的还是可选的,这个对象是只读、只写或者可读写等等。目前已有多种不同的设备子协议,如:DS401、 DS402等。

CANopen标准的核心部分是通过对象字典(Object Dictionary)对设备功能进行描述。通过对象字典的入口可以对设备的“应用对象”进行基本网络访问,设备的“应用对象”可以是输入输出信号、设备参数、设备功能和网络变量等。CANopen设备的功能及特性以电子数据表单(EDS)的形式描述,实际的设备设置通过设备配置文件(DCF)进行描述。

大多数重要的设备类型,例如数字和模拟的输入输出模块,驱动设备,操作设备,控制器,可编程控制器或编码器,都在称为"设备子集"的协议中进行描述。设备子集定义了不同类型的标准设备及其相应的功能。依靠CANopen总线协议集的支持,可以对不同厂商的设备通过总线进行配置。

CANopen总线协议标准最核心的部分是通过对象字典(Object Dictionary)对设备功能进行描述。对象字典分为两部分,第一部分包括基本的设备信息,例如设备ID,制造商,通信参数等等。第二部分描述了特殊的设备功能。

一个16位的索引和一个8位的子索引唯一确定了对象字典的入口。通过对象字典的入口可以对设备的"应用对象"进行基本网络访问,设备的"应用对象"可以是输入输出信号,设备参数,设备功能和网络变量等等。

CANopen设备的功能及特性以电子数据单(EDS)的形式描述,EDS采用ASCII格式,可以将EDS理解成某种形式的表格。实际的设备设置通过所谓的设备配置文件(DCF)进行描述。EDS和DCF都可以从Internet上下载,并可以存储在设备之中。

象其他知名的现场总线系统一样,CANopen总线协议也分为两种基本的数据传输机制:通过进程数据对象(PDO)对小型的数据进行高速数据交换以及通过服务数据对象(SDO)对对象字典进行访问。后者主要用于在设备配置过程中传输参数以及传输大数据块。进程数据对象通常采用事件触发、循环或请求方式发送,作为广播对象,它的上层并没有附加协议。

一个PDO最大可传输8字节数据。在连接一个同步报文的时候,整个网络都可以采用同步方式对PDO进行传送和接收(Synchro-nous PDOs)。通过存储在对象字典中的PDO映射(PDO Mapping)结构,可以对应用对象到PDO对象的分配(Transmission Object)进行调整,这可以保证设备可以对不同的应用需求进行调整。

通过传输SDO可以实现可靠的数据传输,由两个CAN对象在两个网络节点间通过点对点的通信来实现这一过程。通过传输对象字典的索引以及子索引,可以定位相应的对象字典入口。通过SDO传送报文可以不受长度的限制,但传送SDO报文需要额外的协议开销。

标准化的事件触发的高优先级突发报文用于报告设备故障,可以通过中心时钟报文来提供整个系统的系统时钟。准备和协调建立一个分布式的自动化系统所需的功能都适于CAL网络管理(NMT)定义的机制,同样可应用于周期性的节点维护(node guarding)。

可以选择通过"Heartbeat Message"来显示CANopen总线协议的设备通信能力。PDO和SDO的CAN报文标识符可以直接通过对象字典的数据结构的入口标志符进行分配,或者,在简单的系统中,也可用预定义的标志符。

责任编辑:佟健 来源: hi.baidu
相关推荐

2010-06-08 16:11:10

SPI总线协议

2010-07-01 15:58:31

CANopen总线协议

2010-06-08 16:55:46

CANopen总线协议

2010-06-17 23:38:17

CANopen总线协议

2010-08-23 16:58:17

DHCP协议

2010-07-07 15:17:40

LDAP协议

2010-06-24 13:26:53

FTP协议

2009-03-20 11:46:10

MGCP协议网关

2010-06-29 13:00:49

EIGRP协议

2010-06-12 14:12:22

RSVP协议

2010-07-02 10:50:53

NetBIOS协议

2010-07-07 17:32:45

2010-06-29 15:58:26

Linux SNMP协

2010-09-10 12:44:59

CLNP无连接网络协议

2010-06-21 18:04:08

2010-07-02 11:48:30

RS-232C协议

2011-03-28 11:05:17

ODBC

2022-11-24 14:06:51

网络蓝牙

2012-09-11 14:39:03

Moosefs

2014-04-16 15:11:19

Spark
点赞
收藏

51CTO技术栈公众号