<< 点击显示目录 >> 主页 EtherCAT使用助手 > EtherCAT概念说明 > EtherCAT伺服驱动器控制应用协议 |
IEC 61800 标准系列是一个可调速电子功率驱动系统通用规范。其中 IEC 61800-7 定义了控制 系统和功率驱动系统之间的通信接口标准、包括网络通信技术和应用行规,如图 所示。 EtherCAT 作为网络通信技术,支持了 CANopen 协议中的行规 CiA 402 和 SERCOS 协议的应用层, 分别称为 CoE 和 SoE。
IEC 61800-7 体系结构
CANopen 设备和应用行规广泛用于多种设备类别和应用,如 I/O 组件、驱动、编码器、比例阀、 液压控制器,以及用于塑料或纺织行业的应用行规等。EtherCAT 可以提供与 CANopen 机制相同的 通讯机制,包括对象字典、PDO(过程数据对象)、SDO(服务数据对象),甚至相似的网络管理。 因此,在已经实施了 CANopen 的设备中,仅需稍加变动即可轻松实现 EtherCAT,绝大部分的 CANopen 固件都得以重复利用。并且,可以选择性地扩展对象,以便利用 EtherCAT 所提供的巨大 带宽资源。
EtherCAT 协议在应用层支持 CANopen 协议,并作了相应的补充,其主要功能有:
•使用邮箱通信访问 CANopen 对象字典和对象,实现网络初始化;
•使用 CANopen 应用对象和可选的时间驱动 PDO 消息,实现网络管理;
•使用对象字典映射过程数据,周期性传输指令数据和状态数据。
图为 CoE 设备结构图,其通讯方式主要包括周期性过程数据通信及非周期数据通信。 下文会分别介绍两者在实际应用中的区别。
设备结构图
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 协议中对该通讯数据的具体结构。
以下针对 SM2 PDO(0x1C12)进行分配举例,表 12-35 列出了其取值实例。如 PDO0 中映射 了两个数据,第一个通讯变量为控制字,对应映射的索引及子索引地址为 0x6040:00;第二个通 讯变量目标位置值,对应映射的索引及子索引地址为 0x607A:00。
PDO 映射有以下几种方式:
(1) 简单设备不需要映射协议:
•使用简单的过程数据
•在从站的 EEPROM 中读取。
(2) 可读取的 PDO 映射:
•固定过程数据映射
•使用 SDO 通信读取
(3) 可选择的 PDO 映射
•多组固定的 PDO 通过对象 0x1C1X 选择
•通过 SDO 通信读取
(4) 可变的 PDO 映射
•通过 CoE 通信配置
3) CoE 非周期性过程数据通信(SDO)
EtherCAT 主站通过读写邮箱数据 SM 通道实现非周期性数据通信。CoE 协议邮箱数据结构如图所示。
CoE 数据头
针对图 12.120 中的编号部分在表 12-36 中有详细的解释。
SDO 服务 CoE 通信服务类型 2 和 3 为 SDO 通信服务,SDO 数据结构如图 12.121 所示。
SDO 按传输方式通常有如下三种类型, 表 12-37 为 SDO 数据帧具体的内容。其结构 图如图 12.122 所示:
•快速传输服务:与标准的 CANopen 协议 相同,只使用 8 个字节,最多传输 4 个字节有 效数据。
•常规传输服务:使用超过 8 个字节,可 以传输超过 4 个字节的有效数据,最大可传 输的有效数据取决于邮箱 SM 所管理的存储区 容量。
•分段传输服务:对于超过邮箱容量的情 况,使用分段的方式进行传输。
如果要传输的数据大于 4 个字节,则使用常规传输服务;在常规传输时用快速时的 4 个数据字 节表示要传输的数据的完整大小,用扩展数据部分传输有效数据,有效数据的最大容量为邮箱容量 减去 16。
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 状态寄存器中设置错误位。
2) IDN 继承
SoE 协议继承 SERCOS 协议的 DIN 参数定义。每个 IDN 参数都有一个唯一的 16 位标识号 IDN, 对应一个唯一的数据块,保存参数的全部信息。数据块由 7 个元素组成,如表 12-38 所列。IDN 参 数分为标准数据和产品数据两部分,每部分又分为 8 个参数组,使用不同的 IDN 表示,如表 12-39 所列。
在使用 EtherCAT 作为通信网络时,取消了一些 SERCOS 协议中用于通信接口控制的 IDN,如 表 12-40 所列。此外,还对一些 IDN 的定义做了些修改,如表 12-41 所列。
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 所列。主站在“预运行”阶段通过邮箱通信写 这三个参数,以配置周期性过程数据的内容。
4) SoE 非周期性服务通道
EtherCAT SoE 服务通道 SSC(SoE Service Channel)由 EtherCAT 邮箱通信功能完成,它用于 非周期性数据交换,如读写 IDN 及其元素。SoE 数据头格式如图 12.124 所示。
表 12-44 为针对 SoE 命令部分的的具体内容及描述。
常用的 SSC 操作包括 SSC 读操作、SSC 写操作和过程命令。
• SSC 读操作:SSC 读操作由主站发起,写 SSC 请求到从站。从站接收到读操作请求后,用 所请求的 IDN 编号和数据值作为回答。主站可以同时读多个元素,从站应该同时回答多个元素, 如果从站只支持单个元素操作,应该以所请求的第一个元素作为响应。
•SSC 写操作:该操作用于主站下载数据到从站,从站应该以写操作的结果回答。分段操作 由一个或多个分段写操作及一个 SSC 写响应服务组成。
•SSC 过程命令:过程命令是一种特殊的非周期数据,每一个过程命令都有唯一标识的 IDN 和规定的数据元素,用于启动伺服装置的某些特定功能或过程。执行这些功能或过程通常需要一段 时间,过程命令只是触发其开始,随后它所占用的服务通道立即变为可用,用以传输其他非周期数 据或过程命令,而不用等到被处罚的功能或过程不惜执行完毕。