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
    +关注

    关注

    58

    文章

    3010

    浏览量

    471391
  • CANopen
    +关注

    关注

    8

    文章

    456

    浏览量

    47561
  • NMT
    NMT
    +关注

    关注

    0

    文章

    7

    浏览量

    3814
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CANopen转Profient网关协议介绍

    CANopen介绍: CANopen是一种基于控制器局域网(CAN)的高层工业通信协议,由国际用户和制造商协会CiA于1995年发布,基础规范为CiA 301标准。该协议覆盖OSI模型
    的头像 发表于 09-25 17:31 599次阅读
    <b class='flag-5'>CANopen</b>转Profient网关<b class='flag-5'>协议</b>介绍

    EtherCAT转CANopen,喷码机高效通讯秘籍

    CANopen
    北京开疆智能技术有限公司
    发布于 :2025年08月19日 17:08:06

    通信协议高材生,PROFINET to CANopen网关连接西门子PLC与汇川变频器

    PLC通过CANopen监控变频器的运行是工业中较为常见的应用,控制中心系统通过监控变频器不同的状态来控制变频器启停,设定变频器的运行速度进而控制电机。监控系统采用西门子1500系列PLC,支持
    的头像 发表于 08-12 10:49 645次阅读
    通信<b class='flag-5'>协议</b>高材生,PROFINET to <b class='flag-5'>CANopen</b>网关连接西门子PLC与汇川变频器

    制药行业新突破:CANOpen转PROFINET网关配置案例解析

    CANopen
    北京开疆智能技术有限公司
    发布于 :2025年07月25日 11:14:31

    承担CANOPEN转PROFINET协议转换功能的网关与台达伺服器的连接

    西门子S7 - 1200系列PLC可编程逻辑控制器(PLC),需与具备CANOPEN通讯功能的伺服驱动器设备进行连接。西门子的PLC采用PROFINET实时以太网通讯协议,若要连接CANOPE
    的头像 发表于 07-24 18:01 370次阅读
    承担<b class='flag-5'>CANOPEN</b>转PROFINET<b class='flag-5'>协议</b>转换功能的网关与台达伺服器的连接

    CANopen转EtherCAT协议转换案例解析

    在工业自动化领域,运动控制器与传感器之间的协议兼容性是系统集成中的关键挑战。某智能装备制造企业采用EtherCAT协议的运动控制器作为主站,需驱动基于CANopen协议的分布式传感器网
    的头像 发表于 06-17 19:22 312次阅读
    <b class='flag-5'>CANopen</b>转EtherCAT<b class='flag-5'>协议</b>转换案例解析

    CANopen转Modbus-RTU网关

    CANopen
    三格电子科技
    发布于 :2025年06月16日 17:23:14

    协议大和解:ETHERCAT转CANopen网关配置

    最近有同学后台咨询疆鸿智能EtherCAT转CANopen协议转换网关如何配置,小编今天给大家详细分享下配置的步骤。 一,设备主要功能 JH-ECT009 型网关是EtherCAT网络
    的头像 发表于 05-21 14:55 473次阅读
    <b class='flag-5'>协议</b>大和解:ETHERCAT转<b class='flag-5'>CANopen</b>网关配置

    EtherCAT转CANopen协议网关应用详解

    成为运动控制领域的“明星”,而CANopen则凭借灵活性和成本优势在中小型设备中广泛应用。当两者相遇时,如何打破协议阻碍,实现无缝互联? EtherCAT转CANopen网关通过智能协议
    的头像 发表于 05-19 14:19 421次阅读
    EtherCAT转<b class='flag-5'>CANopen</b><b class='flag-5'>协议</b>网关应用详解

    使用ES32实现CANopen从机

    CANopen是一种基于CAN的通信协议,已在工业领域得到了广泛应用。CAN提供可靠的底层数据传输,CANopen提供标准化的应用层协议。在CANo
    的头像 发表于 03-26 19:05 1479次阅读
    使用ES32实现<b class='flag-5'>CANopen</b>从机

    EtherCAT转CANopen配置CANopen侧的PDO映射

    在工业自动化领域,EtherCAT和CANopen是两种广泛应用的通信协议。它们各自具有独特的优势,但在某些应用场景下,需要将这两种协议进行转换以实现设备间的高效数据交换。本文将详细介绍如何在
    的头像 发表于 03-26 17:56 819次阅读
    EtherCAT转<b class='flag-5'>CANopen</b>配置<b class='flag-5'>CANopen</b>侧的PDO映射

    CANOPEN协议详细介绍

             CANOPEN协议是基于CAN总线协议建立的应用层协议CANOPEN协议
    发表于 03-26 15:27 0次下载

    颠覆想象!CanOpen转ProfiNet网关重塑纠偏系统格局

    该生产线采用了纠偏系统,其运用的是CanOpen通讯协议,而现场搭配的PLC为西门子S7-1500系列,采用Profinet工业以太网通讯。通过上述使用稳联技术CanOpen转Prof
    的头像 发表于 02-20 17:01 572次阅读
    颠覆想象!<b class='flag-5'>CanOpen</b>转ProfiNet网关重塑纠偏系统格局

    2025必备知识,CANopen转EtherCAT协议允许配备啥协议的电气设备

    CANopen转EtherCAT稳联技术(WL-COP-ECAT)协议允许配备 CANopen 的设备在基于 EtherCAT 的工业以太网网络上使用。
    的头像 发表于 12-29 09:50 718次阅读
    2025必备知识,<b class='flag-5'>CANopen</b>转EtherCAT<b class='flag-5'>协议</b>允许配备啥<b class='flag-5'>协议</b>的电气设备