0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

[EtherCAT] CoE协议与服务数据(SDO)和过程数据(PDO)

先楫半导体HPMicro 2026-04-03 09:35 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、EtherCAT通信模型


EtherCAT主从站间的数据通信在数据链路层分为3种方式:寄存器访问, 邮箱模式访问(MailBox), Buffer模式访问(Process Data)


邮箱模式和Buffer模式均是访问ESC内部的PDRAM(Process Data RAM),进行数据交互。寄存器访问是直接读写ESC内部的寄存器, 用于配置和获取状态。

邮箱模式的数据(SDO数据)和Buffer模式的PDO数据都需要通过CoE(CANopen over EtherCAT)对象字典解析的才能明确数据含义。通过邮箱模式的FOE数据, EOE数据等无须使用对象字典解析。


ESC的内存空间寄存器和RAM都是双端口访问的,主站通过EtherCAT数据帧访问, 从站通过PDI总线访问


为保证访问不会竞争,寄存器会分配不同的权限, 比如寄存器0x100 ESC DL Control是主站可写,从站只读。 对于主站和从站都可写的寄存器会有相应位用于控制权限的获取和释放。


对于RAM部分,ESC硬件内部设计了Sync Manger(同步管理器)对其进行管理,同样限制了主站和从站的读写权限,根据SyncManger的配置不同,可以分为邮箱模式和Buffer模式。


下图为EtherCAT从站设备模型:

54d72e9a-2efd-11f1-ab55-92fbcf53809c.png


1.1 邮箱模式

邮箱模式是请求-应答模式。 邮箱数据支持CoE, FoE,EoE等协议格式的数据。

服务数据SDO就是使用CoE协议,通过邮箱方式通信。

54e40f5c-2efd-11f1-ab55-92fbcf53809c.png


1.2Buffer模式

Buffer模式属于生产者-消费者模式, 用于周期性高实时性性的数据传输, 也就是PDO数据。 一般PDO数据会通过ESC的FMMU功能实现数据帧中逻辑地址上的内容映射到ESC的PDRAM中,实现数据交互。

54f5f3de-2efd-11f1-ab55-92fbcf53809c.png


二、CoE与服务数据SDO和过程数据PDO


基于CoE协议的通信可以分为两种: 服务数据SDO与过程数据PDO, 两种通信的数据对象均在CoE的对象字典OD中描述。


2.1对象字典OD

对象字典是一个标准化结构,其中含有描述从站行为的所有参数。通过16位的索引和8位的子索引来查找对象字典中的某个数据信息。


针对不同应用场景,有不同的协议规范。
比如针对运动控制场景, CiA制定的CIA402(CAN in Automation 402运动控制协议)。它的核心特点之一就是定义了标准化的对象字典(如:0x6040控制字,0x6041状态字, 0x607A目标位置、0x6064实际位置等), 遵守同一协议的设备之间能够实现互操作。


另外对象字典涉及的内容很多,有些是静态的,让用户从中读取信息。例如标准化的设备子协议区。有些是动态可写入的,让用户按需进行配置,比如通信对象子协议区中的PDO参数对象部分,供用户配置PDO映射。


以下为COE协议的部分规范定义:

5503e46c-2efd-11f1-ab55-92fbcf53809c.jpg55116f9c-2efd-11f1-ab55-92fbcf53809c.jpg551fdb2c-2efd-11f1-ab55-92fbcf53809c.jpg


2.2 过程数据PDO


过程数据PDO,用于实时的数据传输,是周期性控制过程中主从站之间需要传输的数据对象,这些数据对象的定义在CoE的对象字典中描述。
如cia402协议中,0x6040(Control word 控制字),0x6041(Status word 状态字)属于PDO数据类型, 周期性实时传输。


PDO分为RxPDO和TxPDO两类, 它们的命名是依据从站视角的接收或发送分类:
主站发送给从站的,称为RxPDO。
从站发送给主站的,称为TxPDO。


2.3服务数据SDO

服务数据对象SDO,用于配置过程,是主从站之间进行非周期性通信时的数据对象。对象字典中除PDO以外部分都可以称为SDO。


三、PDO映射与分配


对象字典中只有部分实时性要求高的数据对象使用PDO方式传输。主从站之间需要约定对象字典中的哪些数据通过PDO传输。这个约定是通过对象字典中的PDO映射合PDO分配这两类对象来实现。


通常与PDO映射与分配相关的一种情形是CIA402中不同控制模式的切换, 不同的控制模式所传输的PDO数据对象是不同的。


3.1服务数据SDO

"PDO映射对象"和"PDO分配对象"是与PDO的配置相关的两个SDO,虽然名称里带有PDO但并不属于PDO。"PDO"、"PDO映射对象"和"PDO分配对象"实际上是层层嵌套的关系,三者配合起来用于描述具体使用哪些PDO来控制从站设备。


3.2PDO映射对象

PDO映射对象分为RxPDO映射对象和TxPDO映射对象两类,每类都有若干个对象,每个PDO映射对象用于映射一组PDO。


RxPDO映射对象位于对象字典索引0x1600到0x17FF位置,TxPDO映射对象位于0x1A00到0x1BFF位置。


PDO映射对象包含n个子索引,子索引0表示该PDO映射对象中映射了多少个PDO,其余子索引表示映射了哪些PDO。


3.3PDO分配对象

PDO分配对象有两个分配对象, 分别是:
一个RxPDO分配对象,在对象字典中的索引为0x1C12;
一个TxPDO分配对象,在对象字典中的索引为0x1C13。

55295cb0-2efd-11f1-ab55-92fbcf53809c.png5538f62a-2efd-11f1-ab55-92fbcf53809c.png


综上PDO映射与分配有三种情况:

固定的PDO分配对象和固定的PDO映射对象, 例如HPM_SDK中的ecat_io例程, 其RxPDO分配对象0x1C12的值是固定的, 其指向RxPDO映射对象0x1600, 而RxPDO映射对象0x1600的值也是固定的。

可变的PDO分配对象和固定的PDO映射对象, 例如HPM_SDK中的ecat_cia402例程,有3个RxPDO映射对象0x1600/0x1601/0x1602, 每个RxPDO映射对象的值是固定的,用于不同的控制模式。可以修改RxPDO分配对象0x1C12的值选择其中的一个RxPDO映射对象。(该例程使用了Module/Slots概念, 通过在Slots中选中对应的Module即可配置0x1C12和0x1c13)

可变的PDO分配对象和可变的PDO映射对象,即在情形2的基础上,其RxPDO与TxPDO映射对象的值可以被更改。例如可以通过主站软件配置0x1600的值,实现灵活的组合PDO数据。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FCoE协议
    +关注

    关注

    0

    文章

    2

    浏览量

    5585
  • ethercat
    +关注

    关注

    20

    文章

    1573

    浏览量

    46042
  • PDO
    PDO
    +关注

    关注

    0

    文章

    12

    浏览量

    4602
  • SDO
    SDO
    +关注

    关注

    0

    文章

    7

    浏览量

    6212
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    EtherCAT运动控制器上位机开发之Python+Qt(三):PDO配置与SDO读写

    PC上位机Python+Qt混合编程实现PDO配置与SDO读写
    的头像 发表于 08-21 15:56 3553次阅读
    <b class='flag-5'>EtherCAT</b>运动控制器上位机开发之Python+Qt(三):<b class='flag-5'>PDO</b>配置与<b class='flag-5'>SDO</b>读写

    PLC与伺服完美融合:Profinet转EtherCAT网关配置详解

    在本次案例研究中,客户那边使用西门子S7-1200系列PLC与伺服驱动单元的连接问题。由于系统在正常操作过程中需支持EtherCAT通讯协议,并且该PLC被设定为EtherCAT
    发表于 04-09 11:38

    让电磁阀“听懂”EtherCAT:耐达讯CAN转EtherCAT网关

    处理两种协议的通信需求: EtherCAT侧:作为从站接入主站网络,支持PDO映射与SDO配置,数据交互周期可压缩至1ms以内; CAN侧:
    发表于 07-14 16:16

    打破协议壁垒,CAN转EtherCAT连接工业相机秒变跨国CP”!

    传感器控制;EtherCAT低延迟、高吞吐,适配实时图像传输。当需要将CAN相机接入EtherCAT网络时,耐达讯通信技术CAN转EtherCAT网关成为核心桥梁,通过数据帧解析与映射
    发表于 07-14 16:20

    储能BMS通信“卡壳”?CAN转EtherCAT让电池数据“跑起来”

    、电流等30路CAN信号,精准映射到EtherCATPDO过程数据对象),建立“数据速通通道”; 3. 调度优化:通过优先级队列让SOC
    发表于 07-18 15:32

    老司机带你ARM网络通信的基础架构总线Ethercat

    站进行数据交互的方式主要通过PDOSDO,即过程数据和邮箱数据其概念与CANOpen中的概念相
    发表于 12-10 18:04

    网络管理NMT与特殊协议报文

    网络管理NMT、特殊协议报文、过程数据对象PDO服务数据对象
    发表于 08-23 06:11

    PDO是什么

    PDO 属于过程数据,即单向传输,无需节点回应CAN报文来确认,从通讯术语上来说属于”生产消费“模型SDO 属于服务
    发表于 09-06 07:27

    SDOPDO怎么使用?

    什么是步科伺服?SDOPDO怎么使用?
    发表于 10-08 08:28

    经济型EtherCAT运动控制器:EtherCAT总线快速入门

    驱动器的PDO是必要的配置,代表着当前驱动器包含的功能。 PDO全名为(Process Data Object),指在EtherCAT总线网络中周期的进行主站与从站的数据交互的功能,
    发表于 05-11 09:49

    CC-LINKIE转EtherCAT协议具体应用

    传输到EtherCAT网络中。这种转换过程可以实现对数据的采集、传输和处理,同时还可以实现不同协议之间的互联互通,提高系统的兼容性和可扩展性。 CCLINKIE转
    发表于 12-17 13:02

    CANOpen轻松入门_数据对象(PDO)和服务数据对象(SDO

    CANOpne协议不再那么神秘,带你跨过CANOpen学习道路的第一道门槛。应用CANopen时,需要传递的配置信息和应用信息都放在过程数据对象PDO(Process data obj
    发表于 03-23 09:59 1.1w次阅读

    解锁 EtherCAT-CoE:小米电机驱动实战

    数据交换。它结合了CANopen的易用性和EtherCAT的高性能优势,广泛用于工业自动化、运动控制和传感器网络等领域。以下是CoE的主要特点和功能:基于CANo
    的头像 发表于 01-20 18:34 3549次阅读
    解锁 <b class='flag-5'>EtherCAT-CoE</b>:小米电机驱动实战

    EtherCAT转CANopen配置CANopen侧的PDO映射

    在工业自动化领域,EtherCAT和CANopen是两种广泛应用的通信协议。它们各自具有独特的优势,但在某些应用场景下,需要将这两种协议进行转换以实现设备间的高效数据交换。本文将详细介
    的头像 发表于 03-26 17:56 1187次阅读
    <b class='flag-5'>EtherCAT</b>转CANopen配置CANopen侧的<b class='flag-5'>PDO</b>映射

    CANopen协议核心秘籍:NMT、SDOPDO、心跳报文一网打尽

    服务数据PDO过程数据、心跳机制及COB-ID速查表一网打尽,助你快速掌握CANopen精髓。NMT(网络管理)NMT负责设备的状态切换、
    的头像 发表于 03-05 19:34 453次阅读
    CANopen<b class='flag-5'>协议</b>核心秘籍:NMT、<b class='flag-5'>SDO</b>、<b class='flag-5'>PDO</b>、心跳报文一网打尽