0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

EtherCAT设备ESI(XML)文件中的CompleteAccess关键字有什么作用

HMS 来源:jf_63150269 作者:jf_63150269 2026-05-20 16:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

问题背景

EtherCAT 协议凭借其良好的开源性以及低延时的通信效率,吸引了众多 PLC 厂家纷纷选择对其提供支持。由于各品牌 PLC 所支持的 EtherCAT 主站大部分采用自研方式,在这样的背景下,不同品牌的主站难免会在性能与行为上存在差异,对从站不同特性的支持程度也各不相同(如 PDO 配置、邮箱通信长度调整及 SM 分配等)。

因此,行业内常常会出现一个完全符合 EtherCAT 从站标准的设备,却无法与所有品牌的 PLC 都完美适配的问题。在 EtherCAT 从站设备的 ESI 文件中包含许多关键字,本次我们将直接通过一个具体实例,来谈一谈 CompleteAccess 关键字对通信产生的影响。

最近我司的 Anybus CompactCom 40 系列的 EtherCAT 从站模块在终端用户现场与欧姆龙 PLC 适配多次出现了欧姆龙 NX 系列(NX501、NX701)PLC 诊断信息提示 Anybus CompactCom 40 模块状态由 PRE-OP 切换到 SAFE-OP 切换失败。

图1 EtherCAT状态机
参考倍福《EtherCAT_Device_Protocol_Poster》

出现问题之后我们第一时间通过倍福的 TwinCAT EtherCAT 主站以及欧姆龙的 NJ501 PLC 测试客户手上的 Anybus CompactCom 40 EtherCAT 模块,测试通信完全正常,由于 TwinCAT 的 EtherCAT 主站开发得较为完善,因此我们认为 Anybus CompactCom 40 EtherCAT 模块是没有问题的。

欧姆龙 NJ501 PLC 与模块的通信也是正常的,这不禁让人费解,问题会出在哪里。从 PLC 诊断信息上我们已经获取不到任何帮助了,只能通过分析欧姆龙 PLC 与 Anybus CompactCom 40 EtherCAT 模块之间的通信报文,获取一些线索了。

图2 Anybus CompactCom EtherCAT PCIE/SPI/UART板卡

我们通过 Anybus EtherTAP 1G 网络抓包工具抓取了 EtherCAT 从站模块与欧姆龙 PLC 之间的通信报文。EtherTAP 是通过采样复制流经该模块 A/B 口之间的网络报文电信号并传输到 WireShark 报文分析软件中,不参与也不影响实际的通信网络,可以抓取十分干净原始的报文,方便诊断分析。

图3 Anybus EtherTAP抓包工具


问题分析

通过 PLC 提示的模块是由 PRE-OP 切换到 SAFE-OP 切换失败,基于从站状态机切换所需的工作流程,我们将问题初步定位在 PDO 配置上,大部分的 EtherCAT 主站在与从站建立通信的过程中都会依据从站的 ESI(XML)文件提供的信息在初始化时向从站写入 PDO 配置。

问题分析:由报文可以看出,NX701 PLC 在重启后与 Anybus CompactCom 40 EtherCAT 建立通信的过程中未对 0x1600、0x1601,0x1a00、0x1a01 等 PDO 对象进行初始化写入,仅初始化了 0x1c12、0x1c13(见下图 4),而在另一款欧姆龙 NJ501 PLC 与从站 Anybus CompactCom 40 EtherCAT 建立通信过程中对其 0x1600、0x1601,0x1a00、0x1a01 等 PDO 对象进行了初始化写入(见下图 5)。

图4 NX701与从站异常报文

图5 NJ501与从站正常报文

由于报文中没有发现主站对 PDO 的编辑配置报文,且主站不主动切换从站的状态机,而 ESI 文件中 PDOAssign 与 PDOconfig 关键字都已置 1,这是必须使能的功能,而 CompleteAccess 关键字是有可能影响主站配置从站 PDO 的行为的,CompleteAccess 关键字打开意味着主站会通过一次邮箱通信将 PDO 配置信息全部写入从站,此次从站的每个 PDO 中都包含多个 PDO Entry,CompleteAccess PDO 配置需要较长字节的邮箱通信。但是一般情况下主站可以通过分段下载解决邮箱长度不足的问题,在之前 NX701 和从站通信的报文中也没有看到邮箱通信 Segment download 的关键字,因此 CompleteAccess 关键字使能有可能影响了通信。

图6 邮箱分段通信协议报文示例

为了排除这一可能,通过修改 Anybus CompactCom 40 EtherCAT 模块的 ESI 文件,将 Anybus CompactCom 40 EtherCAT ESI 文件中的 CompleteAccess 置 0,关闭该功能,NX701 PLC 与 Anybus CompactCom 40 EtherCAT 在 EtherCAT 通信恢复正常,问题终于得到解决。报文中可看到,在关闭 CompleteAccess 功能后,NX701 PLC 通过单个对象写入的方式对 Anybus CompactCom 40 EtherCAT 0x1600、0x1601,0x1a00、0x1a01 等 PDO 对象进行了正常的初始化写入操作,见下方部分报文截图(图 7)。

由此可见确实是 CompleteAccess 关键字影响了 PLC 对从站的通信的初始化流程。

到这里问题终于得到了解决,由于问题出现在现场,一时也找不到 NX701 PLC 做测试,一开始仅通过 NJ501 PLC 做测试,却没有发现任何问题,而现场终端的保密策略,更给问题分析带来了不小的阻力,最终通过与终端客户反复沟通,终于得到抓取报文的允许,得到允许后,在现场人员的帮助下,很快就获取了报文,并定位出问题,在此也十分感谢现场的人员配合与帮助。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ethercat
    +关注

    关注

    20

    文章

    1618

    浏览量

    46342
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    EtherCAT应用示例,GOAL 应用说明

    设备交互的子目录 ICC 项目、EEPROM 二进制文件XML 设备描述文件。 ECAT 项目分为单核/多核和全源/演示项目: pro
    发表于 04-23 08:19

    EtherCAT从站开发避坑指南:30分钟搞定ESI XML(下)

    我们详解了EtherCAT从站信息文件ESIXML,介绍其定义、结构及与硬件SII的对应关系,这期我们继续讲解核心节点与PDO过程数据,帮助大家理解主站识别、配置从站的原理,为设备调试与通信对接打下
    的头像 发表于 04-20 11:36 172次阅读
    <b class='flag-5'>EtherCAT</b>从站开发避坑指南:30分钟搞定<b class='flag-5'>ESI</b> <b class='flag-5'>XML</b>(下)

    EtherCAT从站开发避坑指南:30分钟搞定ESI XML(上)

    EtherCAT工业通信系统,主站与从站的正常通信,离不开一套统一的“信息交互语言”——从站信息规范(SII)及其软件载体——EtherCAT从站信息文件
    的头像 发表于 04-15 11:36 265次阅读
    <b class='flag-5'>EtherCAT</b>从站开发避坑指南:30分钟搞定<b class='flag-5'>ESI</b> <b class='flag-5'>XML</b>(上)

    基于ESI文件EtherCAT从机快速适配实战|活动预告

    在工业设备开发,你是否常面临这样的困境:产线上新增了一个不同品牌的伺服驱动器,或需要集成一款新型IO模块,面对数据手册却不知如何下手,厂家提供了ESI文件,却不知道如何使用……如果有
    的头像 发表于 12-23 18:12 627次阅读
    基于<b class='flag-5'>ESI</b><b class='flag-5'>文件</b>的<b class='flag-5'>EtherCAT</b>从机快速适配实战|活动预告

    关键字volatile的含意

    关键字volatile什么含意? 一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心
    发表于 12-23 06:33

    interrupt关键字使用

    中断是嵌入式系统重要的组成部分,这导致了很多编译开发商提供一种扩展—让标准C支持中断。具代表事实是,产生了一个新的关键字__interrupt。下面的代码就使用了__interrupt关键字去定义
    发表于 12-22 09:36

    直播预告|基于ESI文件EtherCAT从机快速适配实战

    在工业设备开发,你是否常面临这样的困境:产线上新增了一个不同品牌的伺服驱动器,或需要集成一款新型IO模块,面对数据手册却不知如何下手,厂家提供了ESI文件,却不知道如何使用……如果有
    的头像 发表于 12-18 21:36 642次阅读
    直播预告|基于<b class='flag-5'>ESI</b><b class='flag-5'>文件</b>的<b class='flag-5'>EtherCAT</b>从机快速适配实战

    Temu跨境电商按关键字搜索Temu商品API的应用及接口请求示例

    Temu跨境电商按关键字搜索Temu商品API的应用及接口请求示例 Temu跨境电商按关键字搜索Temu商品API的应用场景 Temu跨境电商平台按关键字搜索Temu商品API的主要应用场景包括但不
    的头像 发表于 11-29 15:08 883次阅读

    哪些场合会用到volatile关键字?

    当你理解 volatile关键字的含义之后,你就能明白,其实很多场合都能用到 volatile关键字。 1.全局变量单片机开发,难免会用到全局变量。一些初级工程师,更是全局变量满天飞。这种情况下
    发表于 11-25 08:19

    天眼查平台关键字搜索企业数据API接口技术指南

    ​ 一、接口概述 天眼查提供的企业搜索API接口,支持通过关键字查询企业工商信息、经营状态等核心数据。该接口采用RESTful架构,返回JSON格式数据。 二、接口认证 调用需使用API密钥认证
    的头像 发表于 11-21 11:48 993次阅读
    天眼查平台<b class='flag-5'>关键字</b>搜索企业数据API接口技术指南

    亚马逊平台根据关键字搜索商品API接口

    ​  在电商开发,集成亚马逊平台的商品搜索功能是常见需求。通过亚马逊的Product Advertising API(PAAPI),开发者可以根据关键字高效检索商品信息。本技术帖将逐步介绍如何调用
    的头像 发表于 11-05 15:00 579次阅读
    亚马逊平台根据<b class='flag-5'>关键字</b>搜索商品API接口

    亚马逊 SP-API 深度开发:关键字搜索接口的购物意图挖掘与合规竞品分析

    本文深度解析亚马逊SP-API关键字搜索接口的合规调用与商业应用,涵盖意图识别、竞品分析、性能优化全链路。通过COSMO算法解析用户购物意图,结合合规技术方案提升关键词转化率,助力卖家实现数据驱动决策,安全高效优化运营。
    的头像 发表于 10-17 14:59 776次阅读

    阿里巴巴国际站关键字搜索 API 实战:从多条件筛选到商品列表高效获客

    ​​在跨境电商数据采集场景,通过关键字精准搜索商品列表是基础且核心的需求。本文将聚焦阿里巴巴国际站的关键字搜索接口,详细介绍如何构建多条件搜索请求、处理分页数据、解析商品列表信息,并提供可直接复用的 Python 实现方案,帮
    的头像 发表于 08-20 09:22 1236次阅读
    阿里巴巴国际站<b class='flag-5'>关键字</b>搜索 API 实战:从多条件筛选到商品列表高效获客

    让电磁阀“听懂”EtherCAT:耐达讯CAN转EtherCAT网关

    生产线电磁阀控制为例: 硬件连接:网关的EtherCAT接口接入PLC主站,CAN接口连接电磁阀控制器; 参数设置:在TwinCAT中导入ESI文件生成PDO映射表(如TPDO1:0x6040控制
    发表于 07-14 16:16

    micro 关键字搜索全覆盖商品,并通过 API 接口提供实时数据

    micro 关键字搜索全覆盖商品”并通过 API 接口提供实时数据
    的头像 发表于 07-13 10:13 1048次阅读