etherCAT学习笔记

  • Post author:
  • Post category:其他


为了在Linux中搭建etherCAT运行环境,首先对标准Linux内核进行扩展,增加Xenomai实时补丁,重新编译内核,构建实时Linux操作系统。然后在新系统中安装etherCAT工具,搭建主站环境。




1.安装参考教程

  • https://blog.csdn.net/Allforyouz/article/details/78713453?locationNum=10&fps=1&tdsourcetag=s_pctim_aiomsg
  • https://blog.csdn.net/Allforyouz/article/details/78721760
  • https://github.com/ART-robot/ethercat_install




2.etherCAT介绍



2.1 概述

EtherCAT(Ethernet for Control Automation Technology)是一种由德国倍福(Beckhoff Automation)公司发明,基于以太网的实时工业现场总线通信协议。EtherCAT 采用符合以太网标准IEEE802.3的物理层,具有以太网的传输速度快、数据包容量大、 传输距离较长等优点。

标准以太网通信每个从站都发送独立的报文与主站通信,而标准以太网报文最短长度84byte,假设一个驱动器发送4byte的目标位置和控制字信息数据,则传输效率只有4/48(4.8%)。EtherCAT协议使用一个数据帧完成所有节点控制数据的发送和接受,故而可以实现很高的实时性。



2.2 原理

&nbsp**;基本原理**为EtherCAT主站发送一个报文,报文经过所有的节点。EtherCAT从站设备高速动态的读取寻址到该节点的数据,并在数据帧继续传输的同时插入数据,到达最后一个分支后,利用以太网技术的全双工特性,将报文返回给主站。最大有效数据利用率达90%以上,有效数据利用率理论上高于100MBit/s。每帧最多可容纳1486B,可以在30μs内更新1000个数字I/O信息。16位WKC可以支持65535个设备

&nbsp**;主站**仅需要一个标准的以太网口,典型结构如下,基本功能包括ESI文件的读取解析;从站设备的管理;实现过程数据通信;支持邮箱通信,实现非周期性数据传输。

主站协议栈基本功能:

1. 根据不同的系统平台安装网卡驱动,使用网卡封装,发送接收并解析以太网数据帧.

2. 获取从站设备描述文件ESI

3. 发送数据帧与从站通信

4. 使用非周期性邮箱数据在配置阶段设置从站参数,并在从站运行状态下读写数据和处理偶然事件

5. 使用周期性过程数据完成数据的实时交换

6. 提供应用层接口

典型主站结构


从站

则需要有专门的etherCAT从站控制器(ESC),每个从站的信息(ESI)文件为XML格式,并包含了网络访问属性的完整描述。详细信心见从站结构部分



2.3 三层架构



2.3.1 物理层

100Mb/s的标准以太网,任何带有标准以太网口的PC机都可以作为etherCAT主站运行。



2.3.2 数据链路层

数据链路层负责处理如何进行通信,主从站之间主要通过邮箱和过程数据两种方式进行通信。其中邮箱用于发送较大的数据块(参数数据),保证能够到达目的地,但不能保证实时性;过程数据则是实时的,并且只考虑到最近的数据。

数据帧结构

报文寻址方式

通信服务命令

分布时钟

状态机ESM

存储同步管理通道SM(Sync Manager):邮箱模式



版权声明:本文为weixin_43724737原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。