CANOpen系列教程08_ CANOpen通信接口引导学习

网友投稿 397 2022-10-27

CANOpen系列教程08_ CANOpen通信接口引导学习

1写在前面

但是对于初学者来说,并不是必须要掌握的所有的细节知识才行。只需要掌握其中必备的一些基础知识,就可以编写CANOpen的应用程序代码了。

那么本文将带你掌握其中部分基础知识,让你大脑中有CANOpen协议的这些概念知识(先有初步认识,以便于后面综合理解)。

2

通信接口主要内容

我这里按照CANOpen CiA 301协议文档,提取了通信接口的主要内容,我把它用思维导图方式列出来了,如下图:

初学者需要掌握通信接口后面的四项内容:网络管理(NMT)、服务数据对象 (SDO)、过程数据对象(PDO)、特殊协议;

这四项内容细分出来的知识点不多(相对来说),但对初学者来说,理解起来的难度较大。难点就在于:有许多抽象概念,且知识点关联性较强。

比如:什么是报文? CAN-ID、COB-ID、Node-ID是什么思,各有什么区别? COB-ID和对象字典索引有关联吗?

3

CANopen轻松入门

相信学习CANOpen的朋友都在网上看到过周立功的这么一本电子书:《CANopen 轻松入门》。

本来我是打算再造一次轮子,重新结合CANOpen CiA 301标准写一遍。但我之前有做计划,发现太费时了,而且做出来的效果也没有《CANopen轻松入门》这么好。我思前想后,还是觉得没有必要。

所以,本文主要目的在于引导初学者,网上下载《CANopen轻松入门》这本电子书来好好研究一下。关于通信接口主要内容,目录如下图:

《CANopen轻松入门》这本电子书是我站在初学者的角度考虑,觉得比较适合初学者,并不是为周立功打广告。当你把这本电子书里面内容都掌握了,我觉得你就已经入门了。

提取码:9ja0

4

CiA 301

入门之后若要深入理解,我建议参看官网的《CANOpen CiA 301》标准这本文档。为什么是CiA 301标准呢? 因为这些入门知识大部分都是CiA 301标准里面的内容。

CiA 301标准有多个版本,建议下载已经公开的V4.2.0版本:

CiA技术文档下载地址(需要登录):

CiA 301网盘下载地址(含中、英文版本):

提取码:x1m0

提示:

CiA(CAN in Automation) 301也是大家所说的DS301,为CANopen 基础协议。

我们还常看到类似CiA 401 402这些协议,其实它们是在CiA 301 之上,对各个行业不断推出设备子协议。

所谓的子协议,就是针对不同行业的应用对象,对 CANopen 内部的数据含义进行重新定义,或者添加新的控制逻辑。

5

提取通信接口要点

这里针对通信接口简单罗列一些基础知识,方便初学者理解。

5.1 网络管理(NMT)

1.CANOpen网络一般是一个主站,多个从站的局域网络;

2.NMT节点具有6种状态:初始化、应用层复位、通讯复位、预操作状态、操作状态、停止状态。可以自己切换状态,也可主站切换状态;

3.任何一个 CANopen 从站上线后发出节点上线报文(boot-up);

5.2 过程数据对象 PDO

1.PDO用来传输实时数据,属于“生产消费”模型;

2.COB-ID 定义只是预定义,TPDO5、6、7这些也是可以存在。PDO 的COB-ID 与 Node-ID 无必然规则上的联系,

3.PDO 的两种传输方式:同步传输和异步传输;

4.PDO 的通信参数可通过对象字典工具配置;

5.PDO 的映射参数是一个相对难理解的参数,请结合《CANopen 轻松入门》图文(请关注颜色)理解;

5.3 服务数据对象 SDO

1.SDO为请求应答方式;

2.发送方(客户端)、接收方(服务器) ;

3.通常从节点为 SDO 服务器,主节点为客户端;

4.两种协议:快速、普通 SDO 协议;

5.CS命令符含义需熟记(查表);

5.4 特殊协议

1.常见的就是罗列出来的3种:同步协议、时间戳协议、紧急报文协议;

2.特殊协议CAN-ID定义(查表);

3.紧急报文错误代码分类及含义;

以上许多内容都有一张对应的表格,可以百度或谷歌搜索一下“CANopen备忘录”,就有详细列出各自对应的内容。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:kubernetes快速入门11-认证和授权
下一篇:k8s的有状态应用 StatefulSets
相关文章

 发表评论

暂时没有评论,来抢沙发吧~