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

置顶公众,不错过每一条消息!

640?wx_fmt=jpeg

    本教程由作者strongerHuang于2018年10月原创发布。

标签:CAN、 CANOpen、 CanFestival

版权所有:禁止商用

申明该文档仅供个人学习使用,转载请公众号联系作者授权。

1写在前面

上一篇文章让大家了解了一下CANOpen协议的模型,也就是说CANOpen协议的内容都包含在这个模型里面,而模型里面的内容可以细分出来许许多多的知识。

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

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


2

通信接口主要内容

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

640?wx_fmt=png

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

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

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


3

CANopen轻松入门

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

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

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

640?wx_fmt=png

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

《CANopen轻松入门》网盘下载地址(百度、谷歌随处可见):

https://pan.baidu.com/s/15Or8ox3LgXKR6Z7ul7Zt1g

提取码:9ja0


4

CiA 301

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

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

640?wx_fmt=png

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

https://www.can-cia.org/standardization/specifications

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

https://pan.baidu.com/s/1efnJAmB7tkSsMwIf39p8sg

提取码: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备忘录”,就有详细列出各自对应的内容。


6

说明

1.该文档部分内容来自网络,仅供个人学习使用,版权所有,禁止商用。

2.本文由我一个人编辑并整理,难免存在一些错误。

3.本文收录于公众号「strongerHuang」,关注微信公众号回复【CANOpen系列教程】即可查看全系列教程。  

7最后

若觉得文章对你有帮助,记得给我点赞、分享。(随手点个赞,也是对我莫大的支持


扫描下面二维码、关注公众号,在底部菜单中查看更多精彩内容!


640?wx_fmt=jpeg

长按识别图中二维码关注

640

赞赏是对作者的认可与支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

strongerHuang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值