
第一步:抓住整体结构(两大核心部分)
表格清晰地分为上下两大功能块:
-
上半部分:Receive PDO (RxPDO)
-
作用 :控制器 → 驱动器 的控制指令通道。
-
标识 :索引范围主要在
0x1600、0x1701等。 -
内容 :你发给伺服的命令,如:启停(
Controlword)、目标位置(Targetposition)。
-
-
下半部分:Transmit PDO (TxPDO)
-
作用 :驱动器 → 控制器 的状态反馈通道。
-
标识 :索引范围主要在
0x1A00、0x1B01等。 -
内容 :伺服反馈给控制器的信息,如:状态(
Statusword)、实际位置(Position actual value)、实际扭矩(Torque actual value)。
-
第二步:逐列解读表格信息
-
名称:条目的描述。关键看是"PDO映射"本身,还是一个具体的参数。
-
索引 (Index) :该对象在设备对象字典中的唯一地址。这是通信寻址的核心。
-
0x1600-0x17FF:通常预留给 "接收PDO映射参数"。 -
0x1A00-0x1BFF:通常预留给 "发送PDO映射参数"。 -
0x6040,0x607A等:是 CiA 402(伺服行规)标准参数的地址。
-
-
子索引 (Sub Index) :通常
0x00代表这个映射条目本身。 -
长度 (Length) :非常关键! 指该条目映射的总数据长度(单位:位)。
-
18.0 位= 18个字节?注意单位通常是位(bit),18.0可能表示144位(18字节)。这代表这个PDO报文的总大小。 -
下面具体参数如
Controlword长度为2.0,即16位(2字节)。
-
-
类型 (Type):参数的数据类型(UINT-无符号整型,DINT-双整型等)。
-
标志 (Flags) :最重要的状态指示列!
-
编辑 :表示这个PDO映射当前已被激活,且可以点击进行编辑 。它是正在使用的配置。
-
F (可能代表 Fixed/Freeze?) :表示这个PDO映射条目在软件中可见,但当前未被激活启用,是一个"备用空位"。它的长度可能是预定义或上一次配置的残留。
-
第三步:重点分析当前激活的配置(看带"编辑"的行)
这是你当前系统正在使用的实时通信配置:
-
激活的接收PDO(1st receive PDO Mapping,索引 0x1600):
-
总长度 144位(18字节)。
-
里面"打包"了4个控制参数:
-
Controlword(控制字,2字节):启停、复位等命令。 -
Targetposition(目标位置,4字节):核心位置指令。 -
Touch probe function(探针功能,2字节):触发设置。 -
Physical outputs(物理输出,4字节):控制驱动器输出点。
-
-
结论:控制器每个周期通过这个PDO向驱动器发送这4个数据。
-
-
激活的发送PDO(1st transmit PDO Mapping,索引 0x1A00):
-
总长度 256位(32字节)。
-
里面"打包"了9个状态参数,涵盖了伺服最核心的反馈信息:
- 状态、错误、实际位置、实际扭矩、实际速度、跟随误差、探针状态、数字输入等。
-
结论:驱动器每个周期通过这个PDO向控制器反馈这9个数据。
-
第四步:理解备用条目(看带"F"的行)
-
如
258th receive PDO Mapping (0x1701)等,它们都是未被启用的空槽位。 -
它们的"长度"值可能是默认值或历史值,除非你激活并编辑它,否则它们不参与通信。
-
这证实了之前说的:容量很大(有258+个槽位),但实际只用了极少部分(目前只用了一收一发)。
第五步:关注底部摘要信息
-
"输入(字节): 32.0" :指从驱动器输入 到控制器的总数据量,即激活的发送PDO(
0x1A00)的总长度(32字节)。这是控制器需要接收的数据。 -
"输出(字节): 18.0" :指从控制器输出 到驱动器的总数据量,即激活的接收PDO(
0x1600)的总长度(18字节)。这是控制器需要发送的数据。 -
这两个数字直接决定了EtherCAT通信周期的最小数据负载和带宽占用,对于性能优化至关重要。
总结与操作指导
你应该这样看这张图:
-
首先看底部摘要 :了解当前通信的总数据量(输入32字节,输出18字节)。
-
然后找"编辑"标志 :锁定当前生效 的配置(
0x1600和0x1A00)。 -
展开"编辑"项(通常可点击):查看里面具体映射了哪些参数,顺序如何。这是你实时通信的精确数据契约。
-
理解"F"条目是仓库 :当需要增加同步控制参数(如目标速度、转矩前馈)时,你可以激活(如
0x1701)并编辑一个新的接收PDO,或者向现有PDO中添加参数(如果长度允许)。 -
索引是钥匙 :
0x6040、0x6064这些标准索引,让你能准确地在手册或标准中查到每个参数的具体含义。
一句话概括 :这张图显示了当前生效的一收一发两个PDO数据包的具体内容 ,以及大量可备用的扩展空位 。你的实时控制循环,就建立在0x1600和0x1A00这两个数据包的高速交换之上。
只有第一组可以添加额外的数据值

一、数据含义解读
这张图清晰地展示了两个已激活的PDO映射 的完整内容,以及一系列未激活的备用空位。我们先看已激活的部分:
1. 激活的接收PDO(控制器 → 驱动器)
图中虽然没有明确标出"1st receive PDO Mapping"的标题行,但紧跟在"258th receive PDO Mapping"上方列出的6个参数(Controlword 到 Target torque)很可能就是当前激活的第一个接收PDO(索引 0x1600)的内容。
这6个参数的含义如下:
| 名称 | 索引 | 长度(字节) | 类型 | 含义与作用 |
|---|---|---|---|---|
| Controlword | 0x6040 |
2 | UINT | 控制字。最核心的控制命令,用于驱动器的状态机切换(如使能、复位、启动、停止等)。每一位都有特定定义。 |
| Targetposition | 0x607A |
4 | DINT | 目标位置。在位置模式或混合模式中,控制器发给驱动器的位置指令值(单位:用户单位或脉冲)。 |
| Touch probe function | 0x60B8 |
2 | UINT | 探针功能。用于配置硬件探针或软件探针的触发条件(如上升沿、下降沿触发)。 |
| Physical outputs | 0x60FE:01 |
4 | UDINT | 物理输出。控制驱动器本体上的数字量输出点的状态。 |
| Target velocity | 0x60FF |
4 | DINT | 目标速度。在速度模式或混合模式中,控制器发给驱动器的速度指令值。 |
| Target torque | 0x6071 |
2 | INT | 目标转矩。在转矩模式或混合模式中,控制器发给驱动器的转矩指令值。 |
小结 :这个接收PDO集成了多种控制模式的核心指令。在实际应用中,一次只能使用一种主模式,但这样配置的好处是无需重新映射PDO即可快速切换控制模式(只需改变控制字中的模式选择位)。
2. 激活的发送PDO(驱动器 → 控制器)
图中明确列出了两个激活的发送PDO(都标记为 "编辑"):
-
1st transmit PDO Mapping (索引 0x1A00):包含10个状态参数。
-
258th transmit PDO Mapping (索引 0x1B01):包含9个状态参数。
这说明你的系统配置了两个并行的状态反馈通道,它们可能对应不同的同步管理器(SM)或用于不同的目的(例如,一个用于高速核心状态,一个用于低速监控)。它们的参数高度重叠。
关键状态参数含义:
| 名称 | 索引 | 长度(字节) | 类型 | 含义与作用 |
|---|---|---|---|---|
| Statusword | 0x6041 |
2/4 | UINT/UDINT | 状态字。最核心的反馈,反映驱动器当前运行状态(如已使能、故障、到达目标等),与控制字一一对应。 |
| Position actual value | 0x6064 |
4 | DINT | 实际位置。驱动器的实际位置反馈值。 |
| Velocity actual value | 0x606C |
4 | DINT | 实际速度。驱动器的实际速度反馈值。 |
| Torque actual value | 0x6077 |
2 | INT | 实际转矩。驱动器的实际转矩反馈值。 |
| Error code | 0x603F |
2 | UINT | 错误代码。当驱动器发生故障时,此处会显示具体的错误编号。 |
| Following error actual value | 0x60F4 |
4 | DINT | 跟随误差实际值。目标位置与实际位置的差值,用于监控跟随性能。 |
| Digital inputs | 0x60FD |
4 | UDINT | 数字输入。驱动器本体数字量输入点的状态。 |
| Touch probe status | 0x60B9 |
2 | UINT | 探针状态。反馈探针触发状态。 |
| Touch probe pos1/2 pos value | 0x60BA/BC |
4 | DINT | 探针位置1/2值。触发瞬间捕获的实际位置值。 |
"SM"列 :代表同步管理器索引。这是EtherCAT特有的概念,用于管理数据交换的同步。
-
SM=3 :非常典型,表示这个TxPDO通过同步管理器3(SM3) 发送给控制器。这是EtherCAT从站(驱动器)输出过程数据的标准配置。
-
对于接收PDO(RxPDO),通常使用同步管理器2(SM2)。虽然图中未显示,但可以推断激活的接收PDO对应的SM应为2。
二、必备数据与CiA 402标准
CiA 402(CANopen行规)标准定义了伺服驱动器的行为,但并未强制规定PDO中必须映射哪些对象。 它只要求在驱动器的对象字典 中必须存在某些参数。PDO映射是用户根据应用需求进行的优化配置。
然而,在实际工业应用中,存在一个事实上的"最小必备集合",以确保基本的伺服控制和状态监控能够进行。这个集合通常包括:
1. 绝对必备(对于任何控制模式)
-
输出(RxPDO):
- 0x6040 Controlword (控制字) :必需。没有它,你无法命令驱动器启动、使能或进行任何状态切换。
-
输入(TxPDO):
- 0x6041 Statusword (状态字) :必需。没有它,控制器无法知道驱动器当前处于什么状态(如是否准备好、已使能、有故障等)。
2. 按模式必备(取决于你使用的控制模式)
在CiA 402的几种基本模式中,以下参数是实现该模式功能所必需的:
| 控制模式 | 必备输出参数 (RxPDO) | 必备输入参数 (TxPDO) | 说明 |
|---|---|---|---|
| 循环同步位置 (CSP) | 0x6040 Controlword 0x607A Target position |
0x6041 Statusword 0x6064 Position actual value |
最基本的定位控制 |
| 循环同步速度 (CSV) | 0x6040 Controlword 0x60FF Target velocity |
0x6041 Statusword 0x606C Velocity actual value |
速度控制 |
| 循环同步转矩 (CST) | 0x6040 Controlword 0x6071 Target torque |
0x6041 Statusword 0x6077 Torque actual value |
转矩控制 |
3. 强烈推荐(虽然不是绝对必须,但99%的应用都会用)
-
0x603F Error code (错误代码) :映射它可以在发生故障时立即获知错误类型,而不是通过SDO去查询,极大方便了诊断。
-
0x6064 Position actual value (实际位置) 或对应模式的实际值:即使在速度模式或转矩模式下,监控实际位置也是非常有价值的。
-
0x60F4 Following error actual value (跟随误差):用于实时监控定位精度和性能,在位置模式下尤为重要。
三、你的配置分析
对照以上标准,你的当前配置(第一个接收和发送PDO)非常全面,甚至超出了"必备"的范围,属于"功能丰富型"配置:
-
接收PDO :同时映射了位置、速度、转矩三种目标值。这使你无需重新配置PDO,即可通过更改控制字在CSP、CSV、CST模式间自由切换。这是高级配置的常见做法。
-
发送PDO :映射了几乎所有重要的状态和实际值,包括位置、速度、转矩、错误码、跟随误差、数字IO和探针数据。这为上层控制器提供了最全面的实时信息,便于实现高级控制、诊断和监控。
总结与建议:
-
你的配置是完备且强大的,适合需要灵活切换控制模式和高性能监控的复杂应用。
-
如果追求极致的通信效率 (如更短的循环周期),可以考虑精简PDO ,只保留当前应用模式必需的参数。例如,如果只做位置控制,可以从接收PDO中移除
Target velocity和Target torque,从发送PDO中移除一些不用的探针参数等。 -
对于绝大多数标准应用 ,你目前的配置是理想的,无需修改。它确保了最大的操作灵活性和系统可视性。
简单记忆 :控制字 (0x6040) 和状态字 (0x6041) 是PDO通信的"心脏"和"脉搏",绝对不能少。 其他参数则是根据你的控制模式(手、脚、肌肉)和监控需求(眼睛、耳朵)来添加的"器官"。