InProshop中PDO解释

第一步:抓住整体结构(两大核心部分)

表格清晰地分为上下两大功能块:

  1. 上半部分:Receive PDO (RxPDO)

    • 作用控制器 → 驱动器控制指令通道。

    • 标识 :索引范围主要在 0x16000x1701 等。

    • 内容 :你发给伺服的命令,如:启停(Controlword)、目标位置(Targetposition)。

  2. 下半部分:Transmit PDO (TxPDO)

    • 作用驱动器 → 控制器状态反馈通道。

    • 标识 :索引范围主要在 0x1A000x1B01 等。

    • 内容 :伺服反馈给控制器的信息,如:状态(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映射条目在软件中可见,但当前未被激活启用,是一个"备用空位"。它的长度可能是预定义或上一次配置的残留。

第三步:重点分析当前激活的配置(看带"编辑"的行)

这是你当前系统正在使用的实时通信配置:

  1. 激活的接收PDO(1st receive PDO Mapping,索引 0x1600)

    • 总长度 144位(18字节)。

    • 里面"打包"了4个控制参数:

      • Controlword (控制字,2字节):启停、复位等命令。

      • Targetposition (目标位置,4字节):核心位置指令。

      • Touch probe function (探针功能,2字节):触发设置。

      • Physical outputs (物理输出,4字节):控制驱动器输出点。

    • 结论:控制器每个周期通过这个PDO向驱动器发送这4个数据。

  2. 激活的发送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通信周期的最小数据负载和带宽占用,对于性能优化至关重要。

总结与操作指导

你应该这样看这张图:

  1. 首先看底部摘要 :了解当前通信的总数据量(输入32字节,输出18字节)。

  2. 然后找"编辑"标志 :锁定当前生效 的配置(0x16000x1A00)。

  3. 展开"编辑"项(通常可点击):查看里面具体映射了哪些参数,顺序如何。这是你实时通信的精确数据契约。

  4. 理解"F"条目是仓库 :当需要增加同步控制参数(如目标速度、转矩前馈)时,你可以激活(如0x1701)并编辑一个新的接收PDO,或者向现有PDO中添加参数(如果长度允许)。

  5. 索引是钥匙0x60400x6064 这些标准索引,让你能准确地在手册或标准中查到每个参数的具体含义。

一句话概括 :这张图显示了当前生效的一收一发两个PDO数据包的具体内容 ,以及大量可备用的扩展空位 。你的实时控制循环,就建立在0x16000x1A00这两个数据包的高速交换之上。

只有第一组可以添加额外的数据值

一、数据含义解读

这张图清晰地展示了两个已激活的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)非常全面,甚至超出了"必备"的范围,属于"功能丰富型"配置

  1. 接收PDO :同时映射了位置、速度、转矩三种目标值。这使你无需重新配置PDO,即可通过更改控制字在CSP、CSV、CST模式间自由切换。这是高级配置的常见做法。

  2. 发送PDO :映射了几乎所有重要的状态和实际值,包括位置、速度、转矩、错误码、跟随误差、数字IO和探针数据。这为上层控制器提供了最全面的实时信息,便于实现高级控制、诊断和监控。

总结与建议:

  • 你的配置是完备且强大的,适合需要灵活切换控制模式和高性能监控的复杂应用。

  • 如果追求极致的通信效率 (如更短的循环周期),可以考虑精简PDO ,只保留当前应用模式必需的参数。例如,如果只做位置控制,可以从接收PDO中移除Target velocityTarget torque,从发送PDO中移除一些不用的探针参数等。

  • 对于绝大多数标准应用 ,你目前的配置是理想的,无需修改。它确保了最大的操作灵活性和系统可视性。

简单记忆控制字 (0x6040) 和状态字 (0x6041) 是PDO通信的"心脏"和"脉搏",绝对不能少。 其他参数则是根据你的控制模式(手、脚、肌肉)和监控需求(眼睛、耳朵)来添加的"器官"。

相关推荐
RXXW_Dor4 个月前
Easy系列PLC定时器功能块封装(支持实例化)
plc·st·easy·汇川
雷工笔记1 年前
汇川技术|熟悉EtherCAT网络编辑器的使用。
汇川
机构师2 年前
<工控><PLC>汇川Easy521系列PLC与汇川SV630N伺服进行EtherCat通讯的相关配置及指令编写
plc·工控·ethercat·汇川·伺服驱动