跳到主要内容

MDP (Modular Device Profile)

什么是 MDP?

MDP (Modular Device Profile) 是 EtherCAT 中用于描述模块化设备的标准。

模块化设备是指由多个子模块组成的设备,例如一个 EtherCAT 耦合器可包含数字输出、数字输入、编码器等多个模块,每个子模块可以独立配置和控制。

MDP 的特点

  • 灵活配置: 每个模块独立配置 PDO 映射,有自己的对象字典,部分设备支持热插拔
  • 模块标识: 设备通过主 ID(如 0x00000100)标识,各模块通过 SubIndex 区分
  • 统一管理: 主站通过一个设备地址访问所有模块,每个模块分配独立的逻辑地址空间

MDP 与非 MDP 设备的区别

非 MDP 设备MDP 设备
功能固定功能,整体配置灵活组合,独立配置
I/O固定 I/O,不可拆分每个模块独立 I/O
PDO整机一套 PDO 映射每个模块独立 PDO 映射

打印模块列表案例

// 扫描模块化设备
var device = master.Slaves[0];

// 打印模块列表
Console.WriteLine($"设备: {device.Name}");
Console.WriteLine($"模块数量: {device.Modules.Count}");
Console.WriteLine("模块列表:");

foreach (var module in device.Modules)
{
Console.WriteLine($" 模块 {module.Index}: {module.Name}");
Console.WriteLine($" 类型: {module.Type}");
Console.WriteLine($" 输入大小: {module.InputSize} bytes");
Console.WriteLine($" 输出大小: {module.OutputSize} bytes");
}
工具推荐

建议使用 DARRA EtherCAT Master Tools 一键配置 MDP:

  • 自动识别模块 - 自动扫描并识别所有子模块
  • 一键生成配置文件 - 导出完整的 MDP 配置文件(XML/JSON)用于部署
  • 可视化模块管理 - 图形化界面查看和配置各个模块
  • 批量 PDO 映射 - 一键配置所有模块的 PDO 映射
  • 配置导入导出 - 快速在多台设备间复制配置

生产环境强烈建议使用工具配置 MDP,避免手动配置的复杂性和出错风险。

注意事项

  1. ESI 文件支持: MDP 设备需要完整的 ESI 文件描述模块结构
  2. 配置顺序: 必须先配置主设备,再配置各个模块
  3. 地址分配: 每个模块需要独立的逻辑地址空间