多语言展示
当前在线:368今日阅读:84今日分享:32

CAN总线学习笔记-CANopen基础

CANopen作为CAN 的高层协议,它是基于 CAN总线在工业系统中占领导地位的标准。学习CAN总线知识不得不提到CANopen协议,下面我根据广成科技的CANopen主从站设备,总结了几点关于CANopen的基础知识。
工具/原料

广成科技CANopen主从站设备

方法/步骤
1

1. CANopen 的 LED 灯有协议规定,灯怎么闪是不能乱定义的。其中 ERR 灯的三种状态分别如下:双闪:表示 CAN 通讯断线事件单闪:总线错误超过 127 个快闪: 正在自动匹配波特率

2

2.对象字典里有三个强制参数,即每个 CANopen 产品都需要有这个三参数:1000h ---设备类型1001h ---错误代码1018h ---产品标识(包含着全球唯一的厂商 ID)此外,2000-5FFFh 是厂商自定义的,而 6000h 以上的都是 CiA 4xx 的子协议里定义的行业参数。 (当然少不了的是 1000-1FFFh 的通信参数,这也是最重要的 CANopen 参数)

3

3.通信参数用对象来描述,我们在介绍通信对象参数的时候,可以比喻成介绍一个人。人:姓名、性别、年龄、身高等等对象参数:名称、数据类型、条目数量、数值范围、访问属性等等

4

4.当定义(介绍)完一个对象以后,我们怎么去访问它呢,于是我引入了索引和子索引的方式来读取对象字典里的参数。对于索引和子索引,可以理解为数组和数组下标。

5

5. PDO 有三种触发方式:定时器、同步机制、远程帧(不建议使用) 。有关同步和异步在运动控制应用中,同步可以用于多轴电机运动控制里,而异步就是应用于单轴控制。那么在三个轴同步是怎么做的呢?即是同时起,同时停。---通常是先设置好分时,然后等待同步信号一起响应。

6

6.其实 PDO 没有明确的发送接收,因为都是广播式的。而我们提到的 TPDO 和 RPDO,是站在从站的角度来说的。RPDO,是主站发给从站的,所以从站是接收 PDO。TPDO,是从站发给主站的,所以从站是发送 PDO。

7

7.映射的过程,就是约定的过程。所以有预设定参数的功能。PDO 的优点是快,省带宽。缺点就是更换映射比较麻烦。

8

8.对于 EDS 文件,我们可以修改里面的参数的值,但不要去增减里面的参数条目,这样做没有意义,因为 EDS 增加的条目,不会在 CANopen 设备里面体现出功能来。

9

9. SDO 只有 4 个字节是有效数据,另外 4 个字节是被功能码占用了,当超过 4 个字节的有效数据时,用分段传输,或者块传输。

10

10.取消 SDO 传输,通常是从站不在线,比如没有上电或者线没有连接好,就在主站设置一个时间,如 1S,当超过 1S 从站没有响应,那么就判定从站不在线,从而取消 SDO 传输。

11

11.在 SDO 分段传输中比较占带宽,于是引入了块传输,不过在块传输的时候不能在传输数据过程中判断是否正确,块传输的中间段不需要确认。块传输中是由 CCS 和 CS 共同决定是否启用块传输,最多传输 128 个段数据。

12

12.同步窗口的长度,决定了运动控制器能传输多少 PDO,也就决定了控制多少个轴。但同步窗口的长度变长,会影响精度。

13

13.紧急报文的同一种报文,只能发送一次。

14

14.我们前面所讲的 PDO、SDO,都是关注 CAN 报文的 8 个字节的数据部分,比如 PDO 的数据是 1-8 个字节,而 SDO 肯定是 8 个字节的。而预定义连接,关注的是 COB-ID,主要是对CAN 报文的标识区进行划分。比如 SDO 报文 581h 08h 04 18 10 01 00 00 00 00 , SDO 主要讲数据位的 04 是什么含义,访问1018h01h;COB-ID 是关注 581h 是什么意思 。

15

15.在 CiA401 规定,PDO1 是用于数字量的,而 PDO2 是用于模拟量的。

注意事项

紧急报文的同一种报文,只能发送一次。

推荐信息