新闻中心

EEPW首页>嵌入式系统>设计应用> CANopen对象字典生成办法

CANopen对象字典生成办法

作者: 时间:2016-12-16 来源:网络 收藏

二、对象字典的实现

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

三、对象字典生成器ODBuilder

3.1对象字典生成原理

对象字典生成器ODBuilder生成对象字典的原理是根据CANopen通信协议的访问对象字典的机制,通过固定的索引、子索引来创建每一个CANopen对象字典条目。访问对象字典示意图如图3.1所示。

图3.1CANopen访问对象字典

对象字典条目表格提供一个指向存储器中某个变量的指针,而应用程序可直接通过变量名称访问所需的条目。因此对象字典条目列表就构成了索引/子索引与对应变量名称之间的接口。

对象字典列表分为几个不同的块,目的为了方便对象的查找。通常分为用户可通过索引查找相应的列表(如通信CommunicationProfileArea),再通过偏移量访问该列表中所需的单元。因此在生成对象字典时为了描述索引里的单元,就先创建该单元的访问类型、数据类型和指针变量等的结构体。然后利用创建好的结构体与应用变量建立相关联的索引条目。此外,还会编辑一个包含指向子索引字段的指针列表,方便查找相关条目。

3.2对象字典生成过程

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

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

3.3创建简明树型条目

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

图3.3树型结构索引结构

3.4编辑对象字典索引属性

1.根据CANopen协议CiADSP306规范,输入不同的索引值,可灵活设定其“可选”、“制造商”、“强制”属性。以编辑0x1000h索引为例,如图3.3.1所示,通常用于DeviceType,如果作为从站的产品,该索引通常为“强制”属性,ODBuilder将其自动设置为“强制”属性。

图3.4.1编辑对象字典索引属性

2.根据不同的CANopen设备的存储需要,可选择索引是否存储在非易失存储器以及ROM或者RAM中。

3.索引的对象参数、数据类型、访问类型等直接通过下拉条选择,如图3.3.2所示,另外可选该索引条目是否有PDO映射功能。



评论


技术专区

关闭