0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CANOpen系列教程09 _CANOpen对象字典

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-06 16:31 次阅读

1写在前面

上一篇文章主要是引导大家学习CANOpen协议通信接口的相关内容。通信接口的内容有点多,对于初学者来说,如果看不懂,请多看几遍(最好有个印象)。

CANopen设备最重要的一个部分就是对象字典。对象字典本质上是一种被预先安排的对象序列,可通过网络访问。字典里面的每一对象均可使用一个16-bit主索引和8-bit子索引寻址到。

初学者学习如果难理解通信接口(上一篇)有些内容,如:PDO、SDO及网络管理对象,可以结合对象字典索引来学习和记忆。

2

对象字典重要内容

对象字典OD:Object dictionary。

一组带有 16 位索引和 8 位子索引的数据或对象。对象字典下面主要包含:数据类型、通信对象、应用对象。

对象字典主索引:

2.1 通信子协议区

通信子协议区,如上图1000h 到 1FFFh这个区域。也就是通信接口(或通信对象)协议区。

对于初学者来说,通信对象子协议区是比较重要的一个区域,牵涉到上一篇文章《通信接口》讲述的大部分内容。同时,这之间的关系也非常紧密。

通讯对象子协议区:

如上图,通讯对象子协议区又划分为几个区域,而其中的1000h 到 1029h为通用通讯对象。

通用通讯对象里面的内容已经被约定好,如果我们需要用到,可直接配置使用即可。

通用通讯对象内容:

通信子协议区的内容非常重要,也比较多,需要拆分并一个一个掌握。可结合周立功提供相关教程,以及前面提到的CiA 301手册理解。

我这里就不一一列出来了,简单再列一个通信子协议区中PDO通信参数与映射参数:

写到这里,想必很多朋友都能理解,也能明白这些内容。更多的内容,可以结合这种拆分的思路去理解。

3

对象字典生成工具

上面介绍了对象字典的一些内容,可能还是有很多初学者不明白。同时,也就可能会产生疑问:这个对象字典我们需要字典和我们代码有什么关系呢?

可以简单来说,就是一些16位索引和8位子索引对应的变量数据,来下看下代码(下面两图),加深理解:

3.1 对象字典的代码需要自己写吗?

很多初学者,包括我(之前初学时)也会产生疑问:对象字典的代码需要我们自己写吗?

答案:不用自己写。

当然,对象字典的代码可以自己写,但完全没必要。1.自己写不一定正确;2.有现成工具可以节约大量时间。

3.2 Canfestival对象字典生成工具

我微信公众号分享《CANOpen系列教程》的封面中有一行英文:Canfestival.相信学过CANOpen的朋友都应该知道我接下来会结合这套Canfestival免费开源的CANOpen架构来讲述。

其中,Canfestival里面包含我们需要的CANOpen协议源码和对象字典生成工具。

有了对象字典生成工具,对象字典的代码就可以通过它来自动生成。搭建Canfestival对象字典生成工具的环境是一个重点。

对于很多初学者来说搭建环境也是一个难点,不少初学者就卡在这一关,然后,学习CANOpen就没有继续下去了。

简单的说,搭建对象字典生成工具的环境步骤不多,可能会因为诸多因素导致搭建失败。搭建成功,运行之后会出现如下图界面:

在学习对象字典生成工具时,会看见一个词:EDS,即Electronic Data Sheet电子数据单。

像周立功的CANOpen从站模块就配有工具生成EDS文件。当然,Canfestival提供的工具也能导出EDS文件。

Canfestival对象字典生成工具搭建过程,及相关内容我将在下一篇文章详细讲述。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信协议
    +关注

    关注

    28

    文章

    737

    浏览量

    39745
  • CAN
    CAN
    +关注

    关注

    56

    文章

    2467

    浏览量

    459239
  • CANopen
    +关注

    关注

    6

    文章

    200

    浏览量

    42875
收藏 人收藏

    评论

    相关推荐

    【米尔-瑞萨RZ/G2UL开发板】5.CAN通讯进阶CANopen

    描述方式,执行网络管理功能。 1.1 对象字典 CANopen 对象字典(OD: Object Dictionary)是
    发表于 03-31 16:19

    CANopen以太网网关怎么用?

    CANopen以太网网关怎么用? CANopen以太网网关是一种连接CANopen总线和以太网的设备,它提供了在CANopen网络和以太网之间传输数据的功能。本文将详细介绍
    的头像 发表于 02-02 16:59 234次阅读

    EtherCAT转CANopen网关在工业领域的应用方法

    在工业领域中,EtherCAT转CANopen网关是一种重要的通讯设备,它能够实现EtherCAT协议与CANopen协议之间的转换,从而让不同的设备之间能够进行通讯。 以下是EtherCAT转
    发表于 01-31 14:54

    Profinet协议转换为CanOpen协议来连接CanOpen伺服驱动器的应用

    局域网(CAN)网络的通信协议,被广泛应用于汽车和其他嵌入式系统中。对于将Profinet协议转换为CanOpen协议以链接台达B3系列伺服驱动器的应用,以下是一些运用的基本步骤:系列伺服驱动器的通信接口
    发表于 01-10 10:29

    通过CANopen转Modbus TCP网关的伺服系统

    通过CANopen转Modbus TCP网关的伺服系统,我们能够实现CANopen协议与Modbus TCP协议之间的无缝转换,从而为伺服电机的通讯和控制带来更大的便利和灵活性。 首先我们可以通过
    发表于 01-02 16:51

    工业通讯中CANOPEN转EtherCAT的转换

    CANOPEN转EtherCAT协议转换网关是一款能够将CANOPEN接口设备连接到EtherCAT网络系统的产品。该网关作为EtherCAT网络的从站,可以将CANOPEN设备集成到EtherCAT控制系统中,实现EtherC
    的头像 发表于 12-12 11:33 209次阅读
    工业通讯中<b class='flag-5'>CANOPEN</b>转EtherCAT的转换

    工业通讯中CANOPEN转EtherCAT的转换

    CANOPEN转EtherCAT协议转换网关是一款能够将CANOPEN接口设备连接到EtherCAT网络系统的产品。该网关作为EtherCAT网络的从站,可以将CANOPEN设备集成到
    发表于 12-12 11:31

    ModbusTCP转CanOpen网关助力工控行业

    在工业自动化领域,协议转换网关一直扮演着至关重要的角色。其中,modbustcp转canopen网关以其独特的优势,成为不同设备间通信的桥梁。这款网关将modbus TCP协议的设备与CANopen
    发表于 12-11 10:53

    CANOPEN总线编码器的优点有哪些?

    CANOPEN总线编码器的优点
    的头像 发表于 11-08 14:36 404次阅读

    CANOPEN 转 Modbus 协议网关

    YC-COP-RTU网关可通过自带的配置软件设置成两种不同的通信网关,CANopen 做主站/Modbus 做从站网关:CANopen 主站协议与 Modbus 从站协议之间的转换,可实现单个 CANopen 从站设备与 Mod
    的头像 发表于 09-19 17:55 379次阅读
    <b class='flag-5'>CANOPEN</b> 转 Modbus 协议网关

    CANopen协议编码器

    CANopen编码器是一种常见的工业自动化设备,广泛应用于工业控制领域。它采用CANopen通信协议,可实现编码器与各种控制器的快速连接,从而实现精确的位置检测和运动控制。CANopen编码器性能稳定,安装简便,使用方便,具有很
    的头像 发表于 08-09 15:29 956次阅读
    <b class='flag-5'>CANopen</b>协议编码器

    ETHERCAT转CANOPEN连接CANOpen协议

    ETHERCAT和CANOPEN不通讯?捷米JM-ECT-COP告诉你不是问题! 作为生产管理系统的关键部分,数据互联互通至关重要。然而,由于ETHERCAT和CANOPEN是两个不同的协议,它们之间的通讯一直是个大问题。这时,捷米JM-ECT-COP闪亮登场!
    的头像 发表于 08-08 18:37 857次阅读
    ETHERCAT转<b class='flag-5'>CANOPEN</b>连接<b class='flag-5'>CANOpen</b>协议

    虹科CANopen设备开发方案

    6月13日晚2000,虹科技术工程师张工为大家分享了“虹科CANopen设备开发方案”主题直播课程,课程的主要内容包括CANopen协议概述、对象字典、NMT、PDO、SDO等干货内容
    的头像 发表于 07-31 17:51 397次阅读
    虹科<b class='flag-5'>CANopen</b>设备开发方案

    全面的CANopen开发工具—CANopen软件协议栈

    CANopen是一种用于CAN总线的通信协议,它定义了一组标准通信对象和通信服务,使得不同设备之间可以进行通信和交互。
    发表于 07-17 08:56 522次阅读
    全面的<b class='flag-5'>CANopen</b>开发工具—<b class='flag-5'>CANopen</b>软件协议栈

    一个CANopen的应用样例(上)

    发送一系列网络管理命令,控制CANopen从站节点对本机的CANopen协议栈程序停止、启动、复位等操作。
    的头像 发表于 06-23 15:57 1473次阅读
    一个<b class='flag-5'>CANopen</b>的应用样例(上)