类 Eni

java.lang.Object
com.darra.ethercat.utils.Eni

public final class Eni extends Object
ENI (EtherCAT Network Information) 配置解析 ETG.2100 ENI 标准格式:
 <EtherCATConfig>
   <Config>
     <Master>...</Master>
     <Slave>...</Slave>
     ...
   </Config>
 </EtherCATConfig>
 
对应 C# Master/Utils/Xml.cs::LoadENIConfiguration. 注: SaveENI 当前 DLL 未导出 EcEni_Save, Java 端暂不实现导出 (TODO).
  • 方法详细资料

    • loadENI

      public static Eni.EniConfiguration loadENI(String filePath)
      加载 ENI XML 文件 (对齐 C# Xml.cs::LoadENIConfiguration)
      参数:
      filePath - ENI 文件路径
      返回:
      解析结果, null=失败
    • saveENI

      public static boolean saveENI(String filePath, Eni.EniConfiguration config)
      保存 ENI 文件 (基于 EniConfiguration 配置, managed XML 生成).

      实装 (Phase 4 Java): 直接用 javax.xml DOM + Transformer 生成 ETG.2100 EtherCATConfig 根节点 XML, 不再依赖 DLL EcEni_Save 导出. 与 C# Master/Utils/ESI.cs::SaveENI (line 2895-3030) 对齐.

      字段来源: EniConfiguration.master (CycleTime / DcCycleTime / ExpectedSlaveCount) 与 EniConfiguration.slaves (Name / VendorId / ProductCode / RevisionNo / PhysAddr / AutoIncAddr / AliasAddr / DC AssignActivate). DC offset / SM offset 等运行时字段 不在 ENI 静态视图内 (ETG.2100 §4 设计 ENI 为 IDE 输出的"配置文件", 由 master 在线 扫描后回填), 仅输出 SII 已知量.

      参数:
      filePath - 输出 ENI 文件路径
      config - ENI 配置 (managed 端组装好的 EniConfiguration)
      返回:
      写盘成功返回 true; 参数错误或 IO 失败返回 false
    • saveENI

      public static boolean saveENI(EtherCATMaster master, String filePath)
      保存 ENI 文件 (基于运行时主站, managed XML 生成, 对齐 C# SaveENI(DarraEtherCAT, string)).

      从 master 内部状态自动收集 SII 字段 (VendorId / ProductId / RevId / ConfigAddr / AliasAddress / Name) 与 LoopCycle, 调用 saveENI(String, EniConfiguration) 完成 XML 写盘.

      参数:
      master - 主站实例
      filePath - 输出 ENI 文件路径
      返回:
      true=成功, false=参数错误/写入失败