EtherCAT伺服驱动器控制应用协议

<< 点击显示目录 >>

主页  EtherCAT使用助手 > EtherCAT概念说明 >

EtherCAT伺服驱动器控制应用协议

IEC 61800 标准系列是一个可调速电子功率驱动系统通用规范。其中 IEC 61800-7 定义了控制 系统和功率驱动系统之间的通信接口标准、包括网络通信技术和应用行规,如图 所示。 EtherCAT 作为网络通信技术,支持了 CANopen 协议中的行规 CiA 402 和 SERCOS 协议的应用层, 分别称为 CoE 和 SoE。

clip0055

IEC 61800-7 体系结构

1. 基于 EtherCAT 的 CAN 应用协议(CoE)

CANopen 设备和应用行规广泛用于多种设备类别和应用,如 I/O 组件、驱动、编码器、比例阀、 液压控制器,以及用于塑料或纺织行业的应用行规等。EtherCAT 可以提供与 CANopen 机制相同的 通讯机制,包括对象字典、PDO(过程数据对象)、SDO(服务数据对象),甚至相似的网络管理。 因此,在已经实施了 CANopen 的设备中,仅需稍加变动即可轻松实现 EtherCAT,绝大部分的 CANopen 固件都得以重复利用。并且,可以选择性地扩展对象,以便利用 EtherCAT 所提供的巨大 带宽资源。

EtherCAT 协议在应用层支持 CANopen 协议,并作了相应的补充,其主要功能有: 

使用邮箱通信访问 CANopen 对象字典和对象,实现网络初始化; 

使用 CANopen 应用对象和可选的时间驱动 PDO 消息,实现网络管理; 

使用对象字典映射过程数据,周期性传输指令数据和状态数据。

图为 CoE 设备结构图,其通讯方式主要包括周期性过程数据通信及非周期数据通信。 下文会分别介绍两者在实际应用中的区别。

clip0056

设备结构图

1) CoE 对象字典

CoE 协议完全遵从 CANopen 协议,其对象字典的定义也相同,如表 12-32 所示。表 12-33 列举 了 CoE 的通信数据对象,其中针对 EtherCAT 通信扩展了相关通信对象 0x1C00~0x1C4F,用于设置 存储同步管理器的类型、通信参数和 PDO 数据分配。

索引号范围

描述

0x0000 - 0x0FFF

数据类型描述

0x1000 - 0x1FFF

通信对象包括: 设备类型、标识符、PDO 映射、与 CANopen 兼容 CANopen 专用数据对象,在 EtherCAT 中保留 EtherCAT 扩展数据对象

0x2000 - 0x5FFF

制造商定义对象

0x6000 - 0x9FFF

行规定义数据对象

0xA000 - 0xFFFF

保留

CoE 对象字典定义

 

索引

描述

0x1000

设备类型

0x1001

错误寄存器

0x1008

设备商设备名称

0x1009

制造商硬件版本

0x100A

制造商软件版本

0x1018

设备标识符

0x1600 - 0x17FF

RxPDO映射

0x1A00 - 0x1BFF

TxPDO映射

0x1C00

同步管理器通讯类型

0x0x1C10 - 0x1C2F

过程数据通信同步管理器PDO分配

0x0x1C30 - 0x1C4F

同步管理参数

CoE 通信数据对象

2) CoE 周期性过程数据通信(PDO)

周期性数据通信中,过程数据可以包含多个 PDO 映射数据对象。CoE 协议使用的数据对象 0x1C10~0x1C2F 定义相应的 PDO 映射通道。表为 EtherCAT 协议中对该通讯数据的具体结构。

clip0057

以下针对 SM2 PDO(0x1C12)进行分配举例,表 12-35 列出了其取值实例。如 PDO0 中映射 了两个数据,第一个通讯变量为控制字,对应映射的索引及子索引地址为 0x6040:00;第二个通 讯变量目标位置值,对应映射的索引及子索引地址为 0x607A:00。

clip0058

PDO 映射有以下几种方式:

(1) 简单设备不需要映射协议: 

使用简单的过程数据 

在从站的 EEPROM 中读取。

(2) 可读取的 PDO 映射: 

固定过程数据映射 

使用 SDO 通信读取

(3) 可选择的 PDO 映射 

多组固定的 PDO 通过对象 0x1C1X 选择 

通过 SDO 通信读取

(4) 可变的 PDO 映射 

通过 CoE 通信配置

 

3) CoE 非周期性过程数据通信(SDO)

EtherCAT 主站通过读写邮箱数据 SM 通道实现非周期性数据通信。CoE 协议邮箱数据结构如图所示。

clip0059

CoE 数据头

针对图 12.120 中的编号部分在表 12-36 中有详细的解释。

clip0060

 SDO 服务 CoE 通信服务类型 2 和 3 为 SDO 通信服务,SDO 数据结构如图 12.121 所示。

clip0061

SDO 按传输方式通常有如下三种类型, 表 12-37 为 SDO 数据帧具体的内容。其结构 图如图 12.122 所示:

快速传输服务:与标准的 CANopen 协议 相同,只使用 8 个字节,最多传输 4 个字节有 效数据。

常规传输服务:使用超过 8 个字节,可 以传输超过 4 个字节的有效数据,最大可传 输的有效数据取决于邮箱 SM 所管理的存储区 容量。

分段传输服务:对于超过邮箱容量的情 况,使用分段的方式进行传输。

clip0062

clip0063

如果要传输的数据大于 4 个字节,则使用常规传输服务;在常规传输时用快速时的 4 个数据字 节表示要传输的数据的完整大小,用扩展数据部分传输有效数据,有效数据的最大容量为邮箱容量 减去 16。

 

2. IEC 61800-7-204 的伺服驱动行规(SERCOS)

SERCOS 被公认为用于高性能实时系统的通讯接口,尤其适用于运动控制的应用场合。用于伺服驱动和通讯技术的 SERCOS 行规属于 IEC61800-7-204 标准的范畴。该伺服驱动行规到 EtherCAT的映射( SoE )在 304 部分定义。用于访问位于驱动中的全部参数以及功能的服务通道基于EtherCAT 邮箱。在此,关注焦点还是 EtherCAT 与现有协议的兼容性(访问 IDN 的数值、属性、名称、单位等),以及与数据长度限制相关的扩展性。过程数据,即格式为 AT 和 MDT 的SERCOS 数据,都使用 EtherCAT 设备协议机制进行传送,其映射与 SERCOS 映射相似。并且,EtherCAT 从站的状态机也可以非常容易地映射为 SERCOS 协议状态。

1) SoE 状态机

SERCOS 协议的通信阶段与 EtherCAT 状态机的比较图如图 12.123 所示,其特点有以下几个方面:

(1) SERCOS 协议通信阶段 0 和 1 被 EtherCAT 初始化状态覆盖;

通信阶段 2 对应于与运行状态,允许使用邮箱通信实现服务通道,操作 IDN 参数;

(2) 通信阶段 3 对应于安全运行状态,开始传输周期性数据,只有输入数据有效,输出数据被忽略,同时可以实现时钟同步;

(3) 通信阶段 4 对应于运行阶段,所有的输入和输出都有效;

(4) 不使用 SERCOS 协议的阶段切换过程命令 S-0-0127(通信阶段 3 切换检查)和 S-0-0128(通信阶段 4 切换检查),分别由 PS 和 SO 状态转化取代;

(5) SERCOS 协议只允许高级通信阶段向下切换到通信阶段 0,而 EtherCAT 允许任意的状态向下切换(如图 12.123 的 a)所示)。例如从运行状态切换到安全运行状态,或从安全运行状态切换到预运行状态。SoE 也应该支持这种切换 12.123 的 b)中所示,如果从站不支持,则应该 EtherCAT AL 状态寄存器中设置错误位。

clip0064

2) IDN 继承

SoE 协议继承 SERCOS 协议的 DIN 参数定义。每个 IDN 参数都有一个唯一的 16 位标识号 IDN, 对应一个唯一的数据块,保存参数的全部信息。数据块由 7 个元素组成,如表 12-38 所列。IDN 参 数分为标准数据和产品数据两部分,每部分又分为 8 个参数组,使用不同的 IDN 表示,如表 12-39 所列。

clip0065

在使用 EtherCAT 作为通信网络时,取消了一些 SERCOS 协议中用于通信接口控制的 IDN,如 表 12-40 所列。此外,还对一些 IDN 的定义做了些修改,如表 12-41 所列。

clip0066

3) SoE 周期性过程数据

输入过程数据(MDT 数据内容)和输入过程数据(AT 数据内容)由 S-0-0015、S-0-0016 和 S0-0024 配置。过程数据不包括服务通道数据,只有周期性过程数据。输出过程数据包括伺服控制字 和指令数据,输入过程包括状态字和反馈数据。S-0-0015 设定了周期性过程数据的类型,如表 12- 42 所列,参数 S-0-0016 和参数 S-0-0024 如表 12-43 所列。主站在“预运行”阶段通过邮箱通信写 这三个参数,以配置周期性过程数据的内容。

clip0067

4) SoE 非周期性服务通道

EtherCAT SoE 服务通道 SSC(SoE Service Channel)由 EtherCAT 邮箱通信功能完成,它用于 非周期性数据交换,如读写 IDN 及其元素。SoE 数据头格式如图 12.124 所示。

clip0069

表 12-44 为针对 SoE 命令部分的的具体内容及描述。

clip0070

常用的 SSC 操作包括 SSC 读操作、SSC 写操作和过程命令。 

SSC 读操作:SSC 读操作由主站发起,写 SSC 请求到从站。从站接收到读操作请求后,用 所请求的 IDN 编号和数据值作为回答。主站可以同时读多个元素,从站应该同时回答多个元素, 如果从站只支持单个元素操作,应该以所请求的第一个元素作为响应。 

SSC 写操作:该操作用于主站下载数据到从站,从站应该以写操作的结果回答。分段操作 由一个或多个分段写操作及一个 SSC 写响应服务组成。 

SSC 过程命令:过程命令是一种特殊的非周期数据,每一个过程命令都有唯一标识的 IDN 和规定的数据元素,用于启动伺服装置的某些特定功能或过程。执行这些功能或过程通常需要一段 时间,过程命令只是触发其开始,随后它所占用的服务通道立即变为可用,用以传输其他非周期数 据或过程命令,而不用等到被处罚的功能或过程不惜执行完毕。