跳到主要内容

C# SDK 概述

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

安装

Install-Package DarraEtherCAT

或使用 .NET CLI:

dotnet add package DarraEtherCAT

系统要求

项目要求
操作系统Windows 7+ (推荐 Windows 10/11)
.NET.NET Standard 2.0 (兼容 .NET Framework 4.6.1+ / .NET 6+)
网络适配器常规以太网网卡
权限管理员权限

安装 DarraRT 驱动

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

优势:< 1μs 抖动 · 最优 DC 同步 · 替代低端控制卡 · 无需专用硬件

快速开始

使用 Darra 配置工具
  1. 打开 Darra 配置工具,扫描 EtherCAT 网络
  2. 配置从站参数(PDO 映射、DC 设置等)
  3. 导出 DENI 配置文件
  4. 在代码中加载 DENI 文件初始化主站
// 推荐方式:使用 DENI 文件
var result = new DarraEtherCAT()
.SetENI(@"C:\EtherCAT\MyProject.deni")
.Build();

if (result.Success)
{
var master = result.Master;
master.SetState(EcState.OP);
// 开始通信...
}

高级 API

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

功能说明
一步初始化 (EcInit)JSON 配置一步完成主站初始化,无需逐步调用
状态链转换 (SetState)自动执行多步状态转换链
启动参数管线 (AddStartupParameter/Apply)批量添加启动参数并一次性应用
CiA 402 驱动状态机一步使能/故障复位/状态解析
EMCY 紧急消息缓冲读取从站紧急消息历史记录
PDO 类型化读写按类型直接读写 PDO 数据(U16/I32/F32 等)
拓扑查询构建并查询从站网络拓扑树

快速示例:

// 一步使能伺服驱动器
slave.CiA402.Enable();

// 类型化 PDO 读写
var input = slave.PDO.InputsMapping<ServoInput>();
var output = slave.PDO.OutputsMapping<ServoOutput>();

// 读取紧急消息
var emcyList = slave.CoE.GetEmergencyHistory();

// 拓扑查询
var children = slave.Children;