OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4475|回复: 1

canopen对象字典

[复制链接]

160

主题

967

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2097
金钱
2097
注册时间
2014-3-7
在线时间
491 小时
发表于 2018-9-5 15:00:19 | 显示全部楼层 |阅读模式
本帖最后由 ssssssssssss 于 2018-9-5 15:04 编辑

哪个大神可以通俗解释canopen里的一下对象字典?[size=14.6667px]
[size=14.6667px]4.2对象字典4.2.1对象字典的结构


图23对象字典的结构

对象字典是CANOpen最重要的特性,它将设备的描述标准化。

对象字典中的每一个对象都由16位的索引和8位的子索引来寻址。对于单个的对象字典项子索引总是0.所以一个数据字典最多有65536项。

静态数据类型包含标准数据类型的定义,比如BOOLEAN, INTEGER, floating, string,等。

复杂数据类型包含那些由标准数据类型构成的预定义的数据结构,他们对所有设备都是通用的。

制造商定义的复杂数据类型是由标准数据类型构成的数据结构,但是这些数据类型只是特定的设备使用。

设备子协议可能会为它们的设备定义一些额外的数据类型其中静态数据类型存放在0060-007F,复杂数据类型存放在0080-009F。

通讯子协议区指定了CAN网络的一些参数,它们对所有设备都是通用的。

标准设备子协议区包含了一类设备的所有数据对象。它们可以通过CAN网络读写。

[size=14.6667px]4.2.2数据类型



图24基本的数据类型

CANOpen协议的基本数据类型如图24所列。

[size=14.6667px]4.2.2.1整数的表示方式

以INTEGER32为例:b=b0b1…b31


4.2.2.2浮点数的表示方式

以REAL32为例:b=b0b1…b31





4.2.3对象的表示方式
Index (hex)
Object
(Symbolic Name)
Name
Type
Attrib.
M/O

图25对象的基本属性

一个对象有上图所示的6种基本属性。

十六进制的index指示了对象在对象字典中的位置。其中不包含子索引。

Object列指示了对象的类型,如下图所示


Name是用来表示对象作用的文本。

Type指定数据类型。比如Boolean, Usigned8。如果对象是一个复杂类型,比如ARRAY。就会用子索引来指定组成复杂类型的每个基本类型。

Attrbi指定了对象的方位类型。如下图


M/O指定对象是必须的还是可选的。


4.2.4标识身份的对象

对象字典中的对象很多,但有几个是用来识别设备身份的,经常用到。


图26用来身份识别的几个对象


图27 Identity Object的子对象

1008h记录设备的名字,1009h记录设备的硬件版本号,100Ah记录设备的软件版本号。1018h记录了设备的制造商代码,产品号,序列号等。


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2020-2-1
在线时间
3 小时
发表于 2020-2-3 13:49:33 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-20 06:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表