Hero Circle Shape
Hero Moon Shape
Hero Right Shape
比特派交易所app下载|ethercat通讯协议例程

比特派交易所app下载|ethercat通讯协议例程

  • 作者: 比特派交易所app下载
  • 2024-03-14 18:28:45

EtherCAT学习之路——例程解析 - 知乎

EtherCAT学习之路——例程解析 - 知乎首发于EtherCAT学习之路切换模式写文章登录/注册EtherCAT学习之路——例程解析白细胞《Application Note ET9300 SSC》的6.4.1.2小节有一个例程解析,这篇文章主要是对该小节的翻译,英文好的同学推荐看一下原文。本例程介绍了如何在基础例程(SAMPLE_APPLICATION)的基础上添加新的过程数据。。默认的基础例程提供了一下的过程数据:32Bit的Input Counter(0x6000)32Bit的Output Counter(0x7010)当Output Counter为0时,Input Counter每个cycle自加1;否则Input Counter等于Output Counter+1。本例程中新增的过程数据:32Bit的Input Counter(0x6000)32Bit的Result(0x6010)Output Value(0x7010)----SI1:Value1(32Bit)----Sl2:Value2(32Bit)Result(0x6010)是Sl1(0x7010.1)和Sl2(0x7010.2)之和。Input Counter(0x6000)每个cycle自加1。 1.创建基础例程这一节简单介绍一下如何在倍福EL9800评估板上创建基础例程。当然,也可以在已有的其他类似的例程上进行新增过程数据的修改。按照章节3.1 "SSC Tool”中的步骤1~7进行操作(这里的章节3.1是指《Application Note ET9300 SSC》的3.1)。选择"EL9800 | 8Bit Digital I/O,16Bit Analog Input"的配置。在"Application"组下将"EL9800APPLICATION"设置为0,将"SAMPLE_APPLICATION"设置为1。保存工程并创建新的文件(Project->"Create new Slave Files")。基于已创建的ESI文件,编辑从站EEPROM。基于生成的源文件创建MPLAB工程。SSC可以创建基础例程,具体的创建步骤,在《Application Note ET9300》其他章节也介绍,后面单独列一章来介绍SSC。这里重点关注如何新增过程数据。2.新增过程数据2.1 在sampleappl.h中新增Result对象创建为过程数据"32Bit Result"创建入口描述(Entry Description),对象名和对象实例。要在EtherCAT中新增过程数据,首先就需要在代码中新增对象。关于”对象字典“可以参考我的另一篇博客。2.2 在sampleappl.h中修改Output Value对象在对象0x7010(32Bit Output Counter)的基础上进行修改,将对象0x7010修改成Record型对象,Record型对象可以操作超过1个的过程数据(译者注:原有的Output Counter是Var型对象,只能有1个子项;Record型对象类似于结构体,一个对象中可以有多个子项)。Ouput Counter原本只有一个子项(类似与0x6010的结构),现在需要2个子项,同时还需要增加SubIndex0的参数。对象名称需要与Entry相对应(每个子名称以"\000"结尾,整个对象名称以"\377"结尾)。还需要根据对象的参数定义一个结构体,使其包含SubIndex0以及2个过程数据。更多的细节信息请参见章节11。2.3 在sampleappl.h中修改PDO-map对象在PDO-Mapping对象中,为新增的过程数据添加信息。修改的代码被标注为红色。2.4 在sampleappl.h中更新对象字典的参考2.5 在sampleappl.c中更新过程数据大小更新过程数据大小(过程数据大小应该与对应的SM大小一致)。注:如果某一个变量与ESI文件中记录的信息不一致,从站状态无法从PreOP转入SafeOP,并会发送0x1E~0x1D的错误码。译者注:APPL_GenerateMapping用于计算输入过程数据和输出过程数据的长度,后面进行内存拷贝的时候,会根据这里计算出的长度来进行拷贝。2.6 在sampleappl.c中修改InputMapping()函数更新输入过程数据映射函数,将新增的过程数据本地拷贝到ESC内存中。Result(0x6010)对象是输入过程数据,这里使用MEMCPY,将本地内存中的ResultObj6010拷贝到ESC中(pData是ESC的地址)。2.7 在sampleappl.c中修改OutputMapping()函数更新输出过程数据映射函数,将新增的过程数据从ESC内存中拷贝到本地。2.8 在sampleappl.c中更新应用程式修改应用程序,使Result = Output.value1 + Output.value2,InputCounter++。2.9 更新ESI文件根据步骤3,更新ESI中RxPdo和TxPdo的Entry。主站会使用ESI文件中的信息来计算SM的长度(SM长度应该与步骤5中的长度一致),并会将过程数据展示给用户(图11:EtherCAT从站RxPdo的数据)。2.10 更新ESI文件根据RxPdo/TxPdo Entry的位宽更新SM的默认位宽。2.11 更新ESI文件更新离线对象字典(元素:”Profile/Dictionary“)。a.新增对象0x6010(此对象无需结构体定义,因为此对象仅包含了一个基础数据类型的变量)。b.为对象0x7010新增结构体定义c.更新对象0x7010d.更新PDO映射对象结构体注:对象0x1601和对象0x1A00都可以使用"DT1601"的定义,因为这两个对象的结构体是一致的。e.更新PDO映射对象对象字典在SSC和ESI上是一式两份,SSC和ESI上都需要对对象的结构体定义,对象名称,对象映射关系等进行修改。编辑于 2020-03-13 10:50工业物联网以太网(Ethernet)伺服电机​赞同 20​​4 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录EtherCAT学习之路EtherCAT从站开

EtherCAT学习之路——例程解析_倍福foe例程-CSDN博客

>

EtherCAT学习之路——例程解析_倍福foe例程-CSDN博客

EtherCAT学习之路——例程解析

凡人NR

于 2020-03-13 14:53:55 发布

阅读量3.7k

收藏

35

点赞数

3

分类专栏:

EtherCAT学习之路

文章标签:

ethercat

物联网

以太网

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

本文链接:https://blog.csdn.net/chenweizhen1991/article/details/104841123

版权

EtherCAT学习之路

专栏收录该内容

3 篇文章

37 订阅

订阅专栏

《Application Note ET9300 SSC》的6.4.1.2小节有一个例程解析,这篇文章主要是对该小节的翻译,英文好的同学推荐看一下原文。

本例程介绍了如何在基础例程(SAMPLE_APPLICATION)的基础上添加新的过程数据。。

默认的基础例程提供了一下的过程数据:

32Bit的Input Counter(0x6000) 32Bit的Output Counter(0x7010)

当Output Counter为0时,Input Counter每个cycle自加1;否则Input Counter等于Output Counter+1。

本例程中新增的过程数据:

32Bit的Input Counter(0x6000) 32Bit的Result(0x6010) Output Value(0x7010) ----SI1:Value1(32Bit) ----Sl2:Value2(32Bit)

Result(0x6010)是Sl1(0x7010.1)和Sl2(0x7010.2)之和。Input Counter(0x6000)每个cycle自加1。

 

1.创建基础例程

这一节简单介绍一下如何在倍福EL9800评估板上创建基础例程。当然,也可以在已有的其他类似的例程上进行新增过程数据的修改。

按照章节3.1 "SSC Tool”中的步骤1~7进行操作(这里的章节3.1是指《Application Note ET9300 SSC》的3.1)。 选择"EL9800 | 8Bit Digital I/O,16Bit Analog Input"的配置。 在"Application"组下将"EL9800APPLICATION"设置为0,将"SAMPLE_APPLICATION"设置为1。 保存工程并创建新的文件(Project->"Create new Slave Files")。 基于已创建的ESI文件,编辑从站EEPROM。 基于生成的源文件创建MPLAB工程。

SSC可以创建基础例程,具体的创建步骤,在《Application Note ET9300》其他章节也介绍,后面单独列一章来介绍SSC。这里重点关注如何新增过程数据。

 

2.新增过程数据

2.1 在sampleappl.h中新增Result对象

创建为过程数据"32Bit Result"创建入口描述(Entry Description),对象名和对象实例。

要在EtherCAT中新增过程数据,首先就需要在代码中新增对象。关于”对象字典“可以参考我的另一篇博客。

2.2 在sampleappl.h中修改Output Value对象

在对象0x7010(32Bit Output Counter)的基础上进行修改,将对象0x7010修改成Record型对象,Record型对象可以操作超过1个的过程数据(译者注:原有的Output Counter是Var型对象,只能有1个子项;Record型对象类似于结构体,一个对象中可以有多个子项)。

Ouput Counter原本只有一个子项(类似与0x6010的结构),现在需要2个子项,同时还需要增加SubIndex0的参数。

对象名称需要与Entry相对应(每个子名称以"\000"结尾,整个对象名称以"\377"结尾)。

还需要根据对象的参数定义一个结构体,使其包含SubIndex0以及2个过程数据。

更多的细节信息请参见章节11。

2.3 在sampleappl.h中修改PDO-map对象

在PDO-Mapping对象中,为新增的过程数据添加信息。

修改的代码被标注为红色。

2.4 在sampleappl.h中更新对象字典的参考

2.5 在sampleappl.c中更新过程数据大小

更新过程数据大小(过程数据大小应该与对应的SM大小一致)。

注:如果某一个变量与ESI文件中记录的信息不一致,从站状态无法从PreOP转入SafeOP,并会发送0x1E~0x1D的错误码。

译者注:APPL_GenerateMapping用于计算输入过程数据和输出过程数据的长度,后面进行内存拷贝的时候,会根据这里计算出的长度来进行拷贝。

2.6 在sampleappl.c中修改InputMapping()函数

更新输入过程数据映射函数,将新增的过程数据本地拷贝到ESC内存中。

Result(0x6010)对象是输入过程数据,这里使用MEMCPY,将本地内存中的ResultObj6010拷贝到ESC中(pData是ESC的地址)。

2.7 在sampleappl.c中修改OutputMapping()函数

更新输出过程数据映射函数,将新增的过程数据从ESC内存中拷贝到本地。

2.8 在sampleappl.c中更新应用程式

修改应用程序,使Result = Output.value1 + Output.value2,InputCounter++。

2.9 更新ESI文件

根据步骤3,更新ESI中RxPdo和TxPdo的Entry。

主站会使用ESI文件中的信息来计算SM的长度(SM长度应该与步骤5中的长度一致),并会将过程数据展示给用户(图11:EtherCAT从站RxPdo的数据)。

2.10 更新ESI文件

根据RxPdo/TxPdo Entry的位宽更新SM的默认位宽。

2.11 更新ESI文件

更新离线对象字典(元素:”Profile/Dictionary“)。

a.新增对象0x6010(此对象无需结构体定义,因为此对象仅包含了一个基础数据类型的变量)。

b.为对象0x7010新增结构体定义

c.更新对象0x7010

d.更新PDO映射对象结构体

注:对象0x1601和对象0x1A00都可以使用"DT1601"的定义,因为这两个对象的结构体是一致的。

e.更新PDO映射对象

对象字典在SSC和ESI上是一式两份,SSC和ESI上都需要对对象的结构体定义,对象名称,对象映射关系等进行修改。

优惠劵

凡人NR

关注

关注

3

点赞

35

收藏

觉得还不错?

一键收藏

知道了

2

评论

EtherCAT学习之路——例程解析

《Application Note ET9300 SSC》的6.4.1.2小节有一个例程解析,这篇文章主要是对该小节的翻译,英文好的同学推荐看一下原文。本例程介绍了如何在基础例程(SAMPLE_APPLICATION)的基础上添加新的过程数据。。默认的基础例程提供了一下的过程数据: 32Bit的Input Counter(0x6000) 32Bit的Output Cou...

复制链接

扫一扫

专栏目录

2 条评论

您还未登录,请先

登录

后发表或查看评论

凡人NR

CSDN认证博客专家

CSDN认证企业博客

码龄11年

暂无认证

3

原创

30万+

周排名

97万+

总排名

3万+

访问

等级

435

积分

102

粉丝

77

获赞

13

评论

418

收藏

私信

关注

热门文章

EtherCAT学习之路——概述

10764

EtherCAT学习之路——对象字典

9477

5G NR 帧结构

7662

EtherCAT学习之路——例程解析

3749

分类专栏

EtherCAT学习之路

3篇

5G NR

1篇

最新评论

EtherCAT学习之路——概述

m0_60852998:

请问一下周立功的那个资料哪儿有?淘宝没找到啊

EtherCAT学习之路——概述

贾亚超:

推荐书目好评

EtherCAT学习之路——对象字典

lzlibra:

请问0x800枚举类型是怎么实现的

EtherCAT学习之路——例程解析

smart_boy__:

您好,您在文章开头的那个英文文档可以分享一下吗?

EtherCAT学习之路——对象字典

肥thief:

您好,能加个联系方式吗,最近公司再买ethercat的板子,无从下手,想咨询您点问题,有偿

您愿意向朋友推荐“博客详情页”吗?

强烈不推荐

不推荐

一般般

推荐

强烈推荐

提交

最新文章

EtherCAT学习之路——对象字典

EtherCAT学习之路——概述

5G NR 帧结构

2020年3篇

2019年1篇

目录

目录

分类专栏

EtherCAT学习之路

3篇

5G NR

1篇

目录

评论 2

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

领取后你会自动成为博主和红包主的粉丝

规则

hope_wisdom 发出的红包

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

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

余额充值

Ethercat 学习总结一:协议总结_lrw读写 wck值-CSDN博客

>

Ethercat 学习总结一:协议总结_lrw读写 wck值-CSDN博客

Ethercat 学习总结一:协议总结

最新推荐文章于 2024-01-18 10:54:21 发布

乐乐家样样

最新推荐文章于 2024-01-18 10:54:21 发布

阅读量4.6w

收藏

295

点赞数

30

分类专栏:

现场总线

文章标签:

EtherCAT

协议说明

工业以太网现场总线

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

本文链接:https://blog.csdn.net/qq923433160/article/details/83781812

版权

现场总线

专栏收录该内容

2 篇文章

5 订阅

订阅专栏

自己学习记录用,有误的地方欢迎留言指出,禁止私自转载

EtherCAT 总线的国家标准相关资料,比较详细介绍了协议:

工业以太网现场总线EtherCAT_ethercat通讯协议例程-其它文档类资源-CSDN下载

书籍资料,不是特别清晰,将就看看:

工业以太网现场总线EtherCAT驱动程序设计及应用.zip-嵌入式文档类资源-CSDN文库

一. EtherCAT 协议概述

        EtherCAT(以太网控制自动化技术)是一个以以太网为基础的开放架构的现场总线系统,EtherCAT名称中的CAT为Control Automation Technology(控制自动化技术)首字母的缩写。最初由德国倍福自动化有限公司(Beckhoff Automation GmbH) 研发。EtherCAT为系统的实时性能和拓扑的灵活性树立了新的标准,同时,它还符合甚至降低了现场总线的使用成本。EtherCAT的特点还包括高精度设备同步,可选线缆冗余,和功能性安全协议(SIL3)。

        EtherCAT可以支持线形、树形和星形设备连接拓扑结构,物理介质可以选100Base-TX标准以太网电缆或光缆。使用100Base-TX电缆时站间间距可以达到100m。整个网络最多可以连接65535个设备。使用快速以太网全双工通信技术构成主从式的环形结构。

        报文通过从站设备时,从站识别出相关的命令并作出相应的处理。完全由硬件完成信息的处理,延迟时间约为100~500ns(取决于物理层器件),其通信性能和从站设备控制微处理器的响应时间是相互独立的。每个从站设备都具有可编址的内存,其容量最大可为64KB,能够对其进行连续的或同步的读写操作。可以把多个EtherCAT命令数据嵌入到同一个以太网数据帧中,每个数据对应不同的设备或内存区。

        从站设备可以构成多种形式的分支结构,独立的设备分支可以放置于控制柜中或机器模块中,再用主线连接这些分支结构。 EtherCAT大大提高了现场总线的性能,例如,控制1000个开关量输入和输出的刷新时间约为30μs。单个以太网数据帧最多可容纳1486字节的数据,相当于12000位开关量数字输入和输出,刷新时间约为300μs。控制100个伺服电机的数据通信周期约为100μs。 

        EtherCAT使用一个专门的以太网数据帧类型定义,用以传输以太网数据帧的EtherCAT数据包,也可以使用UDP/IP协议格式传输EtherCAT数据包。一个 EtherCAT数据包可以由多个EtherCAT子报文组成。EtherCAT从站不处理非 EtherCAT数据帧,其他类型的以太网应用数据可以分段打包为EtherCAT数据子报文在网段内透明传输,以实现相应的通信服务。 

二. EtherCAT 系统组成

2.1 运行原理

        实时工业以太网EtherCAT充分利用了以太网技术的全双工传输特性。使用主从模式进行访问控制,主站把数据帧发送给各个从站,每个从站从数据帧中读取自己的数据或把需要输入的数据插入数据帧中。

        从以太网的角度来看,一个EtherCAT网段就是一个以太网设备,它接收和发送标准的ISO/IEC8802-3以太网数据帧。但是,这种以太网设备并不局限于一个以 太网控制器及响应的微处理器,它可以由多个EtherCAT从站组成。这些从站可以直接处理接收的报文,并从报文中提取或者插入相关的用户数据,然后将该报文传输到下一个EtherCAT从站。最后一个EtherCAT从站发回经过完全处理的报文,并由第一个从站作为响应报文将其发送给控制单元。

         EtherCAT通信是由主站发起的,主站发出的数据帧传输到一个从站站点时,从站将解析数据帧,每个从站从对应报文中读取输出数据,并将输入数据嵌入到子报文中,同时修改工作计数器WKC的值,以标识从站己处理该报文。网段末端的从站处理完报文后,将报文转发回主站,主站捕获返回的报文并对其进行处理,完成一次通讯过程。一个通讯周期过程中,报文传输延时大概为几个纳秒,克服了传统以太网先对数据包进行解析,再复制成过程数据而造成通讯效率低的缺陷。EtherCAT系统运行原理如图所示。

2.2 主站组成

        主站的实现可采用嵌入式和PC机两种方式,均需配备标准以太网MAC控制器,传输介质可使用100BASE-TX规范的5类UTP线缆。 EtherCAT从站设备除了具备通信功能外,还需具备对从站设备的控制功能。常见的从站设备有I/O端子、伺服设备、微处理器等。

EtherCAT主站运行需具备以下几个基本功能:

    (1)读取从站设备描述XML文件并对其进行解析,获取其中配置参数

    (2)捕获和发送EtherCAT数据帧,完成EtherCAT子报文解析、打包等

    (3)管理从站设备状态,运行状态机,完成主从站状态机设置和维护

    (4)可进行非周期性数据通信,完成系统参数配置,处理通讯过程中突发事件

    (5)实现周期性过程数据通信,实现数据实时交换,实时监控从站状态,从站反馈 信号实时处理等功能。 

2.3从站组成

        在EtherCAT系统的通信过程中,从站采用专用的从站协议控制器(EtherCAT Slave Controller , ESC)来高速动态地(on-the-fly)处理网络通信数据。系统通信的整个过程中,网络数据的处理都在从站协议控制器内部有硬件完成,真是因为整个通信过程有硬件实现,所以通信网络的性能并不取决于从站使用的是什么微处理器及其性能,因为所有的通讯过程都是在从站控制器的硬件中完成的;过程数据接口为从站应用层提供了一个双端口随机存储器( Dual-Port-RAM, DPRAM)来实现数据交换。EtherCAT从站提供网络数据通信和控制任务功能,从站结构如图所示。

        在由EtherCAT工业以太网现场总线组成的工业控制系统中,系统的通信是由主站发起的并通过过程数据通信控制从站设备的工作状态,继而完成系统任务。这些在工业现场的EtherCAT从站设备可以直接接受来自工业以太网中的网络数据报文。而且还能从网络数据报文中提取出主站设备发送给各个从站设备的控制信息和命令,并且插进与自己相关的本地工业现场设备的用户信息及采集的数据,然后在本地从站设备对以太网数据帧处理完成之后再将这个以太网数据报文传输到下EtherCAT从站设备当中重复在上一个从站设备中的操作,当这个以太网数据报文传送到最后一个工业现场设备的EtherCAT从站并且完成相应的操作的时候,在将这个以太网数据报文按原来的路线发送回去,最后由工业现场里第一个EtherCAT从站设备将这个被所有从站设备操作过的网络数据报文作为响应报文发送给自动化控制系统的主站(即控制 单元)。整个通信过程中充分利用了以太网全双工处理网络数据的通讯特点。

EtherCAT Slave Controller(ESC)

ESC传输过程:

每个ESC都有四个数据收发端口,并且均可以接收发送以太网帧。

        如果ESC的四个端口都有外部链接,数据帧的内部传输顺序固定为端口0 —>端口3 —>端口1 —>端口2 —>端口0,如果某个端口没有外部链接,则此端口关闭,数据帧会自动跳过此端口传输到下一个未关闭的端口。正是由于ESC 这种四端口的收发机制,使得其可以 构成多种物理拓扑结构,如树型、线型和星型结构等。三. 数据帧结构

3.1 EtherCAT协议

        EtherCAT数据使用类型为0x88A4 的以太网数据帧进行传输。EtherCAT 数据由数据头(2个字节)和的数据区(44~1498 字节)组成。

EtherCAT 的处理主要是ESC 内部的硬件来完成,因此,其硬件处理能力决定了数据的处理速度。

数据帧结构说明:

1. 目标地址:接收方MAC地址

2. 源地址:发送方MAC地址

3. 帧类型:0x88A4,EtherCAT数据使用类型为0x88A4的以太网数据帧进行传输。

4. EtherCAT帧头:

EtherCAT帧头为11bit数据长度;1bit 保留;4bit 类型,等于1时表示EtherCAT数据处于ESC通信中,其余保留。

EtherCAT帧头 位数 11bits 1bit 4bits 意义 EtherCAT数据长度 保留 类型 说明 即所有子报文长度总和 0x01:EtherCAT DLPDU 0x04:network veriable 0x05:mailbox

5. EtherCAT数据:数据区包含一个或多个EtherCAT 子报文,每一个子报文对应一个独立的从站设备。

1)EtherCAT子报文:

EtherCAT 数据区由不定数目的子报文组成,所有子报文对应操作单独的从站站点。

子报文数据段可根据需求嵌入 CoE、SoE等协议数据格式。

EtherCAT 子报文由子报文头、数据域和工作计数器组成。

2)子报文数据帧格式:

子报文 子报 文头 位数 8bits 8bits 32bits 11bits 4bits 1bit 16bits 意义 命令 索引 地址区 长度 R M 状态位 说明 寻址方式及读写方式 帧编码 从站地址 报文数据区长度 保留 后续报文标志 中断到来标志 数据 长度小于2486bytes WKC 工作计数器,WKC 用来记录从站操作子报文的次数,主站给每个子报文预设了 WKC。设置发送子报文的工作计数器初值为 0,从站正确处理子报文后,工作计数器的值将增加一个增量,主站把返回的子报文中的 WKC 和预设的 WKC 作比较后判断子报文是否被从站正确处理。ESC 在处理数据帧的同时处理 WKC,由通信服务的不同决定 WKC 的增加方式。

3)命令码说明:

寻址方式 读写模式 命令名称 值 描述 顺序寻址 读数据 APRD 0x01 主站使用顺序寻址从从站读取一定长度数据 写数据 APWR 0x02 主站使用顺序寻址向从站写入一定长度数据 读/写 APRW 0x03 主站使用顺序寻址与从站交换数据 设置寻址 读数据 FPRD 0x04 主站使用设置寻址从从站读取一定长度数据 写数据 FPWR 0x05 主站使用设置寻址向从站写入一定长度数据 读/写 FPRW 0x06 主站使用设置寻址与从站交换数据 广播寻址 读数据 BRD 0x07 主站从所有从站的物理地址读取数据 写数据 BWR 0x08 主站广播写入所有从站 读/写 BRW 0x09 主站与所有从站交换数据,对读取的数据 逻辑寻址 读数据 LRD 0x0A 主站使用逻辑地址读取一定长度数据 写数据 LWR 0x0B 主站使用逻辑地址写入一定长度数据 读/写 LRW 0x0C 主站使用逻辑寻址与从站交换数据

6. FCS:帧校验

3.2 EtherCAT UDP 协议

EtherCAT 无 IP协议,但可将其封装在IP/UDP协议中。EtherCAT UDP 协议适用于实时性能要求不是很严格的场合。

四. EtherCAT 寻址方式和通讯服务

4.1 网段寻址

EtherCAT 主站与网段之间存在着不同的寻址方式,利用太网数据帧头西南科技大学硕士研究生论文 第13 页部的 MAC 地址来寻址就是EtherCAT 网段寻址。

具体的方式有以下两种。

开发模式:主站设备通过以太网交换机与EtherCAT 网段进行连接,网段即可使用EtherCAT数据帧当中的目的地址来作为MAC 地址。

直连模式:主站设备通过与EtherCAT网段的直接端口连接来对对MAC地址进行广播。

4.2 设备寻址

在这个寻址方式中,16bit的设备位置(站点地址)和16bit的芯片内物理地址构成了一个32位地址的从站报文。该报文可以支持高达65535个从站和每个从站64K的地址映射。设备寻址有位置寻址(自动增减寻址)、设置站点寻址和广播寻址。其中,设置站点寻址又可以分为工作时由主站设置、存储在EEPEOM当中等两种方式。在每次系统上电或者复位时,能够通过EEPEOM读出站点地址。

在进行设备寻址过程中,各个报文只能够寻址唯一的从站设备,寻址设备的机制有以下两种:

顺序寻址:在顺序寻址过程中,可以通过网段内的连接位置来确定从站的地址,其连接位置是由网段内接线顺序来决定,并使用一个负数来表示这个位置。在依次经过各个从站设备时,每经过一个从站设备,顺序寻址的子报文会在其顺序地址上增加1;顺序地址为0的报文会在从站接收时被认定为寻址本文本身。每次报文在经过能够自动更新地址,因此顺序寻址有可以叫做自动增量寻址。

实际使用时,主站会在启动阶段使用顺序寻址方式将地址分配给各个从站。使用顺序寻址可以让一些跟位置没有关系的地址自动变成从站的地址。

设置寻址:在设置寻址过程中,从站地址在网段内的连接顺序也可以与其自身没有对应关系。该地址可以通过两种方式获取,一是在数据链路启动阶段由主站配置给从站,二是在上电初始化的时候由从站在自身的配置数据存储区里装载,在后续的运行使用中,便可以在链路启动阶段由主站应用顺序寻址的方式来读取各个从站的设置地址。

4.3 逻辑寻址

在逻辑寻址方式下,从站地址使用的是固定的逻辑地址空间。从站通过将报文内的32 位空间当作整体的地址来实现的。这样可以把单个数据帧内任意数据的多个地址分散分布在EtherCAT从站上,从而使得EtherCAT协议变得更加灵活。

逻辑寻址方式是通过FMMU(现场总线内存管理单元)来实现,FMMU的功能存在于各个ESC内部,把从站的本地物理存储地址通过映射与网段内逻辑地址匹配。主站设备会在数据链路启动过程中将配置好的FMMU单元传送至从站设备。各个FMMU单元的配置信息包括:数据逻辑位起始地址、表示映射方向(输入或输出)、位长度、从站物理内存起始地址的类型位,从站设备内的数据与主站的逻辑地址都存在按位的映射关系。

从站设备会检查通过数据逻辑寻址方式收到的EtherCAT子报文是否能够与FMMU单元地址匹配。如果能够匹配,EtherCAT子报文数据区的对应位置将会插入输入类型数据和抽取输出类型数据。由于采用逻辑地址方式能够灵活地组织控制系统,并且优化系统结构,所以该寻址方式适合于传输或交换周期性过程的数据。

4.4 通信服务和WKC

EtherCAT 子报文都是使用主站的操作来描述所有的服务。从站内部物理存储和读写和交换(读取并马上写入)数据的服务则是由数据链路层来确定的。子报文头中的命令字节表示了由读写操作和寻址方式共同命令的通信服务形式。

每一个从站的EtherCAT 数据报都具有一个16 位的工作计数器(WKC)。该工作计数器用以记录EtherCAT 数据报成功访问(正确寻址到从站并成功访问到数据存储区)的从站个数。EtherCAT 从站控制器将工作计数器硬件递增。各个从站数据报中计数器预期值的计算应当由主站程序中的模块来完成。在接收到返回数据帧后,主站会与WKC 比较,如果不一样,说明该报文有问题。子报文中工作计数器的值是与通信服务、寻址地址相关联。报文每读或写一次数据,WKC 的值就加1,同时读写时,读成功后WKC 得值加1,写成功后WKC 的值加2,读写全部完成后WKC 的值加3。所以,WKC 的值就会所有从站处理发生的累加的结果。ARMW 和FRWM 是多读多写的命令,可以当作单个读或写命令来理解。WCK 的值会根据命令不同不断变化。 

五.应用层

应用层AL(Application Layer)为用户与网络之间提供接口,应用层在EtherCAT 通信协议层次结构中是与用户联系最紧密最直接的一层,它可以直接与用户进行交互,实现面对具体的应用程序和控制任务等功能,EtherCAT应用层为各种服务协议与应用程序之间定义了接口,使其能够满足应用层所要求的各种协议共同工作的需求。EtherCAT 作为网络通信技术, 支持CANopen 协议中的CiA402,以及SERCOS 协议的应用层(即CoE 和SoE)等多种符合行规的设备和协议,如下图所示。

5.1 CoE (CANopen over EtherCAT)

CANopen 协议是在CAN 协议基础上开发的应用层协议,EtherCAT 支持采用CANopen 作为应用层协议,此外,还在EtherCAT 协议中关于具体应用的方面做了相应的补充和扩展,它的主要功能包括:初始化通信网络并利用邮箱通信来访问CoE 对象字典及其对象;使用CoE 来配置周期性的数据传输过程及控制指令;管理通信网络并处理突发事件和错误信息。

5.2 SoE(SERCOS over EtherCAT)

SERCOS(串行实时通信协议)是一种高性能的数字伺服实时通信接口协议,包括了通信技术和多种设备行规。SoE 是基于EtherCAT 的SERCOS 协议,尽管EtherCAT 设备上不能进行SERCOS 协议的数据,但EtherCAT 能够对执行SERCOS 规范设备的伺服控制和数据通信提供支持。

5.3 EoE (EtherNet over EtherCAT)

EtherCAT技术不仅完全兼容以太网,而且在设计之初就具备良好的开放性——该协议可以在相同的物理层网络中包容其他基于以太网的服务及协议。可将任何类型的以太网设备通过交换机端口连入EtherCAT网段。

5.4 FoE (EtherCAT实现文件传输)

该协议与TFTP类似,允许读写设备中的任何数据结构。因此,无论设备是否支持TCP/IP,都可以将标准化固件上传到设备上。

优惠劵

乐乐家样样

关注

关注

30

点赞

295

收藏

觉得还不错?

一键收藏

知道了

5

评论

Ethercat 学习总结一:协议总结

自己学习记录用,禁止私自转载EtherCAT 总线的国家标准相关资料,比较详细介绍了协议:https://download.csdn.net/download/qq923433160/9739665一. EtherCAT 协议概述 EtherCAT(以太网控制自动化技术)是一个以以太网为基础的开放架构的现场总线系统,EtherCAT名称中的CAT为Control Au...

复制链接

扫一扫

专栏目录

工业以太网协议EtherCAT主开源协议栈

12-07

工业以太网协议EtherCAT主开源协议栈,在mbed上有对应的移植到STM32上应用。

工业以太网协议EtherCAT主开源协议栈,在mbed上有对应的移植到STM32上应用。

全ethercat协议-中文版

02-08

中文版ethercat协议,eth国际组织标准协议v1.02,包括物理层、数据链路层、应用层的服务定义和协议规范。

5 条评论

您还未登录,请先

登录

后发表或查看评论

EtherCAT转PROFINET网关-TEC-380

最新发布

sibo_yzm的博客

01-18

406

8、PROFINET支持最多32个槽位,支持的最大输入字节数为1440,最大输出字节数为1440(用户可使用的长度受限于具体的PLC和通信模块的PDU大小;4、专业配置软件ECATStart:软件支持EtherCAT从站设备描述文件(ESI)解析,支持离线配置;2、EtherCAT主站支持最大32个从站连接,支持的最大输入字节1440,最大输出字节数1440;4、EtherCAT主站支持SM、DC同步模式,2ms~20ms可设分布时钟(DC)周期;3、隔离电源:使用隔离型电源,抗干扰能力强;

EtherCAT简介

weixin_41883890的博客

06-30

2394

EtherCAT(用于控制自动化技术的以太网)是Beckhoff(倍福)在2003年开发的实时以太网网络。它基于CANOPEN协议和以太网,但是与Internet通信或网络通信不同之处在于,它专门针对工业自动化控制进行了优化。这些标准由EtherCAT技术小组(简称ETG)定义和维护。使用OSI网络模型,以太网和EtherCAT依赖于相同的物理和数据链路层。除此之外,由于针对不同任务进行了优化,因此这两个网络在设计上有所不同。例如,以太网被设计为通过许多不同的节点发送大量数据。它能够与数十亿个单独的地址之间

【EtherCAT】一、入门基础

06-09

5265

EtherCAT(Ethernet Control Automation Technology)是一种高性能实时以太网通信协议,用于在工业自动化领域中进行实时控制和通信。它是由德国Beckhoff自动化公司在2003年开发的,并被国际电工委员会(IEC)标准化为IEC 61158标准。EtherCAT的设计目标是实现极低的通信延迟和高带宽的数据传输,以满足高速控制和数据采集的需求。它通过一种特殊的主从架构实现,其中一个主站(Master)负责协调整个网络,而从站(Slave)则负责提供输入输出功能。

ethercat总结

02-14

ethercat总结,主要是Ethercat基础介绍,运行原理与常用协议说明

EtherCAT介绍

人人都懂物联网

03-11

1万+

EtherCAT(以太网控制自动化技术)是一个以以太网为基础的开放架构的现场总线系统,EtherCAT名称中的CAT为Control Automation Technology(控制自动化技术)首字母的缩写。最初由德国倍福自动化有限公司(Beckhoff Automation GmbH) 研发。EtherCAT为系统的实时性能和拓扑的灵活性树立了新的标准,同时,它还符合甚至降低了现场总线的使用成本。

EtherCAT (学习笔记)

pwl999的博客

10-31

6万+

文章目录1. 简介1.1 运动控制1.2 实时以太网1.3 EtherCAT2. EtherCAT原理介绍2.1 实时性2.2 端口管理2.3 EtherCAT网络拓扑2.4 EtherCAT网络协议栈2.5 EtherCAT数据帧格式2.6 EtherCAT设备寻址方式2.7 分布式时钟(Distribute Clock)2.8 应用层(Application Layer)2.9 设备配置(Device Profile)2.10 主站设计2.11 从站设计3. 应用层(Application Layer)

倍福EtherCAT通信协议详细解析

weixin_41883890的博客

06-07

2万+

单轴的运动控制系统可分为开环、半闭环和闭环伺服系统。多轴运动控制系统可以分成点位控制、连续轨迹控制和同步控制。典型的运动控制系统,从结构上看,包括上位机控制窗口、运动控制器、驱动器、电机以及测量反馈系统等几个部分组成:

1.2 实时以太网

实时以太网(RTE, Real Time Ethernet)是常规以太网技术的延伸,以便满足工业控制领域的实时性数据通信要求。目前,国际上有多种实时工业以太网协议,根据不同的实时性和成本的要求使用不同的原理,大致可以分为以下三类:

(1)基于TCP/IP实现的工业以太

Ethercat概念学习

weixin_43914278的博客

04-10

1583

最近我们要基于Ethercat技术进行开发,首先需要了解其基本原理,github上看到了有相关实现,一起来看看吧。

工控协议解读之EtherCAT协议硬核分析(转自知乎“智能制造之家“)

qq_43599327的博客

09-07

7036

EtherCAT协议

EtherCAT协议中文版.zip

03-19

EtherCAT协议中文版V1.0.2

EtherCAT 协议规范

04-29

EtherCAT(Ethernet for Control Automation Technology)是一种基于以太网的开发构架的实时工业现场总线通讯协议,它于2003年被引入市场,于2007年成为国际标准,并于2014年成为中国国家标准。EtherCAT的出现为系统...

ConstraintLayout约束布局

热门推荐

shenglong0210的博客

05-17

9万+

ConstraintLayout约束布局

目录

前言

为什么用ConstraintLayout

如何使用ConstraintLayout

添加依赖

相对定位

角度定位

边距

居中和偏移

尺寸约束

辅助工具

Optimizer

Barrier

Group

Placeholder

Guideline

总结

前言

ConstraintLayout是Google在API9的时候推出的新...

EtherCAT 应用层协议的部分理解(一)

王三三

06-22

2万+

不对EtherCAT进行介绍,只谈谈对EtherCAT应用层协议的简单理解1、COE (CANopen over EtherCAT)  一种基于且完全遵循CANopen协议的通信协议  用途:

     1、用于驱动PDO对象,实现PDO对象间数据通信

      2、用于驱动SDO对象,实现SDO对象间的数据传输  分类:

    1、周期性过程数据通信 – 驱动PDO

EtherCAT通讯DS402协议----Controlword和Statusword

weixin_43956732的博客

06-07

1万+

EtherCAT通讯DS402协议----Controlword和Statusword控制字和状态字作用控制字:controlword

控制字和状态字作用

主站通过控制字(controlword)对驱动器控制,通过读取驱动器的状态字(statusword)获取驱动器的状态。驱动器的8种状态转换参照EtherCAT状态机详解

控制字:controlword

...

EtherCAT设备协议详解一、EtherCAT概述

EtherCAT

12-16

3627

• 国际范围内涵盖的开放技术标准(IEC61158,61784,61800和ISO 15745)• 用于控制自动化技术的以太网(EtherCAT) 是一种基于以太网的现场总线系统。后面介绍上图中的从站设备协议,图上内容很多,原图可以从ethercat官网获取。• 涉及从站和从站的设置节点采用物理连接的菊花链样式但在逻辑上按循环运行。• EtherCAT专注于精确、低抖动从节点间同步 (≤ 1 μs)• 每个从站“动态”处理消息数据当帧从一个节点传递到下一个节点时。– ETG拥有EtherCAT的权利。

1.ethercat基本概念

weilan0818的博客

05-24

608

EtherCAT(以太网控制自动化技术)是一个开放框架,以以太网为基础的现场总线系统。是实时以太网的一种。实时以太网是常规以太网技术的延伸,以便满足工业控制领域的实时性数据通信要求。实时以太网有powerlink,profinet,sercosⅢ,ethercat等等。基于TCP/IP的实现:Modbus/TCP, Ethernet/IP基于以太网的实现:powerlink, profinet RT修改以太网的实现:EtherCAT, Sercos3, profinet IRT。

帮我准备一份ethercat学习资料

06-13

好的,以下是一份EtherCAT学习资料的准备清单:

1. EtherCAT基础知识介绍:了解EtherCAT的基本概念、原理、特点等。

2. EtherCAT网络拓扑结构和组网方式:介绍EtherCAT网络的拓扑结构和组网方式,包括星型、链型、树型等。

3. EtherCAT从站开发:介绍EtherCAT从站的开发方法和步骤,包括从站硬件设计、从站固件开发、从站配置等。

4. EtherCAT主站开发:介绍EtherCAT主站的开发方法和步骤,包括主站硬件设计、主站固件开发、主站配置等。

5. EtherCAT网络诊断和调试:介绍EtherCAT网络的诊断和调试方法,包括EtherCAT网络的监测工具、EtherCAT从站和主站的调试方法等。

6. EtherCAT实际应用案例:介绍一些基于EtherCAT的实际应用案例,包括机器人、自动化生产线、智能制造等领域的应用。

7. EtherCAT相关工具和资源:介绍一些常用的EtherCAT开发工具和资源,包括EtherCAT开发套件、EtherCAT协议栈、EtherCAT网络分析仪等。

8. EtherCAT学习资料汇总:收集一些优秀的EtherCAT学习资料,包括书籍、论文、视频等。

以上是EtherCAT学习资料的准备清单,您可以根据自己的实际情况和需求进行选择和补充。希望对您有帮助!

“相关推荐”对你有帮助么?

非常没帮助

没帮助

一般

有帮助

非常有帮助

提交

乐乐家样样

CSDN认证博客专家

CSDN认证企业博客

码龄12年

暂无认证

2

原创

52万+

周排名

207万+

总排名

5万+

访问

等级

262

积分

64

粉丝

31

获赞

6

评论

320

收藏

私信

关注

热门文章

Ethercat 学习总结一:协议总结

46105

Ethercat 学习总结二:从站硬件分析

9327

分类专栏

现场总线

2篇

最新评论

Ethercat 学习总结一:协议总结

小弧光:

感谢分享

Ethercat 学习总结一:协议总结

Jackalope114:

数据帧,子报文的报头那个图,索引位应该死8bit吧

Ethercat 学习总结一:协议总结

mukes:

学习了!b( ̄▽ ̄)d

Ethercat 学习总结一:协议总结

开心an:

你的图呢,怎么没有了

Ethercat 学习总结二:从站硬件分析

megalinkaaa:

你好,博主,我有一个EtherCat从站的通讯问题想请教,请问您的联系方式能提供一下吗?谢谢!我的QQ:1228032744

您愿意向朋友推荐“博客详情页”吗?

强烈不推荐

不推荐

一般般

推荐

强烈推荐

提交

最新文章

Ethercat 学习总结二:从站硬件分析

2018年2篇

目录

目录

分类专栏

现场总线

2篇

目录

评论 5

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

领取后你会自动成为博主和红包主的粉丝

规则

hope_wisdom 发出的红包

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

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

余额充值

EtherCAT协议基础知识(Part 1) - 知乎

EtherCAT协议基础知识(Part 1) - 知乎切换模式写文章登录/注册EtherCAT协议基础知识(Part 1)虹科工业智能互联一、EtherCAT概述1.特性①开放的技术EtherCAT全称EtherNet Control Automation Technology,是由德国倍福(Beckhoff)公司提出的一种实时以太网技术。EtherCAT是一种开放但不开源的技术,意味着您可以任意使用这项技术,但若要进行相关设备的开发,则需要向倍福公司获取相关授权。②快速性相比传统现场总线,EtherCAT的数据传输速率有了极大的提升,可选10Mbit/s或100Mbit/s,甚至依托补充的EtherCAT G技术,传输速率可达1000Mbit/s;同时EtherCAT基于标准以太网帧传输,单帧数据用容量可达1486 Bytes。这使得在传输数据量方面EtherCAT有无比的优越性。③拓扑的灵活性EtherCAT几乎支持所有的拓扑结构:星型、线性、树型、菊花链型等,并支持各类电缆、光纤等多种通信介质,还支持热插拔特性,保证了各设备之间连接的灵活性。同时EtherCAT几乎没有设备容量限制,最大从站设备数可达65535个,使得网络中无需交换机的存在,仅通过设备间的拓扑结构即能使得EtherCAT数据直达每个从站。④同步的精准性对于像多个伺服轴执行协同运动等一类应用,其对数据同步性要求甚高。而EtherCAT可选择使用分布式时钟(DC)的方式同步节点,并采用完全基于硬件的时间校准机制,使得整个系统抖动时间远小于1us,能够完全适用于这样的应用之下。如下图所示,300个EtherCAT站点间的信号时间抖动仅有20ns:⑤高可用性EtherCAT可通过简单的措施实现线缆的冗余性。通过将网络中最后一个站点与主站设备中的以太网端口连接,即可将线型拓扑结构扩展为环型冗余拓扑结构。当线缆损坏或站点故障发生时,主站堆栈中的附加软件检测就会检测到,并立刻切到换冗余线路中运行,而各站点无需为此而改变,甚至不会意识到网络通信正在冗余线路中运行。2. ISO/OSI参考模型图:EtherCAT的ISO/OSI参考模型EtherCAT仅使用了物理层、链路层、应用层三层协议,与多数传统的现场总线相同,但相比于其它实时以太网协议,如PROFINET、EtherNet/IP等,其协议栈更加精简。这也是EtherCAT协议的实时性优越于其它实时以太网协议的重要原因之一。3.EtherCAT主从架构图:EtherCAT主从架构EtherCAT网络采用主从架构,网络组态于PC主机上进行配置,需要使用到相应的EMI(EtherCAT Master Information Files)、ESI(EtherCAT Slave Information Files)文件,经专用配置软件(通常于主站配置软件中集成)进行配置后生成ENI(EtherCAT Network Information Files)文件下载至主站中,主站便依据该文件进行整个网络的识别。图中关于EtherCAT从站设备的内部组成,即是一个实现EtherCAT协议OSI模型的过程:RJ45网口、PHY物理层芯片用于实现物理层协议;ESC用于实现链路层协议,通常使用倍福官方的ET1100芯片实现;MCU则用于实现应用层协议,需要厂商自行根据相应的协议编写程序代码,或是直接使用协议栈代码实现。4.报文帧传输方式EtherCAT报文帧只能由主站进行发送,在一个通讯周期内,主站发送以太网数据帧给各个从站,数据帧到达从站后,每个从站根据寻址从数据帧内提取相应的数据,并把它反馈的数据写入数据帧。当数据帧发送到最后一个从站后返回,并通过第一个从站返回至主站。这种传输方式能够在一个周期内实现数据通讯,还改善了带宽利用率,最大有效数据利用率达90%以上。(这种传输方式有点类似于现实生活中的环型地铁,列车上的人到达自己的目的站点后下车,每个站点的人也会相应上车。)发布于 2020-10-10 14:37以太网(Ethernet)交换机网络通信​赞同 32​​3 条评论​分享​喜欢​收藏​申请