跳到主要内容

Java SDK 概述

Darra EtherCAT Java SDK 提供了用于开发 EtherCAT 主站应用程序的类库,支持主站与从站之间的高速实时通信。

安装

<dependency>
<groupId>com.darra</groupId>
<artifactId>darra-ethercat</artifactId>
<version>1.0.0</version>
</dependency>

系统要求

项目要求
操作系统Windows 7+ (推荐 Windows 10/11)
JavaJDK 11+ (推荐 JDK 17 LTS)
网络适配器常规以太网网卡
权限管理员权限

安装 DarraRT 驱动

DarraRT 驱动提供微秒级实时性能,完全免费。详见 下载页面

快速开始

使用 Darra 配置工具
  1. 打开 Darra 配置工具,扫描 EtherCAT 网络
  2. 配置从站参数(PDO 映射、DC 设置等)
  3. 导出 JSON 配置文件
  4. 在代码中加载 JSON 文件初始化主站
import com.darra.ethercat.master.*;
import com.darra.ethercat.data.*;
import com.darra.ethercat.slave.*;

// 推荐方式: JSON 配置一步初始化, try-with-resources 自动释放
try (EtherCATMaster master = EtherCATMaster.createFromJsonFile("C:\\config.json")) {
master.setState(EcState.OP);
master.Start();
// 开始通信...
} // 自动调用 close() 释放资源
PascalCase 命名风格

Java SDK 采用 PascalCase 无前缀 的属性方法命名(对齐 C#),不使用 get/set 前缀。例:master.SlaveCount() / slave.Name() / slave.CoE()。不变值用 public final 字段:slave.SlaveNum / master.MasterIndex

高级 API

SDK 提供了一组高级 API,简化常见操作流程:

功能说明
JSON 一步初始化createFromJson() / createFromJsonFile() 一步完成主站初始化
状态链转换 (setState)自动执行多步状态转换链
CiA 402 驱动状态机一步使能/故障复位/状态解析
EMCY 紧急消息缓冲读取从站紧急消息历史记录
PDO 零拷贝读写通过 ByteBuffer 直接读写 PDO 数据
拓扑查询构建并查询从站网络拓扑树
WDK 实时驱动微秒级 PDO 周期
冗余网络双网卡环形冗余

快速示例:

// CiA402 驱动器使能
slave.CiA402().Enable();

// 类型化 SDO 读写
Integer pos = slave.CoE().SDOReadInt32((short) 0x6064, (byte) 0);
slave.CoE().SDOWriteInt32((short) 0x607A, (byte) 0, 100000);

// 读取紧急消息
List<CoE.EmergencyMessage> history = slave.CoE().GetEmergencyHistory();

// 拓扑查询
List<Integer> children = master.TopologyChildren(parentIdx);