上期我们详解了EtherCAT从站信息文件ESI XML,介绍其定义、结构及与硬件SII的对应关系,这期我们继续讲解核心节点与PDO过程数据,帮助大家理解主站识别、配置从站的原理,为设备调试与通信对接打下基础。
ESI XML 核心节点详解
1. 根节点:<EtherCATInfo>
<EtherCATInfo> 是ESI XML的根节点,也是整个文件的“容器”,所有其他子节点均需嵌套在该节点内,无额外属性,仅起包裹作用。注意:XML是严格区分大小写的,<EtherCATInfo> 的大小写必须严格遵循标准,不可修改为小写(如<ethercatinfo>),否则主站无法正常解析。
2. 厂商信息节点:<Vendor>
<Vendor> 节点用于描述从站厂商的基础信息,主站通过该节点识别设备的生产厂商,核心子节点及说明如下表:
实例片段:
<Vendor><Id>0x000x</Id><Name> Guangzhou Zhiyuan Electronics Co., Ltd.</Name><Url>https://www.beckhoff.com</Url></Vendor>
核心作用:确保主站能准确识别设备的生产厂商,避免不同厂商的同类设备混淆。
3. 设备分组节点:<Groups>
<Groups> 节点用于对同一厂商的从站设备进行分类管理,将功能、类型相同的设备归为一组,方便主站软件对设备进行筛选和管理。
该节点的核心子节点是 <Group>,每个 <Group> 代表一个设备组,包含 <Id>(分组ID)、<Name>(分组名称)两个核心子节点。
常见的设备分组包括:数字IO从站组、模拟量IO从站组、伺服驱动从站组、传感器从站组等。
实例片段:
<Groups><Group><Id>1</Id><Name>数字IO从站</Name></Group><Group><Id>2</Id><Name>伺服驱动从站</Name></Group></Groups>
注意:<Groups> 节点仅起分类作用,不影响主站与从站的通信配置,即便删除该节点,主站仍可通过 <Devices> 节点识别从站,只是设备管理会不够清晰。
4. 设备核心节点:<Devices>(重点)
<Devices> 是ESI XML中最重要的节点,用于描述单个或多个从站设备的完整信息,每个从站对应一个 <Device> 子节点。<Device> 节点包含多个子节点,涵盖设备基本信息、协议类型、过程数据、底层配置等核心内容,是主站配置通信的核心依据。
下面详细讲解 <Device> 节点的核心子节点:
4.1 设备基本信息:<DeviceInfo>
<DeviceInfo> 用于描述从站设备的基础信息,相当于设备的“身份证”,主站通过该节点识别设备的具体型号和规格,核心子节点及说明如下表:
4.2 设备协议类型:<Profile>
<Profile> 节点用于描述从站支持的EtherCAT应用层协议,主站通过该节点确定与从站的通信方式,不同协议对应不同的应用场景,核心协议类型及说明如下表:
实例片段:
<Profile><CoE>;true</CoE>; <!-- 支持CoE协议 --><FoE>;true</FoE>; <!-- 支持FoE协议 --><SoE>false</SoE>; <!-- 不支持SoE协议 --><EoE>false</EoE> <!-- 不支持EoE协议 --></Profile>
4.3 过程数据:<ProcessData>(核心中的核心)
过程数据(Process Data)是主站与从站实时交换的数据,也是EtherCAT通信的“灵魂”——主站通过过程数据向从站发送控制命令,从站通过过程数据向主站反馈运行状态。<ProcessData> 节点用于描述过程数据的结构、长度、含义等信息,核心子节点为 <TxPDO> 和 <RxPDO>。
4.3.1 核心概念区分
TxPDO:Transmit PDO(发送过程数据),指从站向主站发送的数据,主要是从站的输入信号、运行状态(如IO输入状态、伺服位置、传感器数值等);
RxPDO:Receive PDO(接收过程数据),指主站向从站发送的数据,主要是主站的控制命令、输出信号(如IO输出控制、伺服转速指令、控制字等)。
简单记忆:TxPDO(从站→主站,反馈),RxPDO(主站→从站,控制)。
4.3.2 过程数据的核心属性
每个TxPDO和RxPDO都包含多个 <Data> 子节点,每个 <Data> 对应一个具体的过程数据项,核心属性如下:
<Name>:数据项名称,描述数据的含义(如“控制字”“状态字”“位置反馈”);
<BitLength>:数据长度,单位为bit(常用8bit、16bit、32bit);
<Offset>:数据偏移量,用于确定该数据在过程数据帧中的位置(主站自动解析,无需手动配置);
<Description>:数据项的详细说明,解释数据的作用和取值范围。
4.3.3 实例片段(完整版)
<ProcessData><!-- RxPDO:主站→从站,控制数据 --><RxPDO><Data><Name>控制字</Name><BitLength>16</BitLength><Offset>0</Offset><Description>控制从站启停,0=停止,1=运行,其他数值对应特殊控制指令(如急停、复位)</Description></Data><Data><Name>输出信号</Name><BitLength>16</BitLength><Offset>16</Offset><Description>16点数字输出,每bit对应1个输出通道,0=断开,1=闭合</Description></Data></RxPDO><!-- TxPDO:从站→主站,反馈数据 --><TxPDO><Data><Name>状态字</Name><BitLength>16</BitLength><Offset>0</Offset><Description>反馈从站运行状态,0=故障,1=正常运行,2=待机,3=报警</Description></Data><Data><Name>输入信号</Name><BitLength>16</BitLength><Offset>16</Offset><Description>16点数字输入,每bit对应1个输入通道,0=无信号,1=有信号(如传感器触发)</Description></Data></TxPDO></ProcessData>
4.3.4 过程数据的传输特点
EtherCAT的过程数据传输具有“实时性高、低延迟”的核心优势,这也是其区别于普通以太网通信的关键:
实时性:过程数据采用“逻辑环”传输方式,主站发送的数据帧经过每个从站时,从站仅读取自身所需数据、写入自身反馈数据,无需等待整个数据帧返回主站再进行下一次传输,传输延迟可低至微秒级;
周期性:过程数据的传输按照固定周期进行(如1ms、10ms),周期可通过主站软件配置,确保主站与从站的通信节奏一致;
确定性:每个过程数据项的位置(Offset)、长度(BitLength)固定,主站与从站按照约定的规则读取/写入数据,避免数据错乱。
补充说明:过程数据的传输优先级高于其他非实时数据(如SDO参数配置数据),确保控制命令和状态反馈的实时性,满足工业自动化场景的控制需求。
4.4 底层配置节点:<SyncManager>、<FMMU>、<SyncSignal>
这类节点属于EtherCAT的底层通信配置,用于管理数据同步、内存地址映射等,主站软件会自动解析并配置,入门阶段无需深入理解,仅需了解其核心作用及简单工作逻辑即可:
<SyncManager>(同步管理器):相当于过程数据传输的“调度员”,管理过程数据的同步传输。它会根据SyncSignal(同步信号)的触发,控制TxPDO和RxPDO的发送与接收时机,确保主站与从站的数据交换实时性;
<FMMU>(现场内存管理单元):相当于“地址转换器”,将从站的过程数据地址映射到主站的内存地址。主站无需直接访问从站的硬件地址,只需通过自身内存地址即可读取/写入从站的过程数据,实现主站对从站数据的快速访问;
<SyncSignal>(同步信号):相当于“时钟信号”,定义数据传输的同步周期(如1ms)。主站和从站根据同步信号的触发,同步完成数据的发送与接收,确保两者的通信节奏一致。
说明:对于初学者而言,无需手动修改这类节点的内容,主站软件会根据ESI XML自动完成配置。仅在从站开发或特殊调试场景下,才需要工程师手动调整相关参数。
ESI XML 的实际应用流程
掌握ESI XML的结构后,更重要的是了解其在实际工业场景中的应用流程。EtherCAT主站软件种类较多,除了常用的TwinCAT,还有Codesys、Step7等,不同软件的操作界面略有差异,但导入ESI XML、配置通信的核心流程一致。本节以“TwinCAT 3主站对接EtherCAT从站”为例,详细讲解完整应用流程,方便小白上手操作:
- 获取ESI XML文件:从从站设备厂商官网、设备配套资料(如光盘、说明书附件)中下载对应型号的ESI XML文件。注意:需下载与从站硬件版本一致的ESI文件,避免因版本不匹配导致主站无法识别设备;
- 安装主站软件并启动:安装TwinCAT 3软件,启动后创建一个新的项目(Project),选择对应的主站硬件(如Beckhoff CX系列控制器、PC-based主站);
- 导入ESI XML文件:进入TwinCAT软件的“EtherCAT Master”配置界面,找到“Slave Information”(从站信息)选项,点击“Import”(导入),选择下载好的ESI XML文件,完成导入;
- 扫描从站设备:将主站与从站通过EtherCAT总线连接(通常采用RJ45网线),给主站和从站上电。在TwinCAT软件中点击“Scan”(扫描),主站会自动识别从站设备,并显示从站的厂商、型号、版本等信息(这些信息均来自导入的ESI XML文件);
- 自动配置通信参数:主站扫描到从站后,会根据ESI XML中描述的过程数据结构、同步方式、协议类型等信息,自动完成PDO映射、同步周期配置、地址分配等操作,无需工程师手动编写代码或配置寄存器;
- 验证通信连接:配置完成后,在TwinCAT软件中查看“Process Data”(过程数据)界面,可实时看到TxPDO(从站反馈数据)和RxPDO(主站控制数据)的数值。尝试通过主站发送控制命令(如控制IO输出),观察从站是否正常响应,验证通信是否正常;
- 后续调试与维护:通信正常后,工程师可根据实际需求,在主站软件中编写控制程序,读取从站的反馈数据、发送控制指令。若后续更换从站设备,只需导入对应型号的ESI XML文件,重复上述流程即可完成配置。
注意:若未导入ESI XML,主站扫描时会提示“未知设备”(Unknown Slave),无法识别从站的型号和参数,也无法完成通信配置。此外,若导入的ESI XML文件不完整或存在错误,主站会提示解析失败,需重新下载完整的ESI文件。
常见问题与解答(FAQ)
Q1:ESI XML文件丢失或损坏,该怎么办?
A1:从设备厂商官网重新下载对应型号的ESI XML文件,确保文件完整(无乱码、无缺失节点),重新导入主站软件即可。若官网未提供,可联系设备厂商的技术支持获取。
Q2:不同厂商的ESI XML格式是否一致?
A2:一致。ESI XML遵循EtherCAT国际标准(IEC 61158)编写,所有厂商的文件结构、节点命名、属性定义均统一,确保主站可兼容不同品牌、不同类型的从站设备,实现“即插即用”。
Q3:初学者需要自己编写ESI XML文件吗?
A3:不需要。普通工程师(如调试工程师、电气工程师)仅需会读取、导入ESI XML文件,理解过程数据和协议类型即可完成主站与从站的对接;只有从站设备开发人员,才需要根据从站的SII信息(硬件信息),按照EtherCAT标准编写ESI XML文件。
Q4:ESI XML中的过程数据可以修改吗?
A4:不建议修改。ESI XML中的过程数据(如BitLength、Offset、数据含义)是根据从站硬件的硬件设计(如IO点数、寄存器地址)确定的,修改后会导致主站与从站的过程数据映射错误,进而引发通信异常。若需调整过程数据,需联系设备厂商确认,由厂商提供修改后的ESI XML文件。
Q5:导入ESI XML后,主站仍无法识别从站,可能是什么原因?
A5:主要有3种常见原因:① ESI XML文件版本与从站硬件版本不匹配;② 主站与从站的硬件连接异常(如网线松动、总线接线错误);③ ESI XML文件损坏或不完整。可依次检查上述问题,重新下载匹配的ESI文件、检查硬件连接后再尝试扫描。
Q6:ESI XML文件中可以包含多个从站设备的信息吗?
A6:可以。一个ESI XML文件中,可在<Devices>节点下嵌套多个<Device>子节点,每个<Device>子节点对应一个从站设备。这种方式适用于同一厂商的多个同类从站,方便主站一次性导入多个从站的信息,提高配置效率。
小结
本章系统讲解了EtherCAT从站信息文件(ESI XML)的核心知识,围绕“是什么、结构是什么、怎么用”的逻辑,逐步展开讲解,核心要点包括:
-
- ESI XML的定义、作用及与SII的关联关系:明确ESI XML是SII的“软件镜像”,是主站识别从站、配置通信的“电子说明书”;ESI XML的整体结构:掌握根节点<EtherCATInfo>及三大核心子节点(<Vendor>、<Groups>、<Devices>)的功能,理解各节点的分工;
- 核心节点详解:重点掌握<Devices>节点的子节点功能,尤其是过程数据(<ProcessData>)的定义、TxPDO与RxPDO的区别及应用,这是EtherCAT通信的核心;实际应用流程:掌握ESI XML在TwinCAT主站中的导入、配置、通信验证流程,能独立完成主站与从站的基础对接;常见问题解答:了解入门阶段常见的问题及解决方案,避免在实际操作中走弯路。
通过本章学习,学习者应能读懂ESI XML文件的核心内容,理解主站与从站通过ESI XML建立通信的 逻辑,具备独立导入ESI文件、配置EtherCAT通信的基础能力,为后续EtherCAT系统的调试、故障排查和应用奠定坚实基础。
| PCIe EtherCAT通讯卡 | |
| 周期最快可达125us
商业授权协议栈 支持EtherCAT线缆冗余 提供易用开发函数接口 |
175
