CANopen协议分析与实现(上)

[复制链接]
查看38535 | 回复0 | 2024-3-15 09:56:47 | 显示全部楼层 |阅读模式
CANopen 协议是基于CAN 串行总线系统和应用层CAL 的高层协议, 也是一种针对于行业的标准化的协议。CANopen 协议为分布式控制及嵌入式系统的应用提供了必要的实现方法, 主要提供: ( 1) 不同CAN 设备间的互操作性、互换性。( 2) 标准化、统一的系统通讯模式。( 3) 设备描述方式和网络功能。( 4) 网络节点功能的任意扩展。

CANopen 协议以通讯规范CiA DS- 301 为基础,规定了一系列的设备规范, 如CiA DSP- 401, CiADSP- 404 等, 从而提供了配置通讯参数和数据的方法, 规定了设备间的通讯及特定设备间的特定行为( 如数字I/O、模拟I/O、RS485 通讯等) , 并定义了标准化的应用对象、基本功能以及网络功能。

CANopen 协议采用对象字典(OD) 、电子数据文档( EDS) 等一系列概念来描述设备和协议的相关信息,还规定了服务数据对象( SDO) 、过程数据对象PDO、网络管理等多种通讯机制。在本文中, 主要是对对象字典、服务数据对象( SDO) 、过程数据对象( PDO) 进行了简要的分析。

1 对象字典(OD)

对象字典是设备规范中最重要的部分。实际上,它是一组参数和变量的有序集合, 包含了设备描述及设备网络状态的所有参数, 也就是说, 通过网络可以采用有序的预定义的方式来访问的一组对象。CANopen协议采用了带有16 位索引和8 位子索引的对象字典, 对象字典的结构如表1 所示。一个主节点或配置工具能够访问从节点的对象字典中的所有值。

表1 对象字典结构



对象字典的实现是整个CANopen协议的关键。所以, 在使用对象字典来建立对象的描述时, 要能够正确描述所建立的对象含义。例如, 一个节点的两个模拟通道的对象字典的描述, 如表2 所示。对于这样的描述, 可以通过建立包含所有对象信息的库文件来实现, 以类似于C 语言的方式来实现。

表2 对象字典的描述



用于实现上述对象字典的C 语言结构:



2 电子数据文档(EDS)

电子数据文档EDS文件是一个ASCII文件文件,其内容对CANopen设备进行了详细的描述。EDS文件方便用户在不同厂家的主站系统中集成从站设备,或在主站系统中集成不同厂家的从站设备,各CANopen设备厂家都需要提供与设备相关的EDS文件。

EDS文件可以导入到不同厂家的CANopen主站配置软件中,方便用户快速配置设置参数(对象字典)。

EDS文件的结构类似于Windows的INI配置文件。



后续的介绍请关注下次微信更新内容。

(原文转载自:《嵌入式网络技术应用》,作者:王俊波、胥布工 华南理工大学)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则