CANopen对象字典生成办法

caocao1年前教程197

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi

各位好 又见面了 我是曹操 今天给大家带来一篇新的教程

希望各位细心学习 低调用网

引言

CANopen协议是一种基于控制器局域网(CAN)的应用层协议,具有实时高效、组网灵活和产品兼容性高等优势。在国内,CANopen协议越来越受到青睐,并在各个领域广泛应用,包括过程与生产自动化、医疗、铁路、军事、太阳能等等。目前,CANopen协议由CiA(CANinAutomation)组织负责管理与推广。

对象字典是CANopen通信接口与应用程序之间的接口,是CANopen协议的重要组成部分。在CANopen网络中,每个标准的CANopen设备都有一个对象字典,用来描述设备的全部功能。

在CANopen配置或开发工程中,对象字典的创建与管理是不可或缺的步骤,也是保证CANopen正常通信的重要保障。对于简单的CANopen系统工程,手动编写对象字典是可行的。但是对于复杂的、通信量庞大的CANopen工程,仅依靠人工编写对象字典效率较低,同时容易出现错误,可能给工程带来潜在的危险。为了提高对象字典的编辑效率,同时最大限度地避免错误,本文介绍了一个快速可靠的对象字典生成器ODBuilder,为CANopen工程的对象字典生成与修改提供了一个很好的解决方案。

一、对象字典结构与EDS文件描述

1.1 对象字典结构

对象字典是一个有序的对象组,每个对象采用一个16位的索引值来寻址,并定义了一个8位的子索引。对象字典中的索引值0000-0x0FFF用于定义数据类型,而一个CANopen节点的对象字典相关的常用范围在0x1000到0x9FFF之间。其中,索引1000h-1FFFh描述的是通信对象(COB),如设备类型、错误寄存器、支持的PDO数量等,该参数定义了CANopen接口的通信功能。索引2000h-5FFFh是预留给制造商定义的特定对象。索引000h-9FFFh用于标准化设备子协议的对象描述,例如I/O模块子协议、驱动与运动控制设备子协议、传感器与测量设备子协议、医疗器材子协议、电梯子协议等。CANopen对象字典的通用结构如下表所示:

| 索引 | 对象 | |------------|--------------| | 0000h | 未用 | | 0001-001F | 静态数据类型 | | 0020-003F | 复杂数据类型 | | 0040-005F | 制造商规定的复杂数据类型 | | 0060-007F | 设备子协议规定的静态数据类型 | | 0080-009F | 设备子协议规定的复杂数据类型 | | 00A0-0FFF | 保留 | | 1000-1FFF | 通讯子协议区域 | | 2000-5FFF | 制造商特定子协议区域 | | 6000-9FFF | 标准的设备子协议区域 | | A000-FFFF | 保留 |

1.2 EDS文件描述

在CANopen网络中,每个节点都有一个对象字典,而对象字典的载体与保存方式是电子数据表(EDS),它是一种标准化的ASCII格式的描述文件。EDS文件不仅记录了对象字典的所有参数,还对设备及其配置进行了标准化的描述。因此,EDS文件是对象字典的载体与保存方式。

二、对象字典的实现

通常情况下,可以将所有的CANopen通信描述条目放在一个表格中,并使用索引来访问所有的对象。然而,这种方法只适用于系统简单、通信参数少、非CANopen通信标准化的产品,并且对象字典的修改与管理工作都较为繁琐。因此,本文介绍了一种动态输入掩码的对象字典生成器ODBuilder,它可以显示各个参考的对象类型,实时检查并修正对象字典的正确性。ODBuilder生成的对象字典符合CANopen标准规范CiADS301以及设备描述符合EDS标准文件CiADSP306规范,具有通用性。

三、对象字典生成器ODBuilder

3.1 对象字典生成原理

对象字典生成器ODBuilder根据CANopen通信协议的访问对象字典机制,通过固定的索引和子索引来创建每一个CANopen对象字典条目。对象字典条目表格提供了指向存储器中某个变量的指针,应用程序可以直接通过变量名称访问所需的条目。因此,对象字典条目列表构成了索引/子索引与变量名称之间的接口。为了方便对象的查找,对象字典列表分为几个不同的块,用户可以通过索引查找相应的列表,然后通过偏移量访问该列表中所需的单元。在生成对象字典时,首先创建访问类型、数据类型和指针变量等结构体,然后将其与应用变量建立相关联的索引条目。此外,还会编辑一个包含指向子索引字段的指针列表,方便查找相关条目。

3.2 对象字典生成过程

对象字典生成器ODBuilder创建一个简明树形结构的对象字典工程,方便修改与访问对象字典条目。在编辑对象字典条目过程中,无需手工输入不同条目的数据类型,直接通过下拉选项选择对应类型。ODBuilder会实时检查对象字典条目的输入正确性,并提供修正参考。最后,可以导出符合CiADSP306规范的标准EDS文件。ODBuilder的对象字典生成过程原理框图如下图所示:

对象字典生成过程原理框图

3.3 创建简明树型条目

根据对象字典条目的分布特性,ODBuilder将创建的对象字典以简明的树型结构排列,索引值由小到大。用户可以直接点击条目来访问或修改某一索引。如下图所示:

树型结构索引结构

3.4 编辑对象字典索引属性

  1. 根据CANopen协议规范,可以灵活设定索引的"可选"、"制造商"、"强制"属性。例如,对于索引0x1000h,通常用于设备类型,如果作为从站的产品,该索引通常具有"强制"属性,ODBuilder会自动设置为"强制"属性。

  2. 可选择索引是否存储在非易失存储器、ROM或RAM中,根据不同CANopen设备的存储需求进行设置。

  3. 通过下拉条选择索引的对象参数、数据类型、访问类型。同时,可以选择该索引条目是否具有PDO映射功能。

  4. 根据对象参数属性,如果选择为变量,默认值、最小值和最大值可以进行输入。

  5. 子索引会自动继承索引的属性,无需重新设定存储属性和PDO映射参数。

3.5 检查输入正确性

在复杂的CANopen系统工程中,ODBuilder会实时检查对象字典的输入,确保每个属性参数都正确输入,避免遗漏。例如,如果编辑对象字典时遗漏索引标识符(Designator)的输入,ODBuilder会提示用户进行输入。同样,如果遗漏索引值、对象类型、数据类型、访问类型等任何一项,都会有相应的输入提示。

检查输入提示

3.6 导出EDS文件

当完成对象字典的编辑,ODBuilder的检查功能可以大大减少输入错误,并且可以导出符合CiADSP306规范的EDS文件。该文件不仅包含了CANopen设备的对象字典内容,还包括文件描述信息和设备信息。

生成EDS

结语

本文介绍了一种快速可靠的对象字典生成器ODBuilder,它可以灵活创建和修改CANopen的对象字典,并生成符合标准规范的EDS文件。ODBuilder已经成功应用于多个行业设备的对象字典生成,包括医疗器材、运动控制、轨道运输等。

参考文献:

[1] Olaf Pfeiffer, Andrew Ayre, Christan Keydel, "Embedded Networking with CAN and CANopen", 2008, pp. 42-56.

[2] Holger Zeltwanger, "现场总线CANopen设计与应用", 2011, pp. 62-75.

[3] CiA Draft Standard 306, Version 1.3, 01 January 2005.

[4] CANopen Object Dictionary Software ODBuilder Manual, Edition August 2008.

联系信息:

  • 地址:北京市海淀区中关村大街18号B座15层1530室
  • 电话:(010)82350740
  • 邮编:100190

相关文章

Kali Linux 是什么,你需要它吗? | Linux 中国

Kali Linux 是什么,你需要它吗? | Linux 中国

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 如果你听到一个 13 岁...

kali linux无需字典能破解wpa密码吗?

kali linux无需字典能破解wpa密码吗?

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 tags: 篇首语:本文...

如何破解TP link WR841N路由器无线网络

如何破解TP link WR841N路由器无线网络

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 翻译:secist 预...

Kali密码攻击之——离线攻击工具

Kali密码攻击之——离线攻击工具

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 在渗透测试中,在线密码攻...