Ethercat概念学习
Ethercat技术调研
背景
最近我们要基于Ethercat技术进行开发,首先需要了解其基本原理,github上看到了有相关实现,一起来看看吧。
Ethercat技术
速度更快
传输速率:2*100 Mbaud 全双工
高速性、高实时性 微秒级
像火车一样有帧头、帧尾,子报文长度可变,通过车厢号,座位号找到数据
运行原理:飞速传输的以太网协议
EtherCAT 主站发送一个报文,报文顺序经过所有节点。EtherCAT 从站设备高速动态地(on the fly)读取寻址到该节点的数据,并在数据帧继续传输的同时插入数据。这样,数据帧的传输延时只取决于硬件传输延时。当某一网段或分支上的最后一个节点检测到开放端口(无下一个从站)时,利用以太网技术的全双工特性,将报文返回给主站。
简单来说,帧在走的时候是不停的,经过从站交换(提取插入)数据。下图说的每一个循环中帧的报文数据构成可以不同,比如说轴数据,每一个帧都携带这样的报文,那么循环时间是非常短的。
报文结构
不同类型的子报文,逻辑化分类好的数据,从站中处理,CRC校验诊断
性能高
实时性高
Ethecat 是工业以太网
(1)基于TCP/IP实现的工业以太网仍使用TCP/IP协议栈,通过上层合理的控制来解决通信过程中的不确定因素。这种方式具有较高的传输速率,适应于大量数据通信,更适合作为网关和交换设备的应用,不能实现很好的实时性。常用的通信控制方法有:合理调度,减少冲突的概率;定义帧数据的优先级,为实时数据分配最高优先级;使用交换式以太网等。使用这种方式的典型协议有Modbus/TCP和Ethernet/IP等。
(2)基于以太网实现的工业以太网仍然使用标准的、未修改的以太网通信硬件,但是不适用TCP/IP来传输数据。它使用特定的报文进行传输。TCP/IP协议栈能使用时间控制层分发一定的时间片来利用网络资源。该类协议主要有Ethernet Powerlink, EPA C Ethernet for Plant Automation ), PROFINET IRT等。通过这种方式可以实现较好的实时性。
(3)通过修改以太网协议实现的工业以太网,实现应答时间小于lms的硬实时,从站使用特定的硬件实现。由实时MAC控制实时通道内的通信,从根本上避免报文间的冲突。非实时数据依然能在通道中按原协议通信。典型协议有德国倍福的EtherCAT、西门子的PROFINET IRT等。
使用标准帧IEEE 802.3’
可替换为UDP/IP
拓扑灵活性
数据帧结构
数据头中,包含11位的EtherCAT数据长度,1位保留位和4位类型。
数据域由许多个子报文组成。每个子报文由19字节子报文头,最多1486字节的数据和2字节WKC组成。WKC称为工作计数器,初始值为0,每次子报文被从站操作后,WKC增加1位,当报文返回主站时,主站将比较返回报文的WKC值和预期WKC值,来确定报文是否被正确处理。
PDO对象
将CANopen作为EtherCAT的应用层,在保证兼容性的同时,为了适配EtherCAT数据链路层接口,充分发挥EtherCAT的网络优势,需要对CANopen协议相应的功能扩充,然后就有了COE(CANopen over EtherCAT)。
COE对象字典(OD):可以这样理解,“一切信息皆对象”,比如某个数据,属性,设备ID,大小,方向,某个IO变量的值等等。对象字典就是对象的集合。每个对象都有对应的索引和索引。根据索引和子索引就能找到字典里的字(对象)。主站和从站都需要有对象字典,其目的个人理解为方便主站和从站进行信息交换。
RxPDO:主站主动传输RxPDO数据给从站。
TxPDO:从站主动传输TxPDO数据给主站。
参考博客
https://zhuanlan.zhihu.com/p/594760527
https://blog.csdn.net/qq_46211259/article/details/127232886
Ethercat概念学习相关推荐
- Linux Ethercat主站
IGH EtherCAT 开源主站安装及测试 看来这个开源的是能用的,直接用了一个装ubuntu的普通工控机就可以控制松下驱动器让电机转. LinuxCNC搭配Igh EtherCat M ...
- COMET | 概念学习使机器具有人的思维方式
作者 | 李芬 审稿 | 涂心琪 本期介绍在斯坦福大学Jure Leskovec教授课题组于2020年7月发表的一篇论文"Concept Learners for Generalizable ...
- Zookeeper概念学习系列之分布式事务
不多说,直接上干货! 初学者来说,肯定会有这么一个疑问.为什么会在zookeeper里牵扯到分布式事务? zookeeper到底是什么? zookeeper实际上是yahoo开发的,用于分布式中一致性 ...
- 操作系统概念学习笔记 11 进程同步(一)
操作系统概念学习笔记 11 进程同步(一) 互相协作的进程之间有共享的数据,于是这里就有一个并发情况下,如何确保有序操作这些数据.维护一致性的问题,即进程同步. 从底层到高级应用,同步机制依次有临界区 ...
- Hadoop HDFS概念学习系列之熟练掌握HDFS的Shell访问(十五)
调用文件系统(FS)Shell命令应使用 $HADOOP_HOME/bin/hadoop fs *** 的形式!!! 所有的FS Shell命令使用URI路径作为参数. URI格式是scheme:/ ...
- 操作系统概念学习笔记 15 内存管理(一)
操作系统概念学习笔记 15 内存管理(一) 背景 内存是现代计算机运行的中心.内存有非常大一组字或字节组成,每一个字或字节都有它们自己的地址.CPU依据程序计数器(PC)的值从内存中提取指令.这些指令 ...
- ethercat通讯协议_工业控制常用接口协议大全,长见识了
I/O接口概念 I/O接口是一电子电路(以IC芯片或接口板形式出现 ),其内有若干专用寄存器和相应的控制逻辑电路构成.它是CPU和I/O设备之间交换信息的媒介和桥梁.CPU与外部设备.存储器的连接和数 ...
- 操作系统概念学习笔记 16 内存管理(二) 段页
操作系统概念学习笔记 16 内存管理 (二) 分页(paging) 分页(paging)内存管理方案允许进程的物理地址空间可以使非连续的.分页避免了将不同大小的内存块匹配到交换空间上(前面叙述的内存管 ...
- EtherCAT(扒自百度百科)
EtherCAT(以太网控制自动化技术)是一个开放架构,以以太网为基础的现场总线系统,其名称的CAT为控制自动化技术(Control Automation Technology)字首的缩写.Ether ...
最新文章
- poj1741(树的点分治)
- 特朗普“模仿”奥巴马?进阶版换脸技术DeepFakes来了
- nodejs 中on 和 emit
- jquery ajax(实现单独提交某个form)
- LTE上行加扰的目的是什么?
- 使用Python运算一个字符串表达式
- 生成模型与判别模型区别
- 【转载】adb shell dumpsys 查看内存
- 用两个文件a.txt;b.txt.使用linux命令,复制,a.txt文档倒数第十行的记录to b.txt文档
- 七大排序的个人总结(二) 归并排序(Merge
- 面试官 | 如何在 Spring Boot 中进行参数校验?
- StringUtils 方法介绍(转载)
- Redis无法保存ef复杂对象
- php phpmailer发送邮件
- openwrt信号弱掉线_QCA9880 openwrt 信号非常差
- c#控件chart制作自动更新的温湿度实时曲线图
- win10不能拖动文件到其它软件
- 基于Springboot的个人博客网站系统——可用于毕业设计(课程设计)
- 推荐系统:CTR模型学习总结--LR、FM、FFM、Wide and Deep、DeepFM
- 传统制造业数字化转型方案怎么写?
热门文章
- 【flash基础】简单的 打飞机小游戏
- TP-LINK 703N无线路由器开启IPV6功能
- php投屏代码,乐享影视app源码 e4a影视app开源源码 支持下载存缓投屏等功能源码下载...
- mdadm linux,mdadm命令_Linux mdadm 命令用法详解: mdadm是一个用于创建、管理、监控RAID设备的工具,它使用linux中的md驱动。...
- 《CLR via C#》设计类型.接口
- VSIX 插件右键菜单
- python if嵌套语句_Python if语句的嵌套
- 文本相似度算法的对比及python实现
- 一招解决树莓派系统黑边(没有填满显示器)的问题
- Gmai 账号提示