CANopen 是一个基于 CAN(控制局域网)串行总线系统和 CAL(CAN 应用层)的高层协议。CANopen 通讯协议 CiA DS-301 包括周期和事件驱动型通讯,不仅能够将总线负载减少到最低限度,而且还能确保极短的反应时间。它可以在较低的波特率下实现较高的通讯性能,从而减少了电磁兼容性问题,并降低了电缆成本。

CANopen 所用的物理介质是符合 ISO 11898 标准,采用分驱动机制和公共反馈的双线总线。总线的最大长度取决于通讯速度,具体规定如下:

从理论上来说,最多可以有 127 个节点。不过,在实际应用中,最大节点数量取决于所用 CAN 收发器的性能。CAN 总线线路必须用在 CAN-L 和 CAN-H 线之间每端连接的 120 欧姆(1%,1/4W)电阻来终接,如下所示。

总线电缆选用有两对双绞线的带屏蔽层电缆:一对双绞线分别接 CAN-L 和 CAN-H,另外一对双绞线直接接GND。

CANopen 的核心概念是设备对象字典(OD:Object Dictionary),在其它现场总线(Profibus,Interbus-S)系统中也使用这种设备描述形式。CANopen 通讯通过对象字典(OD)能够访问设备的所有参数。

CAN 标识符分配表

注意:

1、 PDO/SDO 的发送/接受是由(slave)CAN 节点观察的。

2、 一般的器件的 CANopen 支持 4 个发送 PDO,4 个接受 PDO。

服务数据对象SDO

SDO 用来访问一个设备的对象字典。访问者被称作客户 (client),对象字典被访问且提供所请求服务的 CANopen 设备被称作服务器(server)。客户的 CAN 报文和服务器的应答 CAN 报文总是包含 8 字节数据(尽管不是所有的数据字节都一定有意义)。一个客户的请求一定有来自服务器的应答。

过程数据对象 PDO

PDO 用来传输实时数据, 数据从一个生产者传到一个或多个消费者。数据传送限制在 1 到 8 个字节。PDO 通讯没有协议约束(意味着数据内容已预先定义),因此消费者可以在很短的时间内处理完接受到的数据。PDO 数据内容只由它的CAN ID 定义,假定生产者和消费者知道这个 PDO 的数据内容。

PDO 消息的内容是预定义的(或者在网络启动时配置的),映射应用对象到 PDO 中是在设备对象字典中描述的。如果设备(生产者和消费者)支持动态映射,那么使用 SDO 报文可以配置 PDO 映射参数。PDO映射必须遵守以下 2 个规则:

1、 每个 PDO 最多可映射 4 个对象;

2、 每个 PDO 的长度必须不超过 64 位。

PDO 映射流程:

1、 设置 PDO 对应映射参数(如 1600 h或 1A00 h)子索引 0 的内容为 0;

2、 修改 PDO 对应映射参数(如 1600 h或 1A00 h)子索引 1~4 的内容,映射数据;

3、 设置 PDO 对应映射参数(如 1600 h或 1A00 h)子索引 0 的内容为合法的数字(该 PDO 映射的对象数)。

4、 PDO 映射完成。

SYNC 报文

同步对象用于控制数据在网络设备间的同步传输,例如同步启动多个轴。同步报文的传输是基于生产者—消费者模型的,所有支持同步 PDO 的节点都可以作为消费者(同时)接收到此报文,并使用该对象与其他节点进行同步。

一般应用方式为 SYNC 主节点定时发送 SYNC 对象,SYNC 从节点收到后同步执行任务。

CANopen建议用一个最高优先级的COB-ID以保证同步信号正常传送。SYNC报文可以不传送数据以使报文尽可能短。

Emergency 报文

设备发生报警时,CANopen 会启动一条 Emergency 报文,告知消费者当前设备类型以及错误代码。

【转】CANOPEN总线的相关问题点整理分享*****相关推荐

  1. 嵌入式相关芯片资料整理

    嵌入式相关芯片资料整理 各类芯片简介 **嵌入式相关芯片资料整理** 一.TFT_LCD芯片简介 二.M74HC688MR芯片简介 三.M74HC573M1R芯片简介 四.STM32F103RBT6芯 ...

  2. 最详细的SQL注入相关的命令整理

    最详细的SQL注入相关的命令整理   QUOTE: 1.   用^转义字符来写ASP(一句话***)文件的方法: ?   http://192.168.1.5/display.asp?keyno=18 ...

  3. Octave相关学习资源整理出

    Octave相关学习资源整理 斯坦福大学机器学习公开课第五课是"Octave Tutorial",主要是机器学习公开课的编程作业需要用Octave完成,同样需要用Octave完成作 ...

  4. 推荐系统相关顶会整理

    推荐系统相关顶会整理算法工程师是否应该持续读论文?\x0d\x0a\x0d\x0a尤其是对于业务属性偏重的搜索/推荐/广告算法岗位,很多人的工作主要涉及业务理解以及数据清洗,对于模型的优化以及新模型的 ...

  5. 【人工智能项目】缺陷检测分割数据集相关整理分享

    [人工智能项目]缺陷检测分割数据集相关整理分享 研究生阶段的课题就是有关缺陷检测的,所以在这里将截止去年年底整理出来的缺陷检测数据集进行整理分享,供大家使用.由于数据集的限制,这里就将其上传到网盘. ...

  6. 计算机视觉领域多任务学习相关论文、数据集、网络结构等资源整理分享

    MTL 是机器学习中一个很有前景的领域,其目标是利用多个学习任务中所包含的有用信息来帮助为每个任务学习得到更为准确的学习器.我们假设所有任务(至少其中一部分任务)是相关的,在此基础上,我们在实验和理论 ...

  7. 【CANopen】CANopen总线讲解

    CANopen总线 一.前言 二.CANopen概述 2.1 CANopen网络模型 2.2 CANopen常见规范 三.CANopen对象字典 四.CANopen通讯标识符 五.CANopen协议概 ...

  8. PMP报考相关详细内容整理

    PMP报考相关详细内容整理 一.考试简介 二.PMP 入门知识 三.考试报名 四.报名流程 1)PMP 英文报名 2)审核 3)中文报名 4)在线支付费用 付费实现通道 五.考试费用 六.成绩及分数 ...

  9. PROFINET转 CANOPEN总线网关连接汇川变频器解决方案

    PROFINET转 CANOPEN总线网关连接汇川变频器解决方案 PLC通过CANopen监控变频器的运行,监控系统采用西门子1500系列PLC,支持PROFINET协议,变频器为汇川产品,支持CAN ...

最新文章

  1. 【c语言】蓝桥杯算法训练 P0505
  2. @poj - 1509@ Glass Beads
  3. Linux集群系统Heartbeat
  4. oracle数据库数据导入导出步骤(入门)
  5. 7个jquery easy ui 基本组件图解
  6. 陆续放出各种安装及配置文档
  7. java socket 一边关闭_java socket - 半关闭
  8. 20165212 预备作业3 Linux安装及学习
  9. URL传Base64 造成报错 Illegal base64 character 20
  10. 【git】gitk 通过图形界面工具来查看版本历史
  11. Vue报错'Do not use built-in or reserved HTML elements as component id:解决方法
  12. 视屏剪辑软件(Pr)Premiere Pro CC 2018安装教程:
  13. 上海联通宽带使用公网IP进行端口映射及国际出口测试等记录
  14. 【统计】回归系数与相关系数的联系与区别
  15. openerp 打印报表pdf中文乱码解决办法
  16. 单线多拨,傻瓜式openwrt单线多拨叠加速率教程
  17. Docker 之 Docker Machine
  18. 【论文阅读】Rotom: A Meta-Learned Data Augmentation Framework for Entity Matching
  19. 快速查找论文的源代码网站资料
  20. Fedora 20 安装

热门文章

  1. jQuery使用(八):运动方法
  2. Python爬去知乎上问题下所有图片
  3. Java - 常用工具类 - 集合框架
  4. Python format功能
  5. Teamwork(The sixth day of the team)
  6. lecture3-线性神经元和算法
  7. 【转】C#中Invoke的用法
  8. ASP.NET 错误
  9. 解决firefox不能安装Flash插件
  10. 关于html和javascript在浏览器中的加载顺序问题的讨论(zz)