news 2026/6/8 10:44:23

EtherCAT PDO 映射概述:从“是什么”到“怎么配”,一次讲透

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
EtherCAT PDO 映射概述:从“是什么”到“怎么配”,一次讲透

很多人第一次接触 EtherCAT,会有一种困惑:
主站明明在“周期性收发过程数据”,但从站内部那么多变量,它到底是怎么知道要收哪些、发哪些?这些数据又是怎么摆进一帧 EtherCAT 报文里的?
答案就藏在三个关键词里:对象字典(OD)、PDO、映射(Mapping)。
你可以把 EtherCAT(CoE 模式)理解成:

  • 从站内部有一本“数据目录”(OD),每个数据都有地址(Index/SubIndex)
  • 主站周期要用的数据,先“挑选出来”组成 PDO
  • “挑选与排队”,就叫 PDO Mapping(PDO 映射)

1. 先建立直觉:PDO 映射到底在做什么?

1.1 两条“数据通道”:Mailbox vs Process Data

在 EtherCAT 里,从站数据交互常见分两类:

  • Mailbox(邮箱通讯):像“写邮件” 用于参数配置、诊断、非实时数据(例如 SDO 读写对象字典)
  • Process Data(过程数据):像“流水线传送带” 用于实时周期数据(IO、控制字、目标值、传感器采样等)
    PDO 就是过程数据的“承载方式”。
    它的目标很明确:把周期性要传的变量打包成一段紧凑的字节流,每个周期都按同样的布局收发。
    一句话直觉:
    PDO 映射 = “选哪些变量 + 按什么顺序 + 每个变量占多少位”

2. 对象字典 OD:一切映射的“变量来源”

在 CoE(CANopen over EtherCAT)里,从站内部变量统一挂在 对象字典(Object Dictionary, OD) 上。
每个对象由:

  • Index:16 位(如 0x7000)
  • SubIndex:8 位(如 0x7000:01)
  • 数据类型/位宽:如 UINT16、UINT32、BOOL 等

你可以把 OD 想象成一个“地址化的变量表”,主站通过 SDO 可以读写它;而 PDO 映射就是从 OD 里“挑变量装箱”。

3. PDO 相关对象:0x1600、0x1A00、0x1C12、0x1C13 是什么关系?

3.1 RxPDO 与 TxPDO:方向先别搞反

RxPDO(Receive PDO):主站 → 从站(从站“接收”)
通常是控制命令、输出量(比如 DO、目标电流/亮度)

TxPDO(Transmit PDO):从站 → 主站(从站“发送”)
通常是状态量、输入量(比如 DI、采样值、状态字)

3.2 0x1600 / 0x1A00:映射表本体(Mapping Object)

0x1600 ~ 0x17FF:RxPDO Mapping 对象

0x1A00 ~ 0x1BFF:TxPDO Mapping 对象

每个映射对象(比如 0x1600)本质是一个 RECORD:

SubIndex 0(0x1600:00):映射条目数(entry count)

SubIndex 1…n(0x1600:01…n):每一条映射内容(每条通常用 32bit 表示)

32bit 映射条目长什么样?

经典格式(也最常用)是:

映射条目=(Index<<16)|(SubIndex<<8)|(BitLength)

举例:把 0x7000:01 的 UINT16 映射进去

Index = 0x7000

SubIndex = 0x01

BitLength = 16 (0x10)

那么条目值就是:

0x70000110=>0x70000110

再比如 0x7000:02 的 UINT16:

0x70000210=>0x70000210

3.3 0x1C12 / 0x1C13:把“映射表”挂到 SyncManager 上

你可能会问:
“我定义了很多个映射对象(0x1600、0x1601…),到底哪个会生效?谁来决定主站周期数据用哪一套映射?”
答案是:SM Assignment(同步管理器分配对象)

  • 0x1C12:SyncManager 2 Assignment(通常用于 RxPDO)
  • 0x1C13:SyncManager 3 Assignment(通常用于 TxPDO)

它们的结构也类似:

  • SubIndex 0:挂载数量(用了几个映射对象)
  • SubIndex 1…n:分别写入映射对象的 Index(如 0x1600、0x1601…)

你可以把它理解成“插排”:

  • 0x1600/0x1A00 是“插头”(具体映射内容)
  • 0x1C12/0x1C13 是“插排”(决定插哪些插头生效)

4. 把四类对象串起来

OD 变量区(比如0x70000x6000...) │ │(挑选变量、规定顺序和位宽) ▼ PDO Mapping 对象 Rx:0x1600~0x17FFTx:0x1A00~0x1BFF│ │(把哪些映射对象“挂载启用”) ▼ SM Assignment 对象0x1C12(SM2)->选择 RxPDO 映射(0x1600/0x1601/…)0x1C13(SM3)->选择 TxPDO 映射(0x1A00/0x1A01/…) │ │(最终对应到 ESC 的 Process RAM 布局) ▼ 过程数据(Process Data)在 EtherCAT 帧中按固定布局周期交换

5.实战

假设你的从站对象字典有:

  • 0x7000:01 UINT16 OUT_STATE
  • 0x7000:02 UINT16 DA_VALUE

你希望主站每周期下发 4 字节:

  • 前 2 字节 OUT_STATE
  • 后 2 字节 DA_VALUE

5.1 配置 0x1600(RxPDO Mapping)

写条目:

  • 0x1600:01 = 0x70000110
  • 0x1600:02 = 0x70000210

5.2 配置 0x1C12(SM2 Assignment)

挂载映射对象:
0x1C12:01 = 0x1600

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/24 20:30:46

RexUniNLU零样本理解框架:5分钟快速部署指南

RexUniNLU零样本理解框架&#xff1a;5分钟快速部署指南 1. 你真的需要标注数据才能做NLU吗&#xff1f; 1.1 一个被反复问到的问题 “我们团队没有标注人员&#xff0c;也没有历史语料&#xff0c;能做意图识别和槽位提取吗&#xff1f;” 这个问题在智能客服、IoT设备对话…

作者头像 李华
网站建设 2026/5/27 15:39:49

YOLO11实战体验:实例分割效果超出预期

YOLO11实战体验&#xff1a;实例分割效果超出预期 YOLO11不是简单的版本迭代&#xff0c;而是Ultralytics团队在目标检测、分割与多任务能力上的一次系统性跃迁。它不再只是“框出物体”&#xff0c;而是能精准勾勒每个物体的轮廓、区分重叠个体、理解空间结构——尤其在实例分…

作者头像 李华
网站建设 2026/5/31 12:44:36

Clawdbot部署教程:Qwen3:32B网关服务通过Helm Chart在私有云一键部署

Clawdbot部署教程&#xff1a;Qwen3:32B网关服务通过Helm Chart在私有云一键部署 Clawdbot 是一个统一的 AI 代理网关与管理平台&#xff0c;旨在为开发者提供一个直观的界面来构建、部署和监控自主 AI 代理。它不是简单的模型调用封装&#xff0c;而是一套完整的运行时基础设…

作者头像 李华
网站建设 2026/6/3 9:15:33

零基础教程:用Qwen2.5-1.5B打造本地智能对话系统

零基础教程&#xff1a;用Qwen2.5-1.5B打造本地智能对话系统 1. 为什么你需要一个真正属于自己的AI对话助手&#xff1f; 你有没有过这样的体验&#xff1a;在写周报时卡壳&#xff0c;想找个灵感却担心输入的内容被上传到云端&#xff1b;帮孩子辅导作业&#xff0c;需要即时…

作者头像 李华
网站建设 2026/5/29 23:48:56

告别复杂配置:YOLO X Layout开箱即用文档分析体验

告别复杂配置&#xff1a;YOLO X Layout开箱即用文档分析体验 1. 为什么你需要一个“不用调”的文档分析工具 你有没有遇到过这样的场景&#xff1a; 刚下载好一个文档版面分析模型&#xff0c;打开README就看到密密麻麻的依赖安装、环境变量设置、模型路径配置、CUDA版本核对…

作者头像 李华
网站建设 2026/5/22 17:01:25

新手必看!OFA视觉问答模型快速入门与效果展示

新手必看&#xff01;OFA视觉问答模型快速入门与效果展示 你有没有试过给一张图片提个问题&#xff0c;然后让AI直接告诉你答案&#xff1f;不是靠猜&#xff0c;不是靠统计&#xff0c;而是真正“看懂”画面后给出的回答——这就是视觉问答&#xff08;VQA&#xff09;的魅力…

作者头像 李华