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

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

3天内不再提示

CANOpen系列教程07 _CANOpen协议概述

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

1写在前面

上一章节提供的例程是标准、数据帧格式的传输例程,结合前面理论知识,相信你根据参考例程可以实现远程帧及其他类型的数据传输。

前面教程讲述内容为CAN总线协议,属于底层硬件相关的一些内容。从本文开始,将正式讲述CANOpen协议。

CANOpen协议是基于CAN总线的上一层软件协议。该教程前面内容是建立底层通信,只有在底层通信成功基础上,才能实现上一层的通信协议。

提示:CANOpen协议内容很多,有许多内容都是一些抽象的概念。所以,有一些内容相对较难理解,随着慢慢深入即可消除那些疑虑。

2

CANopen协议总述

CANopen 是一个基于 CAN 串行总线的网络传输系统的应用层协议,遵循 ISO/OSI 标准模型。

网络中不同的设备通过对象字典或者对象来相互交换数据,其中,主节点可以通过过程数据对象 (PDO) 或者服务数据对象 (SDO) 来获取或者修改其它节点对象字典列表中的数据。

CANOpen协议主要内容分为三大块,如下图CANopen 的设备模型。

CANOpen协议从大方向的划分,就如上图所示三大块。但是,这三大块里面的内容就牵涉到许多......

初学者可以以上图模型为中心,再结合实际例程理解CANOpen协议的各种抽象概念。

下面章节将进一步讲述模型中三大块内容的一些概念,初学者能理解尽量理解,不能理解可以先做了解即可。

3

通信对象

CANopen协议中常用的通信对象包含如下几点:

1) 网络管理对象(NMT)

网络管理对象包括 Boot-up 消息, Heartbeat 协议及 NMT 消息,基于主从通信模式, NMT 用于管理和监控网络中的各个节点,主要实现三种功能:节点状态控制、错误控制和节点启动。

2) 服务数据对象 (SDO)

包括接收 SDO(R-SDO) 和发送 SDO(T-SDO)。

通过使用索引和子索引, SDO 使客户机能够访问设备对象字典中的项。

SDO 通过 CAL 中多元域的 CMS 对象来实现,允许传送任何长度的数据,当数据超过 4 个字节时分拆成几个报文。

协议是确认服务类型,为每个消息生成一个应答。 SDO 请求和应答报文总是包含 8 个字节。

3) 过程数据对象(PDO)

包括接收 PDO(RPDO) 和发送 PDO(TPDO)。

用来传输实时数据,数据从一个创建者传到一个或多个接收者。数据传送限制在 1 到 8 个字节。

每个 CANopen 设备包含 8 个缺省的 PDO 通道, 4 个发送 PDO 通道和 4 个接收 PDO 通道。

PDO 包含同步和异步两种传输方式,由该 PDO 对应的通信参数决定。

PDO 消息的内容是预定义的,由该 PDO 对应的映射参数决定。

4) 同步对象 (SYNC)

同步对象是由 CANopen 主站周期性地广播到 CAN 总线的报文,用来实现基本的网络时钟信号,每个设备可以根据自己的配置,决定是否使用该事件来跟其它网络设备进行同步通信。

5) 紧急报文 (EMCY)

设备内部通信故障或者应用故障错误时发送的报文。

4

对象字典

对象字典是设备规范中最重要的部分。它是一组参数和变量的有序集合,包含了设备描述及设备网络状态的所有参数。

通过网络可以采用有序的预定义的方式来访问的一组对象。这里就牵涉到定义对象字典的生成问题,后面我会讲述关于对象字典生成工具相关内容。

CANopen 协议采用了带有 16 位索引和 8 位子索引的对象字典。你可以理解为一本汉语字典,我们需要查找里面的某个汉子(可以理解定义的某个数据),我们就会从拼音或笔画(索引)进去找到对应位置。

CANOpen 协议对象字典主索引如下图,这只是一个主要的索引。其实还能细分下去,这里不过多讲述,后续会进一步讲述。

5

应用

应用这一块的内容包含应用程序、设备子协议实现。可以从CANopen 的设备模型明白,对外就是IO接口,也就是供我们调用的接口。

应用这一块包含CANOpen协议上层的内容,可以简单理解封装的一些供用户读写操作的函数。

应用这一块内容在后面结合实例分析会牵涉,初学者可以简单了解有这么一块,且知道这一块在CANOpen协议中大致的作用即可。

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

    关注

    56

    文章

    2470

    浏览量

    459254
  • CANopen
    +关注

    关注

    6

    文章

    201

    浏览量

    42878
  • NMT
    NMT
    +关注

    关注

    0

    文章

    7

    浏览量

    3600
收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

    局域网(CAN)网络的通信协议,被广泛应用于汽车和其他嵌入式系统中。对于将Profinet协议转换为CanOpen协议以链接台达B3系列伺服
    的头像 发表于 01-10 10:27 158次阅读

    智能楼宇系统canopen协议与ModbusTCP协议进行通讯

    通过CANopen转ModbusTCP网关设备进行转换:可以使用一个CANopen转ModbusTCP网关设备,将CANopen协议转换为Modbus TCP
    的头像 发表于 01-03 15:20 178次阅读
    智能楼宇系统<b class='flag-5'>canopen</b><b class='flag-5'>协议</b>与ModbusTCP<b class='flag-5'>协议</b>进行通讯

    智能楼宇系统canopen协议与ModbusTCP协议进行通讯

    通过耐特森CANopen转ModbusTCP网关设备进行转换:可以使用一个CANopen转ModbusTCP网关设备,将CANopen协议转换为Modbus TCP
    的头像 发表于 01-03 15:17 208次阅读

    工业通讯中CANOPEN转EtherCAT的转换

    CANOPEN转EtherCAT协议转换网关是一款能够将CANOPEN接口设备连接到EtherCAT网络系统的产品。该网关作为EtherCAT网络的从站,可以将CANOPEN设备集成到
    的头像 发表于 12-12 11:33 212次阅读
    工业通讯中<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协议的设备与CANo
    发表于 12-11 10:53

    Modbus转CANopen协议相互转换在工业中的作用

    在工业自动化领域,Modbus和CANopen协议都是非常常见的通信协议。Modbus是一种串行通信协议,常用于连接PLC和传感器/执行器。而CAN
    发表于 12-08 17:02

    CANOPEN 转 Modbus 协议网关

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

    CANopen协议编码器

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

    ETHERCAT转CANOPEN连接CANOpen协议

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

    虹科CANopen设备开发方案

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

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

    目前,CANopen协议已经成为工业自动化领域中最常用的通信协议之一,被广泛应用于机器人、自动化生产线、电力系统、交通运输等领域。同时,CANopen
    的头像 发表于 07-24 16:00 653次阅读
    全面的<b class='flag-5'>CANopen</b>开发工具——<b class='flag-5'>CANopen</b>软件<b class='flag-5'>协议</b>栈

    一个CANopen的应用样例(上)

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