比特派官网app下载地址查询|ethercat coe

作者: 比特派官网app下载地址查询
2024-03-14 16:02:00

【EtherCAT】3.COE协议详解 - 知乎

【EtherCAT】3.COE协议详解 - 知乎首发于EtherCAT切换模式写文章登录/注册【EtherCAT】3.COE协议详解小皎皎一只可爱的小皎皎本文详细介绍CANopen over EtherCAT(COE)协议。CANopen协议首先强烈推荐这个视频,本文也是根据此视频翻译的:CANopen是一种架构在控制局域网络(Controller Area Network,CAN)上的应用层通信协议,包括通信子协议及设备子协议,常在嵌入式系统中使用,也是工业控制常用到的一种现场总线协议。因为CANopen是最早是设计在CAN上的,对CAN不熟悉的同学可以参考下面这篇文章:从OSI的角度来看,CAN Bus承担物理层和数据链路层的功能,而CANopen可以用在会话层,表示层或者应用层。OSI For CANopenCANopen通信包含以下核心概念:通信模型:可以支持主从(Master-Slave)模式,客户端-服务器(CS)模式和生产者-消费者(Producer-Consumer)模式;通信协议:CANopen包含一系列特殊的子协议,例如用于配置节点的SDO和用于传输数据的PDO;设备状态:设备可以支持不同的状态,主节点设置从节点的状态;对象字典:每个设备都包含一个对象字典(Object Dictionary,OD),描述了CANopen节点的所有参数,可以通过SDO访问对象字典;电子数据表:EDS是存放对象字典条目的标准文件格式;设备配置文件:为特定设备定义的OD,例如用于IO模块的CIA 401和用于伺服控制的CIA 402协议。各部分的关系如下图所示:CANopen协议结构通信模型主从通信模型:一个节点充当主站,请求从站的数据,例如伺服电机的数据。这个过程可以用于诊断或者状态管理客户端-服务器模型:客户端向服务器发送数据请求,服务器回复请求的数据。例如,当主机程序需要来自从机的OD数据时。阅读来自服务器的数据称为上传,而写入是下载。生产者-消费者模型:生产者节点将数据广播到网络,由消费者消费数据。理解这几个通信模型对后面的PDO,SDO的学习非常重要。通信协议和设备状态CAN报文的结构如下图所示:CAN报文在CANopen中,11位的CANID被称为通信对象标识符(COB-ID)。COB-ID分为两部分,4bit功能码和7bit的节点ID。通过COB-ID,可以确定是哪个节点正在发送/接收何种服务。CANopen Frame其中主要的CANopen服务类型:网络管理NMT:用于控制CANopen服务的状态,例如,通过NMT命令(启动,停止,复位等)进行操作。同步SYNC:同步主机和从机之间的信号;紧急情况EMCY:如果设备发生致命错误,则启用紧急服务,允许它向网络的其余部分表明这一点;时间戳TIME:利用该服务分发全球网络时间,包含一个6字节的时间和日期信息;过程数据对象PDO:PDO用于在设备之间传输实时数据;服务数据对象SDO:SDO用于访问、更改CANopen对象字典中的值;心跳HeartBeat:提供节点活跃消息并确认NMT命令;这其中CANopen命令中,最重要的是PDO和SDO。对象字典对象字典是一个标准化结构,其中含有描述CANopen节点行为的所有参数。通过16位的索引和8位的子索引来查找OD条目。简单地理解,对象字典其实就是一个字典,通过索引号来查询这个对象的信息。其中每个条目可能包含以下的信息:索引:16bit的对象基地址;对象名:厂商的设备名称;对象代码:可以是数组,变量或者记录;数据类型;访问权限:读写、只读或者只写;对于一本英汉字典,“abandon”这样的经典单词可以说是一定出现的,但是有些生僻词、专有名词可能只有在特定功能的字典才会出现。对象字典也是这样,对象字典含有标准化部分和非标准化部分,标准化部分是一些必填项,非标准化部分可以根据需求来定制。对象字典电子数据表和设备配置文件那么对象字典是以何种形式存储在设备中的呢?答案是通过INI格式(在EtherCAT中一般是XML)的一个对象字典模板文件,称为电子数据表EDS,EDS一般由厂家提供,程序员会编辑设备的EDS,并在EDS中添加了特定的参数值或改变了每个对象的描述名称,存储在设备中,称为设备配置文件(DCF)。如下图所示:EDS和DCF一般来说DCF是在设备集成时创建的,但是通常在初始化配置之后需要修改对象字典的值,此时就需要使用SDO了。SDOSDO服务允许CANopen节点通过CAN网络读取/编辑另一个节点的对象字典的值。正如在“通信模型”中提到的,SDO服务使用“客户端/服务器”模式。具体来说,一个SDO “客户端”与一个专门的SDO“服务器”发起通信。其目的可以是更新一个OD条目(称为“SDO下载”)或读取一个条目(“SDO上传”)。SDO的客户端\服务器通信模式SDO是如何通过CAN报文来实现的呢?一个典型的SDO报文首先,COB-ID 605反映了“SDO接收”的使用(COB-ID 600 +节点ID)CCS(客户端命令指定符)是传输类型(例如,1:下载,2:上传)n是字节区4-7中不包含的字节数(如果e和s被设置为有效)e表示“加速传输”,且所有数据都在单个CAN帧中(如果有设置)s表示数据大小显示为n(如果有设置)索引(16位)和子索引(8位)反映了要访问的OD地址最后,节点5将相应字节4-7中包含的相关数据写入对象字典PDOPDO用于实时的数据传输。CANopen的PDO服务用于在CANopen节点之间有效地共享实时操作数据。例如,PDO将携带来自压力传感器的压力数据或来自温度传感器的温度数据。原则上,SDO服务也能实现共享实时操作数据,但由于单个SDO响应只能携带4个数据字节,因此一般不用SDO。假设一个主站节点需要来自节点5的两个参数值(例如“SensTemp2”和“Torque5”)。如果通过SDO来实现,需要4个完整的CAN帧(2个请求和2个响应)。相比之下,一个PDO消息可以包含8个完整的数据字节,而且它可以在一个帧内包含多个对象参数值。因此,在SDO服务中至少需要4个报文,而在PDO服务中则可能只需要1个报文就可以完成。PDO服务使用的是“消费者/生产者”模型。因此,生产者 "生产数据",它使用发送PDO(TPDO)将其传送给“消费者”(主站)。反之,它可以通过“接收PDO”(RPDO)从消费者那里接收数据。PDO报文这个PDO的使用者知道如何解释这个PDO报文。这些“PDO 映射”通常是可配置的,并且可以在创建 DCF 或通过 SDO 服务期间进行更改。具体在哪个字典项目中配置PDO,要根据使用的CANopen规范来确定,在CIA301中通过PDO的通讯参数(例如1400)和PDO的映射参数(例如1600)来进行配置。COE协议下面我们介绍以下CANOpen在EtherCAT中的应用。COE的对象字典COE协议是完全遵循CANopen协议的,但针对EtherCAT通信做了一些扩展,索引为0x1c00~0x1c4f,用于设置存储同步管理器的类型,通信参数和PDO数据分配。COE对象字典COE通信数据对象续表上面这个表的数据会以xml文件存储在从站的EEPROM中,标签为objects 。这里0x1C12和0x1C13两个Entry非常重要,一般我们使用这两个Entry对PDO进行管理。周期性数据通信周期性数据主要通过PDO进行通信。前面提到,主站通过解析对象字典来了解EtherCAT报文的PDO分配。0x1C10~0x1C2F对象字典的内容确定报文中PDO的分配。其中,子索引0是分配的PDO数目,其他子索引是PDO映射对象的索引号,也就是前面的0x1600~0x17FF。然后根据PDO映射对象的子索引和数值,就可以知道这个PDO的具体含义了,一个配置对象如下图所示:0x1c02配置示例对象字典的Entry一般包含索引和子索引,这里的1C12包含4个子索引。第一个子索引是包含PDO映射的数目,后面3个是映射的具体PDO。也就是说后面要使用到0x1600,0x1601和0x1602这3个PDO。每一个PDO就是一个对象,类似于C语言里的结构体,它还包括许多成员变量。例如这里1600PDO还包含2个子索引,分别是0x7000:01和0x7010:01,可见从对象字典到最终要传输的具体数据,是一个层层映射的关系。但如果要快速理清传输的是什么数据,答案也很简单:检查1C12和1C13。这里顺便提一提动态PDO配置的概念。动态PDO配置包括PDO Assignment和PDO Configuration,前者指的是,已经有配置好的一堆1600,1601,1602等等PDO,我们可以选择如何组合成我们自己的传输数据。PDO Configuration是指,可以修改1600,1601这些具体PDO映射的内容。实际上一个商用从站应该支持动态PDO,后面的文章会介绍如何实现动态PDO。非周期性数据通信EtherCAT主站通过读写邮箱数据SM通道来实现非周期性数据通信。前面我们讲过,EtherCAT处理非周期性数据通信是通过邮箱的方式,邮箱数据单元结构如下图所示:邮箱数据这里面类型字段如果为3,代表当前运行的是COE协议。COE的命令位只有两个字节:COE数据头SDO数据单元SDO的传输分为上传和下载两种,下载传输常用于主站设置从站参数,上传用于主站读取从站性能参数。这里内容比较多,就不详细介绍了,感兴趣的小伙伴可以自行查阅相关资料学习。编辑于 2023-08-28 20:39・IP 属地浙江通信协议网络协议​赞同 29​​添加评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录EtherCAT介绍工业以太网总线Ether

COE、SOE、EOE、FOE是什么?_ethercat coe soe-CSDN博客

>

COE、SOE、EOE、FOE是什么?_ethercat coe soe-CSDN博客

COE、SOE、EOE、FOE是什么?

最新推荐文章于 2024-03-10 17:51:01 发布

识荒者

最新推荐文章于 2024-03-10 17:51:01 发布

阅读量9k

收藏

20

点赞数

6

分类专栏:

通俗易懂Ethercat

文章标签:

网络

ethercat

通俗

COE

EOE

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

本文链接:https://blog.csdn.net/absinjun/article/details/122203964

版权

通俗易懂Ethercat

专栏收录该内容

5 篇文章

8 订阅

订阅专栏

简单来说,COE、SOE、EOE、FOE都是一种基于邮箱协议,分别基于EtherCAT来兼容。

COE 全称:CANopen over EtherCAT。该协议是一个具有开放性的标准应用层协议。其中CANopen协议是基于CAN协议的链路层上实现的。EtherCAT协议在应用层支持CANopen协议,因此支持CANopen协议的从站可以被运用在EtherCAT协议上。

SOE 全称:Servo Drive over EtherCAT。SERCOS是世界首个应用于伺服控制的协议。EtherCAT协议在应用层接口上兼容了这个协议,简称为SOE。SERCOS应用层协议为主站设计了信息接口,可以通过配置EtherCAT过程数据报文,实现周期性传递伺服驱动器的数据。

EOE 全称:Ethernet over EtherCAT。该协议支持EtherCAT能分段传递标准的以太网数据报文,使得EtherCAT协议同样能支持TCP/IP、UDP/IP协议。

FOE 全称:File Access over EtherCAT。该协议可以使用EtherCAT总线上传、下载固件,刷新从站的固件。并且可以通过命令行工具加载或存储文件。

优惠劵

识荒者

关注

关注

6

点赞

20

收藏

觉得还不错?

一键收藏

知道了

0

评论

COE、SOE、EOE、FOE是什么?

简单来说,COE、SOE、EOE、FOE都是一种基于邮箱协议,分别基于EtherCAT来兼容。COE全称:CANopen over EtherCAT。该协议是一个具有开放性的标准应用层协议。其中CANopen协议是基于CAN协议的链路层上实现的。EtherCAT协议在应用层支持CANopen协议,因此支持CANopen协议的从站可以被运用在EtherCAT协议上。SOE全称:Servo Drive over EtherCAT。SERCOS是世界首个应用于伺服控制的协议。EtherCAT协议在应用层接

复制链接

扫一扫

专栏目录

COE 的相关格式描述的excel文件

10-17

COE格式.xlsx

sin_sin.coe_

09-28

用于存储rom,可以有若干用途,利于FFT的仿真验证,这是最基本的存储文件,由matlab生成

参与评论

您还未登录,请先

登录

后发表或查看评论

【protocol】工控协议COE、SOE等是什么

Hucy861630的博客

09-22

791

EtherCAT协议在应用层接口上兼容了这个协议,简称为SOE。全称:CANopen over EtherCAT。其中CANopen协议是基于CAN协议的链路层上实现的。EtherCAT协议在应用层支持CANopen协议,因此支持CANopen协议的从站可以被运用在EtherCAT协议上。该协议支持EtherCAT能分段传递标准的以太网数据报文,使得EtherCAT协议同样能支持TCP/IP、UDP/IP协议。简单来说,COE、SOE、EOE、FOE都是一种基于邮箱协议,分别基于EtherCAT来兼容。

EtherCAT的COE报文

u014453443的博客

01-04

515

动态PDO配置包括PDO Assignment和PDO Configuration,前者指的是,已经有配置好的一堆1600,1601,1602等等PDO,我们可以选择如何组合成我们自己的传输数据。其中,子索引0是分配的PDO数目,其他子索引是PDO映射对象的索引号,也就是前面的0x1600~0x17FF。COE协议是完全遵循CANopen协议的,但针对EtherCAT通信做了一些扩展,索引为0x1c00~0x1c4f,用于设置存储同步管理器的类型,通信参数和PDO数据分配。0x1c12配置示例。

EtherCAT 应用层协议

changexhao的专栏

05-18

3116

不对EtherCAT进行介绍,只谈谈对EtherCAT应用层协议的简单理解1、COE (CANopen over EtherCAT)  一种基于且完全遵循CANopen协议的通信协议  用途:      1、用于驱动PDO对象,实现PDO对象间数据通信       2、用于驱动SDO对象,实现SDO对象间的数据传输  分类:     1、周期性过程数据通信 – 驱动PDO    ...

EtherCAT名词解释

China_XXX的博客

08-09

2779

CoE:基于EtherCAT的CANopen通信;

DC:分布式时钟;

ENI:EtherCAT Network Information的缩写,即EtherCAT网络信息;

EoE:基于EtherCAT的以太网;

ESC:EtherCAT从站控制器;

EMI:EtherCAT Master Information的缩写,EtherCAT主站信息;

ESI:EtherCAT Slave ...

EtherCAT 功能介绍系列文章——EoE

MotroEngineer的博客

06-19

1195

EoE(Ethernet over EtherCAT)是允许在EtherCAT网络中传输标准以太网数据使用标准以太网设备,如打印机、相机或PC的技术。EoE从第三方设备传输到EtherCAT主站的数据帧通过EtherCAT协议进行透传。通过EoE技术,EtherCAT网络对以太网设备是完全透明的,实时特性不会受到影响。

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

热门推荐

王三三

06-22

2万+

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

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

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

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

SOEM协议栈代码研读笔记(二)

zhiyaormb的博客

01-11

1768

类比 一下单片机,ARM,对外设的操作 ,主要便是通过寄存器,地址空间的读写,至于对应的外设如何根据寄存器的数据去工作,则被隐藏在黑盒子中。现在,把EtherCAT Master想象成ARM内核,slave想象成类似uart之类的外设。地址映射,FMMU便是将其细节包装起来的黑盒子

6 邮箱协议实现

Queen B is Mine

12-04

3094

6 邮箱协议实现EtherCAT主站实现了 CANopen over EtherCAT(CoE),Ethernet over EtherCAT(EoE),File-access over EtherCAT(FoE),Vendor-specific over EtherCAT(VoE)和 Servo Profile over EtherCAT(SoE)的邮箱协议。有关详细信息,请参阅以下部分。

【EtherCAT】一、入门基础

06-09

5250

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

coe_load_sql_profile.sql

08-20

oracle sqlt工具脚本,用来使用sql_profile绑定内存中已有的执行计划

mif_to_coe.txt

05-12

用MATLAB实现mif文件转换成coe文件,原创代码,非常实用!可以非常轻松加在到rom的ip核里面了!

matlab.rar通过matlab将彩色图片生产coe文件

05-18

matlab.rar通过matlab将彩色图片生产coe文件

提供给fpga使用

方便调试功能

Ethercat xml规范

05-12

Ethercat xml规范

.mif波形文件转.coe格式(MATLAB函数)

09-03

1)可以将.mif波形文件统一转换为16位宽.coe文件。可配合guagle波形生成器配合使用。用于VIVADO写ROM IP操作 2)支持MATLAB2018B版本及以上(以下可能无部分调用的函数) 3)使用方法:输入.mif文件的路径,输出...

GMS.rar_gms coe

09-24

自己用C++编写的基于控制台的学生成绩管理系统,包括了很多C++的知识:类、向量、动态数组、菜单设计、相关度计算等等

车载诊断协议DoIP系列 —— AL IPv6地址分配&通用DoIP报头结构

最新发布

Soly_kun的博客

03-10

206

### 本文大体如下:

### 1、系列文章目的

### 2、AL IPv6地址分配

### 3、通用DoIP报头结构

trunk

2301_79947226的博客

03-10

446

当两台交换机之间需要互相传送多个 VLAN 的数据时,就需要使用 trunk 端口。Trunk 端口会将属于不同 VLAN 的数据进行打标记(通常是 IEEE 802.1Q 协议中定义的 VLAN 标识符),从而使得在传输过程中能够正确区分和处理不同 VLAN 的数据。在华为企业级网络模拟平台(eNSP)中,“trunk” 是指用于在交换机之间传送多个 VLAN 数据的端口。在 eNSP 中,您可以通过配置交换机的接口将其设置为 trunk 端口,从而实现跨交换机的 VLAN 数据传输和通信。

WSADE = vehicle_mean_error * vehicle_coe + pedestrian_mean_error * pedestrian_coe + bicycle_mean_error * bicycle_coe中的WSADE是什么意思

04-19

WSADE 是一个衡量目标检测算法性能的指标,全称为 Weighted Sum of Average Detection Errors,其中,vehicle_mean_error、pedestrian_mean_error、bicycle_mean_error是目标检测算法在车辆、行人、自行车三个类别上的平均检测误差,vehicle_coe、pedestrian_coe、bicycle_coe是每个类别的权重系数。

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

非常没帮助

没帮助

一般

有帮助

非常有帮助

提交

识荒者

CSDN认证博客专家

CSDN认证企业博客

码龄7年

暂无认证

79

原创

38万+

周排名

102万+

总排名

47万+

访问

等级

4270

积分

507

粉丝

157

获赞

104

评论

1037

收藏

私信

关注

热门文章

神奇的python(六)之python的串口操作(pyserial)

46353

shell脚本打开一个新终端并运行指定脚本

29530

SD卡、TF卡坏道及容量检测

28035

J-LINK 操作使用指南

24655

SD卡、TF卡读写速率测试

21547

分类专栏

虚拟串口

1篇

通俗易懂Ethercat

5篇

TortoiseSVN

1篇

EtherCAT

1篇

kernel

3篇

linux

25篇

Jlink

1篇

C++

1篇

SD卡、TF卡检测技术

2篇

python

软技能

2篇

神奇的python

6篇

Pygame写游戏

22篇

PyOpenGL写3D界面

5篇

Ethercat解析

15篇

Linuxcnc解析

2篇

每日一题(C语言基础篇)

3篇

Leetcode算法题

18篇

Linux实时系统

1篇

最新评论

Ethercat解析(十五)之程序框架

weixin_57563284:

请问一下博主使用过igh 5001协议控制过io吗

Ethercat解析(十)之从站配置

田海峰:

E没看明白啊。能麻烦解释下吗?

LinuxCNC基础知识

Zlf14:

兄弟你下载了吗,我也不会下载

LinuxCNC基础知识

ttlsss:

隐藏内容怎么下载啊?

神奇的python(六)之python的串口操作(pyserial)

Zeeland:

如果您正在寻找一个轻量级的Serial框架,那么我强烈建议您了解一下cushy-serial。它是一个非常易于使用的Python库,可以使串行编程变得更加简单和快捷。相对于传统的pyserial,cushy-serial提供了许多特性,如自定义消息协议、串口定时任务等等,因此您不必花费太多时间在多线程上。

另外,cushy-serial兼容了Serial中的所有功能,所以您可以在其中使用Serial的所有特性。如果您有任何问题或建议,可以提交pr或issue进行交流。此外,您也可以通过以下链接了解更多关于cushy-serial的信息

https://github.com/Undertone0809/cushy-serial

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

强烈不推荐

不推荐

一般般

推荐

强烈推荐

提交

最新文章

虚拟机与主机串口通信(主机与主机)

LinuxCNC基础知识

EtherCAT有哪些主流开源代码?它们的优点是什么?

2021年7篇

2019年1篇

2018年102篇

目录

目录

分类专栏

虚拟串口

1篇

通俗易懂Ethercat

5篇

TortoiseSVN

1篇

EtherCAT

1篇

kernel

3篇

linux

25篇

Jlink

1篇

C++

1篇

SD卡、TF卡检测技术

2篇

python

软技能

2篇

神奇的python

6篇

Pygame写游戏

22篇

PyOpenGL写3D界面

5篇

Ethercat解析

15篇

Linuxcnc解析

2篇

每日一题(C语言基础篇)

3篇

Leetcode算法题

18篇

Linux实时系统

1篇

目录

评论

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

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

规则

hope_wisdom 发出的红包

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

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

余额充值

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

EtherCAT协议基础知识(Part 3) - 知乎切换模式写文章登录/注册EtherCAT协议基础知识(Part 3)虹科工业智能互联三、EtherCAT应用层1.特性EtherCAT应用层支持多种设备行规以实现邮箱通讯,包括CANopen、SERCOS、HTTP等,基于EtherCAT的应用层行规被称为xoE协议(xxx over EtherCAT)。设备开发中,从站设备无需支持所有行规,根据其应用选择最合适的一种即可。下面将以应用最为广泛的CoE协议举例描述。2.CoE协议CoE全称CAN application protocol over EtherCAT,是EtherCAT应用层协议实现的一种,其特点是根据CiA402协议编写,使用对象和对象字典的功能实现邮箱通讯。CANopen协议已经有成熟且大规模的应用,使用CoE协议,相关设备只需要经过少量的更改即可应用于EtherCAT协议上,大部分CANopen的固件也可以得到重复利用。3.站点状态机EtherCAT对于站点所处的状态与运行功能进行了规范,如上图所示,各状态功能简介如下:Init:初始化状态,站点在此状态下将检查数据链路是否正确,与应用层无数据交互。Pre-Op:预操作状态(POP),站点在此状态下仅进行邮箱通信,不进行过程数据交互。Safe-Op:安全运行(SOP),站点在此状态下可进行邮箱通信,并允许过程数据输入,不可输出。OP:操作状态,站点可进行完全的数据通信,处于正常的工作状态。Bootstrap:引导模式,仅适用于FoE的邮箱通信,用于固件的更新4.同步模式及工作原理EtherCAT存在三种同步的模式:Free RUN、SM同步(Sync Manager,同步管理器)、DC同步(Distributed Clock,分布式时钟),下面将简要介绍三种同步模式及其工作的原理。①Free RUNFree RUN模式表示网络中各站点运行于异步的状态下,不进行同步。从站应用程序完全按照从站自身时钟的时间片进行触发与运行,与报文帧的收发无关。Free RUN模式分离了主站与从站的时间关系,当主从站时钟频率差别较大时,可能会出现丢帧等状况。该模式适用于完全没有同步性要求的应用。②SM同步SM同步模式依赖于EtherCAT主站发送的同步帧,各从站依据收到的同步帧的数量进行自身应用程序的触发,如某从站收到两次EtherCAT同步帧,就进入一次中断服务函数进行相应的处理。SM同步模式的同步精度受多种因素的影响,如:主站自身的时间抖动,从而影响同步帧的发送;报文帧的物理传输时延决定了每个从站收到同步帧的时间一定有差异,在整个网络比较大时这个时间差也会放大。因此该模式比较适用于同步性要求一般的应用。③DC同步DC同步模式的形式与SM同步类似,都是依据于中断触发信号来进行自身应用程序的触发,不同在于SM同步依据的是同步帧,而DC同步依据的是各站点内ESC进行产生的SYNC信号。EtherCAT制定了一套完整的机制以保证DC同步能够精确运行,其运行流程总体可分为两个阶段:初始化阶段和动态补偿阶段,如下图所示:初始化阶段将网络中各设备在上电时紊乱的触发时间修正到可以容忍的水平,其过程是:1)主站启动后发送广播帧扫描整个网络,各从站计算该报文环回自己一次的时间戳值,并将该值写入本地的寄存器中,差值计算从而得到报文帧的传输延时,如下图所示。后续再将该传输延时补偿到SYNC信号的发送过程中,从而消除物理传输延时的影响。2)以从站中第一个具有DC单元的从站的时钟作为参考时钟,发送大量的ARMW报文将读取参考值并发送至各个从站当中去,使得每个从站本地的时钟都调整到接近参考时钟的值。如下图所示:而由于存在时钟源不同,晶振频率抖动等等不可控因素,网络还需要进入动态补偿阶段,使所有站点的同步时间抖动能够长时间的维持在一个较低的水平,其过程如下:主站的每个发送周期都会发送ARMW报文,将参考时钟值发送至所有站点,各站点对比该参考值与本地时钟值(结合传输延时)后,进行本地时钟值的更新(ESC硬件的加速或减速)。从而实现整个网络长时间低水平的时间抖动。如果需要更多帮助,欢迎联系我们发布于 2020-10-12 16:56数据通信通信协议​赞同 14​​1 条评论​分享​喜欢​收藏​申请

COE、SOE、EOE、FOE是什么?_ethercat coe soe-CSDN博客

>

COE、SOE、EOE、FOE是什么?_ethercat coe soe-CSDN博客

COE、SOE、EOE、FOE是什么?

最新推荐文章于 2024-03-10 17:51:01 发布

识荒者

最新推荐文章于 2024-03-10 17:51:01 发布

阅读量9k

收藏

20

点赞数

6

分类专栏:

通俗易懂Ethercat

文章标签:

网络

ethercat

通俗

COE

EOE

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

本文链接:https://blog.csdn.net/absinjun/article/details/122203964

版权

通俗易懂Ethercat

专栏收录该内容

5 篇文章

8 订阅

订阅专栏

简单来说,COE、SOE、EOE、FOE都是一种基于邮箱协议,分别基于EtherCAT来兼容。

COE 全称:CANopen over EtherCAT。该协议是一个具有开放性的标准应用层协议。其中CANopen协议是基于CAN协议的链路层上实现的。EtherCAT协议在应用层支持CANopen协议,因此支持CANopen协议的从站可以被运用在EtherCAT协议上。

SOE 全称:Servo Drive over EtherCAT。SERCOS是世界首个应用于伺服控制的协议。EtherCAT协议在应用层接口上兼容了这个协议,简称为SOE。SERCOS应用层协议为主站设计了信息接口,可以通过配置EtherCAT过程数据报文,实现周期性传递伺服驱动器的数据。

EOE 全称:Ethernet over EtherCAT。该协议支持EtherCAT能分段传递标准的以太网数据报文,使得EtherCAT协议同样能支持TCP/IP、UDP/IP协议。

FOE 全称:File Access over EtherCAT。该协议可以使用EtherCAT总线上传、下载固件,刷新从站的固件。并且可以通过命令行工具加载或存储文件。

优惠劵

识荒者

关注

关注

6

点赞

20

收藏

觉得还不错?

一键收藏

知道了

0

评论

COE、SOE、EOE、FOE是什么?

简单来说,COE、SOE、EOE、FOE都是一种基于邮箱协议,分别基于EtherCAT来兼容。COE全称:CANopen over EtherCAT。该协议是一个具有开放性的标准应用层协议。其中CANopen协议是基于CAN协议的链路层上实现的。EtherCAT协议在应用层支持CANopen协议,因此支持CANopen协议的从站可以被运用在EtherCAT协议上。SOE全称:Servo Drive over EtherCAT。SERCOS是世界首个应用于伺服控制的协议。EtherCAT协议在应用层接

复制链接

扫一扫

专栏目录

COE 的相关格式描述的excel文件

10-17

COE格式.xlsx

sin_sin.coe_

09-28

用于存储rom,可以有若干用途,利于FFT的仿真验证,这是最基本的存储文件,由matlab生成

参与评论

您还未登录,请先

登录

后发表或查看评论

【protocol】工控协议COE、SOE等是什么

Hucy861630的博客

09-22

791

EtherCAT协议在应用层接口上兼容了这个协议,简称为SOE。全称:CANopen over EtherCAT。其中CANopen协议是基于CAN协议的链路层上实现的。EtherCAT协议在应用层支持CANopen协议,因此支持CANopen协议的从站可以被运用在EtherCAT协议上。该协议支持EtherCAT能分段传递标准的以太网数据报文,使得EtherCAT协议同样能支持TCP/IP、UDP/IP协议。简单来说,COE、SOE、EOE、FOE都是一种基于邮箱协议,分别基于EtherCAT来兼容。

EtherCAT的COE报文

u014453443的博客

01-04

515

动态PDO配置包括PDO Assignment和PDO Configuration,前者指的是,已经有配置好的一堆1600,1601,1602等等PDO,我们可以选择如何组合成我们自己的传输数据。其中,子索引0是分配的PDO数目,其他子索引是PDO映射对象的索引号,也就是前面的0x1600~0x17FF。COE协议是完全遵循CANopen协议的,但针对EtherCAT通信做了一些扩展,索引为0x1c00~0x1c4f,用于设置存储同步管理器的类型,通信参数和PDO数据分配。0x1c12配置示例。

EtherCAT 应用层协议

changexhao的专栏

05-18

3116

不对EtherCAT进行介绍,只谈谈对EtherCAT应用层协议的简单理解1、COE (CANopen over EtherCAT)  一种基于且完全遵循CANopen协议的通信协议  用途:      1、用于驱动PDO对象,实现PDO对象间数据通信       2、用于驱动SDO对象,实现SDO对象间的数据传输  分类:     1、周期性过程数据通信 – 驱动PDO    ...

EtherCAT名词解释

China_XXX的博客

08-09

2779

CoE:基于EtherCAT的CANopen通信;

DC:分布式时钟;

ENI:EtherCAT Network Information的缩写,即EtherCAT网络信息;

EoE:基于EtherCAT的以太网;

ESC:EtherCAT从站控制器;

EMI:EtherCAT Master Information的缩写,EtherCAT主站信息;

ESI:EtherCAT Slave ...

EtherCAT 功能介绍系列文章——EoE

MotroEngineer的博客

06-19

1195

EoE(Ethernet over EtherCAT)是允许在EtherCAT网络中传输标准以太网数据使用标准以太网设备,如打印机、相机或PC的技术。EoE从第三方设备传输到EtherCAT主站的数据帧通过EtherCAT协议进行透传。通过EoE技术,EtherCAT网络对以太网设备是完全透明的,实时特性不会受到影响。

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

热门推荐

王三三

06-22

2万+

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

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

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

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

SOEM协议栈代码研读笔记(二)

zhiyaormb的博客

01-11

1768

类比 一下单片机,ARM,对外设的操作 ,主要便是通过寄存器,地址空间的读写,至于对应的外设如何根据寄存器的数据去工作,则被隐藏在黑盒子中。现在,把EtherCAT Master想象成ARM内核,slave想象成类似uart之类的外设。地址映射,FMMU便是将其细节包装起来的黑盒子

6 邮箱协议实现

Queen B is Mine

12-04

3094

6 邮箱协议实现EtherCAT主站实现了 CANopen over EtherCAT(CoE),Ethernet over EtherCAT(EoE),File-access over EtherCAT(FoE),Vendor-specific over EtherCAT(VoE)和 Servo Profile over EtherCAT(SoE)的邮箱协议。有关详细信息,请参阅以下部分。

【EtherCAT】一、入门基础

06-09

5250

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

coe_load_sql_profile.sql

08-20

oracle sqlt工具脚本,用来使用sql_profile绑定内存中已有的执行计划

mif_to_coe.txt

05-12

用MATLAB实现mif文件转换成coe文件,原创代码,非常实用!可以非常轻松加在到rom的ip核里面了!

matlab.rar通过matlab将彩色图片生产coe文件

05-18

matlab.rar通过matlab将彩色图片生产coe文件

提供给fpga使用

方便调试功能

Ethercat xml规范

05-12

Ethercat xml规范

.mif波形文件转.coe格式(MATLAB函数)

09-03

1)可以将.mif波形文件统一转换为16位宽.coe文件。可配合guagle波形生成器配合使用。用于VIVADO写ROM IP操作 2)支持MATLAB2018B版本及以上(以下可能无部分调用的函数) 3)使用方法:输入.mif文件的路径,输出...

GMS.rar_gms coe

09-24

自己用C++编写的基于控制台的学生成绩管理系统,包括了很多C++的知识:类、向量、动态数组、菜单设计、相关度计算等等

车载诊断协议DoIP系列 —— AL IPv6地址分配&通用DoIP报头结构

最新发布

Soly_kun的博客

03-10

206

### 本文大体如下:

### 1、系列文章目的

### 2、AL IPv6地址分配

### 3、通用DoIP报头结构

trunk

2301_79947226的博客

03-10

446

当两台交换机之间需要互相传送多个 VLAN 的数据时,就需要使用 trunk 端口。Trunk 端口会将属于不同 VLAN 的数据进行打标记(通常是 IEEE 802.1Q 协议中定义的 VLAN 标识符),从而使得在传输过程中能够正确区分和处理不同 VLAN 的数据。在华为企业级网络模拟平台(eNSP)中,“trunk” 是指用于在交换机之间传送多个 VLAN 数据的端口。在 eNSP 中,您可以通过配置交换机的接口将其设置为 trunk 端口,从而实现跨交换机的 VLAN 数据传输和通信。

WSADE = vehicle_mean_error * vehicle_coe + pedestrian_mean_error * pedestrian_coe + bicycle_mean_error * bicycle_coe中的WSADE是什么意思

04-19

WSADE 是一个衡量目标检测算法性能的指标,全称为 Weighted Sum of Average Detection Errors,其中,vehicle_mean_error、pedestrian_mean_error、bicycle_mean_error是目标检测算法在车辆、行人、自行车三个类别上的平均检测误差,vehicle_coe、pedestrian_coe、bicycle_coe是每个类别的权重系数。

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

非常没帮助

没帮助

一般

有帮助

非常有帮助

提交

识荒者

CSDN认证博客专家

CSDN认证企业博客

码龄7年

暂无认证

79

原创

38万+

周排名

102万+

总排名

47万+

访问

等级

4270

积分

507

粉丝

157

获赞

104

评论

1037

收藏

私信

关注

热门文章

神奇的python(六)之python的串口操作(pyserial)

46353

shell脚本打开一个新终端并运行指定脚本

29530

SD卡、TF卡坏道及容量检测

28035

J-LINK 操作使用指南

24655

SD卡、TF卡读写速率测试

21547

分类专栏

虚拟串口

1篇

通俗易懂Ethercat

5篇

TortoiseSVN

1篇

EtherCAT

1篇

kernel

3篇

linux

25篇

Jlink

1篇

C++

1篇

SD卡、TF卡检测技术

2篇

python

软技能

2篇

神奇的python

6篇

Pygame写游戏

22篇

PyOpenGL写3D界面

5篇

Ethercat解析

15篇

Linuxcnc解析

2篇

每日一题(C语言基础篇)

3篇

Leetcode算法题

18篇

Linux实时系统

1篇

最新评论

Ethercat解析(十五)之程序框架

weixin_57563284:

请问一下博主使用过igh 5001协议控制过io吗

Ethercat解析(十)之从站配置

田海峰:

E没看明白啊。能麻烦解释下吗?

LinuxCNC基础知识

Zlf14:

兄弟你下载了吗,我也不会下载

LinuxCNC基础知识

ttlsss:

隐藏内容怎么下载啊?

神奇的python(六)之python的串口操作(pyserial)

Zeeland:

如果您正在寻找一个轻量级的Serial框架,那么我强烈建议您了解一下cushy-serial。它是一个非常易于使用的Python库,可以使串行编程变得更加简单和快捷。相对于传统的pyserial,cushy-serial提供了许多特性,如自定义消息协议、串口定时任务等等,因此您不必花费太多时间在多线程上。

另外,cushy-serial兼容了Serial中的所有功能,所以您可以在其中使用Serial的所有特性。如果您有任何问题或建议,可以提交pr或issue进行交流。此外,您也可以通过以下链接了解更多关于cushy-serial的信息

https://github.com/Undertone0809/cushy-serial

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

强烈不推荐

不推荐

一般般

推荐

强烈推荐

提交

最新文章

虚拟机与主机串口通信(主机与主机)

LinuxCNC基础知识

EtherCAT有哪些主流开源代码?它们的优点是什么?

2021年7篇

2019年1篇

2018年102篇

目录

目录

分类专栏

虚拟串口

1篇

通俗易懂Ethercat

5篇

TortoiseSVN

1篇

EtherCAT

1篇

kernel

3篇

linux

25篇

Jlink

1篇

C++

1篇

SD卡、TF卡检测技术

2篇

python

软技能

2篇

神奇的python

6篇

Pygame写游戏

22篇

PyOpenGL写3D界面

5篇

Ethercat解析

15篇

Linuxcnc解析

2篇

每日一题(C语言基础篇)

3篇

Leetcode算法题

18篇

Linux实时系统

1篇

目录

评论

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

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

规则

hope_wisdom 发出的红包

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

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

余额充值

EtherCAT Technology Group | 技术概览

EtherCAT Technology Group | 技术概览

 

EN

|

DE

|

ES

|

IT

|

CN

|

JP

主页

新闻

市场活动

新闻发布

联系方式

会员专区

搜索  

技术概览 技术概览 为何使用EtherCAT? 协会组织 常见问题 会员相关 供应商ID 产品指南 资料下载 一致性测试 EtherCAT G EtherCAT P Safety over EtherCAT EtherCAT 和 TSN 技术汇编 开发者论坛 知识库

退出

EtherCAT - 以太网现场总线

本文深入阐述了基于以太网现场总线系统的EtherCAT (Ethernet for Control Automation Technology)技术。EtherCAT为现场总线技术领域树立了新的性能标准,具备灵活的网络拓扑结构,系统配置简单,和现场总线系统一样操作直观简便。另外,由于EtherCAT实施的成本低廉,因此使系统得以在过去无法应用现场总线网络的场合中选用该现场总线。

 

1. 引言

1.1 以太网和实时能力

2. EtherCAT 运行原理

3. EtherCAT 技术特征

3.1 协议

3.2 拓扑

3.3 分布时钟

3.4 性能

3.5 诊断

3.6 高可靠性

3.7 安全性

3.8 EtherCAT 取代PCI

3.9 设备行规

3.9.1 EtherCAT实现CAN总线应用层协议 (CoE)

3.9.2 EtherCAT实现伺服驱动设备行规IEC61491 (SoE)

3.10 EtherCAT实现以太网(EoE)

3.11 EtherCAT实现文件读取(FoE)

3.12 ADS over EtherCAT (AoE)

4. 基础设施成本

5. EtherCAT 实施

5.1 主站

5.1.1 主站实施服务

5.1.2 主站样本代码

5.2 从站

5.2.1 EtherCAT Slave Controller

5.2.2 从站评估工具包

6. 小结

7. 参考文献

 

 

1. 引言 

页首

 

现场总线已成为自动化技术的集成组件,通过大量的实践试验和测试,如今已获得广泛应用。正是由于现场总线技术的普及,才使基于PC的控制系统得以广泛应用。然而,虽然控制器CPU的性能(尤其是IPC的性能)发展迅猛,但传统的现场总线系统正日趋成为控制系统性能发展的“瓶颈”。急需技术革新的另一个因素则是由于传统的解决方案并不十分理想。传统的方案是,按层划分的控制体系通常都由几个辅助系统所组成(周期系统):即实际控制任务、现场总线系统、I/O系统中的本地扩展总线或外围设备的简单本地固件周期。正常情况下,系统响应时间是控制器周期时间的3-5倍。 在现场总线系统之上的层面(即网络控制器)中,以太网往往在某种程度上代表着技术发展的水平。该方面目前较新的技术是驱动或I/O级的应用,即过去普遍采用现场总线系统的这些领域。这些应用类型要求系统具备良好的实时能力、适应小数据量通讯,并且价格经济。EtherCAT可以满足这些需求,并且还可以在I/O级实现因特网技术 (参见图1)。

图1: 传统现场总线系统响应时间

在现场总线系统 之上的层面(即网络控制器)中,以太网往往在某种程度上代表着技术发展的水平。该方面目前较新的技术是驱动或I/O级的应用,即过去普遍采用现场总线系统的这些领域。这些应用类型要求系统具备良好的实时能力、适应小数据量通讯,并且价格经济。EtherCAT可以满足这些需求,并且还可以在I/O级实现因特网技术。

1.1 以太网和实时能力 

目前,有许多方案力求实现以太网的实时能力。例如,CSMA/CD介质存取过程方案,即禁止高层协议访问过程,而由时间片或轮循方式所取代的一种解决方案;另一种解决方案则是通过专用交换机精确控制时间的方式来分配以太网包。这些方案虽然可以在某种程度上快速准确地将数据包传送给所连接的以太网节点,但是,输出或驱动控制器重定向所需要的时间以及读取输入数据所需要的时间都要受制于具体的实现方式。

如果将单个以太网 帧用于每个设备,那么,理论上讲,其可用数据率非常低。例如,最短的以太网帧为84字节(包括内部的包间隔IPG)。如果一个驱动器周期性地发送4字节的实际值和状态信息,并相应地同时接收4字节的命令值和控制字信息,那么,即便是总线负荷为100%(即:无限小的驱动响应时间)时,其可用数据率也只能达到4/84= 4.8%。如果按照10 µs的平均响应时间估计,则速率将下降到1.9%。对所有发送以太网 帧到每个设备(或期望帧来自每个设备)的实时以太网方式而言,都存在这些限制,但以太网帧内部所使用的协议则是例外。

2. EtherCAT 运行原理 

页首

 

EtherCAT技术突破了其他以太网解决方案的系统限制:通过该项技术,无需接收以太网数据包,将其解码,之后再将过程数据复制到各个设备。EtherCAT从站设备在报文经过其节点时读取相应的编址数据,同样,输入数据也是在报文经过时插入至报文中(参见图2)。整个过程中,报文只有几纳秒的时间延迟。

图 2: 过程数据插入至报文中

由于发送和接收的以太网帧压缩了大量的设备数据,所以有效数据率可达90%以上。100 Mb/s TX的全双工特性完全得以利用,因此,有效数据率可 大于100 Mb/s(即大于2 x 100 Mb/s的90%)(参见图3)。

图 3: 带宽利用率的比较

符合IEEE 802.3标准的以太网协议无需附加任何总线即可访问各个设备。耦合设备中的物理层可以将双绞线或光纤转换为LVDS(一种可供选择的以太网物理层标准[4,5]),以满足电子端子块等模块化设备的需求。这样,就可以非常经济地对模块化设备进行扩展了。之后,便可以如普通以太网一样,随时进行从底板物理层LVDS到100 Mb/s TX物理层的转换。

3. EtherCAT 技术特征 

页首

 

3.1 协议 

EtherCAT是用于过程数据的优化协议,凭借特殊的以太网类型,它可以在以太网帧内直接传送。EtherCAT帧可包括几个EtherCAT报文,每个报文都服务于一块逻辑过程映像区的特定内存区域,该区域最大可达4GB字节。数据顺序不依赖于网络中以太网端子的物理顺序,可任意编址。从站之间的广播、多播和通讯均得以实现。当需要实现最佳性能,且要求EtherCAT组件和控制器在同一子网操作时,则直接以太网帧传输就将派上用场。

然而,EtherCAT不仅限于单个子网的应用。EtherCAT UDP将EtherCAT协议封装为UDP/IP数据报文(参见图4),这就意味着,任何以太网协议堆栈的控制均可编址到EtherCAT系统之中,甚至通讯还可以通过路由器跨接到其它子网中。显然,在这种变体结构中,系统性能取决于控制的实时特性和以太网协议的实现方式。因为UDP数据报文仅在第一个站才完成解包,所以EtherCAT网络自身的响应时间基本不受影响。

图 4: EtherCAT:符合IEEE 802.3 [3]的标准帧

另外,根据主/从数据交换原理,EtherCAT也非常适合控制器之间(主/从)的通讯。自由编址的网络变量可用于过程数据以及参数、诊断、编程和各种远程控制服务,满足广泛的应用需求。主站/从站与主站/主站之间的数据通讯接口也相同。

从站到从站的通讯则有两种机制以供选择。一种机制是,上游设备和下游设备可以在同一周期内实现通讯,速度非常快。由于这种方法与拓扑结构相关,因此适用于由设备架构设计所决定的从站到从站的通讯,如打印或包装应用等。而对于自由配置的从站到从站的通讯,则可以采用第二种机制—数据通过主站进行中继。这种机制需要两个周期才能完成,但由于EtherCAT的性能非常卓越,因此该过程耗时仍然快于采用其他方法所耗费的时间。

按照文献[3]所述,EtherCAT仅使用标准的以太网帧,无任何压缩。因此,EtherCAT 以太网帧可以通过任何以太网MAC发送,并可以使用标准工具(如:监视器)。

3.2 拓扑 

EtherCAT几乎支持任何拓扑类型,包括线型、树型、星型等(参见图5)。通过现场总线而得名的总线结构或线型结构也可用于以太网,并且不受限于级联交换机或集线器的数量。

图 5: 灵活的拓扑结构:线型、树型或星型拓扑

最有效的系统连线方法是对线型、分支或树叉结构进行拓扑组合。因为所需接口在I/O 模块等很多设备中都已存在,所以无需附加交换机。当然,仍然可以使用传统的、基于以太网的星型拓扑结构。

还可以选择不同的电缆以提升连线的灵活性:灵活、经济的标准超五类以太网电缆可采用100BASE-TX模式传送信号;塑封光纤(PFO)则可用于特殊应用场合;还可通过交换机或介质转换器实现不同以太网连线(如:不同的光纤和铜电缆)的完整组合。

快速以太网的物理层(100BASE-TX )允许两个设备之间的最大电缆长度为100米。由于连接的设备数量可高达65535,因此,网络的容量几乎没有限制。

3.3. 分布时钟 

精确同步对于同时动作的分布式过程而言尤为重要。例如,几个伺服轴同时执行协调运动时,便是如此。

最有效的同步方法是精确排列分布时钟(请参阅IEEE 1588标准[6])。与完全同步通讯中通讯出现故障会立刻影响同步品质的情况相比,分布排列的时钟对于通讯系统中可能存在的相关故障延迟具有极好的容错性。

采用EtherCAT,数据交换就完全基于纯硬件机制。由于通讯采用了逻辑环结构 (借助于全双工快速以太网的物理层),主站时钟可以简单、精确地确定各个从站时钟传播的延迟偏移,反之亦然。分布时钟均基于该值进行调整,这意味着可以在网络范围内使用非常精确的、小于1 微秒的、确定性的同步误差时间基(参见图6)。而跨接工厂等外部同步则可以基于IEEE 1588 标准。

图 6: 同步性与一致性:相距电缆长度为有120米的两个分布系统,

带有300个节点的示波器比较

此外,高分辨率的分布时钟不仅可以用于同步,还可以提供数据采集的本地时间精确信息。当采样时间非常短暂时,即使是出现一个很小的位置测量瞬时同步偏差,也会导致速度计算出现较大的阶跃变化,例如,运动控制器通过顺序检测的位置计算速度便是如此。而在EtherCAT中,引入时间戳数据类型作为一个逻辑扩展,以太网所提供的巨大带宽使得高分辨率的系统时间得以与测量值进行链接。这样,速度的精确计算就不再受到通讯系统的同步误差值影响,其精度要高于基于自由同步误差的通讯测量技术。

3.4 性能 

EtherCAT使网络性能达到了一个新境界。借助于从站硬件集成和网络控制器主站的直接内存存取,整个协议的处理过程都在硬件中得以实现,因此,完全独立于协议堆栈的实时运行系统、CPU 性能或软件实现方式。1000个I/O的更新时间只需30 µs,其中还包括I/O周期时间(参见表1)。单个以太网帧最多可进行1486字节的过程数据交换,几乎相当于12000个数字输入和输出,而传送这些数据耗时仅为300 µs。

表 1: EtherCAT性能概貌

100个伺服轴的通讯也非常快速:可在每100µs中更新带有命令值和控制数据的所有轴的实际位置及状态,分布时钟技术使轴的同步偏差小于1微秒。而即使是在保证这种性能的情况下,带宽仍足以实现异步通讯,如TCP/IP、下载参数或上载诊断数据。

超高性能的EtherCAT技术可以实现传统的现场总线系统无法迄及的控制理念。EtherCAT使通讯技术和现代工业PC所具有的超强计算能力相适应,总线系统不再是控制理念的瓶颈,分布式I/O可能比大多数本地I/O接口运行速度更快。EtherCAT技术原理具有可塑性,并不束缚于100 M bps的通讯速率,甚至有可能扩展为1000 M bps的以太网。 

3.5 诊断 

现场总线系统的实际应用经验表明,有效性和试运行时间关键取决于诊断能力。只有快速而准确地检测出故障,并明确标明其所在位置,才能快速排除故障。因此,在EtherCAT的研发过程中,特别注重强化诊断特征。

试运行期间,驱动或I/O 端子等节点的实际配置需要与指定的配置进行匹配性检查,拓扑结构也需要与配置相匹配。由于整合的拓扑识别过程已延伸至各个端子,因此,这种检查不仅可以在系统启动期间进行,也可以在网络自动读取时进行(配置上载)。

可以通过评估CRC校验,有效检测出数据传送期间的位故障——32 位CRC多项式的最小汉明距为4。除断线检测和定位之外,EtherCAT系统的协议、物理层和拓扑结构还可以对各个传输段分别进行品质监视,与错误计数器关联的自动评估还可以对关键的网络段进行精确定位。此外,对于电磁干扰、连接器破损或电缆损坏等一些渐变或突变的错误源而言,即便它们尚未过度应变到网络自恢复能力的范围,也可对其进行检测与定位。

3.6 高可靠性 

选择冗余电缆可以满足快速增长的系统可靠性需求,以保证设备更换时不会导致网络瘫痪。您可以很经济地增加冗余特性,仅需在主站设备端增加使用一个标准的以太网端口(无需专用网卡或接口),并将单一的电缆从总线型拓扑结构转变为环型拓扑结构即可(见图7)。当设备或电缆发生故障时,也仅需一个周期即可完成切换。因此,即使是针对运动控制要求的应用,电缆出现故障时也不会有任何问题。EtherCAT也支持热备份的主站冗余。由于在环路中断时EtherCAT从站控制器芯片将立刻自动返回数据帧,一个设备的失败不会导致整个网络的瘫痪。例如,拖链设备可以配置为分支拓扑以防线缆断开。

图 7: 使用标准从站设备的低成本线缆冗余

3.7 安全性 

为了实现EtherCAT安全数据通信,EtherCAT安全通信协议已经在ETG组织内部公开。EtherCAT被用作传输安全和非安全数据的单一通道。传输介质被认为是“黑色通道”而不被包括在安全协议中(见图8)。EtherCAT过程数据中的安全数据报文包括安全过程数据和所要求的数据备份。这个“容器”在设备的应用层被安全地解析。通信仍然是单一通道的。这符合IEC61784-3附件中的模型A。

图 8: 使用黑色通道的EtherCAT安全通信软件构件

EtherCAT安全协议已经由德国技术监督局(TÜV SÜD Rail)评估为满足IEC61508定义的SIL3等级的安全设备之间传输过程数据的通信协议。设备上实施EtherCAT安全协议必须满足安全目标的需求。相应的产品相关要求也必须考虑进来。

图 9: EtherCAT安全系统

图9中的应用示例受益于这种技术。安全元件在自动化系统中所需要的任意地方都可以使用。系统中可以使用不同规模的本地输入和输出元件。可以根据需求使用安全或非安全总线端子扩展额外的输入和输出。安全逻辑也嵌入到网络当中。这样不用安全扩展的标准PLC可以继续处理控制任务。安全输入和输出功能需要的本地安全逻辑由智能化的安全总线端子实现。这节约了昂贵的安全PLC所带来的成本,并可以根据当前任务随意裁剪逻辑功能。只有安全EtherCAT主站和所分配的安全从站通过非安全的标准PLC路由。

本协议在安全数据长度,通信介质或波特率方面么有限制。

EtherCAT被用作“黑色通道”,即,通信系统在安全处理中没有任何作用。

协议被鉴定符合IEC61508定义的SIL3等级

提供EtherCAT安全功能的产品已经于2005年就上市了。

3.8 EtherCAT 取代PCI 

随着PC组件急剧向小型化方向发展,工业PC的体积日趋取决于插槽的数目。而快速以太网的带宽和EtherCAT通讯硬件的过程数据长度则为该领域的发展提供了新的可能性——IPC 中的传统接口现在可以转变为集成的EtherCAT接口端子(参见图10)。除了可以对分布式I/O进行编址,还可以对驱动和控制单元以及现场总线主站、快速串行接口、网关和其它通讯接口等复合系统进行编址。

图 10: 分布式现场总线接口

即使是其他无协议限制的以太网设备变体,也可以通过分布式交换机端口设备进行连接。由于一个以太网接口足以满足整个外围设备的通讯 (参见图11),因此,这不仅极大地精简了IPC主机的体积和外观,而且也降低了IPC主机的成本。

图 11: EtherCAT使控制器的体积显著减小

3.9 设备行规 

设备行规描述了设备的应用参数和功能特性,如设备类别相关的机器状态等。现场总线技术已经为I/O设备、驱动、阀等许多设备类别提供了可利用的设备行规。用户非常熟悉这些行规以及相关的参数和工具,因此,EtherCAT无需为这些设备类别重新开发设备行规,而是为现有的设备行规提供了简单的接口。该特性使得用户和设备制造商可以轻松完成从现有的现场总线到EtherCAT技术的转换过程。

3.9.1 EtherCAT实现CANopen (CoE) 

CANopen©设备和应用行规广泛用于多种设备类别和应用,如I/O组件、驱动、编码器、比例阀、液压控制器,以及用于塑料或纺织行业的应用行规等。EtherCAT可以提供与CANopen机制[7]相同的通讯机制,包括对象字典、PDO(过程数据对象)、SDO(服务数据对象),甚至于网络管理。因此,在已经安装了CANopen的设备中,仅需稍加变动即可轻松实现EtherCAT,绝大部分的CANopen©固件都得以重复利用。并且,可以选择性地扩展对象,以便利用EtherCAT所提供的巨大带宽。

3.9.2 EtherCAT实施伺服驱动 设备行规IEC 61491 (SoE) 

SERCOS interface™ 是全球公认的、用于高性能实时运行系统的通讯接口,尤其适用于运动控制的应用场合。用于伺服驱动和通讯技术的SERCOS™框架属于IEC 61491标准[8] 的范畴。该伺服驱动框架可以轻松地映射到 EtherCAT中,嵌入于驱动中的服务通道、全部参数存取以及功能都基于EtherCAT邮箱(参见图12)。在此,关注焦点还是EtherCAT与现有协议的兼容性(IDN的存取值、属性、名称、单位等),以及与数据长度限制相关的扩展性。过程数据,即形式为AT和MDT的SERCOS™数据,都使用EtherCAT从站控制器机制进行传送,其映射与SERCOS映射相似。并且,EtherCAT从站的设备状态也可以非常容易地映射为SERCOS™协议状态。EtherCAT从站状态机可以很容易地映射到SERCOS™协议的通信阶段。EtherCAT为这种在CNC行业中广泛使用的设备行规提供了先进的实时以太网技术。这种设备行规的优点与EtherCAT分布时钟提供的优点相结合,保证了网络范围内精确时钟同步。可以任意传输位置命令,速度命令或扭矩命令。取决于实现方式,甚至可能继续使用相同的设备配置工具。

图 12: 同时并存的多个设备行规和协议

3.10 EtherCAT实现以太网(EoE) 

EtherCAT技术不仅完全兼容以太网,而且在“设计”之初就具备良好的开放性特征——该协议可以在相同的物理层网络中包容其它基于以太网的服务和协议,通常可将其性能损失降到最小。对以太网的设备类型没有限制,设备可通过交换机端口在EtherCAT段内进行连接。以太网帧通过EtherCAT协议开通隧道,这也正是VPN、 PPPoE (DSL) 等因特网应用所普遍采取的方法。EtherCAT网络对以太网设备而言是完全透明的,其实时特性也不会发生畸变(参见图13)。

图 13: 对所有以太网协议完全透明

EtherCAT设备可以包容其它的以太网协议,因此具备标准以太网设备的一切特性。主站的作用与第2层交换机所起的作用一样,可按照编址信息将以太网帧重新定向到相应的设备。因此,集成万维网服务器、电子邮件和FTP 传送等所有的因特网技术都可以在EtherCAT的环境中得以应用。

3.11 EtherCAT实现文件读取(FoE) 

这种简单的协议与TFTP类似,允许存取设备中的任何数据结构。因此,无论设备是否支持TCP/IP,都有可能将标准化固件上载到设备上。

3.12 ADS over EtherCAT (AoE) 

ADS over EtherCAT (AoE)是由EtherCAT规范定义的客户端-服务器邮箱协议。尽管CoE协议提供了详尽的描述,但AoE则更适合路由与并行服务的应用:通过网关设备访问子网络,如EtherCAT至CANopen® 或 EtherCAT至IO-Link™ 网关设备。AoE使EtherCAT主站应用(如PLC程序)可以访问所属CANopen® 或 IO-Link™从站的各个参数。AoE路由机制开销远低于因特网协议(IP)所定义的开销,并且发送方和接收方寻址参数始终包含在AoE报文中。因此,EtherCAT主站和从站端的实施更为精简。AoE也通过EtherCAT自动化协议(EAP)进行非周期通信的标准化,从而为上位机MES系统或主计算机、EtherCAT主站及其从属的现有设备之间提供无缝通信。同时,AoE也提供了从远程诊断工具获取EtherCAT网络诊断信息的标准化方法。

4. 基础设施成本 

页首

 

由于EtherCAT无需集线器和交换机,因此,在环境条件允许的情况下,可以节省电源、安装费用等设备方面的投资,只需使用标准的以太网电缆和价格低廉的标准连接器即可。如果环境条件有特殊要求,则可以依照IEC标准,使用增强密封保护等级的连接器。

5. EtherCAT 实施 

页首

 

EtherCAT技术是面向经济的设备而开发的,如I/O 端子、传感器和嵌入式控制器等。EtherCAT使用遵循IEEE802.3标准的以太网帧。这些帧由主站设备发送,从站设备只是在以太网帧经过其所在位置时才提取和/或插入数据。因此,EtherCAT 使用标准的以太网MAC,这正是其在主站设备方面智能化的表现。同样,EtherCAT在从站控制器中使用专用芯片,这也是其在从站设备方面智能化的表现——无论本地处理能力是否强大或软件品质好坏与否,专用芯片均可在硬件中处理过程数据协议,并提供最佳实时性能。

5.1 主站 

EtherCAT可以在单个以太网帧中最多实现1486字节的分布式过程数据通讯。其它解决方案一般是,主站设备需要在每个网络周期中为各个节点处理、发送和接收帧。而EtherCAT系统与此不同之处在于,在通常情况下,每周期仅需要一个或两个帧即可完成所有节点的全部通讯,因此,EtherCAT主站不需要专用的通讯处理器。主站功能几乎不会给主机CPU带来任何负担,轻松处理这些任务的同时,还可以处理应用程序,因此EtherCAT 无需使用昂贵的专用有源插接卡,只需使用无源的NIC卡或主板集成的以太网MAC设备即可。EtherCAT主站很容易实现,尤其适用于中小规模的控制系统和有明确规定的应用场合。

例如,如果某个单个过程映像的PLC没有超过1486 字节,那么在其周期时间内循环发送这个以太网帧就足够了。因为报文头运行时不会发生变化,所以只需将常数报文头插入到过程映像中,并将结果传送到以太网控制器即可。

EtherCAT映射不是在主站产生,而是在从站产生(外围设备将数据插入所经以太网帧的相应位置),因此,此时过程映像已经完成排序。该特性进一步减轻了主机CPU的负担。可以看到,EtherCAT主站完全在主机CPU中采用软件方式实现,相比之下,传统的慢速现场总线系统通过有源插接卡方可实现主站的方式则要占用更多的资源,甚至服务于DPRAM的有源卡本身也将占用可观的主机资源。

系统配置工具(通过生产商获取)可提供包括相应的标准 XML 格式启动顺序在内的网络和设备参数。

图 14: 主站实施的单个过程映像

5.1.1 主站实施服务 

已经在各种实时操作系统上实现了EtherCAT主站,包括但并不限于:eCos, INtime, MICROWARE OS-9, MQX, On Time RTOS-32, Proconos OS, Real-Time Java, RT Kernel, RT-Linux, RTX, RTXC, RTAI Linux, PikeOS, Linux with RT-Preempt, QNX, VxWin + CeWin, VxWorks, Windows CE, Windows XP/XPE with CoDeSys SP RTE, Windows NT/NTE/2000/XP/XPE/Vista with TwinCAT RTE, Windows 7 and XENOMAI Linux.

可以获得开源主站协议栈,作为示例代码或商业软件。也有各种公司提供各种硬件平台上的实施服务。可以在EtherCAT网站上的产品区找到快速增长的供应商信息[1]。

5.1.2 主站样本代码 

另一种EtherCAT主站的实现方式是使用样本代码,花费不高。软件以源代码形式提供,包括所有的EtherCAT主站功能,甚至还包括EoE(EtherCAT实现以太网)功能(见图15)。开发人员只要把这些应用于Windows环境的代码与目标硬件及所使用的RTOS加以匹配就可以了。该软件代码已经成功应用于多个系统。

图 15: 主站样本代码结构

5.2 从站 

EtherCAT从站设备使用一个价格低廉的从站控制器芯片ESC。从站不需要微处理器就可以实现EtherCAT通信。可以通过I/O接口实现的简单设备可以只由ESC和其下的PHY,变压器和RJ45接头。给从站的过程数据接口是32位的I/O接口。这种从站没有可配置的参数,所以不需要软件或邮箱协议。EtherCAT状态机由ESC处理。ESC的启动信息从EEPROM中读取,它也支持从站的身份识别。更复杂的可配置从站有使用一个CPU。这个CPU和ESC之间使用8位或16位并行接口或串行SPI接口。要求的CPU性能取决于从站的应用,EtherCAT协议软件在其上运行。EtherCAT协议栈管理EtherCAT状态机和应用层协议,可以实现CoE协议和支持固件下载的FoE协议。EoE协议也可以实施。

5.2.1 EtherCAT Slave Controller 

目前,有多家制造商均提供EtherCAT从站控制器。通过价格低廉的FPGA,也可实现从站控制器的功能,可以购买授权以获取相应的二进制代码。

从站控制器通常都有一个内部的DPRAM,并提供存取这些应用内存的接口范围:

串行SPI(串行外围接口)主要用于数量较小的过程数据设备,如模拟量I/O模块、传感器、编码器和简单驱动等。该接口通常使用8位微控制器,如微型芯片PIC、DSP、Intel 80C51等(见图16)。

8/16位微控制器并行接口与带有DPRAM接口的传统现场总线控制器接口相对应,尤其适用于数据量较大的复杂设备。通常情况下,微控制器使用的接口包括Infineon 80C16x、Intel 80x86、Hitachi SH1、ST10、ARM和TI TMS320等系列(见图16)。

32位并行I/O接口不仅可以连接多达32位数字输入/输出,而且也适用于简单的传感器或执行器的32位数据操作。这类设备无需主机CPU(见图17)。

图 16: 从站硬件:带主机CPU的FPGA

图 17: 从站硬件:带直接I/O的FPGA

关于EtherCAT从站控制器的最新信息,请登录EtherCAT网站[1]。

5.2.2 从站评估工具包 

倍福公司提供的从站评估工具包使接口操作变得简便易行。由于采用了EtherCAT,无需功能强大的通讯处理器,因此,可将从站评估工具包中的8位微处理器作为主机CPU使用。该工具包还包括源代码形式的从站主机软件(相当于协议堆栈)和参考主站软件包(TwinCAT)。

6. 小结 

页首

 

EtherCAT 拥有杰出的通讯性能,接线非常简单,并对其它协议开放。传统的现场总线系统已达到了极限,而EtherCAT则突破建立了新的技术标准——30 µs内可以更新1000个I/O数据,可选择双绞线或光纤,并利用以太网和因特网技术实现垂直优化集成。使用 EtherCAT,可以用简单的线型拓扑结构替代昂贵的星型以太网拓扑结构,无需昂贵的基础组件。EtherCAT还可以使用传统的交换机连接方式,以集成其它的以太网设备。其它的实时以太网方案需要与控制器进行特殊连接,而EtherCAT只需要价格低廉的标准以太网卡(NIC) 便可实现。

EtherCAT拥有多种机制,支持主站到从站、从站到从站以及主站到主站之间的通讯(参见图18)。它实现了安全功能,采用技术可行且经济实用的方法,使以太网技术可以向下延伸至I/O级。EtherCAT功能优越,可以完全兼容以太网,可将因特网技术嵌入到简单设备中,并最大化地利用了以太网所提供的巨大带宽,是一种实时性能优越且成本低廉的网络技术。

图 19: 网络结构形式多样

7. 参考文献 

页首

 

[1]

EtherCAT Technology Group (ETG)

http://www.ethercat.org

[2]

IEC 61158-3/4/5/6-12 (Ed.1.0), Industrial communication networks – Fieldbus specifications – Part 3-12: Data-link layer service definition – Part 4-12: Data-link layer protocol specification – Part 5-12: Application layer service definition – Part 6-12: Application layer protocol specification – Type 12 elements (EtherCAT)

[3]

IEEE 802.3: Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications

[4]

IEEE 802.3ae-2002: CSMA/CD Access Method and Physical Layer Specifications: Media Access Control (MAC) Parameters, Physical Layers, and Management Parameters for 10 Gb/s Operation

[5]

ANSI/TIA/EIA-644-A, Electrical Characteristics of Low Voltage Differential Signaling (LVDS) Interface Circuits

[6]

IEEE 1588-2002: IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems

[7]

EN 50325-4: Industrial communications subsystem based on ISO 11898 (CAN) for controller-device interfaces. Part 4: CANopen

[8]

IEC 61800-7-301/304 (Ed.1.0), Adjustable speed electrical power drive systems – Part 7-301: Generic interface and use of profiles for power drive systems – Mapping of profile type 1 to network technologies – Part 7-304: Generic interface and use of profiles for power drive systems – Mapping of profile type 4 to network technologies

[9]

SEMI E54.20: Standard for Sensor/Actuator Network Communications for EtherCAT.

http://www.semi.org

[10]

IEC 61784-2 (Ed.1.0), Industrial communication networks – Profiles – Part 2: Additional fieldbus profiles for real-time networks based on ISO/IEC 8802-3

 

EtherCAT样本

了解更多关于最快的“工业以太网现场总线”的详细信息

中文

英文

德文

西班牙语

意大利文

法语

日文

韩文

EtherCAT多媒体视频

EtherCAT技术协会

工业以太网通信技术EtherCAT运行原理

EtherCAT技术简介

EtherCAT学习之路——对象字典 - 知乎

EtherCAT学习之路——对象字典 - 知乎首发于EtherCAT学习之路切换模式写文章登录/注册EtherCAT学习之路——对象字典白细胞1.对象字典CANopen 对象字典(OD: Object Dictionary)是 CANopen 协议最为核心的概念。所谓的对象字典就是一个有序的对象组,描述了对应 CANopen 节点的所有参数,包括通讯数据的存放位置也列入其索引,这个表变成可以传递形式就叫做 EDS 文件(电子数据文档Electronic Data Sheet)。对象字典,就像体检表,具备这个人每个功能的参数,便于用人单位(主站)进行合理分配工作。这部分引用自周立功的《CANopen轻松入门》,对于CANopen协议不清楚的地方,可以看看这本书,加强理解。图1-1 对象字典与体检表对象字典中的每个对象都描述了它的功能、名字、索引、子索引、数据类型,以及这个对象是否必需、读写属性等等。下表为通用通讯对象的举例:图1-2 通用通讯对象每个对象采用一个 16 位的索引值来寻址,这个索引值通常被称为索引,其范围在 0x0000到 0xFFFF 之间。为了避免数据大量时无索引可分配,所以在某些索引下也定义了一个 8 位的索引值,这个索引值通常被称为子索引,其范围是 0x00 到 0xFF 之间。子索引可以进一步描述对象的参数和功能等信息。图1-3 PDO对象总结来说,对象字典即是一张表,表中记录了各种各样的对象,这些对象可以是int32,bool这种通用数据类型,也可以是自定义的结构体数据类型。对象字典内使用Index来对对象进行索引,对象中还可以存在Sub-Index进一步描述对象的参数和功能。1.1 CoE(CANopen over EtherCAT)EtherCAT协议在应用层支持CANopen协议,并作了相应的扩充。CoE协议完全遵从CANopen协议,其对对象字典的定义也相同,如表1-3所示。表1-4列出了CoE通讯数据对象。其中针对EtherCAT通讯扩展了相关通讯对象0x1C00~0x1C4F,用于设置存储同步管理器的类型,通讯参数和PDO数据分配。图1-4 CoE对象字典定义图1-5 CoE通讯对象定义对于CoE对象字典,这里我们先不做具体的介绍,在后面的章节中会具体根据代码来具体说明。2.EtherCAT Slave Information中的对象字典描述2.1 EtherCAT Slave Information在EtherCAT Slave Information(ESI)用于描述从站参数及特性,使用xml的形式进行描述。EtherCAT配置工具通过ESI文件生成EtherCAT Network Information(ENI)。For each EtherCAT Slave a device description, the so called EtherCAT Slave Information (ESI) has tobe delivered. This is done in form of an XML file (eXtensible Markup Language). It describes EtherCAT specific as well as application specific features of the slave.The ESI file is used by an EtherCAT configuration tool to generate the EtherCAT Network Information(ENI).事实上,目前我也还没弄明白ESI具体细节,特别是从站具体是如何使用ESI的还不是很清楚。不过,只要知道ESI中包含哪些内容,与EtherCAT协议是怎样的一种对应关系,做从站开发也足够了。ESI的具体内容,我会在其他的文章中介绍,这里就详细讲一下ESI中的对象字典。ESI是用xml进行描述的,在例程中可以找到如AX58100-UC16-R1.xml的文件,用xmlspy打开如下图。图2-1 对象字典xmlspy将xml文件按照列表的形式进行排列,这里是ESI中Dictionary部分,也即是ESI中的对象字典描述。ESI中将对象字典分成了DataTypes和Objects两个部分,其中,Objects中描述了对象,DataTypes描述了对象的数据类型。2.2 ESI中的对象我所使用的例程中,共有23个对象,每一行即是一个对象的描述。包括对象的索引,名称,数据类型,位宽,还有一个Info域和Flags域。图2-2 对象字典Info域中包含了对象的子项,如对象0x7010就由9个子项构成,Sub-Index000和LED1~8。其中,Sub-Index000是对象中子索引的数目,0x7010中有LED1~8,所有其Sub-Index000就等于8。每一个有子项的对象的第一个子项都是Sub-Index000,且都表示该对象子索引的数目。Flags域描述对象的读写限制。2.3 对象的数据类型对象的数据类型是多种多样的,可以是通用类型UDINT(即uint32),也可以是结构体类型。BIT2,BOOL,DINT这些数据类型都是在ETG.1020中定义的;DT1601,DT1C12等则是根据CoE协议进行定义的;DT6000,DT7010则是一些用户自定义类型。图2-3 对象字典数据类型可以看到0x7010这个对象的子项和其数据类型的子项是一一对应起来的,都是包含了一个Sub-Index000和LED1~8。同时数据类型的子项中进一步描述了对象子项的子索引,名称,类型,位宽,比特偏移等信息。3.Slave Stack Code中的对象字典Slave Stack Code(SSC)是倍福提供的从站协议栈代码,SSC的具体内容会在另一篇文章中介绍,这里具体关注SSC中的对象字典。3.1 对象列表/**

*\brief EL9800 Application specific object dictionary

*

*/

TOBJECT OBJMEM ApplicationObjDic[] = {

/* Enum 0x0800 */

{NULL,NULL, 0x0800, {DEFTYPE_ENUM, 0x02 | (OBJCODE_REC << 8)}, asEntryDesc0x0800, 0, apEnum0800 },

/* Object 0x1601 */

{NULL,NULL, 0x1601, {DEFTYPE_PDOMAPPING, 10 | (OBJCODE_REC << 8)}, asEntryDesc0x1601, aName0x1601, &sDORxPDOMap, NULL, NULL, 0x0000 },

/* Object 0x1C12 */

{NULL,NULL, 0x1C12, {DEFTYPE_UNSIGNED16, 1 | (OBJCODE_ARR << 8)}, asPDOAssignEntryDesc, aName0x1C12, &sRxPDOassign, NULL, NULL, 0x0000 },

/* Object 0x7010 */

{NULL,NULL, 0x7010, {DEFTYPE_RECORD, 16 | (OBJCODE_REC << 8)}, asEntryDesc0x7010, aName0x7010, &sDOOutputs, NULL, NULL, 0x0000 },

{NULL,NULL, 0xFFFF, {0, 0}, NULL, NULL, NULL, NULL}};

#endif //#ifdef _OBJD_上面是我使用的例程中部分的对象定义,可以看到包含了对象的Index(如0x7010),对象的描述(如asEntryDesc0x7010),对象的名称(如aName0x7010),对象的实例(如sDOOutputs)。需要注意的一点是,这里的ApplicationObjDic并不是对象字典,ApplicationObjDic只是简单的把对象罗列出来。因为各种对象的数据类型是不相同的,所以,无法简单地以数组的形式来实现对象字典,在SSC中使用链表的形式来实现对象字典。准确来讲ApplicationObjDic中的每一行并不是一个对象,而是一个对象字典入口(Object Dictionary Entry),除了对象本身的描述之外,还包含了一些链表指针。不过,为了简单理解,可以先暂时把ApplicationObjDic理解成对象字典。3.2对象字典Entry下面是对象字典Entry的结构体定义:/**

* \brief Object dictionary entry structure

*/

typedef struct OBJ_ENTRY

{

struct OBJ_ENTRY *pPrev; /**< \brief Previous entry(object) in the object dictionary list*/

struct OBJ_ENTRY *pNext; /**< \brief Next entry(object) in the object dictionary list*/

UINT16 Index; /**< \brief Object index*/

TSDOINFOOBJDESC ObjDesc; /**< \brief Object access, type and code*/

OBJCONST TSDOINFOENTRYDESC OBJMEM *pEntryDesc; /**< \brief pointer to object entry descriptions*/

OBJCONST UCHAR OBJMEM *pName; /**< \brief Pointer to object and entry names*/

void MBXMEM *pVarPtr; /**< \brief Pointer to object buffer*/

UINT8 (* Read)( UINT16 Index, UINT8 Subindex, UINT32 Size, UINT16 MBXMEM * pData, UINT8 bCompleteAccess ); /**< \brief Function pointer to read function (if NULL default read function will be used)*/

UINT8 (* Write)( UINT16 Index, UINT8 Subindex, UINT32 Size, UINT16 MBXMEM * pData, UINT8 bCompleteAccess ); /**< \brief Function pointer to write function (if NULL default write function will be used)*/

UINT16 NonVolatileOffset; /**< \brief Offset within the non volatile memory (need to be defined for backup objects)*/

}

TOBJECT;*pPrev和*pNext是指向前链和后链的指针,通过*Prev和*pNext即可将各个对象链接起来,组成链表。Index即是对象索引;objDesc包含了“对象的数据类型”;*pEntryDesc是对象entry的描述,包含了“entry的数据类型和读写限制”;*pName是对象名称;*pVarPtr是对象的实例。objDesc中英文释义是object access,type and code。这里的object type与ESI中对象数据类型不是相同的东西。ESI中的对象数据类型是在*pEntryDesc中描述的。3.3 对象数据类型(pEntryDesc)下面以对象0x7010来介绍对象Entry描述:/**

* \brief Object 0x7010 (Digital output object) entry descriptions

*

* SubIndex 0 : read only

* SubIndex x : (One description for each led) read only and RxPdo mappable

* (x > 0)

*/

OBJCONST TSDOINFOENTRYDESC OBJMEM asEntryDesc0x7010[] = {

{DEFTYPE_UNSIGNED8, 0x8, ACCESS_READ }, /* Subindex 000 */

{DEFTYPE_BOOLEAN, 0x01, ACCESS_READ | OBJACCESS_RXPDOMAPPING}, /* SubIndex 001: LED 1 */

{DEFTYPE_BOOLEAN, 0x01, ACCESS_READ | OBJACCESS_RXPDOMAPPING}, /* SubIndex 002: LED 2 */

{DEFTYPE_BOOLEAN, 0x01, ACCESS_READ | OBJACCESS_RXPDOMAPPING}, /* SubIndex 003: LED 3 */

{DEFTYPE_BOOLEAN, 0x01, ACCESS_READ | OBJACCESS_RXPDOMAPPING}, /* SubIndex 004: LED 4 */

{DEFTYPE_BOOLEAN, 0x01, ACCESS_READ | OBJACCESS_RXPDOMAPPING}, /* SubIndex 005: LED 5 */

{DEFTYPE_BOOLEAN, 0x01, ACCESS_READ | OBJACCESS_RXPDOMAPPING}, /* SubIndex 006: LED 6 */

{DEFTYPE_BOOLEAN, 0x01, ACCESS_READ | OBJACCESS_RXPDOMAPPING}, /* SubIndex 007: LED 7 */

{DEFTYPE_BOOLEAN, 0x01, ACCESS_READ | OBJACCESS_RXPDOMAPPING}, /* SubIndex 008: LED 8 */

{0x0000, 0x08, 0}

}; /* Subindex 008 for align */其中,第一列是数据类型,第二列是位宽,第三列是读写限制。图3-1 对象7010数据类型对象Entry描述即是ESI中的对象数据类型。3.4对象实例(pVarPtr)对象数据类型中描述了各个子项的数据类型,位宽,读写限制,还需要一个对象的实例来存储各子项的值。/** \brief 0x7010 (Digital output object) data structure*/

typedef struct OBJ_STRUCT_PACKED_START {

UINT16 u16SubIndex0; /**< \brief SubIndex 0*/

BOOLEAN(bLED1); /**< \brief LED 1*/

BOOLEAN(bLED2); /**< \brief LED 2*/

BOOLEAN(bLED3); /**< \brief LED 3*/

BOOLEAN(bLED4); /**< \brief LED 4*/

BOOLEAN(bLED5); /**< \brief LED 5*/

BOOLEAN(bLED6); /**< \brief LED 6*/

BOOLEAN(bLED7); /**< \brief LED 7*/

BOOLEAN(bLED8); /**< \brief LED 8*/

ALIGN8(SubIndex008) /**< \brief 8Bit alignment*/

} OBJ_STRUCT_PACKED_END

TOBJ7010;

PROTO TOBJ7010 sDOOutputs

#ifdef _EVALBOARD_

= {8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0}

#endif

;TOBJ7010定义了对象0x7010的数据结构,而sDOOutputs则是其实例。可以把这里的TOBJ7010视为ESI中的对象子项描述。原本以为写博客是一件很简单的事情,亲自动手以后才发现这么耗时间。计划每天1小时,每周写2篇博客的,谁知道1周也写不完一篇。动手写的时候,才发现其实还有不少的内容自己没有理清楚,需要重新整理;还有不少的细节记不清,需要重新查证。因为个人的精力实在有限,所以,有些地方(比如ESI文件的调用)自己也还没完全搞清楚就先写出来了,不足之处望请谅解。编辑于 2020-03-12 21:45工业物联网通信以太网(Ethernet)​赞同 53​​4 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录EtherCAT学习之路EtherCAT从站开

EtherCAT Technology Group | EtherCAT

EtherCAT Technology Group | EtherCAT

 

 

 

 

EN

|

DE

|

ES

|

IT

|

CN

|

JP

Home

News

Events

Press

Contact

Member Area

Search  

EtherCAT Technology Overview Why use EtherCAT? Organisation FAQs Membership Vendor ID Product Guide Downloads Conformance EtherCAT G EtherCAT P Safety TSN Compendium Developers Forum Knowledge Base

Logout

EtherCAT - the Ethernet Fieldbus

This section provides an in-depth introduction into EtherCAT (Ethernet for Control Automation Technology). The following information can also be found the the EtherCAT Brochure, available in various languages.

EtherCAT is a real-time Industrial Ethernet technology originally developed by Beckhoff Automation. The EtherCAT protocol which is disclosed in the IEC standard IEC61158 is suitable for hard and soft real-time requirements in automation technology, in test and measurement and many other applications.

The main focus during the development of EtherCAT was on short cycle times (≤ 100 µs), low jitter for accurate synchronization (≤ 1 µs) and low hardware costs.

EtherCAT was introduced in April 2003, and the EtherCAT Technology Group was founded in November 2003 - Meanwhile ETG has grown into the world’s largest Industrial Ethernet and fieldbus organization. The ETG brings together manufacturers and users, which contribute in technical working groups to the advancement of the EtherCAT technology.

1. Features of EtherCAT

1.1 Functional Principle

1.2 The EtherCAT Protocol

1.3 Flexible Topology

1.4 EtherCAT P

1.5 High-Precise Synchronization

1.6 Diagnosis and Error Localization

1.7 High Availability Requirements

1.8 Safety over EtherCAT

1.9 Communication Profiles

1.9.1 CAN Application Protocol over EtherCAT (CoE)

1.9.2 Servo Drive Profile according to IEC 61491-7-204 over EtherCAT (SoE)

1.9.3 Ethernet over EtherCAT (EoE)

1.9.4 File Access over EtherCAT (FoE)

1.9.5 ADS over EtherCAT (AoE)

1.10 EtherCAT Automation Protocol (EAP)

1.11 Integration of other Bus Systems

1.12 EtherCAT, TSN, Industrie 4.0 and IoT

2. Implementing EtherCAT Interfaces

2.1 Master

2.2 Slave

3. Conformance and Certification

3.1 Plug Fest

3.2 Conformance Test Tool

3.3 Technical Working Group Conformance

3.4 EtherCAT Test Center

4. International Standardization

 

 

1. Features of EtherCAT 

top

 

1.1 Functional Principle 

The EtherCAT master sends a telegram that passes through each node. Each EtherCAT slave device reads the data addressed to it “on the fly”, and inserts its data in the frame as the frame is moving downstream. The frame is delayed only by hardware propagation delay times. The last node in a segment (or drop line) detects an open port and sends the message back to the master using Ethernet technology’s full duplex feature.

The telegram’s maximum effective data rate increases to over 90 %, and due to the utilization of the full duplex feature, the theoretical effective data rate is even higher than 100 Mbit/s (> 90 % of two times 100 Mbit/s).

The EtherCAT master is the only node within a segment allowed to actively send an EtherCAT frame; all other nodes merely forward frames downstream. This concept prevents unpredictable delays and guarantees real-time capabilities.

The master uses a standard Ethernet Media Access Controller (MAC) without an additional communication processor. This allows a master to be implemented on any hardware platform with an available Ethernet port, regardless of which real-time operating system or application software is used. EtherCAT Slave devices use an EtherCAT Slave Controller (ESC) to process frames on the fly and entirely in hardware, making network performance predictable and independent of the individual slave device implementation.

1.2 The EtherCAT Protocol 

EtherCAT embeds its payload in a standard Ethernet frame. The frame is identified with the Identifier (0x88A4) in the EtherType field. Since the EtherCAT protocol is optimized for short cyclic process data, the use of protocol stacks, such as TCP/IP or UDP/IP, can be eliminated.

EtherCAT in a standard Ethernet frame (according to IEEE 802.3)

To ensure Ethernet IT communication between the nodes, TCP/IP connections can optionally be tunneled through a mailbox channel without impacting real-time data transfer.

During startup, the master device configures and maps the process data on the slave devices. Different amounts of data can be exchanged with each slave, from one bit to a few bytes, or even up to kilobytes of data.

The EtherCAT frame contains one or more datagrams. The datagram header indicates what type of access the master device would like to execute:

Read, write, read-write

Access to a specific slave device through direct addressing, or access to multiple slave devices through logical addressing (implicit addressing)

Logical addressing is used for the cyclical exchange of process data. Each Datagram addresses a specific part of the process image in the EtherCAT segment, for which 4GBytes of address space is available. During network startup, each slave device is assigned one or more addresses in this global address space. If multiple slave devices are assigned addresses in the same area, they can all be addressed with a single Datagram. Since the Datagrams completely contain all the data access related information, the master device can decide when and which data to access. For example, the master device can use short cycle times to refresh data on the drives, while using a longer cycle time to sample the I/O; a fixed process data structure is not necessary. This also relieves the master device in comparison to in conventional fieldbus systems, in which the data from each node had to be read individually, sorted with the help of the process controller, and copied into memory.

With EtherCAT, the master device only needs to fill a single EtherCAT frame with new output data, and send the frame via automatic Direct Memory Access (DMA) to the MAC controller. When a frame with new input data is received via the MAC controller, the master device can copy the frame again via DMA into the computer’s memory – all without the CPU having to actively copy any data. In addition to cyclical data, further Datagrams can be used for asynchronous or event driven communication.

Inserting process data on the fly

In addition to logical addressing, the master device can also address a slave device via its position in the network. This method is used during network boot up to determine the network topology and compare it to the planned topology.

After checking the network configuration, the master device can assign each node a configured node address and communicate with the node via this fixed address. This enables targeted access to devices, even when the network topology is changed during operation, for example with Hot Connect Groups. There are two approaches for slave-to-slave communication. A slave device can send data directly to another slave device that is connected further downstream in the network. Since EtherCAT frames can only be processed going forward, this type of direct communication depends on the network’s topology, and is particularly suitable for slave-to-slave communication in a constant machine design (e.g. in printing or packaging machines). In contrast, freely configurable slave-to-slave communication runs through the master device, and requires two bus cycles (not necessarily two control cycles). Thanks to EtherCAT’s excellent performance, this type of slave-to-slave communication is still faster than with other communication technologies.

1.3 Flexible Topology 

Line, tree, star, or daisy-chain: EtherCAT supports almost all of topologies. EtherCAT makes a pure bus or line topology with hundreds of nodes possible without the limitations that normally arise from cascading switches or hubs.

When wiring the system, the combination of lines with drop lines is beneficial: the ports necessary to create drop lines are directly integrated in many I/O modules, so no additional switches or active infrastructure components are required. The star topology, the Ethernet classic, can also naturally be utilized.

Modular machines or tool changers require network segments or individual nodes to be connected and disconnected during operation. EtherCAT slave controllers already include the basis for this Hot Connect feature. If a neighboring station is removed, then the port is automatically closed so the rest of the network can continue to operate without interference. Very short detection times < 15 μs guarantee a smooth changeover.

EtherCAT offers a lot of flexibility regarding cable types, so each segment can use the exact type of cable that best meets its needs. Inexpensive industrial Ethernet cable can be used between two nodes up to 100m apart in 100BASE-TX mode. Furthermore, the protocol addition EtherCAT P enables the transmission of data and power via one cable. This option enables the connection of devices such as sensors with a single line. Fiber Optics (such as 100BASE-FX) can also be used, for example for a node distance greater than 100m. The complete range of Ethernet wiring is also available for EtherCAT.

Flexible topology – line, tree or star

Up to 65,535 devices can be connected to one EtherCAT segment, so network expansion is virtually unlimited. Because of the practically unlimited number of nodes, modular devices such as “sliced” I/O stations can be designed in such a way that each module is an EtherCAT node of its own. Hence, the local extension bus is eliminated; the high performance of EtherCAT reaches each module directly and without any delays, since there is no gateway in the bus coupler or head station any more.

1.4 EtherCAT P: communication and power in one cable

EtherCAT P (P = power) is an addition to the previously described EtherCAT protocol standard. It enables not only the transmission of communication data, but also the peripheral voltage via a single, standard four-wire Ethernet cable.

EtherCAT and EtherCAT P are identical in terms of the protocol technology, as the addition exclusively affects the Physical Layer. No new EtherCAT Slave Controllers are necessary when using EtherCAT P. One could say that EtherCAT P has the same communication advantages as EtherCAT, but also provides the power supply via the communication cable, offering attractive benefits and enhancements for numerous applications.

EtherCAT P: data and power via one cable

Two electrically isolated, individually switchable 24V supplies power the new EtherCAT P devices, available with US serving the system and sensors and UP serving the periphery and actuators. Both voltages, US and UP, are directly coupled into the 100Mbit/s EtherCAT communication line. Thanks to this power transmission, the user can cascade several EtherCAT P devices and therefore only needs one cable. This facilitates reduced cabling, more compact, cost-effective wiring, lower system costs and a smaller footprint for devices, equipment and machines.

EtherCAT P is especially interesting for those parts of a machine that are self-contained and often a bit isolated, as they can be supplied with data and power through a single stub cable. Sensors of all types are perfectly suitable for EtherCAT P: a single compact M8 connector enables efficient integration of these field devices into the high-speed network and connects them to the supply voltage. Potential error sources while connecting devices are avoided, thanks to mechanical coding of the connector.

EtherCAT P can be used in the same network together with standard EtherCAT technology. Appropriate rectifier units transform common EtherCAT physics to EtherCAT P by consistently maintaining the Ethernet data encoding. In the same way, a device itself can be supplied with EtherCAT P but, in turn, can also transmit the EtherCAT protocol.

Read more...

1.5 Distributed Clocks for High-Precision Synchronization 

In applications with spatially distributed processes requiring simultaneous actions, exact synchronization is particularly important. For example, this is the case for applications in which multiple servo axes execute coordinated movements.

In contrast to completely synchronous communication, whose quality suffers immediately from communication errors, distributed synchronized clocks have a high degree of tolerance for jitter in the communication system. Therefore, the EtherCAT solution for synchronizing nodes is based on such distributed clocks (DC).

Completely hardware-based synchronization with compensation for propagation delays.

The calibration of the clocks in the nodes is completely hardware-based. The time from the first DC slave device is cyclically distributed to all other devices in the system. With this mechanism, the slave device clocks can be precisely adjusted to this reference clock. The resulting jitter in the system is significantly less than 1μs.

Since the time sent from the reference clock arrives at the slave devices slightly delayed, this propagation delay must be measured and compensated for each slave device in order to ensure synchronicity and simultaneousness. This delay is measured during network startup or, if desired, even continuously during operation, ensuring that the clocks are simultaneous to within much less than 1μs of each other.

Synchronicity and simultaneousness – scope view of two distributed devices with 300 nodes and 120 m cable length

If all nodes have the same time information, they can set their output signals simultaneously and affix their input signals with a highly precise timestamp. In motion control applications, cycle accuracy is also important in addition to synchronicity and simultaneousness. In such applications, velocity is typically derived from the measured position, so it is critical that the position measurements are taken precisely equidistantly (i.e. in exact cycles). Even very small inaccuracies in the position measurement timing can translate to larger inaccuracies in the calculated velocity, especially relative to short cycle times. With EtherCAT, the position measurements are triggered by the precise local clock and not the bus system, leading to much greater accuracy.

Additionally, the use of distributed clocks also unburdens the master device; since actions such as position measurement are triggered by the local clock instead of when the frame is received, the master device doesn’t have such strict requirements for sending frames. This allows the master stack to be implemented in software on standard Ethernet hardware. Even jitter in the range of several microseconds does not diminish the accuracy of the Distributed Clocks! Since the accuracy of the clock does not depend on when it’s set, the frame’s absolute transmission time becomes irrelevant. The EtherCAT master needs only to ensure that the EtherCAT telegram is sent early enough, before the DC signal in the slave devices triggers the output.

1.6 Diagnosis and Error Localization 

Experience with conventional fieldbus systems has shown that diagnostic characteristics play a major role in determining a machine’s availability and commissioning time. In addition to error detection, error localization is important during troubleshooting. EtherCAT features the possibility to scan and compare the actual network topology with the planned topology during boot up. EtherCAT also has many additional diagnostic capabilities inherent to its system.

The EtherCAT Slave Controller in each node checks the moving frame for errors with a checksum. Information is provided to the slave application only if the frame has been received correctly. If there is a bit error, the error counter is incremented and the subsequent nodes are informed that the frame contains an error. The master device will also detect that the frame is faulty and discard its information. The master device is able to detect where the fault originally occurred in the system by analyzing the nodes’ error counters. This is an enormous advantage in comparison to conventional fieldbus systems, in which an error is propagated along the entire party line, making it impossible to localize the source of the error. EtherCAT can detect and localize occasional disturbances before the issue impacts the machine’s operation.

Thanks to EtherCAT’s unique principle of bandwidth utilization, which is orders of magnitude better than industrial Ethernet technologies that use single frames, the likelihood of disturbances induced by bit errors within an EtherCAT frame is substantially lower – if the same cycle time is used. And, if in typical EtherCAT fashion much shorter cycle times are used, the time required for error recovery is significantly reduced. Thus, it is also much simpler to master such issues within the application.

Within the frames, the Working Counter enables the information in each Datagram to be monitored for consistency. Every node that is addressed by the Datagram and whose memory is accessible increments the Working Counter automatically. The master is then able to cyclically confirm if all nodes are working with consistent data. If the Working Counter has a different value than it should, the master does not forward this Datagram’s data to the control application. The master device is then able to automatically detect the reason for the unexpected behavior with help from status and error information from the nodes as well as the Link Status.

Since EtherCAT utilizes standard Ethernet frames, Ethernet network traffic can be recorded with the help of free Ethernet software tools. For example, the well-known Wireshark software comes with a protocol interpreter for EtherCAT, so that protocol-specific information, such as the Working Counter, commandos, etc. are shown in plain text.

EtherCAT Diagnosis for Users

EtherCAT Diagnosis for Developers

1.7 High Availability Requirements 

For machines or equipment with very high availability requirements, a cable break or a node malfunctioning should not mean that a network segment is no longer accessible, or that the entire network fails.

EtherCAT enables cable redundancy with simple measures. By connecting a cable from the last node to an additional Ethernet port in the master device, a line topology is extended into a ring topology. A redundancy case, such as a cable break or a node malfunction, is detected by a software add-on in the master stack. That’s all there is to it!

The nodes themselves don’t need to be modified, and don’t even “know” that they’re being operated in a redundant network.

Inexpensive cable redundancy with standard EtherCAT slave devices

Link detection in the slave devices automatically detect and resolve redundancy cases with a recovery time is less than 15 μs, so at maximum, a single communication cycle is disrupted. This means that even motion applications with very short cycle times can continue working smoothly when a cable breaks.

With EtherCAT, it’s also possible to realize master device redundancy with Hot Standby. Vulnerable network components, such as those connected with a drag chain, can be wired with a drop line, so that even when a cable breaks, the rest of the machine keeps running.

1.8 Safety over EtherCAT 

Modern communication systems not only realize the deterministic transfer of control data, they also enable the transfer of safety-critical control data through the same medium. EtherCAT utilizes the protocol Safety over EtherCAT (FSoE = Fail Safe over EtherCAT) for this very purpose and so allows:

A single communication system for both control and safety data

The ability to flexibly modify and expand the safety system architecture

Pre-certified solutions to simplify safety applications

Powerful diagnostic capabilities for safety functions

Seamless integration of the safety design in the machine design

The ability to use the same development tools for both standard and safety applications

Safety over EtherCAT enables simpler and more flexible architectures than with relay logic

The EtherCAT safety technology was developed according to IEC 61508, is approved by TÜV Süd Rail, and is standardized in IEC 61784-3. The protocol is suitable for safety applications with a Safety Integrity Level up to SIL 3.

With Safety over EtherCAT, the communication system is part of a so-called Black Channel, which is not considered to be safety relevant. The standard communication system EtherCAT makes use of a single channel to transfer both standard and safety-critical data. Safety Frames, known as Safety Containers, contain safety-critical process data and additional information used to secure this data. The Safety Containers are transported as part of the communication’s process data. Whether data transfer is safe does not depend on the underlying communication technology, and isn’t restricted to EtherCAT; Safety Containers can travel through fieldbus systems, Ethernet or similar technologies, and can make use of copper cables, fiber optics, and even wireless connections.

The Safety Container is embedded in the cyclical communication’s process data

Due to this flexibility, safely connecting different parts of the machine becomes more simple. The Safety Container is routed through the various controllers and processed in the various parts of the machine. This makes emergency stop functions for an entire machine or bringing targeted parts of a machine to a standstill easily possible – even if the parts of the machine are coupled with other communication systems (e.g. Ethernet).

Implementing the FSoE protocol in a device requires little resources and can lead to a high level of performance and correspondingly, short reaction times. In the robotics industries, there are applications that use SoE for safe motion control applications in an 8-kHz closed loop.

Black-Channel-Principle: the standard communication interface can be used

Further information regarding Safety over EtherCAT can be found on the ETG website:

www.ethercat.org/safety

1.9 Communication Profiles 

In order to configure and diagnose slave devices, it is possible to access the variables provided for the network with the help of acyclic communication. This is based on a reliable mailbox protocol with an auto-recover function for erroneous messages.

In order to support a wide variety of devices and application layers, the following EtherCAT communication profiles have been established:

CAN application protocol over EtherCAT (CoE)

Servo drive profile, according to IEC 61800-7-204 (SoE)

Ethernet over EtherCAT (EoE)

File Access over EtherCAT (FoE)

Automation Device Protocol over EtherCAT (ADS over EtherCAT, AoE)

Different communication profiles can coexist in the same system

A slave device isn’t required to support all communication profiles; instead, it may decide which profile is most suitable for its needs. The master device is notified which communication profiles have been implemented via the slave device description file.

1.9.1 CAN application protocol over EtherCAT (CoE) 

With the CoE protocol, EtherCAT provides the same communication mechanisms as in CANopen®-Standard EN 50325-4: Object Dictionary, PDO Mapping (Process Data Objects) and SDO (Service Data Objects) – even the network management is similar. This makes it possible to implement EtherCAT with minimal effort in devices that were previously outfitted with CANopen®, and large portions of the CANopen® Firmware are even reusable. Optionally, the legacy 8-byte PDO limitation can be waived, and it’s also possible to use the enhanced bandwidth of EtherCAT to support the upload of the entire Object Dictionary. The device profiles, such as the drive profile CiA 402, can also be reused for EtherCAT.

1.9.2 Servo drive profile according to IEC 61800-7-204 (SoE) 

SERCOS™ is known as a real-time communication interface, especially for motion control applications. The SERCOS™ profile for servo drives is included in the international standard IEC 61800-7. The standard also contains the mapping of this profile to EtherCAT. The service channel, including access to all drive-internal parameters and functions, are mapped to the EtherCAT Mailbox.

1.9.3 Ethernet over EtherCAT (EoE) 

EtherCAT makes use of physical layers of Ethernet and the Ethernet frame. The term Ethernet is also frequently associated with data transfer in IT applications, which are based on a TCP/IP connection.

Transparent transmission of standard IT protocols

Using the Ethernet over EtherCAT (EoE) protocol any Ethernet data traffic can be transported within an EtherCAT segment. Ethernet devices are connected to an EtherCAT segment via so-called Switchports. The Ethernet frames are tunneled through the EtherCAT protocol, similarly to the internet protocols (e.g. TCP/IP, VPN, PPPoE (DSL), etc.) as such, which makes the EtherCAT network completely transparent for Ethernet devices. The device with the Switchport property takes care of inserting TCP/IP fragments into the EtherCAT traffic and therefore prevents the network’s real-time properties from being affected.

Additionally, EtherCAT devices may also support Ethernet protocols (such as HTTP) and can therefore behave like a standard Ethernet node outside of the EtherCAT segment. The master device acts as a Layer-2-switch that sends the frames via EoE to the corresponding nodes according to their MAC addresses. In this way, all internet technologies can also be implemented in an EtherCAT environment, such as an integrated web server, E-mail, FTP transfer, etc..

1.9.4 File access over EtherCAT (FoE) 

This simple protocol similar to TFTP (Trivial File Transfer Protocol) enables file access in a device and a uniform firmware upload to devices across a network. The protocol has been deliberately specified in a lean manner, so that it can be supported by boot loader programs – a TCP/IP stack isn’t required.

1.9.5 ADS over EtherCAT (AoE) 

As a Mailbox-based client-server protocol, ADS over EtherCAT (AoE) is defined by the EtherCAT specification. While protocols such as CAN application protocol over EtherCAT (CoE) provide a detailed semantic concept, AoE complements these perfectly via routable and parallel services wherever use cases require such features. For example, this might include access to sub-networks through EtherCAT using gateway devices from a PLC program such as CANopen®, IO-Link™ and others.

AoE comes with far less overhead when compared with similar services provided by the Internet Protocol (IP). Both sender and receiver addressing parameters are always contained in the AoE telegram – as a result, a very lean implementation on both ends (client and server) is possible. AoE is also the protocol of choice for acyclic communication via the EtherCAT Automation Protocol (EAP) and therefore provides seamless communication between an MES system, the EtherCAT master, and subordinated fieldbus devices connected via gateways. AoE serves as the standard means to obtain EtherCAT network diagnostic information from a remote diagnostics tool.

1.10 Plant-wide communication with the EtherCAT Automation Protocol (EAP) 

The process management level has special communication requirements that differ slightly from the requirements addressed by the EtherCAT Device Protocol, described in the previous sections. Machines or sections of a machine often need to exchange status information and information about the following manufacturing steps with each other. Additionally, there is usually a central controller that monitors the entire manufacturing process, which provides the user with status information on productivity, and assigns orders to the various machine stations. The EtherCAT Automation Protocol (EAP) fulfills all of the above requirements.

Factory-wide Communication with EtherCAT

The protocol defines interfaces and services for:

Exchanging data between EtherCAT master devices (master-master communication),

Communication to Human Machine Interfaces (HMI),

A supervising controller to access devices belonging to underlying EtherCAT segments (Routing),

Integration of tools for the machine or plant configuration, as well as for device configuration.

Factory-wide communication architecture with the EtherCAT Automation Protocol and Safety over EtherCAT

The communication protocols used in EAP are part of the international standard IEC 61158. EAP can be transmitted via any Ethernet connection, including a wireless link, for example making it possible to include automated guided vehicles (AGV), which are common in the semiconductor and automotive industries.

Cyclic process data exchange with EAP follows either the „Push“ or „Poll“ principle. In “Push” mode, each node sends its data either with its own cycle time or in a multiple of the own cycle time. Each receiver can be configured to receive data from specific senders. Configuring the sender and receiver data is done through the familiar Object Dictionary. In “Poll” mode, a node (often the central controller) sends a telegram to the other nodes, and each node responds with its own telegram.

The cyclic EAP communication can be directly embedded within the Ethernet frame, without additional transport or routing protocol. Again, the EtherType Ox88A4 identifies the EtherCAT specific use of the frame. This enables the exchange of high-performance data with EAP in a millisecond cycle. If data routing between distributed machines is required, the process data can also be transmitted via UPD/IP or TCP/IP.

Additionally, with the help of the Safety over EtherCAT Protocol, it’s also possible to transmit safety-critical data via EAP. This is common in cases where parts of a large machine need to exchange safety-critical data to realize a global emergency stop function, or to inform neighboring machines of an emergency stop.

1.11 Integration of other Bus Systems 

EtherCAT’s ample bandwidth makes it possible to embed conventional fieldbus networks as an underlying system via an EtherCAT Gateway, which is particularly helpful when migrating from a conventional fieldbus to EtherCAT. The changeover to EtherCAT is gradual, making it possible to continue using automation components that don’t yet support an EtherCAT interface.

Decentralized fieldbus interfaces

The ability to integrate decentralized gateways also reduces the physical size of the Industrial PC, sometimes even to an embedded Industrial PC, since extension slots are no longer necessary. In the past, extension slots were also required to connect complex devices, such as fieldbus master and slave gateways, fast serial interfaces, and other communication subsystems. In EtherCAT, all that is needed to connect these devices is a single Ethernet port. The process data from the underlying subsystem is made directly available in the process image of the EtherCAT system.

1.12 Powering the digital transformation with EtherCAT, TSN, Industrie 4.0 and IoT 

Process optimizations, predictive maintenance, manufacturing as a service, adaptive systems, resource-savings, smart factories, cost reductions – there are countless good reasons to utilize control network data in higher level systems. The Internet of Things (IoT), Industrie 4.0, Made in China 2025, Industrial Value Chain Initiative: there is a common need across the board for seamless, continuous and standardized communication across all levels. Sensor data uploaded into the cloud along with recipes and parameters downloaded from ERP systems into distributed devices; take, for example, a feeding system shared by two machines: there are data flow requirements both in vertical and horizontal directions. EtherCAT inherently meets the requirements of the digital transformation through its high performance, flexibility and open interfaces: Superior system performance is the prerequisite for adding Big Data features to control networks.

EtherCAT provides the flexibility to add cloud connectivity to existing systems without even touching the controller or updating the slave devices: Edge Gateways can access any data within any EtherCAT slave device via the Mailbox Gateway feature of the EtherCAT master. The Edge Gateway can either be a remote device, talking to the master via TCP or UDP/IP, or a software entity directly located on the same hardware as the EtherCAT master itself.

Additionally, open interfaces allow one to integrate any IT-based protocol – including OPC UA, MQTT, AMQP or any others – either within the master or directly into the slave devices, thus providing a direct link for IoT without protocol discontinuities from the sensor to the cloud.

All these features have always been part of the EtherCAT protocol, which shows how forward-thinking the architecture is. Nevertheless, more networking features are added as they evolve and become relevant. Of course, it is also important to consider the past when looking forward: this introduction of valuable new features is managed with total network continuity as the EtherCAT protocol itself has been stable at “Version 1” since its introduction in 2003.

Other new developments in the area of Time Sensitive Networking (TSN) features further improve the real-time capabilities of the Controller to Controller communication. Enabled by TSN, control systems - even those that are cloud-based – can access a network of EtherCAT slaves also across plant networks. Since EtherCAT typically only needs one frame for an entire network, such access is much leaner and thus faster than any other fieldbus or industrial Ethernet technology. In fact, EtherCAT Technology Group experts have contributed to the TSN task group of IEEE 802.1 from day one – at a time when TSN was still known as AVB.

The EtherCAT Technology Group (ETG) was also among the first fieldbus organizations to partner with the OPC Foundation. The OPC UA protocol complements the EtherCAT portfolio because it is a scalable TCP/IP based client/server communication technology with integrated security, enabling encrypted data transfer up to MES/ERP systems. With OPC UA Pub/Sub, the usability of OPC UA has been improved in machine-to-machine (M2M) applications and for vertical communication to cloud based services. The ETG is actively contributing to all these developments to ensure that they fit seamlessly into the EtherCAT environment.

Therefore, EtherCAT is not only IoT-ready, EtherCAT is IoT!

Read more about EtherCAT & TSN...

 

2. Implementing EtherCAT Interfaces 

top

 

EtherCAT technology has been specially optimized to enable low-cost design, so adding an EtherCAT interface to a sensor, I/O device, or embedded controller should not significantly increase device costs. Furthermore, the EtherCAT interface also doesn’t require a more powerful CPU- the CPU requirements instead are based only on the needs of the target application.

In addition to hardware and software requirements, development support and the availability of communication stacks are important when developing an interface. The EtherCAT Technology Group offers worldwide developer support in quickly answering questions or addressing technical issues. Finally, evaluation kits available from multiple manufacturers, developer workshops, as well as free sample code make getting started a little easier.

For the end user, the most important factor is the interoperability of EtherCAT devices from various manufacturers. To ensure interoperability, device manufacturers are required to perform a Conformance Test prior to bringing their device on the market. The test checks if the implementation follows the EtherCAT specification, and can be performed with the EtherCAT Conformance Test Tool. The test can also be used during device development to discover and correct implementation issues early on.

2.1 Master 

The interface for an EtherCAT master device has a single, unbelievably simple, hardware requirement: an Ethernet port. The implementation uses either the on-board Ethernet controller or an inexpensive standard network card, so no special interface card is required. That means that with just a standard Ethernet port, a master device can implement a hard real-time network solution.

In most cases the Ethernet controller is integrated via Direct Memory Access (DMA), so no CPU capacity is required for the data transfer between the master device and the network. In an EtherCAT network, mapping occurs at the slave devices. Each slave device writes its data to the right location in the process image and reads the data addressed to it all while the frame is moving through. Therefore, the process image that arrives at the master device is already sorted correctly.

Since the master device CPU is no longer responsible for the sorting, its performance requirements depend only on the desired application and not the EtherCAT interface. Especially for small, mid-sized, and clearly defined applications, implementing an EtherCAT master is a snap. EtherCAT master devices have been implemented for a wide variety of operating systems: Windows and Linux in various iterations, QNX, RTX, VxWorks, Intime, eCos are just a few examples.

Typical EtherCAT Master Architecture

ETG members offer a variety of options to support the implementation of an EtherCAT Master, ranging from free downloads of EtherCAT Master Libraries, sample Master code, all the way to complete packages (including services) for various real-time operating systems and CPUs.

In order to operate a network, the EtherCAT master requires the cyclic process data structure as well as boot-up commands for each slave device. These commands can be exported to an EtherCAT Network Information (ENI) file with the help of an EtherCAT configuration tool, which uses the EtherCAT Slave Information (ESI) files from the connected devices.

The breadth of available master implementations and their supported functions varies. Depending on the target application, optional functions are either supported or purposely omitted to optimize the utilization of hardware and software resources. For this reason, EtherCAT master devices are categorized into two classes: a Class-A-Master is a standard EtherCAT master device, while a Class-B-Master is a master device with fewer functions. In principle, all master implementations should aim for Class A classification. Class B is only recommended for cases in which the available resources are insufficient to support all functionalities, such as in embedded systems.

2.2 Slave 

EtherCAT slave devices use inexpensive EtherCAT Slave Controllers (ESC) in the form of an ASIC, FPGA, or integrated in a standard microcontroller. Simple slave devices don’t even need an additional microcontroller, because inputs and outputs can be directly connected to the ESC. For more complex slave devices, the communication performance depends only minimally on the microcontroller performance, and in most cases, a 8-bit microcontroller is sufficient.

EtherCAT Slave Controllers are available from multiple manufacturers, with the size of the internal DPRAM and the number of Fieldbus Memory Management Units (FMMUs) depending on the variation. Different Process Data Interfaces (PDI) for external access from the application controller to the application memory are also available:

The 32-Bit parallel I/O Interface is suitable for connecting up to 32 digital inputs and outputs, but also for simple sensors or actuators for which 32 data bits are sufficient and no application controller is required.

The Serial Peripheral Interface (SPI) is targeted at applications with small amounts of process data, such as analog I/O devices, encoders, or simple drives.

The parallel 8/16-Bit Microcontroller Interface corresponds to common interfaces of fieldbus controllers with integrated DPRAM. It is particularly suitable for complex nodes with larger amounts of data.

Suitable synchronous busses for various microcontrollers have been implemented for FPGA and On-Chip variations.

Slave Hardware: EtherCAT Slave Controller with direct I/O

The hardware configuration is stored a in non-volatile memory (e.g. an EEPROM), the Slave Information Interface (SII), which contains information about the basic device features, so that the master can read this at boot-up and operate the device even if the device description file is not available. The EtherCAT Slave Information (ESI) file that comes with the device is XML based and contains the complete description of its network accessible properties, such as process data and their mapping options, the supported mailbox protocols including optional features, as well as the supported modes of synchronization. The Network Configuration Tool uses this information for online and offline configuration of the network.

Slave Hardware: EtherCAT Slave Controller with Host CPU

Various manufacturers offer evaluation kits for implementing slave devices. These kits include slave application software in source code, and they sometimes also include a test master. Using an evaluation kit, a fully functional Master-Slave EtherCAT network can be commissioned in just a few steps. The ETG website contains a Slave Implementation Guide with useful tips and hints on further documentation for implementing slave devices:

ETG.2200 EtherCAT and EtherCAT P Slave Implementation Guide

3. Conformance and Certification 

top

 

Two important factors for a communication standard to be successful are conformance and interoperability. In addition to requiring a conformance test for each device implementation (aided by the automated EtherCAT Conformance Test Tool), the EtherCAT Technology Group offers a variety of activities to ensure the interoperability between EtherCAT master devices, slave devices, and also the EtherCAT Configuration Tool.

Read more...

3.1 Plug Fest 

When trying to test if multiple devices are interoperable, connecting the devices together is a pragmatic approach. With this in mind, the ETG holds multiple so called Plug Fests each year, with each Plug Fest usually spanning two days. During the Plug Fests, master and slave device manufacturers come together to test how their devices behave together, which improves the usability of devices in the field. The ETG holds Plug Fests in Europe, North America, and Asia on a regular basis.

Read more...

3.2 Conformance Test Tool (CTT) 

The EtherCAT Conformance Test Tool (CTT) makes it possible to automatically test an EtherCAT slave device’s behavior. The CTT is a Windows program requiring only a standard Ethernet port. The tool sends EtherCAT frames to the Device under Test (DuT) and receives its responses. A test case is marked as passed if the response from the DuT corresponds to the defined response. The test cases are defined as XML files. This makes it possible to modify or expand the test cases without having to modify the actual test tool. The TWG Conformance is responsible for specifying and releasing the most current valid test cases. In addition to the protocol tests, the CTT also examines if the values in the EtherCAT Slave Information (ESI) file are valid. Finally, the CTT also performs device-specific protocol tests, such as for the CiA402 drive profile. All of the testing steps and results are saved in a Test Logger, and can be analyzed or saved as a documented verification for the device release.

Read more...

3.3 Technical Working Group Conformance 

The EtherCAT Conformance Test Policy requires device manufacturers to test each device with a valid version of the EtherCAT Conformance Test Tool before the device is brought on the market. The manufacturer may conduct this test in-house. The ETG Technical Committee (TC) established a Technical Working Group (TWG) Conformance, which determines the test procedures, the contents of the test, and the implementation of the Conformance Test Tool. The TWG Conformance is continuously expanding the tests and their depth. The TWG Conformance also established an Interoperability Tests process, with which devices can be tested in the context of an entire network.

Read more...

3.4 EtherCAT Test Center 

The official EtherCAT Test Centers (ETC) in Europe, Asia and North America are accredited by the ETG and perform the official EtherCAT Conformance Test. The EtherCAT Conformance Test includes the automated tests run with the CTT, interoperability tests within a network, as well as an examination of the device’s indicators, markings, and tests of the EtherCAT interfaces.

Device manufacturers are encouraged but not obligated to have their devices tested at an ETC. After the Conformance Test is passed, the manufacturer receives an EtherCAT Conformance Tested certificate for the device. This certificate is only available for devices that have passed the Conformance Test at an ETC- not for those which have been tested in-house.

The additional test in an accredited EtherCAT Test Center further increases compatibility and the uniform operation and diagnostics of EtherCAT implementations. End users should be sure to ask for the EtherCAT Conformance Tested certificate when choosing devices for their application.

Read more...

4. International Standardization 

top

 

The EtherCAT Technology Group is an official partner of the IEC. Both EtherCAT and Safety over EtherCAT are IEC-Standards (IEC 61158 and IEC 61784). These standards not only include the lower protocol layers, but also the application layer and device profiles, e.g. for drives. SEMI™ (Semiconductor Equipment and Materials International) has accepted EtherCAT as a communication standard (E54.20) for the semiconductor industry. The various Task Groups in the ETG Semiconductor Technical Working Group (TWG) have defined industry specific device profiles and implementation guidelines. The EtherCAT Specification is available in English, Japanese, Korean, and Chinese.

 

EtherCAT Brochure

Learn more about the fastest "Ethernet fieldbus" in detail:

English

German

Spanish

Italian

French

Chinese

Japanese

Korean

EtherCAT Multimedia

EtherCAT in 2 minutes:

Watch full playlist

EtherCAT Functional Principle:

Processing on the fly

EtherCAT in 20 minutes:

Generating competitive advantages

SPS IPC Drives 2018:

15 years of ETG

HANNOVER MESSE 2016:

Toyota selects EtherCAT

【EtherCAT】COE对象字典与PDO映射简介-CSDN博客

>

【EtherCAT】COE对象字典与PDO映射简介-CSDN博客

【EtherCAT】COE对象字典与PDO映射简介

小可嵌入式

已于 2022-12-11 08:20:55 修改

阅读量7.5k

收藏

59

点赞数

18

分类专栏:

工业总线

文章标签:

自动化

网络协议

嵌入式硬件

1024程序员节

于 2022-10-09 20:11:08 首次发布

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

本文链接:https://blog.csdn.net/qq_46211259/article/details/127232886

版权

工业总线

专栏收录该内容

3 篇文章

5 订阅

订阅专栏

简介

     将CANopen作为EtherCAT的应用层,在保证兼容性的同时,为了适配EtherCAT数据链路层接口,充分发挥EtherCAT的网络优势,需要对CANopen协议相应的功能扩充,然后就有了COE(CANopen over EtherCAT)。

COE对象字典(OD):可以这样理解,“一切信息皆对象”,比如某个数据,属性,设备ID,大小,方向,某个IO变量的值等等。对象字典就是对象的集合。每个对象都有对应的索引和索引。根据索引和子索引就能找到字典里的字(对象)。主站和从站都需要有对象字典,其目的个人理解为方便主站和从站进行信息交换。

RxPDO:主站主动传输RxPDO数据给从站。

TxPDO:从站主动传输TxPDO数据给主站。

一、PDO映射

PDO:过程数据对象。由对象字典中能够被映射到PDO的对象组成。

            PDO映射对象包含一个对象引用列表以及以bit为单位的长度。

          【简言之,PDO由多个对象组成,且是有映射关系的对象,比如PDO_1由Object1,Object2,Object3组成,每个对象有个长度。】

PDO映射:指应用对象(实时过程数据)从对象字典到PDO的映射。 

映射表:包含被映射对象的数目,和具体被映射的对象。

        【即由ssc工具生成的Object.h中实时过程数据的对象结构体。如下】

/**

* \brief Object structure

*/

typedef struct OBJ_STRUCT_PACKED_START {

UINT16 u16SubIndex0;

UINT16 Aninput1; /* Subindex1 - Analoginput1 */

UINT16 Analoginput2; /* Subindex2 - Analoginput2 */

UINT16 Analoginput3; /* Subindex3 - Analoginput3 */

UINT32 Analoginput4; /* Subindex4 - Analoginput4 */

UINT32 Analoginput5; /* Subindex5 - Analoginput5 */

UINT32 Analoginput6; /* Subindex6 - Analoginput6 */

} OBJ_STRUCT_PACKED_END

TOBJ6020;

/**

* \brief Object variable

*/

PROTO TOBJ6020 AIInputs0x6020 = {6,0x0000,0x0000,0x0000,0x00000000,0x00000000,0x00000000};

RxPDO的映射表位于对象目录索引0x1600~0x17FF中。

TxPDO的映射表位于对象目录索引0x1A00~0x1BFF中。

                    

                                     图例1-PDO映射

二、同步管理器PDO分配

同步管理器通道:SM通道。由若干PDO组成。

同步管理器PDO分配表:包括已分配PDO的数量,及具体被分配的PDO。

        【即由ssc工具生成的Object.h中PDO分配的对象结构体。如下】

/**

* \brief Object structure

*/

typedef struct OBJ_STRUCT_PACKED_START {

UINT16 u16SubIndex0; /**< \brief Subindex 0 */

UINT16  aEntries[2]; /**< \brief Subindex 1 - 2 */

} OBJ_STRUCT_PACKED_END

TOBJ1C13;

/**

* \brief Object variable

*/

PROTO TOBJ1C13 sTxPDOassign = {2,{0x1A00,0x1A02}};

同步管理器PDO分配表位于对象目录索引0x1C10~1C2F中。

                                         图例2-同步管理器PDO分配

三、以xml为例简述对象字典与PDO的关系

四个sm通道分别对应MBoxOut,MBoxIn,Outputs,Inputs。

sm2分配0x1600,0x1602两个RxPDO对象。

sm3分配0x1A00,0x1A02两个TxPDO对象。

0x1600映射两个Entry,0x1602映射两个Entry。

0x1A00映射两个Entry,0x1A02映射6个Entry。

每个Entry对应一个实时过程数据(应用对象)。

-------------------------------------------------------------------------------------------------------------------------------如有问题请联系本人:QQ614139707

关注博主即可阅读全文

优惠劵

小可嵌入式

关注

关注

18

点赞

59

收藏

觉得还不错?

一键收藏

知道了

29

评论

【EtherCAT】COE对象字典与PDO映射简介

将CANopen作为EtherCAT的应用层,在保证兼容性的同时,为了适配EtherCAT数据链路层接口,充分发挥EtherCAT的网络优势,需要对CANopen协议相应的功能扩充,然后就有了COE(CANopen over EtherCAT)。对象字典可以这样理解,“一切信息皆对象”,比如某个数据,属性,设备ID,大小,方向,某个IO变量的值等等。对象字典就是对象的集合。每个对象都有对应的索引和索引。根据索引和子索引就能找到字典里的字(对象)。

复制链接

扫一扫

专栏目录

EtherCAT通信主站----PDO过程数据映射

weixin_43956732的博客

09-07

1万+

EtherCAT通信主站----PDO过程数据映射FMMU与Sync Manager配置PDO过程数据映射PDO映射PDO分配PDO 映射的步骤

EtherCAT其中COE在数据链路层采用EtherCAT协议,在运用层采用CanOpen协议,其和兴是对象字典,对PDO和SDO相关知识,可以参考CanOpen通信----PDO与SDO,本文将只PDO的映射相关知识。

FMMU与Sync Manager配置

为了使SDO与PDO数据能在EtherCAT数据链路层上得到正确解析,需要对FMMU与Sync Mana

EtherCAT通信DS402协议----PDO映射

weixin_43956732的博客

06-08

6513

EtherCAT通信DS402协议----PDO映射PDO 映射PDO 分配PDO 映射的步骤

EtherCAT 从站的过程数据由同步管理器通道对象组成,每个同步管理器通道对象描述了 EtherCAT 过程数据的一致性区域,并且包含多个过程数据对象。具备应用控制功能的EtherCAT 从站应该支持 PDO 映射和 SM-PDO-Assign 对象的读取。关于PDO的介绍可以参照我写的CanOpen通信----PDO与SDO

PDO 映射

PDO 映射涉及对象字典到 PDOs 的应用对象(实时过程数据)映射关

29 条评论

您还未登录,请先

登录

后发表或查看评论

EtherCAT增加PDO读写寄存器

11-23

EtherCAT增加PDO读写寄存器

EtherCAT的COE报文

最新发布

u014453443的博客

01-04

515

动态PDO配置包括PDO Assignment和PDO Configuration,前者指的是,已经有配置好的一堆1600,1601,1602等等PDO,我们可以选择如何组合成我们自己的传输数据。其中,子索引0是分配的PDO数目,其他子索引是PDO映射对象的索引号,也就是前面的0x1600~0x17FF。COE协议是完全遵循CANopen协议的,但针对EtherCAT通信做了一些扩展,索引为0x1c00~0x1c4f,用于设置存储同步管理器的类型,通信参数和PDO数据分配。0x1c12配置示例。

EtherCAT动态PDO映射的实现方法

06-05

作为EtherCAT协议栈的补充,实现PDO动态映射,是一个完整的EtherCAT从站必要的组成部分。

CANOpen基本对象字典

07-06

CANOpen基本对象字典

EtherCAT使用与解析-关于PDO映射

热门推荐

lswdcyy的博客

04-11

1万+

关于PDO映射这部分,最好先参考https://blog.csdn.net/lswdcyy/article/details/105441470先了解一下配置相关的东西;

首先这里已经假设你已经了解完毕配置相关内容且已经初步了解PDO的是以什么样的形式存在于domain和子报文中,那么下面继续:

对于PDO映射,首先他是已经有了一个sync中关联PDO的这样一个链表的前提下才进行的PDO映射,那...

从站添加对象字典操作流程-R1.1.rar_-baijiahao_ETHERCAT_ethercat 从站_ethercat对象

07-14

本文适合初学ethercat者,教你如何添加对象字典

CANopen--PDO通信

ROM7RAM的博客

08-31

2896

       过程数据对象(Process Data Object,PDO)是用来传输实时数据的,提供对设备应用对象的直接访问通道,它用来传输实时短帧数据,具有较高的优先权。PDO 传输的数据必须少于或等于 8 个字节,PDO 的 CAN 报文数据域中每个字节都用作数据传输,...

03_过程数据对象(PDO)

zaichen321的博客

02-13

3180

CANopen PDO 传输

EtherCAT学习之路——对象字典

chenweizhen1991的博客

03-13

9487

首发与知乎

1.对象字典

CANopen 对象字典(OD: Object Dictionary)是 CANopen 协议最为核心的概念。所谓的对象字典就是一个有序的对象组,描述了对应 CANopen 节点的所有参数,包括通讯数据的存放位置也列入其索引,这个表变成可以传递形式就叫做 EDS 文件(电子数据文档Electronic Data Sheet)。对象字典,就像体检表,具备这个人每个功...

EtherCAT设备协议详解三、EtherCAT CoE

EtherCAT

12-16

2939

只需要一个耦合器,后面可以接多个模块,在总线上看到的只有一个从站,需要读取对应的设备描述空间来获取耦合器上接的模块类型和个数。这种模块的设备比每个模块都是从站可以节约硬件成本。比如配置0x1700对象下面映射的数据,就需要通过sdo把0x6040、0x607a等写入到0x1700对象下。CoE 是 CANopen on EtherCAT, 在ethercat报文中封装CANopen协议。关于canopen怎么封装到ethercat报文中的可以参考下面文章。配置pdo的映射的数据就需要用到SDO。

DX EtherCAT模块COE对象手册.zip

09-12

DX EtherCAT模块COE对象手册zip,提供“软赢DX EtherCAT模块COE英文对象手册”下载,供使用时参考。

Ethercat PDO Mapping Doc(松下)

02-22

松下的Ethercat驱动器使用手册,以及关于如何使用Ethercat配置PDO等内容

EtherCAT使用与解析-关于PDO映射生效以及主站状态机在此过程的作用

lswdcyy的博客

04-11

4142

在PDO映射配置一文https://blog.csdn.net/lswdcyy/article/details/105453144,已经针对从站的同步管理器配置已经基本描述了,本章描述关于PDO映射如何在从站中生效的相关内容。

PDO映射交换目前我已知的内容涉及到3个部分:sync同步管理器配置,FMMU配置以及PDO映射关系配置:

先说sync同步管理器配置和FMMU配置,两者差别不大,sy...

CanOpen--PDO映射

天道酬勤

12-21

1357

canopen--PDO映射

2021-04-24

duobaohongtu3的专栏

04-24

1874

canopen简介:

CAN 提供了所有的网络管理服务和报文传送协议,但并没有定义对象的内容或者正在通讯的对象的类

型(它只定义了 how,没有定义 what),而这正是 CANopen 切入点。CANopen 的核心概念是设备对象字典(OD:Object Dictionary)。CANopen 通讯通过对象字典(OD)能够访问驱动器的所有参数。

can的数据帧结构:

canopen在can帧基础上详细分配了COB_ID和数据域的用法

通常我们所指 的帧ID就是COB_ID,COB_ID(11bits)=

IgH详解九、EtherCAT PDO原理(1)

EtherCAT

05-07

6849

过程数据对象 (PDO)

过程数据对象(PDO)是EtherCAT 从站在每个周期内传输的过程数据,是应用程序期望循环更新或发送到从站的用户数据(比如每个周期下发伺服的位置)。因此,EtherCAT 主站在启动阶段对每个 EtherCAT 从站进行参数化,以定义要与该从站传输或从该从站传输的过程数据(以位/字节为单位的大小、源位置、传输类型)

PDO的配置(PDO通过邮箱SDO配置,SDO如何下发数据见上一篇文章)

寄存0x1c12 RxPDO 0x1c13 TxPDO

下面以一次实际配置过程来

虹科分享 | 简单实用的CANopen介绍,看完你就明白了(3)——对象字典、SDO、PDO

工业通讯__HongKe的博客

08-31

2651

目前,CANopen通讯协议已经在工业领域得到了广泛的使用,由于其面向对象的设计思路,CANopen协议已成为欧洲等国家的自动化公司标配的通讯接口之一。在本系列文章中,我们将介绍CANopen协议的基础内容,包括对象字典、服务、SDO、PDO和主/从站节点等。...

ethercat pdo映射

08-30

EtherCAT(Ethernet for Control Automation Technology)是一种实时以太网通信协议,它被广泛应用于工业自动化控制系统中。

EtherCAT PDO(Process Data Object)映射是EtherCAT网络中通信数据的传输方式之一。PDO允许直接传输过程数据,而不需要额外的通信协议。

PDO映射的过程可以分为两个步骤。首先是PDO的配置,这包括定义PDO映射的对象和数据类型,以及指定PDO的传输类型、数据长度等参数。其次是PDO的映射,即将定义的PDO对象与实际的硬件设备或I/O模块进行关联。

在EtherCAT网络中,PDO映射可以通过专门的配置工具或编程接口进行设置。通过配置工具,可以直观地定义PDO对象、数据类型和映射关系。而通过编程接口,开发者可以自定义PDO的配置和映射过程,实现更灵活的通信需求。

使用PDO映射的好处是可以提高通信的实时性和可靠性。由于PDO直接传输过程数据,避免了额外的协议栈和数据处理过程,减少了通信的延迟和资源消耗。此外,PDO映射还可以针对实际需求进行灵活配置,提高系统的可配置性和可扩展性。

总之,EtherCAT PDO映射是一种基于EtherCAT网络的通信数据传输方式,通过配置和映射PDO对象,可以实现高效实时的数据传输,提高工业自动化控制系统的性能和可靠性。

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

非常没帮助

没帮助

一般

有帮助

非常有帮助

提交

小可嵌入式

CSDN认证博客专家

CSDN认证企业博客

码龄4年

暂无认证

22

原创

1万+

周排名

4万+

总排名

7万+

访问

等级

396

积分

5650

粉丝

126

获赞

58

评论

546

收藏

私信

关注

热门文章

MODBUS RTU协议原理及功能码解析

16936

【EtherCAT】COE对象字典与PDO映射简介

7502

GD32f303之定时器配置

6191

Beyond Compared 4需要秘钥怎么办

5723

【linux多线程】sleep函数作用

5449

分类专栏

杂项

1篇

工业总线

3篇

软件开发工具

3篇

编程方法

1篇

Linux系统编程

1篇

脚本文件

Linux内核

Linux网络编程

1篇

Linux驱动编程

1篇

MCU开发

8篇

编程工具

编程语言

5篇

最新评论

MODBUS RTU协议原理及功能码解析

X xp:

功能码12 是不是就需要开发了

GD32f303之rs485配置

小可嵌入式:

没写过,应该都差不多吧

GD32f303之rs485配置

迎风吹起:

博主,写过GD32E230系列的485配置吗

GD32f303之rs485配置

QQ2510134061:

博主我想问一下,测试通信的软件可以用串口调试助手吗

EtherCAT从站开发要点

weixin_44769409:

CoE字典里分RxPDO和TxPDO,你把对应的pdo entry放入对应的里面(对应的电机手册或者EthrCAT应该有写),然后再通过SM通道进行分配。比方说0x1600(RxPDO)中0x6040、0x6060

大家在看

ChatGPT4.0强大解说功能

Java面试题:深度解析设计模式、内存模型、多线程与并发框架有关面试题的综合应用,必知必会Java知识点梳理

496

【Selenium】获取当前页面所有可点击跳转的链接

免费的 AI 视频生成工具 Moonvalley 厉害了!Moonvalley 怎么用(保姆级教程)

963

学习Android的第二十八天

243

最新文章

嵌入式学习经验分享

stm32开发工具之addr2line.exe使用

VSCode 右键函数无法跳转到定义解决办法

2024年1篇

2023年10篇

2022年15篇

目录

目录

分类专栏

杂项

1篇

工业总线

3篇

软件开发工具

3篇

编程方法

1篇

Linux系统编程

1篇

脚本文件

Linux内核

Linux网络编程

1篇

Linux驱动编程

1篇

MCU开发

8篇

编程工具

编程语言

5篇

目录

评论 29

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

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

规则

hope_wisdom 发出的红包

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

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

余额充值

EtherCAT设备协议详解三、EtherCAT CoE-CSDN博客

>

EtherCAT设备协议详解三、EtherCAT CoE-CSDN博客

EtherCAT设备协议详解三、EtherCAT CoE

最新推荐文章于 2024-01-04 10:53:42 发布

EtherCat技术研究

最新推荐文章于 2024-01-04 10:53:42 发布

阅读量2.9k

收藏

12

点赞数

2

分类专栏:

EtherCAT

文章标签:

ethercat

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

本文链接:https://blog.csdn.net/gufuguang/article/details/128345060

版权

EtherCAT

专栏收录该内容

13 篇文章

71 订阅

订阅专栏

 CoE 是 CANopen on EtherCAT, 在ethercat报文中封装CANopen协议

服务数据对象(SDO)用来访问CANopen对象字典条目的

关于canopen怎么封装到ethercat报文中的可以参考下面文章

IgH详解八、EtherCAT SDO原理_EtherCat技术研究的博客-CSDN博客_ethercat pdo sdo

配置pdo的映射的数据就需要用到SDO

 比如配置0x1700对象下面映射的数据,就需要通过sdo把0x6040、0x607a等写入到0x1700对象下

MDP Device model 是模块化的从站

只需要一个耦合器,后面可以接多个模块,在总线上看到的只有一个从站,需要读取对应的设备描述空间来获取耦合器上接的模块类型和个数。这种模块的设备比每个模块都是从站可以节约硬件成本。

具体协议内容可参考 ETG.5001 标准文档。

优惠劵

EtherCat技术研究

关注

关注

2

点赞

12

收藏

觉得还不错?

一键收藏

知道了

0

评论

EtherCAT设备协议详解三、EtherCAT CoE

只需要一个耦合器,后面可以接多个模块,在总线上看到的只有一个从站,需要读取对应的设备描述空间来获取耦合器上接的模块类型和个数。这种模块的设备比每个模块都是从站可以节约硬件成本。比如配置0x1700对象下面映射的数据,就需要通过sdo把0x6040、0x607a等写入到0x1700对象下。CoE 是 CANopen on EtherCAT, 在ethercat报文中封装CANopen协议。关于canopen怎么封装到ethercat报文中的可以参考下面文章。配置pdo的映射的数据就需要用到SDO。

复制链接

扫一扫

专栏目录

EtherCAT协议栈代码详解

05-31

EtherCAT代码详解,ET9300,开发EtherCAT的的必备文档。

COE协议报文解析

y_q_m的博客

08-07

2447

以COE(CANopen over EtherCAT)的SDO服务为例,EtherCAT帧格式如下图所示:

从图中可看出CANopen、EtherCAT和Ethernet这几个协议的大致关系。

参与评论

您还未登录,请先

登录

后发表或查看评论

EtherCAT的COE报文

最新发布

u014453443的博客

01-04

515

动态PDO配置包括PDO Assignment和PDO Configuration,前者指的是,已经有配置好的一堆1600,1601,1602等等PDO,我们可以选择如何组合成我们自己的传输数据。其中,子索引0是分配的PDO数目,其他子索引是PDO映射对象的索引号,也就是前面的0x1600~0x17FF。COE协议是完全遵循CANopen协议的,但针对EtherCAT通信做了一些扩展,索引为0x1c00~0x1c4f,用于设置存储同步管理器的类型,通信参数和PDO数据分配。0x1c12配置示例。

EtherCAT从站协议栈---- sampleappl.c 文件解析

Jiawei_Z的博客

02-09

1660

这个源文件实际上包含该项目的入口函数main函数。

那么如何找到入口函数呢?

可以进入debug的simulator模式,选中run to main(),

当执行完启动文件startup_cm3.s后就进入了main函数(注意在main函数之前还进入了SystemInit函数),

如下图所示:

这个main函数主要架构如下:

int main(void)

{

HW_Init(); /*PDI(过程数据接口)初始化,这里用的是MCI接.

EtherCAT——PDO/SDO

a1347065101的博客

07-26

3913

主站与从站进行数据交互的方式主要通过PDO和SDO,即过程数据和邮箱数据其概念与CANOpen中的概念相同。

EtherCAT学习之路——对象字典

chenweizhen1991的博客

03-13

9487

首发与知乎

1.对象字典

CANopen 对象字典(OD: Object Dictionary)是 CANopen 协议最为核心的概念。所谓的对象字典就是一个有序的对象组,描述了对应 CANopen 节点的所有参数,包括通讯数据的存放位置也列入其索引,这个表变成可以传递形式就叫做 EDS 文件(电子数据文档Electronic Data Sheet)。对象字典,就像体检表,具备这个人每个功...

【EtherCAT】COE对象字典与PDO映射简介

专注嵌入式软硬件开发。

10-09

7515

将CANopen作为EtherCAT的应用层,在保证兼容性的同时,为了适配EtherCAT数据链路层接口,充分发挥EtherCAT的网络优势,需要对CANopen协议相应的功能扩充,然后就有了COE(CANopen over EtherCAT)。对象字典可以这样理解,“一切信息皆对象”,比如某个数据,属性,设备ID,大小,方向,某个IO变量的值等等。对象字典就是对象的集合。每个对象都有对应的索引和索引。根据索引和子索引就能找到字典里的字(对象)。

1.2 CoE之对象字典概念

suntoarms的博客

03-28

3122

一、数据帧与子报文

1、 在Ethernet帧中,在Ethernet Header、EtherCAT Header之后是每个从站的子报文。在这些子报文中的开头是10个字节的子报文头,包含命令、索引、地址等信息。

2、 逻辑寻址:通过FMMU(每一个ESC内都有FMMU)实现,将从站本地物理地址映射到网段内逻辑地址

1) 逻辑地址:32bit,共4GB寻址空间。

2) ESC存储空间:以...

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

热门推荐

王三三

06-22

2万+

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

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

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

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

IgH详解八、EtherCAT SDO原理

EtherCAT

04-27

7619

主站通过使用 SDO对对象字典进行读取/写入操作,完成对从站设备进行参数设置、状态监视等。

从站SDO的读写是非实时的,所以需要多次访问来确保数据操作的正确性。

如下图写入操作,主站把数据发送到从站,从站返回WC确保数据收到,经过几个周期后主站发起响应查询,看从站是否有正确的写入数据。

从从站读取数据主站同样需要发起多次访问,以确保数据正确读取

下面我们看下SDO是怎么封装到EtherCAT中的?

邮箱协议

从站的SM0,SM1同步管理做为邮箱通信使用,当有邮箱数据时会.

EtherCAT通信协议研究及实现.pdf

03-09

描述了现场总线技术的国内外发展现状,阐述 EtherCAT 的通信规范和总线实施

的“飞读飞写”技术、分布式时钟同步技术、WKC 和 CRC 校验等关键技术。

详解EtherCAT主站协议栈-综合文档

05-22

详解EtherCAT主站协议栈

Ethercat协议详解.zip

05-12

Ethercat主站协议详解,对于想要开发主站的同学有很大帮助,便于理解主站源代码的相关作用。注:英文文档 1、Ethercat协议原理,应用层,数据链路层,物理层。 2、Ethercat从站寄存器说明 3、ET1200硬件详解

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

12-07

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

IgH配置EtherCAT流程

EtherCAT

01-22

1万+

IgH设置EtherCAT数据流程

在启动IgH协议栈后,协议栈会自动的把EtherCAT从站初始化到PREOP模式,从PREOP状态迁移到SAFEOP状态,需要设置PDO、DC等数据。以山洋电机为例数据设置流程如图 1.1所示:

图 1.1 PREOP状态迁移流程

IgH应用实现流程

1申请获取主栈

在配置数据之前首先获取一个主栈结构体,该结构和协议栈中的master对应。通过获取到的...

EtherCAT设备协议详解二、EtherCAT状态机及配置流程

EtherCAT

12-16

7893

设备可以拒绝来自主站的状态请求,并通过错误指示(AL 状态寄存器中的错误标志)和相关错误代码(AL 状态代码寄存器)发出错误信号。设置了上述信息后,从站检查无误后,主站可以请求进入safe-op状态,如果不能进入safe-op可以读取相关寄存器,判断错误原因。设置了上述信息后,从站检查无误后,主站可以请求进入pre-op状态,如果不能进入pre-op可以读取相关寄存器,判断错误原因。safe-op状态主要把pdo中的数据设置的从站中,确认从站是否会报错。DC同步稳定,从站也没有报错就可以申请进入op状态。

EtherCAT 同步模式

EtherCAT

12-27

7757

EtherCAT三种同步方式

自由运行模式 (Free Run:非同步运行)

自由运行模式通过应用程序控制器的本地计时器中断启动。本地周期从通信周期或主站周期独立出来单独运行。

SM2事件同步模式(Synchronous with SM2 Event)

由于从站的处理与SM2事件周期相对应,因此从站的处理保持与SM2事件同步。...

EtherCAT报文格式详解

EtherCAT

08-23

7266

1、EtherCAT报文组成

从图中抓的包可以看出EtherCAT报文分为三部分(1)、以太网帧头 (2)、EtherCAT帧头 (3)、EtherCAT数据 说明:KUNBUS TAP是实时抓包工具加的时间戳信息,报文的FCS也在里面

2、帧头解析

(1)、EtherCAT是基于以太网的所以头部首先是以太网帧头,包含目的和源MAC地址,EtherCAT帧类型固定为 0x88A4

(2)、EtherCAT帧头2字节,包含ECAT数据长度

3、ECAT数据解析

ECAT数据就是主...

java实现ethercat通讯协议

11-23

Java是一种广泛应用的编程语言,能够实现各种通讯协议的开发。要实现EtherCAT通讯协议,首先需要了解EtherCAT协议的工作原理和通讯规范。EtherCAT是一种实时以太网通讯协议,用于工业自动化领域的通讯。在Java中实现EtherCAT通讯协议,可以通过使用相关的库和工具来实现。

Java的网络编程能力可以很好地支持EtherCAT通讯协议的实现。可以使用Java的网络编程库来建立与EtherCAT设备的连接,并通过发送和接收数据帧来实现通讯。另外,Java也支持Socket编程,可以使用Socket来进行底层的网络通讯。

此外,对于EtherCAT通讯协议的数据处理和解析,可以利用Java的数据处理和解析能力来实现。通过使用Java的数据结构和算法,能够很好地处理EtherCAT通讯协议中的数据帧,实现数据的解析和处理。

总的来说,通过使用Java的网络编程能力、数据处理和解析能力,可以很好地实现EtherCAT通讯协议。当然,也需要充分了解EtherCAT通讯协议的规范和要求,结合Java的特性来进行开发,才能够有效地实现EtherCAT通讯协议。

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

非常没帮助

没帮助

一般

有帮助

非常有帮助

提交

EtherCat技术研究

CSDN认证博客专家

CSDN认证企业博客

码龄11年

暂无认证

84

原创

3万+

周排名

2万+

总排名

27万+

访问

等级

2392

积分

574

粉丝

168

获赞

261

评论

1119

收藏

私信

关注

热门文章

机内码、国际码、区位码换算

24839

各种ADC转换方式的优缺点

20211

IgH详解 一、概述

12652

IgH配置EtherCAT流程

12340

目前常用AD/DA芯片简介

7913

分类专栏

Linuxcnc-ethercat

1篇

IgH详解

23篇

arm_Linux

1篇

TCP/IP

1篇

S3C2440

18篇

EtherCAT

13篇

最新评论

IgH详解十二、IgH实现使用ENI文件配置从站(二)

EtherCat技术研究:

扫描跟兼容性关系不大,先要确保ethercat报文是否有正常收发

IgH详解二、主栈启动流程(二)

EtherCat技术研究:

要看你报文是否有超时,是否有丢包?用的实时网卡驱动吗?需要你根据自己环境去查

IgH详解十二、IgH实现使用ENI文件配置从站(二)

weixin_50007256:

大佬,我偶然会出现伺服和io的从站突然重启后扫描不上来的情况,重启前还是能扫描上来的,是因为兼容性的问题么。

IgH详解二、主栈启动流程(二)

weixin_50007256:

大佬,从站成功切到op之后,为了检测从站是否会断开,我判断ec_slave_config_state_t.online的值,出现有时候online为false的现象,但是从站状态一直是op,这是什么原因呢

IgH详解十、EtherCAT DC(4)主站做参考时钟和从站作参考时钟性能对比

records111:

大神你好,我想请教下你用从站作为参考时钟的话,主站的时钟是怎么被同步的呢,可以详细聊聊吗

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

强烈不推荐

不推荐

一般般

推荐

强烈推荐

提交

最新文章

倍福控制器搭建IgH环境

全志A40i PRREMPT-RT Linux平台搭建IgH环境

ubuntu 16.04 阿里软件源

2023年11篇

2022年18篇

2021年12篇

2019年3篇

2018年1篇

2015年2篇

2013年58篇

目录

目录

分类专栏

Linuxcnc-ethercat

1篇

IgH详解

23篇

arm_Linux

1篇

TCP/IP

1篇

S3C2440

18篇

EtherCAT

13篇

目录

评论

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

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

规则

hope_wisdom 发出的红包

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

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

余额充值

CANopen over EtherCAT (CoE) — Synapticon Documentation

CANopen over EtherCAT (CoE) — Synapticon Documentation

Hardware Manuals

SOMANET Circulo

SOMANET Node

SOMANET Accessories

Samples & Legacy Products

Commissioning and Tuning Guide

Software Reference

v5.0

v4.4

v4.2

v4.1

v4.0

Resources

System integration guidelines

Tutorials

About this documentation

Hardware Manuals

SOMANET Circulo

SOMANET Node

SOMANET Accessories

Samples & Legacy Products

Commissioning and Tuning Guide

Software Reference

v5.0

v4.4

v4.2

v4.1

v4.0

Resources

System integration guidelines

Tutorials

About this documentation

Documentation

Software Reference

Software Reference Manual v4.2

CANopen over EtherCAT (CoE)

Hardware Manuals

Handling instructions

Electrostatic discharge

Magnetic sensitive devices

SOMANET Circulo

Overview

Technical specifications

Power Specification

General Specification

Optional Integrated Encoders

Accuracy and repeatability of the integrated encoders

Functions

Magnetic data

Optional Integrated Brake

Ordering information

Load cycle

Downloads

Documents

CAD Files

Installation Guide

Wiring instructions

Power and brake

Supply and phases

Warning about using contactors behind the power supply

Connecting a brake

Encoders and IO

Encoder overview

Analog Input

Encoder ports

Encoder port 1

Encoder port 2

Digital IO

Voltage Levels of the Digital Inputs/Outputs

EtherCAT / STO-SBC IN & OUT

Voltage level of the Safety Inputs

Analog In Specification

Differential

Single-ended

Temperature sensor

Specification for the single-ended temperature sensor input

Battery for Multi-Turn

Suitable batteries

Power consumption of multi-turn

EtherCAT-STO Cable

Overview

Pinout of the connectors

Hybrid connector (JST GHR-08V-S)

STO/SBC Connections

EtherCAT Connection

Instructions for manufacturing the cables

General Cable and Wire Specifications

Drive-to-Drive Cable

Y-Splitter Cable

Maximum cable lengths

Mating parts

Connector details and mating part numbers

Mechanical integration

Mounting Example

Mounting the encoder disc

Mounting a hollow-shaft secondary bearing

Routing the motor phase cables

Dimensions

Dimensions

Weight and inertia of the encoder rings

Drilling patterns

Mounting a bearing

Side view with phase connectors

Mounting encoder rings

Axial distance tolerances

Planar displacements

Radial displacement (r)

Tangential displacement (t)

Mounting eccentricity or radial runout (e)

Thermal Mounting Considerations

Current as a function of mounting temperature

Ambient air

Encoder calibration

Encoder accuracy

Narrow angle errors (encoder system-specific non-linearity)

Analogue signals errors

Magnetic ring magnetization errors

Wide angle error (installation-dependent non-linearity)

Detecting the encoder non-linearity

Analog Calibration Procedure

Prerequisite

Performing the procedure

Starting the Internal Encoder Calibration

Limited Range Calibration (Available from OBLAC Drives v21.3.0)

Calibration in Progress

Troubleshooting

The magnetic ring is too close to the encoder chip

The magnetic ring is too far from the encoder chip

The magnetic ring is damaged

Encoder system diagnostic

Magnetic ring distance checker

Check encoder system

Check encoder errors

LED signals

Overview

Legend

Status LED

Firmware

Bootloader

EtherCAT LED

Safety functions (STO-SBC)

Safety specifications

System requirements

Technical specifications

Safety connectors

Wiring the safety inputs

Cabling lenghts

Connection diagrams for the STO inputs

Manual switch + drives

Safety PLC PM (Plus-Minus output) + drives

Safety PLC PP (Plus-Plus output) + drives

Connection diagram for the brake

Using the safety functions

Timing diagrams

Timing diagram for STO-function without connected brake

Timing diagram for STO-function with SBC-function

Truth table for digital inputs

Diagnostic functions

Software diagnostics

STO-SBC status register

Examples for realising safety functions

Emergency stop

Stop category 1 emergency stop (Safe stop 1)

Prerequisites

Wiring

Configuration

Verification

Prevention of unexpected start-up

Commissioning and maintenance

Commissioning

Maintenance

Changelog of the safety-related documentation

SOMANET Node

Overview

Technical specifications

Power Specifications

General specifications

Load cycle

Thermal considerations

Downloads

Documents

CAD Files

Hardware diagrams

EtherCAT module

Processor module

Drive module

Installation guide

Wiring instructions

Power and brake

Pinout Power Terminal

Notes about choosing the supply voltage

Using a PELV or SELV power supply

Warning about using contactors behind the power supply

Connecting a Brake

Encoders and IO

Encoder Port 1

Encoder Port 2

Encoder Port 3 / Digital IO

Analog IN

Analog input specification

Analog input resistance

Attaching a voltage divider

EtherCAT port

EtherCAT IN Port

EtherCAT OUT Port

Connectors and mating parts

Overview of connectors

Mounting instructions

Heat dissipation

Dimensions

Interference with magnetic fields

On-site installation guide (UL)

Branch fuse required

Field wiring terminal marking

Downloads

LED signals

Overview

Legend

Core LED

Firmware

Bootloader

Drive LED

Com LED

Safety functions (STO-SBC)

Specifications of the safety functions

System requirements

Technical specifications

Block diagram

Setup of the safety functions

Connecting the STO/SBC inputs

STO/SBC input port

Wiring examples for the STO/SBC inputs

Manual switch

Safety PLC (plus-minus output)

Safety PLC (plus-plus output)

Connection diagram for the brake

Brake power output (STO/SBC)

Connector mating parts and cable lengths

Using the safety functions

Timing diagrams

Timing diagram for STO-function without connected brake

Timing diagram for STO-function with SBC-function

Truth table for digital inputs

Diagnostic functions

Fault diagnostics

Fault reaction

Resetting diagnostic faults

STO-SBC status register

Examples for realising safety functions

Prevention of unexpected start-up

Stop category 0 (STO)

Stop category 1 (SS1)

Prerequisites

Wiring

Configuration

Verification

Commissioning and maintenance

Commissioning

Maintenance

Changelog of the safety-related documentation

Dimensions

SOMANET Accessories

SOMANET Braking Chopper

Overview

Technical Specs

Installing the module and setting the threshold voltage

Connecting the Board to DC-BUS

Suitable cables

Wiring

Failsafe Behavior

Multi-board option

LED

Dimensions

SOMANET Sin/Cos Cable Adapter

Overview

Block Diagram

Connectors

Encoder Connector Top

Encoder Connector Bottom

Interface Connector

Mounting remarks

Strain relief

Soldered cables

Industrial I/O Cable Adapter

Overview

Block diagram

Pinouts

Connector details and mating parts

Strain relief

Soldered cables

Attaching the adapter

ABI/BiSS Encoder Cable Adapter

Overview

Block Diagram

Connectors

Encoder Connector Top

Encoder Connector Bottom

Interface Connector

Mounting remarks

Strain relief

Soldered cables

Downloads

Samples & Legacy Products

SOMANET Circulo Sample A.2

Technical specifications

Power Specification

General Specification

Optional Integrated Encoders

Accuracy and repeatability of the encoder rings

Functions

Magnetic data

Optional Integrated Brake

Installation Guide

Wiring instructions

Power supply and motor brake

Power Terminal

Motor phases

Connecting a brake

Encoders and IO

Connector overview

Analog Input

External Encoder

Digital IO

Safety STO-SBC

Encoder Battery (for multi-turn)

EtherCAT In/Out

Temperature sensor

Mating parts and encoder battery

Connector details and mating part numbers

Suitable batteries

Overview of connectors

Dimensions and mechanical mounting

Dimensions

Drilling patterns for mounting

Heat dissipation

Downloads

Mounting encoder rings

Aligning the encoder discs

Mounting tolerances

Radial displacement (r)

Tangential displacement (t)

Axial distance

Tilt angle

Mounting eccentricity (rotation axis offset)

Encoder accuracy

Wide angle error (long wave error, integral nonlinearity)

Narrow angle error (short wave error, differential nonlinearity, Sub Divisional Error)

LED signals

Overview

Legend

Core LED

Firmware

Bootloader

Drive LED

EtherCAT LED

Safety functions (STO-SBC)

Safety specifications

System requirements

Technical specifications

Block diagram

Wiring the safety inputs

Connection diagrams for the STO inputs

Manual switch + drive

Manual switch + drive (single-channel)

Manual switch + multiple drives

Safety PLC PM (Plus-Minus output) + drive

Safety PLC PM (Plus-Minus output) + multiple drives

Safety PLC PP (Plus-Plus output) + drive

Safety PLC PP (Plus-Plus output) + multiple drives

Connection diagrams for the STO/SBC feedback output

High side driver

Low side driver

Connection diagram for the brake

Using the safety functions

Timing diagrams

Timing diagram for STO-function without SBC

Timing diagram for STO-function with SBC-function

Truth table for digital inputs

Diagnostic functions

Software diagnostics

Hardware diagnostics

STO-SBC status register

Use cases

Emergency stop

Prevention of unexpected start-up

Commissioning and maintenance

Commissioning

Maintenance

SOMANET Circulo Sample B.1

Technical specifications

Power Specification

General Specification

Optional Integrated Encoders

Accuracy and repeatability of the integrated encoders

Functions

Magnetic data

Optional Integrated Brake

Ordering information

Installation Guide

Wiring instructions

Power and brake

Supply and phases

Connecting a brake

Encoders and IO

Encoder overview

Analog Input

External Encoder

Digital IO

EtherCAT / STO-SBC IN & OUT

Temperature sensor

EtherCAT-STO Cable

Overview

Pinout of the connectors

Instructions for manufacturing the cables

Mating parts

Connector details and mating part numbers

Dimensions and mechanical mounting

Dimensions

Drilling patterns for mounting

Heat dissipation

Downloads

Mounting encoder rings

Aligning the encoder discs

Mounting tolerances

Radial displacement (r)

Tangential displacement (t)

Axial distance

Tilt angle

Mounting eccentricity (rotation axis offset)

Battery for Multi-Turn

Suitable batteries

Mounting a bearing

Encoder accuracy

Wide angle error (long wave error, integral nonlinearity)

Narrow angle error (short wave error, differential nonlinearity, Sub Divisional Error)

Encoder calibration

Overview

Prerequisite

Encoder system diagnostic

Magnetic ring distance checker

Check encoder system

Check encoder errors

Calibration Procedure

LED signals

Overview

Legend

Status LED

Firmware

Bootloader

EtherCAT LED

Safety functions (STO-SBC)

Safety specifications

System requirements

Technical specifications

Safety connectors

Wiring the safety inputs

Cabling lenghts

Connection diagrams for the STO inputs

Manual switch + drives

Safety PLC PM (Plus-Minus output) + drives

Safety PLC PP (Plus-Plus output) + drives

Connection diagram for the brake

Using the safety functions

Timing diagrams

Timing diagram for STO-function without SBC

Timing diagram for STO-function with SBC-function

Truth table for digital inputs

Diagnostic functions

Software diagnostics

Hardware diagnostics

STO-SBC status register

Examples for realising safety functions

Emergency stop

Stop category 1 emergency stop (Safe stop 1)

Prerequisites

Wiring

Configuration

Verification

Prevention of unexpected start-up

Commissioning and maintenance

Commissioning

Maintenance

Changelog of the safety-related documentation

SOMANET Node rev. D.3/4

Technical specifications

Power Specifications

General specifications

Hardware diagrams

EtherCAT module

Processor module

Drive module

Installation guide

Wiring Instructions

Warning about using contactors behind the power supply

Connector Pinouts

Power Terminal

Encoder Port 1

Encoder Port 2

Encoder Port 3 / Digital IO

Analog IN

EtherCAT port

EtherCAT IN Port

EtherCAT OUT Port

Connector types and mating parts numbers

Grounding and connecting a brake

Connecting a Brake

Mounting instructions

Heat dissipation

Dimensions

Interference with magnetic fields

Downloads

LED signals

Overview

Legend

Core LED

Firmware

Bootloader

Drive LED

Com LED

SOMANET Node rev. C.4

Technical specifications

Power Specifications

General specifications

Hardware diagrams

EtherCAT module

Processor module

Drive module

Installation guide

Wiring Instructions

Warning about using contactors behind the power supply

Connector Pinouts

EtherCAT IN/OUT

Power Terminal

Encoder Port 1

Encoder Port 2

Encoder Port 3 / Digital IO

Analog IN

EtherCAT port

EtherCAT IN Port

EtherCAT OUT Port

Connector types and mating parts numbers

Grounding and connecting a brake

Connecting a Brake

Mounting instructions

Heat dissipation

Dimensions

Interference with magnetic fields

LED signals

Overview

Legend

Core LED

Firmware

Bootloader

Drive LED

Com LED

Commissioning and Tuning with OBLAC Drives

OBLAC Drives Setup

OBLAC Drives Box

Connectors

Installation

Network Connection to the OBLAC box

Connection Host-PC ↔ Box by Wi-Fi

Host-PC connected to Internet by LAN connection

Box connected to internet by LAN connection

Host-PC and Box not connected to Internet

Connection Host-PC ⇿ PC by LAN cable

LAN connection via Switch and connection to a network with DHCP server

LAN connection Peer to Peer

No connection to OBLAC update server

Offline Updates

Open OBLAC Drives

Update OBLAC Drives

OBLAC Drives Virtual Machine

Prerequisite

Getting started

Connecting to OBLAC Drives

Update OBLAC Drives

Troubleshooting

Using OBLAC Drives

Installing the latest version

User Interface Overview

Save to device

Update Firmware

Launch Setup Wizard

Download Device Description XML

Load Configuration File

Save Configuration File

Download log

Factory Reset

Using keyboard shortcuts

Quick Open

Set up your servo drive

Motion Control Tuning

Auto-Tuning

System Identification

Prerequisites

Limitations

How to use

F.A.Q.

Position Auto-tuning

Prerequisites

Limitations

How to use

Next steps

F.A.Q.

Velocity Auto-tuning

Prerequisites

Limitations

How to use

Next steps

F.A.Q.

Concept of Auto-Tuning

Goal of Position Auto-tuning

Goal of Velocity Auto-tuning

Manual Tuning

Manual Tuning of the current controller

Manual tuning guide

Manual Tuning of the velocity control loop

Manual Tuning of the position control loop: Cascaded controller

Overview of the Tools

Test your drive at the playground

Prerequisites

Applying torque to a motor

Rotate a motor at defined velocities

Rotate a motor to defined positions

Update or downgrade OBLAC Drives

Troubleshooting

Virtualization not activated

Memory Warning

Runtime Issues

Other Issues

Software Reference

Software Reference v5.0

Overview

Functionality description

CANopen over EtherCAT (CoE)

Drive State Machine (CiA 402)

PDO

PDO Configuration

SDO

Actuator Configuration

Motor and Gear settings

Motor Configuration

Pole pairs

Torque constant

Phase resistance

Phase resistance of delta winding motors

Phase to phase resistance of delta winding motors

Phase inductance

Phase to phase inductance of delta winding motors

Errors in phase resistance and inductance

Motor phases inverted

PWM frequency

Gear Ratio

Advanced configurations

Parameters

Generic brake output voltage

Overview

Usage

Limitations

Parameters

Brake release

Pin-brake Mode

Timing diagram

Brake PWM frequency

Custom brake modes

Parameters

User defined velocity units

Overview

Usage

Objects affected

Example

Parameters

Commutation Offset Detection

Overview

Basic Principles

Requirements

Load requirements

Autophasing methods

Method 0

Method 1

Method 2

Comparison of methods

Common Use Cases

Motion is allowed

Motion is not allowed

Usage

Tuning gains (method 1)

Parameters

Power limit

Overview

Requirements

Detailed Description

Parameters

Encoders and I/O

Analog In

Using single-ended sensors on differential inputs

Nonlinear conversion

Parameters

Analog Input Scaling

Requirements

Usage

Wiring

Software configuration

Thresholds

Polynomial

Parameters

Digital I/O

Configuration of Digital I/Os as Input or Output

Using Digital I/Os for input actions or output events

Parameters

Digital GPIO

Overview

Usage

Manual configuration

Description of features

General purpose In- and Output (GPIO)

Using Digital GPIO with Home switches and limit switches

Driving out of the limit switch

Input actions

Output events

Parameters

Encoder Configuration

Parameter description

Function

Resolution

Zero velocity threshold

Polarity

Multiturn resolution

Parameters

Commutation with Hall and ABI combined

Overview

Requirements

Usage

Detailed description

Startup

Error Detection

Runtime

Input counter

Overview

Limitations

Parameters

Protection

Overview

Usage

Parameters

Errors and Warnings

Error codes thrown by the firmware

Error Report Object

Remedies for protection errors

Remedy for over-current

Remedy for over-voltage

Remedy for under-voltage

Remedy for over-temperature

Logging

Overview

Types

Format

Motion Control

Control Loops

Current and Torque Control Loop

Torque control loop

General Scope of the Torque Controller

Reference Torque Generation

Functional Description and Controller Structure

Tuning of the current controller

Parameters

Velocity Control Loop

Parameters

Position Control Loops

Cascaded PID Controller

Parameters

Simple PID Controller

Parameters

Dual Loop Cascaded Position Control

Overview

Usage

Parameters

Modes of Operation

Cyclic modes

Cyclic Synchronous Torque Control (CST)

Operation Mode dependent Bits of the Statusword

Parameters

Cyclic Synchronous Velocity Control (CSV)

Operation Mode dependent Bits of the Statusword

Parameters

Cyclic Synchronous Position Control (CSP)

Operation Mode dependent Bits of the Statusword

Parameters

Profile modes

Profile position mode

Objects configuration

Trajectory generator

Enable Profile position mode

Setting set-points

Operation Mode dependent Bits of Status- and Controlword

Parameters

Profile velocity mode

Objects configuration

Enable Profile velocity mode

Operation Mode dependent Bits of Status- and Controlword

Parameters

Profile torque mode

Objects configuration

Enable Profile torque mode

Starting/Stopping Torque

Operation Mode dependent Bits of Status- and Controlword

Parameters r

Homing modes

Overview

Homing methods

Homing methods 1-14 (Homing on limit switches)

Homing method 33/34 (move to next or previous single-turn position or “index pulse”)

Homing method 35/37 (zero the current position)

Settings for homing mode

State for homing modes

Homing method

Homing speeds

Homing acceleration

Setting digital I/Os for Homing

How to perform homing

Using the Halt bit

Status of the homing process

Hitting a limit switch in homing mode

Operation Mode dependent Bits of Status- and Controlword

Controlword

Statusword

Parameters

Diagnostics opmode

Switching modes

Dynamic Op-Mode switching

Extended Control Functionalities

Cogging Torque Compensation

Overview

Procedure

Prerequisites

Overview of the GUI

Recording

Automatic recording

Testing the compensation table

Manual configuration for the cogging recording

Using the compensation table

Controlling the feature via EtherCAT

Subitems:

1 State

2 Enabled

Parameters

Field Weakening

Anti-Windup Control

Parameters

Gain Scheduling

Motor Overload Protection (i2t)

Overview

Requirements

Description of Subitems for 0x200A:

Operating principle

Velocity feed forward

Usage

Using a velocity offset additionally

Object used for Velocity feed forward

Torque Offset

Velocity Offset

Filtering

Position and Velocity Feedback Low-pass filters

A practical guide to low-pass filter design

Parameters

Torque loop input shaping filter

Parameters

Overview

Methods

Definitions

Low-pass filter

Torque loop input shaping filter

Application Guide

Parameters

Command smoothing and Interpolation

Overview

Side Effects

Applications

Input interpolation

Jerk limiting

Communication jitter mitigation

Detailed Description

Command smoothing

Usage

Parameters

Control supervision

Timing diagram of the supervision objects

Following error

Following error window

Definitions

Configuring the Following error window

Result

Target reached function

Definitions

Configuring the position window (CSP)

Configuring the velocity window (CSV)

Configuring the torque window (CST)

Result

Monitoring the internal variables

Control Effort

Parameters

Distributed clocks (DC clocks)

Overview

Distributed Clock configuration

Parameters

OS Command

Overview

Usage

0x1023: OS command

0x1024: OS command mode

OS command behavior

Flowchart of the Command

Available commands

Command 0: Encoder register communication

Command 1: iC-MU calibration mode

Command 2: Open Loop Field Mode (OLFM)

Command 3: HRD streaming

Command 4: Motor phase order detection

Command 5: Commutation offset detection

Command 6: Open phase detection

Command 7: Pole pair detection

Command 8: Phase resistance measurement

Command 9: Phase inductance measurement

Command 10: Torque constant measurement

Command 13: Skipped cycles counter

Command 14: Ignore BiSS status bits

Parameters

Quick stop

Overview

Usage

Position and velocity control modes

Torque control mode

Parameters

Object Dictionary

All Objects

0x1000 Device type

0x1001 Error register

0x1005 COB-ID SYNC

0x1006 Communication cycle period

0x1008 Manufacturer device name

0x100A Manufacturer software version

0x100C Guard time

0x100D Life time factor

0x1010 Store parameters

0x1011 Restore default parameters

0x1016 Consumer heartbeat time

0x1017 Producer heartbeat time

0x1018 Identity object

0x1019 Synchronous counter overflow value

0x1023 OS command

0x1024 OS command mode

0x1400 Receive PDO1 parameter

0x1401 Receive PDO2 parameter

0x1402 Receive PDO3 parameter

0x1403 Receive PDO4 parameter

0x1600 Receive PDO1 mapping

0x1601 Receive PDO2 mapping

0x1602 Receive PDO3 mapping

0x1603 Receive PDO4 mapping

0x1800 Transmit PDO1 parameter

0x1801 Transmit PDO2 parameter

0x1802 Transmit PDO3 parameter

0x1803 Transmit PDO4 parameter

0x1A00 Transmit PDO1 mapping

0x1A01 Transmit PDO2 mapping

0x1A02 Transmit PDO3 mapping

0x1A03 Transmit PDO4 mapping

0x1C00 Sync Manager

0x1C10 SM 0 Assignment

0x1C11 SM 1 Assignment

0x1C12 SM 2 Assignment

0x1C13 SM 3 Assignment

0x2000 Command object (disabled)

0x2001 Commutation angle offset

0x2002 Position control strategy

0x2003 Motor specific settings

0x2004 Brake options

0x2006 Protection

0x2008 Cogging torque compensation

0x2009 Commutation offset

0x200A I2t

0x200B Max power

0x2010 Torque controller

0x2011 Velocity controller

0x2012 Position controller

0x2013 Gain scheduling

0x2014 Torque window

0x2015 Velocity feed forward

0x2021 Velocity feedback filter

0x2022 Position feedback filter

0x2023 Notch filter

0x2027 Control input FIR filter

0x2030 Core temperature

0x2031 Drive temperature

0x2038 External scaled measurement

0x203F Error report

0x2040 Input counter

0x20E1 High resolution data

0x20F0 Timestamp

0x20F2 Assigned name

0x20F3 DC synchronization

0x2110 Encoder 1 configuration

0x2111 Encoder 1 feedback

0x2112 Encoder 2 configuration

0x2113 Encoder 2 feedback

0x2210 GPIO pin configuration

0x2211 GPIO output events

0x2212 GPIO input actions

0x2213 GPIO position trigger

0x2214 GPIO global options

0x2401 Analog input 1

0x2402 Analog input 2

0x2403 Analog input 3

0x2404 Analog input 4

0x2611 Safety digital input diagnostics

0x2701 Tuning command

0x2702 Tuning status

0x2703 User MOSI

0x2704 User MISO

0x2705 Setup wizard completed

0x603F Error code

0x6040 Controlword

0x6041 Statusword

0x605A Quick stop option code

0x6060 Modes of operation

0x6061 Modes of operation display

0x6062 Position demand value

0x6064 Position actual value

0x6065 Following error window

0x6066 Following error time out

0x6067 Position window

0x6068 Position window time

0x606B Velocity demand value

0x606C Velocity actual value

0x606D Velocity window

0x606E Velocity window time

0x606F Velocity threshold

0x6070 Velocity threshold time

0x6071 Target Torque

0x6072 Max torque

0x6073 Max current

0x6074 Torque demand

0x6075 Motor rated current

0x6076 Motor rated torque

0x6077 Torque actual value

0x6079 DC link circuit voltage

0x607A Target position

0x607B Position range limit

0x607C Home offset

0x607D Software position limit

0x607E Polarity

0x6080 Max motor speed

0x6081 Profile velocity

0x6083 Profile acceleration

0x6084 Profile deceleration

0x6085 Quick stop deceleration

0x6086 Motion profile type

0x6087 Torque slope

0x6088 Torque profile type

0x6091 Gear ratio

0x6098 Homing method

0x6099 Homing speeds

0x609A Homing acceleration

0x60A9 SI unit velocity

0x60B1 Velocity offset

0x60B2 Torque offset

0x60F4 Following error actual value

0x60FA Control effort

0x60FC Position demand internal value

0x60FD Digital inputs

0x60FE Digital outputs

0x60FF Target velocity

0x6502 Supported drive modes

0x6621 Safety statusword

Communication Area

Process Data Objects

Standard RxPDO mapped Objects

Standard TxPDO mapped Objects

Configuring custom PDO mappings

Changing the content of a mapping object

Manufacturer Specific Area

Profile Specific Area

Device Information

Saving and restoring configurations

Overview

Usage

Restore configuration

Save configuration

User defaults - config.csv

Limitations

Parameters

Software Reference v4.4

Overview

Functionality description

CANopen over EtherCAT (CoE)

Drive State Machine (CiA 402)

PDO

PDO Configuration

SDO

Actuator Configuration

Motor and Gear settings

Motor Configuration

Parameters related to the Motor

Selecting the PWM frequency

Gear Ratio

Parameters related to Gear Ratio

Manually controlling phase D voltage

Overview

Usage

Limitations

Parameters related to Controlling the brake output voltage

Brake release

Pin-brake Mode

Timing diagram

Selecting the PWM frequency of the brake

Custom brake modes

Parameters related to Brake

User defined velocity units

Overview

Usage

Objects affected by changes of the velocity unit

Example

Parameters related to User defined velocity units

Encoders and I/O

Analog In

Analog Input Scaling

Requirements

Specifications

Parameters related to Analog Input Scaling

Using differential inputs for single-ended sensors

Nonlinear conversion of an analog voltage

Parameters related to Analog Inputs

Digital I/O

Configuration of Digital I/Os as Input or Output

Parameters related to GPIO

Encoder Configuration

Description of common encoder parameters

Function

Resolution

Zero velocity threshold

Polarity

Multiturn resolution

Encoder related parameters

Commutation with Hall and ABI combined

Overview

Requirements

Usage

Detailed description

Startup

Error Detection

Runtime

Input counter

Overview

Limitations

Parameters related to Input counter

Protection

Overview

Usage

Parameters related to protection

Errors and Warnings

Error codes thrown by the firmware

Error Report Object

Remedies for protection errors

Remedy for over-current

Remedy for over-voltage

Remedy for under-voltage

Remedy for over-temperature

Logging

Overview

Types

Format

Motion Control

Control Loops

Current and Torque Control Loop

Torque control loop

General Scope of the Torque Controller

Reference Torque Generation

Functional Description and Controller Structure

Parameters related to Current and Torque Control Loop

Velocity Control Loop

Parameters related to the Velocity Control Loop

Position Control Loops

Cascaded PID Controller

Parameters related to Cascaded PID Controller

Simple PID Controller

Parameters related to Simple PID Controller

Dual Loop Cascaded Position Control

Overview

Usage

Parameters related to Dual Loop Cascaded Position Control

Modes of Operation

Cyclic modes

Cyclic Synchronous Torque Control (CST)

Parameters related to Cyclic Synchronous Torque Control

Cyclic Synchronous Velocity Control (CSV)

Parameters related to Cyclic Synchronous Velocity Mode

Cyclic Synchronous Position Control (CSP)

Parameters related to Cyclic Synchronous Position Control

Profile modes

Profile position mode

Trajectory generator

Enable Profile position mode

Setting set-points

Profile velocity mode

Enable Profile velocity mode

Profile torque mode

Enable Profile torque mode

Starting/Stopping Torque

Homing modes

Overview

Homing method 33/34

Homing method 35/37

Settings for homing mode

Homing method

Homing speeds

Homing acceleration

How to perform homing

Using the Halt bit

Communications

Objects used

Switching modes

Dynamic Op-Mode switching

Extended Control Functionalities

Cogging Torque Compensation

Overview

Procedure

Prerequisites

Overview of the GUI

Recording

Automatic recording

Testing the compensation table

Manual configuration for the cogging recording

Using the compensation table

Controlling the feature via EtherCAT

Subitems:

1 State

2 Enabled

Parameters related to Cogging Torque Compensation

Field Weakening

Anti-Windup Control

Parameters related to Anti-Windup Control

Gain Scheduling

Motor Overload Protection (i2t)

Overview

Requirements

Description of Subitems for 0x200A:

Operating principle

Velocity feed forward

Usage

Using a velocity offset additionally

Object used for Velocity feed forward

Torque Offset

Velocity Offset

Filtering

Position and Velocity Feedback Low-pass filters

A practical guide to low-pass filter design

Parameters related to feedback low-pass filters

Torque loop input shaping filter

Parameters related to notch filter

Overview

Methods

Definitions

Low-pass filters

Torque loop input shaping filter

Application Guide

Command smoothing and Interpolation

Overview

Side Effects

Applications

Input interpolation

Jerk limiting

Communication jitter mitigation

Detailed Description

Command smoothing

Usage

Parameters related to Finite impulse response Filter

Control supervision

Timing diagram of the supervision objects

Following error

Following error window

Definitions

Configuring the Following error window

Result

Target reached function

Definitions

Configuring the position window (CSP)

Configuring the velocity window (CSV)

Configuring the torque window (CST)

Result

Monitoring the internal variables

Control Effort

Parameters related to Control supervision

Distributed clocks (DC clocks)

Overview

Distributed Clock configuration

Parameters related to Distributed Clocks

Object Dictionary

All Objects

0x1000 Device type

0x1001 Error register

0x1005 COB-ID SYNC

0x1006 Communication cycle period

0x1008 Manufacturer device name

0x100A Manufacturer software version

0x100C Guard time

0x100D Life time factor

0x1010 Store parameters

0x1011 Restore default parameters

0x1016 Consumer heartbeat time

0x1017 Producer heartbeat time

0x1018 Identity object

0x1019 Synchronous counter overflow value

0x1400 Receive PDO1 parameter

0x1401 Receive PDO2 parameter

0x1402 Receive PDO3 parameter

0x1403 Receive PDO4 parameter

0x1600 Receive PDO1 mapping

0x1601 Receive PDO2 mapping

0x1602 Receive PDO3 mapping

0x1603 Receive PDO4 mapping

0x1800 Transmit PDO1 parameter

0x1801 Transmit PDO2 parameter

0x1802 Transmit PDO3 parameter

0x1803 Transmit PDO4 parameter

0x1A00 Transmit PDO1 mapping

0x1A01 Transmit PDO2 mapping

0x1A02 Transmit PDO3 mapping

0x1A03 Transmit PDO4 mapping

0x1C00 Sync Manager

0x1C10 SM 0 Assignment

0x1C11 SM 1 Assignment

0x1C12 SM 2 Assignment

0x1C13 SM 3 Assignment

0x2000 Command object (disabled)

0x2001 Commutation angle offset

0x2002 Position control strategy

0x2003 Motor specific settings

0x2004 Brake options

0x2005 Recuperation

0x2006 Protection

0x2008 Cogging torque compensation

0x2009 Commutation offset

0x200A I2t

0x2010 Torque controller

0x2011 Velocity controller

0x2012 Position controller

0x2013 Gain scheduling

0x2014 Torque window

0x2015 Velocity feed forward

0x2021 Velocity feedback filter

0x2022 Position feedback filter

0x2023 Notch filter

0x2027 Control input FIR filter

0x2030 Core temperature

0x2031 Drive temperature

0x2038 External scaled measurement

0x203F Error report

0x2040 Input counter

0x20E1 High resolution data

0x20F0 Timestamp

0x20F2 Assigned name

0x20F3 DC synchronization

0x2100 Feedback sensor ports

0x2201 BiSS encoder 1

0x2202 BiSS encoder 2

0x2203 REM 16MT encoder

0x2205 Incremental encoder 1

0x2206 Incremental encoder 2

0x2207 Hall sensor 1

0x2208 Hall sensor 2

0x2209 SSI encoder 1

0x220A SSI encoder 2

0x220B A Format encoder

0x220C Fast ABI module

0x220E SinCos module

0x2210 GPIO pin configuration

0x2214 GPIO global options

0x230A Secondary position value

0x230B Secondary velocity value

0x2401 Analog input 1

0x2402 Analog input 2

0x2403 Analog input 3

0x2404 Analog input 4

0x2501 Digital input 1

0x2502 Digital input 2

0x2503 Digital input 3

0x2504 Digital input 4

0x2601 Digital output 1

0x2602 Digital output 2

0x2603 Digital output 3

0x2604 Digital output 4

0x2611 Safety digital input diagnostics

0x2701 Tuning command

0x2702 Tuning status

0x2703 User MOSI

0x2704 User MISO

0x2705 Setup wizard completed

0x603F Error code

0x6040 Controlword

0x6041 Statusword

0x6060 Modes of operation

0x6061 Modes of operation display

0x6062 Position demand value

0x6064 Position actual value

0x6065 Following error window

0x6066 Following error time out

0x6067 Position window

0x6068 Position window time

0x606B Velocity demand value

0x606C Velocity actual value

0x606D Velocity window

0x606E Velocity window time

0x606F Velocity threshold

0x6070 Velocity threshold time

0x6071 Target torque

0x6072 Max torque

0x6073 Max current

0x6074 Torque demand

0x6075 Motor rated current

0x6076 Motor rated torque

0x6077 Torque actual value

0x6079 DC link circuit voltage

0x607A Target position

0x607B Position range limit

0x607C Home offset

0x607D Software position limit

0x607E Polarity

0x6080 Max motor speed

0x6081 Profile velocity

0x6083 Profile acceleration

0x6084 Profile deceleration

0x6085 Quick stop deceleration

0x6086 Motion profile type

0x6087 Torque slope

0x6088 Torque profile type

0x6091 Gear ratio

0x6098 Homing method

0x6099 Homing speeds

0x609A Homing acceleration

0x60A9 SI unit velocity

0x60B1 Velocity offset

0x60B2 Torque offset

0x60E3 Supported homing methods

0x60F4 Following error actual value

0x60FA Control effort

0x60FC Position demand internal value

0x60FF Target velocity

0x6502 Supported drive modes

0x6621 Safety statusword

Communication Area

Process Data Objects

Standard RxPDO mapped Objects

Standard TxPDO mapped Objects

Configuring custom PDO mappings

Changing the content of an object

Manufacturer Specific Area

CiA 402 Specific Area

Device Information

Software Reference v4.2

Overview

Functionality description

CANopen over EtherCAT (CoE)

Drive State Machine (CiA 402)

PDO

PDO Configuration

SDO

Actuator Configuration

Motor and Gear settings

Motor Configuration

Parameters related to the Motor

Selecting the PWM frequency

Gear Ratio

Parameters related to Gear Ratio

Manually controlling phase D voltage

Overview

Usage

Limitations

Parameters related to Controlling the brake output voltage

Brake release

Pin-brake Mode

Timing diagram

Selecting the PWM frequency of the brake

Custom brake modes

Parameters related to Brake

User defined velocity units

Overview

Usage

Objects affected by changes of the velocity unit

Example

Parameters related to User defined velocity units

Encoders and I/O

Analog In

Analog Input Scaling

Requirements

Specifications

Parameters related to Analog Input Scaling

Using differential inputs for single-ended sensors

Nonlinear conversion of an analog voltage

Parameters related to Analog Inputs

Digital I/O

Configuration of Digital I/Os as Input or Output

Parameters related to GPIO

Encoder Configuration

Description of common encoder parameters

Function

Resolution

Zero velocity threshold

Polarity

Multiturn resolution

Encoder related parameters

Commutation with Hall and ABI combined

Overview

Requirements

Usage

Detailed description

Startup

Error Detection

Runtime

Input counter

Overview

Limitations

Parameters related to Input counter

Protection

Overview

Usage

Parameters related to protection

Errors and Warnings

Error codes thrown by the firmware

Error Report Object

Remedies for protection errors

Remedy for over-current

Remedy for over-voltage

Remedy for under-voltage

Remedy for over-temperature

Logging

Overview

Types

Format

Motion Control

Control Loops

Current and Torque Control Loop

Torque control loop

General Scope of the Torque Controller

Reference Torque Generation

Functional Description and Controller Structure

Parameters related to Current and Torque Control Loop

Velocity Control Loop

Parameters related to the Velocity Control Loop

Position Control Loops

Cascaded PID Controller

Parameters related to Cascaded PID Controller

Simple PID Controller

Parameters related to Simple PID Controller

Dual Loop Cascaded Position Control

Overview

Usage

Parameters related to Dual Loop Cascaded Position Control

Modes of Operation

Cyclic modes

Cyclic Synchronous Torque Control (CST)

Parameters related to Cyclic Synchronous Torque Control

Cyclic Synchronous Velocity Control (CSV)

Parameters related to Cyclic Synchronous Velocity Mode

Cyclic Synchronous Position Control (CSP)

Parameters related to Cyclic Synchronous Position Control

Profile modes

Profile position mode

Trajectory generator

Enable Profile position mode

Setting set-points

Profile velocity mode

Enable Profile velocity mode

Profile torque mode

Enable Profile torque mode

Starting/Stopping Torque

Homing modes

Overview

Homing method 33/34

Homing method 35/37

Settings for homing mode

Homing method

Homing speeds

Homing acceleration

How to perform homing

Using the Halt bit

Communications

Objects used

Switching modes

Extended Control Functionalities

Cogging Torque Compensation

Overview

Procedure

Prerequisites

Overview of the GUI

Recording

Automatic recording

Testing the compensation table

Manual configuration for the cogging recording

Using the compensation table

Controlling the feature via EtherCAT

Subitems:

1 State

2 Enabled

Parameters related to Cogging Torque Compensation

Field Weakening

Anti-Windup Control

Parameters related to Anti-Windup Control

Gain Scheduling

Motor Overload Protection (i2t)

Overview

Requirements

Description of Subitems for 0x200A:

Operating principle

Velocity feed forward

Usage

Using a velocity offset additionally

Object used for Velocity feed forward

Torque Offset

Velocity Offset

Filtering

Position and Velocity Feedback Low-pass filters

A practical guide to low-pass filter design

Parameters related to feedback low-pass filters

Torque loop input shaping filter

Parameters related to notch filter

Overview

Methods

Definitions

Low-pass filters

Torque loop input shaping filter

Application Guide

Control supervision

Timing diagram of the supervision objects

Following error

Following error window

Definitions

Configuring the Following error window

Result

Target reached function

Definitions

Configuring the position window (CSP)

Configuring the velocity window (CSV)

Configuring the torque window (CST)

Result

Monitoring the internal variables

Control Effort

Parameters related to Control supervision

Distributed clocks (DC clocks)

Overview

Distributed Clock configuration

Parameters related to Distributed Clocks

Object Dictionary

All Objects

0x1000 Device type

0x1001 Error register

0x1005 COB-ID SYNC

0x1006 Communication cycle period

0x1008 Manufacturer device name

0x100A Manufacturer software version

0x100C Guard time

0x100D Life time factor

0x1010 Store parameters

0x1011 Restore default parameters

0x1016 Consumer heartbeat time

0x1017 Producer heartbeat time

0x1018 Identity object

0x1019 Synchronous counter overflow value

0x1400 Receive PDO1 parameter

0x1401 Receive PDO2 parameter

0x1600 Receive PDO1 mapping

0x1601 Receive PDO2 mapping

0x1602 Receive PDO3 mapping

0x1603 Receive PDO4 mapping

0x1800 Transmit PDO1 parameter

0x1801 Transmit PDO2 parameter

0x1A00 Transmit PDO1 mapping

0x1A01 Transmit PDO2 mapping

0x1A02 Transmit PDO3 mapping

0x1A03 Transmit PDO4 mapping

0x1C00 Sync Manager

0x1C10 SM 0 Assignment

0x1C11 SM 1 Assignment

0x1C12 SM 2 Assignment

0x1C13 SM 3 Assignment

0x2000 Command object (disabled)

0x2001 Commutation angle offset

0x2002 Position control strategy

0x2003 Motor specific settings

0x2004 Brake options

0x2005 Recuperation

0x2006 Protection

0x2008 Cogging torque compensation

0x2009 Commutation offset

0x200A I2t

0x2010 Torque controller

0x2011 Velocity controller

0x2012 Position controller

0x2013 Gain scheduling

0x2014 Torque window

0x2015 Velocity feed forward

0x2021 Velocity feedback filter

0x2022 Position feedback filter

0x2023 Notch filter

0x2030 Core temperature

0x2031 Drive temperature

0x2038 External scaled measurement

0x203F Error report

0x2040 Input counter

0x20E1 High resolution data

0x20F0 Timestamp

0x20F2 Assigned name

0x20F3 DC synchronization

0x2100 Feedback sensor ports

0x2201 BiSS encoder 1

0x2202 BiSS encoder 2

0x2203 REM 16MT encoder

0x2205 Incremental encoder 1

0x2206 Incremental encoder 2

0x2207 Hall sensor 1

0x2208 Hall sensor 2

0x2209 SSI encoder 1

0x220A SSI encoder 2

0x220B A Format encoder

0x220C Fast ABI module

0x220E SinCos module

0x2210 GPIO pin configuration

0x2214 GPIO global options

0x230A Secondary position value

0x230B Secondary velocity value

0x2401 Analog input 1

0x2402 Analog input 2

0x2403 Analog input 3

0x2404 Analog input 4

0x2501 Digital input 1

0x2502 Digital input 2

0x2503 Digital input 3

0x2504 Digital input 4

0x2601 Digital output 1

0x2602 Digital output 2

0x2603 Digital output 3

0x2604 Digital output 4

0x2611 Safety digital input diagnostics

0x2701 Tuning command

0x2702 Tuning status

0x2703 User MOSI

0x2704 User MISO

0x2705 Setup wizard completed

0x603F Error code

0x6040 Controlword

0x6041 Statusword

0x6060 Modes of operation

0x6061 Modes of operation display

0x6062 Position demand value

0x6064 Position actual value

0x6065 Following error window

0x6066 Following error time out

0x6067 Position window

0x6068 Position window time

0x606B Velocity demand value

0x606C Velocity actual value

0x606D Velocity window

0x606E Velocity window time

0x606F Velocity threshold

0x6070 Velocity threshold time

0x6071 Target torque

0x6072 Max torque

0x6073 Max current

0x6074 Torque demand

0x6075 Motor rated current

0x6076 Motor rated torque

0x6077 Torque actual value

0x6079 DC link circuit voltage

0x607A Target position

0x607B Position range limit

0x607C Home offset

0x607D Software position limit

0x607E Polarity

0x6080 Max motor speed

0x6081 Profile velocity

0x6083 Profile acceleration

0x6084 Profile deceleration

0x6085 Quick stop deceleration

0x6086 Motion profile type

0x6087 Torque slope

0x6088 Torque profile type

0x6091 Gear ratio

0x6098 Homing method

0x6099 Homing speeds

0x609A Homing acceleration

0x60A9 SI unit velocity

0x60B1 Velocity offset

0x60B2 Torque offset

0x60E3 Supported homing methods

0x60F4 Following error actual value

0x60FA Control effort

0x60FC Position demand internal value

0x60FF Target velocity

0x6502 Supported drive modes

0x6621 Safety statusword

Communication Area

Process Data Objects

Standard RxPDO mapped Objects

Standard TxPDO mapped Objects

Configuring custom PDO mappings

Changing the content of an object

Manufacturer Specific Area

CiA 402 Specific Area

Device Information

Software Reference v4.1

Overview

Functionality description

CANopen over EtherCAT (CoE)

Drive State Machine (CiA 402)

PDO

PDO Configuration

SDO

Actuator Configuration

Motor Configuration

Motor Control Objects

Brake Configuration

Brake Parameter Object

Gear Ratio

Sensor Configuration

Sensor Objects

Description of commonly used specifications

Function

Resolution

Velocity calculation period

Polarity

Multiturn resolution

Protection

Overview

Usage

Parameters related to protection

Errors and Warnings

Errors thrown by the firmware

Error Report Object

Logging

Overview

Types

Format

Motion Control

Control Loops

Current and Torque Control Loop

Torque control loop

General Scope of the Torque Controller

Reference Torque Generation

Functional Description and Controller Structure

Parameters related to Current and Torque Control Loop

Velocity Control Loop

Parameters related to the Velocity Control Loop

Position Control Loops

Cascaded PID Controller

Parameters related to Cascaded PID Controller

Simple PID Controller

Parameters related to Simple PID Controller

Dual Loop Cascaded Position Control

Overview

Usage

Parameters related to Dual Loop Cascaded Position Control

Modes of Operation

Cyclic Synchronous Torque Control (CST)

Parameters related to Cyclic Synchronous Torque Control

Cyclic Synchronous Velocity Control (CSV)

Parameters related to Cyclic Synchronous Velocity Mode

Cyclic Synchronous Position Control (CSP)

Parameters related to Cyclic Synchronous Position Control

Switching modes

Extended Control Functionalities

Cogging Torque Compensation

Overview

Procedure

Prerequisites

Overview of the GUI

Recording

Automatic recording

Testing the compensation table

Manual configuration for the cogging recording

Using the compensation table

Controlling Cogging Torque Compensation and Recording Feature via EtherCAT

Subitems:

1 State

2 Enabled

Field Weakening

Anti-Windup Control

Gain Scheduling

Motor Overload Protection (i2t)

Overview

Requirements

Description of Subitems for 0x200A:

Operating principle

Torque Offset

Velocity Offset

Object Dictionary

All Objects

0x1000 Device Type

0x1001 Error Register

0x1008 Manufacturer Device Name

0x100A Manufacturer Software Version

0x1010 Store parameters

0x1011 Restore default parameters

0x1018 Identity

0x1600 RxPDO Mapping 1

0x1A00 TxPDO Mapping 1

0x1C00 Sync Manager

0x1C10 SM 0 Assignment

0x1C11 SM 1 Assignment

0x1C12 SM 2 Assignment

0x1C13 SM 3 Assignment

0x2000 Command Object (disabled)

0x2001 Commutation Angle Offset

0x2002 Position control strategy

0x2003 Motor Specific Settings

0x2004 Brake Options

0x2005 Recuperation

0x2006 Protection

0x2008 Cogging Torque Compensation

0x2009 Commutation Offset

0x200A I2t

0x2010 Torque Controller

0x2011 Velocity Controller

0x2012 Position Controller

0x2013 Gain Scheduling

0x2021 Velocity Feedback Filter

0x2022 Position Feedback Filter

0x2031 Drive temperature

0x203F Error report

0x20F0 Timestamp

0x20F1 Real Time Clock

0x20F2 Assigned Name

0x2100 Feedback sensor ports

0x2201 BISS Encoder 1

0x2202 BISS Encoder 2

0x2203 REM 16MT Encoder

0x2204 REM 14 Encoder

0x2205 Incremental Encoder 1

0x2206 Incremental Encoder 2

0x2207 HALL Sensor 1

0x2208 HALL Sensor 2

0x2209 SSI Encoder 1

0x220A SSI Encoder 2

0x2210 GPIO

0x230A Secondary position value

0x230B Secondary velocity value

0x2401 Analog input 1

0x2402 Analog input 2

0x2403 Analog input 3

0x2404 Analog input 4

0x2501 Digital Input 1

0x2502 Digital Input 2

0x2503 Digital Input 3

0x2504 Digital Input 4

0x2601 Digital Output 1

0x2602 Digital Output 2

0x2603 Digital Output 3

0x2604 Digital Output 4

0x2701 Tuning command

0x2702 Tuning status

0x2703 User MOSI

0x2704 User MISO

0x2705 Setup Wizard Completed

0x603F Error code

0x6040 Controlword

0x6041 Statusword

0x6060 Op Mode

0x6061 Op Mode Display

0x6064 Position Value

0x606C Velocity Value

0x6071 Target Torque

0x6072 Max torque

0x6073 Max current

0x6075 Motor Rated Current

0x6076 Motor Rated Torque

0x6077 Torque Value

0x6079 DC link circuit voltage

0x607A Target Position

0x607B Position Range Limits

0x607C Home offset

0x607D Software position limit

0x607E Polarity

0x607F Max profile velocity

0x6080 Max motor speed

0x6081 Profile velocity

0x6085 Quick stop deceleration

0x6086 Motion profile type

0x6091 Gear ratio

0x60B1 Velocity offset

0x60B2 Torque offset

0x60FF Target Velocity

0x6502 Supported Drive Modes

Communication Area

Process Data Objects

Standard RxPDO mapped Objects

Standard TxPDO mapped Objects

Configuring custom PDO mappings

Manufacturer Specific Area

CiA 402 Specific Area

Process Data Objects

Standard RxPDO mapped Objects

Standard TxPDO mapped Objects

Configuring custom PDO mappings

Device Information

Software Reference v4.0

Overview

Functionality description

CANopen over EtherCAT (CoE)

Drive State Machine (CiA 402)

PDO

PDO Configuration

SDO

Actuator Configuration

Motor Configuration

Motor Control Objects

Brake Configuration

Brake Parameter Object

Sensor Configuration

Sensor Objects

Description of commonly used specifications

Function

Resolution

Velocity calculation period

Polarity

Multiturn resolution

Motion Control

Control Loops

Current and Torque Control Loop

Torque control loop

General Scope of the Torque Controller

Reference Torque Generation

Functional Description and Controller Structure

Parameters related to Current and Torque Control Loop

Velocity Control Loop

Parameters related to the Velocity Control Loop

Position Control Loops

Cascaded PID Controller

Parameters related to Cascaded PID Controller

Simple PID Controller

Parameters related to Simple PID Controller

Modes of Operation

Cyclic Synchronous Torque Control (CST)

Parameters related to Cyclic Synchronous Torque Control

Cyclic Synchronous Velocity Control (CSV)

Parameters related to Cyclic Synchronous Velocity Mode

Cyclic Synchronous Position Control (CSP)

Parameters related to Cyclic Synchronous Position Control

Switching modes

Extended Control Functionalities

Cogging Torque Compensation

Overview

Procedure

Prerequisites

Overview of the GUI

Recording

Automatic recording

Testing the compensation table

Manual configuration for the cogging recording

Using the compensation table

Controlling Cogging Torque Compensation and Recording Feature via EtherCAT

Subitems:

1 State

2 Enabled

Field Weakening

Anti-Windup Control

Torque Offset

Errors and Warnings

Object Dictionary

All Objects

0x1000 Device Type

0x1001 Error Register

0x1008 Manufacturer Device Name

0x100A Manufacturer Software Version

0x1010 Store parameters

0x1011 Restore default parameters

0x1018 Identity

0x1600 Rx PDO Mapping

0x1A00 Tx PDO Mapping

0x1C00 Sync Manager

0x1C10 SM 0 Assignment

0x1C11 SM 1 Assignment

0x1C12 SM 2 Assignment

0x1C13 SM 3 Assignment

0x2000 Command Object (disabled)

0x2001 Commutation Angle Offset

0x2002 Position control strategy

0x2003 Motor Specific Settings

0x2004 Brake Options

0x2005 Recuperation

0x2006 Protection

0x2008 Cogging Torque Compensation

0x2009 Commutation Offset

0x2010 Torque Controller

0x2011 Velocity Controller

0x2012 Position Controller

0x20F0 Timestamp

0x20F1 Real Time Clock

0x20F2 Assigned Name

0x2100 Feedback sensor ports

0x2201 BISS Encoder 1

0x2202 BISS Encoder 2

0x2203 REM 16MT Encoder

0x2204 REM 14 Encoder

0x2205 Incremental Encoder 1

0x2206 Incremental Encoder 2

0x2207 HALL Sensor 1

0x2208 HALL Sensor 2

0x2210 GPIO

0x230A Secondary position value

0x230B Secondary velocity value

0x2401 Analog input 1

0x2402 Analog input 2

0x2403 Analog input 3

0x2404 Analog input 4

0x2501 Digital Input 1

0x2502 Digital Input 2

0x2503 Digital Input 3

0x2504 Digital Input 4

0x2601 Digital Output 1

0x2602 Digital Output 2

0x2603 Digital Output 3

0x2604 Digital Output 4

0x2701 Tuning command

0x2702 Tuning status

0x2703 User MOSI

0x2704 User MISO

0x2705 Setup Wizard Completed

0x603F Error code

0x6040 Controlword

0x6041 Statusword

0x6060 Op Mode

0x6061 Op Mode Display

0x6064 Position Value

0x606C Velocity Value

0x6071 Target Torque

0x6072 Max torque

0x6073 Max current

0x6075 Motor Rated Current

0x6076 Motor Rated Torque

0x6077 Torque Value

0x6079 DC link circuit voltage

0x607A Target Position

0x607B Position Range Limits

0x607C Home offset

0x607D Software position limit

0x607E Polarity

0x607F Max profile velocity

0x6080 Max motor speed

0x6081 Profile velocity

0x6083 Profile acceleration

0x6084 Profile deceleration

0x6085 Quick stop deceleration

0x6086 Motion profile type

0x60B2 Torque offset

0x60C5 Max acceleration

0x60FF Target Velocity

0x6502 Supported Drive Modes

Communication Area

Manufacturer Specific Area

CiA 402 Specific Area

Process Data Objects

Standard RxPDO mapped Objects

Standard TxPDO mapped Objects

Device Information

Resources

System integration guidelines

Drive Sizing

Requirements of the application

Application Requirements

Servo Drive Output

Servo Drive Consumption

Calculating the phase current

Nonlinearity buffer

Choosing a power supply

Supply voltage definitions

Regenerated voltage

Bus capacitance

Power supply sizing

Calculating the amperage

Contactors behind the power supply

Wiring Guidelines

DC bus

EtherCAT cable

Encoder wiring

Earthing

Overview

What is earthing or grounding in an electrical system?

Hazards of electricity

Earthing concepts

Protective Earth

Functional Earth

Extra Low Voltage systems

SELV, PELV, FELV power supplies

Earthing connections in SOMANET Products

Earthing consideration (guidelines)

Regenerative energy

Estimation of regenerated energy

Restoring or dissipating regenerated power

Braking chopper

Measuring the brake output voltage

Non-safety brake output

Safety brake output

Configuring analog inputs

Overview

Measuring analog input voltages

Single-ended input

Differential input

Example for normal values (On SOMANET Node)

Examples of faulty values

Temperature Sensor input

Internal Resistance

CANopen over EtherCAT CiA 402

Overview

EtherCAT

CANopen over EtherCAT (CoE)

CANopen basic Principles

CANopen Device Profile CiA 402 for drives and motion control

EtherCAT state machine

Drive state machine

PDO-Mapping

Communication Frequency and DC-Clock Synchronization

Using Statusword and Controlword

Overview

What are Control- and Statusword?

How are they used?

Manufacturer and Operation mode specific bits

Bits in Status- and Controlword

Statusword

General structure

Mode specific bits of the Statusword

Internal limit Active bit

Controlword

General structure

Mode specific bits of the Controlword

Timing Diagram

Temperature sensors

Types of temperature sensors

Thermocouple

Thermistors

Resistance temperature detectors

Pull-up resistor selection

Polynomial or Quintic function

Polynomial coefficients

Replacing a SOMANET Drive

Overview

Availability of the configuration file

SOMANET Node and SOMANET Circulo with external Encoders

Save configuration file

Replace the node

Update firmware

Load the configuration file

Run offset detection

Save the configuration to the drive

SOMANET Circulo with at least one internal encoder

Save the configuration file

Mark a Reference position on your axis

Replace Circulo

Load Calibration Firmware

Load the configuration file

Run offset detection

Re-tune the drive

Run calibration

Load production firmware

Run offset detection and save offset to device

Test stable operation

Check Zero Position

Tutorials

Tuning Guides

Velocity PID Tuning

PID Parameter Range

Recommended Tuning Steps

Position tuning with Gain Scheduling

Introduction

Control Basics

Tuning Concept in Brief

Tuning Steps

Cascaded position Tuning

Introduction

Control Basics

Tuning Concept in Brief

Tuning Steps

Drive operations through File Access over EtherCAT (FoE)

Overview

Updating the firmware

Prerequisite

Setup Information

Preparation

Steps of Operation

Uploading a drive configuration

Setup Information

Steps of Operation

About this documentation

Warnings

Reporting errors

Using offline documentation

Versioning

CANopen over EtherCAT (CoE)¶

CANopen is a fieldbus system and device profile specification for embedded systems used in automation. Among others CANopen defines communication models like master/slave, where the master sends or requests data from the slaves.

CANopen over EtherCAT (CoE) incorporates specialized profiles for motion control and supports a standardized set of commands to be used for motion control. This set of commands is known as CiA 402 and is defined in the IEC standard IEC 61800-7-201:2015 for adjustable speed electrical power drive systems.

If you are using TwinCAT as your controller, you will need to import the SOMANET CiA 402 ESI (EtherCAT Slave Information) XML file to your project.

SOMANET CiA 402 ESI

Drive State Machine (CiA 402)¶

Each CiA 402 device is controlled by the State Machine.

This diagram depicts the transitions of the system’s states according to IEC 61800-7-201

The function that are available in each state are given in the table below:

Function

FSA States

Not ready to switch on

Switch on disabled

Ready to switch on

Switched on

Operation enabled

Quick Stop active

Fault reaction active

Fault

Brake applied, if present

Yes

Yes

Yes

Yes

No

No

No

Yes

Drive function enabled

No

No

No

No

Yes

Yes

Yes

No

Configuration allowed

Yes

Yes

Yes

Yes

No

No

No

Yes

The devices of the motion control system are configured by the Service Data Objects (SDO) while the real-time process data is transferred by Process Data Objects (PDO).

PDO¶

PDO (Process data objects) are used in EtherCAT to cyclically transfer in real-time control (e.g. target velocity) and status (e.g. current velocity) variables. These variables are identified by their Index and Subindex in the object dictionary.

With the help of the PDO mapping, the objects from the object dictionary are assigned to either receive PDO (RxPDO, Master to Slave direction) or transmit PDO (TxPDO, Slave to Master direction).

PDO data is internally updated by the slave (servo drive) at a rate of up to 4kHz and can be accessed by the master (e.g. PLC, Motion Controller) at any desired frequency.

For more information about PDO refer to ETG1000.5 and ETG1000.6

PDO Configuration¶

SOMANET supports EtherCAT PDO Configuration for up to 20 objects on 4 maps. This allows to use up to 80 objects per direction.

PDO Config allows to change the mapping of the PDO mappings itself. Every PDO mappable object from the object dictionary can be added into a PDO mapping. It is possible to add up to 20 objects to one PDO mapping

SDO¶

SDO (Service Data Objects) are used to exchange parameters between master and slave devices in a EtherCAT Network. This isn’t done in real-time. They provide read and write access to all entries in the device object dictionary.

Typical examples are:

Configuring the Drive system

Reading error codes

For more information about SDO refer to ETG1000.5 and ETG1000.6.

Europe (HQ)

Synapticon GmbH

Daimlerstraße 26

71101 Schönaich

Germany

+49 7031 / 30 478 -0

sales@synapticon.com

Americas

Synapticon Inc.

303 Twin Dolphin Drive

Redwood City 94065

California

+1 (650) 632 4599

sales-us@synapticon.com

Asia

Synapticon Co. Ltd.

1588 Zhuguang Road

201700 Shanghai

China

+86 400 1600 229

sales-ap@synapticon.com

About

Synapticon is a technology company focusing on the transition band

between advanced software and electromechanics. The company provides a

comprehensive portfolio of motion control-related technology to robot

and machinery OEMs.

© 2022

Synapticon GmbH. All Rights Reserved.

Imprint.

Data Privacy.

Version: 4.20.15 | Built 2022-08-17

Feedback