EtherCAT和CANopen之间有什么关系?

原文链接: https://www.zhihu.com/question/40947468

简单来讲,CANopen是EtherCAT在应用层使用的Mailbox protocols中的一种。

要搞清楚EtherCAT和CANopen的关系,先要了解EtherCAT的一些基础知识。EtherCAT设计时仅 显式使用了OSI 7层模型中的三层,即应用层,数据链路层和物理层,见下图:

EtherCAT主要实现了数据链路层,在物理层可以使用标准以太网芯片,Intel和Realtek两家主流的 芯片基本都可以支持。

根据ETG官网2016.3.04更新的《EtherCAT Communication Principles》,EtherCAT在应用层支 持的Mailbox protocols共有5中,见下图:

CoE主要用于伺服系统通信,使用标准的CiA402规约,用户在使用EtherCAT接口的伺服驱动时, 基本上用的也都是CANopen的东西,如下图所示:

因为市面上几乎所有品牌的伺服驱动器都支持CANopen总线,所以之前的用户从CANopen迁移到 EtherCAT会非常的简单,在应用层编程时,所用到的PDO/SDO的概念和使用方法与CANopen基 本保持一致,学习成本低。再加上近些年EtherCAT的推广做的比价好,因此以前支持CANopen的 驱动器慢慢都开始支持EtherCAT,选择面比较广。

EtherCAT主站有很多成熟方案可以选择,软硬都有,一般不需要自己开发。从站直接从Beckhoff 购买ESC芯片,做二次开发,有完善的技术支持,硬件实力较强的话应该问题也不大。 EtherCAT的官方网站为EtherCAT Technology Group,注册为ETG会员后,可以下载到非常全面 细致的技术文档。

EtherCAT为以太网现场总线,且仅提供数据链路层和物理层的实现。通信需定制的ASIC芯片。因为为Beckhoff公司的私有技术,如想在类似FPGA方面实现,需要另外支出一定费用购买IP core。在简单的场合,使用EtherCAT能较快的搭建工业以太网,但在数据量较多,数据类型复杂的场合,需要自己构建所需应用层。

题主所提到的CANopen为应用层的实现。
目前现成的集成好CANopen的工业以太网的高速实时总线为POWERLINK。源代码均开源,且在中国能得到定制化开发。

抛砖引玉一下,EtherCAT仅显示使用OSI 7层中的应用层、数据链路层和物理层,EtherCAT是一个数据链路层协议,而CANOpen是应用层协议。EtherCAT总线的实现方式,常用的是COE和SOE两种,还有FOE等等,目前市面上常见的是COE(CANOpen Over EtherCAT)。………………


一句话:CANopen是EtherCAT的一种应用

猜你喜欢

转载自blog.csdn.net/xingsongyu/article/details/100669012