伺服驱动器 Et herCA T 接口设计
李文虎 ,李叶松 ,王江城
(华中科技大学 控制科学与工程系 ,湖北 武汉 430074)
摘要 :为将工业以太网技术应用于运动控制领域 ,简单介绍了 EtherCA T
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
,描述了实现伺服驱动器
EtherCA T 协议通讯接口的设计过程。重点分析了将 CANopen 相关行规映射到 EtherCA T 协议的基本方法
和针对伺服运动控制的应用层软件设计 ,给出了软件实现的基本框架、流程和要点。最后给出了网络化伺服
驱动系统的实际控制结果 ,运行结果表明 EtherCA T 能够很好地满足运动控制领域的高要求。
关键词 : EtherCA T ;伺服驱动器 ;软件设计
中图分类号 : TP393 文献标识码 :A
Design of Servo Driver Communication Interface Based on EtherCAT Protocol
L I WenΟhu ,L I YeΟsong ,WAN G JiangΟcheng
( Department of Cont rol S cience and Engineering , H uaz hong Universit y of Science
and Technolog y , W uhan 430074 , H ubei , Chi na)
Abstract :To apply the indust rial ethernet technology in motion control filed ,the EtherCA T protocol was
generally int roduced ,mainly described the design procedures of realizing the EtherCA T communication inter2
face on servo driver. It emphasized on the methods of combining the CANopen protocol with EtherCA T proto2
col and the design of application layer software of servo motion control ,the basic f rame ,flow and point s were
given to build the software. Finally ,practical operation result s of this networkΟbased servo drive system were
given to verify the validity. The result s show that EtherCA T can satisfy the st rict requirement s of motion con2
t rol.
Key words :EtherCA T ;servo driver ;software design
基金项目 :国家科技重大专项 (2009ZX04010 - 011 - 01)
作者简介 :李文虎 (1986 - ) ,男 ,硕士研究生 ,Email : HustLiwh @gmail . com
1 引言
随着伺服系统对动态响应和控制精度的要求
不断提高 ,实际系统间传递信息的规模和复杂度
也在不断增加 ,这给运动控制系统提出了更高的
要求 ,将工业以太网技术运用于伺服驱动系统中 ,
使系统实现高速度、高精度、同步协调控制成为
可能。
Et herCA T 作为一种工业以太网协议 ,采用
标准以太网帧格式和集总帧结构 ,利用特殊的逻
辑地址映射功能有效地提高网络带宽的利用率 ,
从站设备在报文经过时进行数据交换且整个过程
都由硬件完成 ,具备良好的实时能力 ,适应小数据
量通讯 ,在性能、灵活性和操控性等方面都有良好
的表现。
本文分析研究了在伺服驱动器中将 Et her2 CA T 协议与 CANopen DSP402 驱动与运动控制行规相结合的方法 ,设计了伺服驱动系统的工业以太网通讯接口 ,实现了多种运动控制模式。2 伺服驱动器网络接口设计2. 1 整体结构伺服驱动系统以太网通讯接口整体框架的分层结构如图 1 所示 ,总体构成了 CANopen overEt herCA T (Co E) 的结构。伺服驱动器在 Et her2CA T 网络中扮演从站的角色 ,其物理层和数据链路层的功能完全由硬件实现 ,软件设计集中于应用层和应用的功能实现。2. 2 硬件资源描述EtherCA T 采用普通以太网物理层结构 ,由RJ 45 接口、网络变压器和网络收发器构成。数据链路层的功能由专用控制芯片 Et herCA T 从站控
15
EL ECTRIC DRIV E 2011 Vol. 41 No. 7 电气传动 2011 年 第 41 卷 第 7 期
图 1 分层参考模型
Fig. 1 Multilayer reference model
制器 ( ESC) ET1100 实现 ,其主要工作是解析报
文、负责数据交换、进行帧校验等 ,为数据的实时
通讯提供基本的保障 ,主站和从站经由 ESC 中的
双口 RAM 交换数据。数据链路层和物理层通过
MII接口通讯。应用层以及运动控制相关具体应
用的功能使用 DSP 实现。DSP 通过外部接口
(XIN TF)与 EtherCAT 从站控制器通讯 ,ESC 的外
部设备接口 (PDI)配置为 16 位异步微控制器类型 ,
同时相关控制信号的有效电平也需和 DSP 匹配 ,
这些配置由一块与 ESC相连的 EEPROM 来管理。
2. 3 软件设计
按照以太网参考模型进行软件设计 ,使得软
件功能可以很清晰的分层实现 ,同时将每一层服
务划分为相对独立的功能模块 ,这样整个软件结
构是高内聚、低耦合的 ,能够简化实现过程 ,同时
也便于功能的扩充和改善。
2. 3. 1 应用层设计
应用层主要完成与通讯相关的功能 , 以
CANopen 应用和通讯子协议 DS301 为基础 ,其
主要功能模块如图 2 所示。其中状态机维护、邮
箱服务以及 SDO 服务等对实时性要求不高的功能
在程序的背景循环中轮询执行即可 ,对要求实时响
应的 PDO 服务则采用中断处理。以下分别介绍实
现应用层各个功能模块的设计要点和主要流程。
图 2 应用层结构框图
Fig. 2 St ructure of t he application layer
1) EtherCA T 网络通讯状态机。Et herCA T
从站需要维护一个通讯状态机 ,用于主站和从站
进行握手 ,决定各自当前能够进行的操作和提供
的服务 ,其结构[1 ] 如图 3 所示。状态转换请求一
般由主站发起 ,从站响应。软件设计的关键在于
决定状态切换时从站应执行哪些任务 ,对此表 1
给出了具体的描述。
图 3 Et herCA T 网络通讯状态机
Fig. 3 Communication state machine of Et herCA T network
表 1 EtherCAT通讯状态机状态切换动作
Tab. 1 Actions according to Et herCA T
communication state machine
IP
主站对从站进行必要配置 ,如站地址 ,用于邮箱通讯的
同步管理器 ,分布时钟的初始化等 ,并请求进入 PRE2
OP ;从站获取同步管理器 0 和 1 的配置信息 ,并对其起
始地址、长度等信息进行检测 ,成功则进入 PREOP 状态
并开启邮箱服务 ,否则停在 INIT 状态并提供错误代码
PS
主站通过邮箱服务传输相关参数如 PDO 分配等 ,同时
配置相关寄存器如用于过程数据交换的同步管理器和
FMMU ,并请求进入 SAFEOP ;从站获取同步管理器 2
和 3 的配置信息 ,检测起始地址、长度 ,检测 PDO 分配
信息 ,同时设置 ESC 中断屏蔽寄存器用于过程数据中
断 ,如果使用分布时钟还需检测其配置 ,成功则进入
SAFEOP 状态并开启过程数据输入服务 ,否则停在
PREOP 并给出错误代码
SO
主站发送有效过程数据输出 ,请求进入 OP ;从站检测是
否有有效的过程数据输出数据到达 ,成功则进入 OP 状
态并开启过程数据输出服务 ,否则停留在 SAFEOP 并
指示出错原因
OS 停止过程数据输出服务
SP 停止过程数据输入服务
PI 停止邮箱服务
OP 停止过程数据输入和输出服务
OI 停止过程数据输入输出服务以及邮箱服务
SI 停止过程数据输入和邮箱服务
程序不断查询 ESC 中断标志寄存器 ,在发现
主站有状态转换请求时读取状态请求寄存器 ,结
合当前状态 ,按照上述表格描述过程执行通讯服
务状态机切换。
2)邮箱服务。Et herCA T 定义了邮箱服务协
议 ,为具体应用层协议提供一个统一接口 ,用于非
实时数据通信 ,CANopen 中的 SDO 服务就以此
为基础实现。实现此功能关键是理解 Et herCA T
25
电气传动 2011 年 第 41 卷 第 7 期 李文虎 ,等 :伺服驱动器 EtherCA T 接口设计
非周期性数据的处理方式。ESC 中的同步管理
器用于管理主站和从站之间的数据交换 ,它可以
工作于邮箱模式 ,此时管理的 RAM 空间需要主
从双方握手访问 ,保证一方发送的消息另一方一
定能够接收到 ,同时同步管理器能够以中断或标
志的方式通知双方数据的变化。
实际实现中 ,将两个同步管理器与邮箱服务
绑定 ,一般为同步管理器 0 和 1 ,分别用于主站请
求邮箱服务和从站回复。软件实现的流程为 :查
询 ESC 中断标志寄存器 ,如果有同步管理器 0 事
件 ,则说明有邮箱服务请求 ,读取此同步管理器所
管理地址空间中的数据 ,按照邮箱协议格式进行
解析 ,得到实际的高层服务如 SDO 下载请求 ,并
交由对应功能模块处理。服务处理完成后按照邮
箱服务协议封装数据写入同步管理器 1 ,作为邮
箱服务回复等待主站读取。
3) SDO 服务。SDO 服务用于主站访问从站
对象字典。Co E 中 SDO 服务报文帧格式完全与
CANopen 协议相兼容 ,且突破了 CANopen 对报
文 8 字节长度的限制。软件实现上主要有两方面
的考虑 : ①根据实际应用需求进行服务类型选择 ,
Co E 中一般只需提供基本形式的上传和下载服
务即能满足应用要求 ; ②进行必要的条件检验。
SDO 服务需要读写对象字典 ,对服务的索引和子
索引项、数据的长度和大小、访问权限等都应该有
一个相对严格的检验。软件实现的流程 :判断服
务类型 ,访问对象字典 ,给出回复。
4) PDO 服务。PDO 服务一般用于实时的周
期性数据通讯。在 Co E 中此部分功能与 CANo2
pen 实现过程数据交换的机制有所不同。在
CANopen 中首先设定对象字典中 PDO 映射和
PDO 通讯参数等相关项的内容 , 从站接收到
PDO 报文时根据报文类型确定 PDO 对象 ,再根
据对应 PDO 映射装载有效数据到对象字典。在
Co E 中 ,PDO 映射方式没变 ,但以 PDO 同步管理
器分配项取代 PDO 通讯参数项。该索引项直接
将 PDO 映射与同步管理器相关联 ,这样从站能直
接将相应同步管理器所管理 RAM 空间中的数据
映射到对象字典中去 ,实现过程数据交换。
与邮箱服务相似 ,实际软件实现时 ,将两个同
步管理器与 PDO 服务绑定 ,一般为同步管理器 2
和 3 ,分别用于 RxPDO 和 TxPDO 传输。此时同
步管理器配置为缓冲模式 ,这样能保证接收方总
是能够得到当前最新的数据。
2. 3. 2 应用设计
为实现伺服驱动器相关运动控制功能 ,本文
引入 CANopen DSP402 行规作为设计标准。它
是针对驱动和运动控制的 CANopen 设备子协
议 ,其主要的功能模块如图 4 所示。
图 4 应用结构框图
Fig. 4 St ructure of t he application
1) DSP402 设备控制状态机实现。DSP402
状态机定义了从站设备的控制时序 ,每一个状态
都限制了设备能够接受的指令和执行的动作。状
态机切换流程[2 ] 如图 5 所示 ,主站写控制字请求
状态转换 ,从站查询控制字发现有状态切换请求
时执行相应动作 ,并将实际状态写入状态字作为
回复 ,在检测到内部错误时从站主动进入错误状
态。从站状态切换过程中需执行操作如表 2 所示。
图 5 CANopen DSP402 状态机
Fig. 5 State machine of CANopen DSP402
表 2 伺服驱动器设备控制状态机切换动作
Tab. 2 Actions according to t he device cont rol
state machine of t he servo driver
0 ,2 ,7 空操作
3 上强电
4 开始驱动电机
5 停止驱动电机
6 ,10 断强电
8 ,9 停止驱动电机 ,断强电
13
驱动器内部出错 ,设置错误标志 ,进入错误
响应状态
14 错误响应完毕自动转换
15 主站发送清除错误请求 ,如果本地无错误则退出错误状态否则保持原状态
35
李文虎 ,等 :伺服驱动器 EtherCA T 接口设计 电气传动 2011 年 第 41 卷 第 7 期
设计上需要注意 : ①DSP402 状态机在 Et h2
erCA T 通讯状态机进入运行状态之后才允许进
行操作 ,这也就意味着 Et herCA T 通讯状态机退
出运行状态前也应该将 DSP402 状态机退回到起
始状态 ; ②在从站响应状态转换时要在所需动作
成功完成之后才能进入所请求的状态 ,否则应保
持原状态不变。
2)伺服控制协议实现。DSP402 协议定义了
多种运行模式来实现如位置、速度等运动控制功
能。对每一种运行模式 ,协议都规定了其实现的
基本框架 ,定义了对象字典中必要的索引项。本
系统实现的运行模式有用于位置控制的轨迹位置
模式和周期同步位置模式与用于速度控制的轨迹
速度模式和周期同步速度模式。这些模式的功能
都是以 PDO 服务为基础 ,应嵌入到 PDO 的中断
服务例程中去实现。运行模式之间的切换由主站
通过对象字典中的运行模式和运行模式显示 2 个
索引项来控制。下面以用于插补控制的周期同步
位置控制模式的协议实现加以说明。
周期同步位置模式总体控制框图如图 6 所
示 ,图 6 中给出了 TxPDO 和 RxPDO 的内容。与
轨迹位置模式的不同之处在于此模式下轨迹规划
的功能由主站完成 ,主站在每个通讯周期都需要
发送有效的目标位置值 ,从站只需根据插补周期
和自身位置环采样周期进行位置插补 ,得到实时
位置指令值用于位置控制。此模式充分利用了
EtherCA T 高速的通讯能力 ,简化了从站的任务 ,
能够方便地用于对多轴联动的控制。
图 6 周期同步位置控制结构框图
Fig. 6 Cont rol st ructure of t he cyclic
synchronous position mode
实际控制中 ,该模式相关参数如运行模式、
PDO 映射分配、插补周期等由主站在 Et herCA T
通信状态机由 PREOP 状态进入 SA FEOP 状态
前通过 SDO 服务配置 ,对应数据帧格式[1 ,3 ] 如图
7 所示。以设置插补周期参数为例 , ESC 根据子
报文中指令、地址和长度信息获取报文数据同时
产生同步管理器事件 ,从站检测到此事件进入邮
箱服务响应程序 ,按照图 7 中邮箱服务报文格式
解析子报文中数据 ,若邮箱服务类型为 Co E ,则按
图 7 中 Co E 服务报文格式解析邮箱服务中的数
据并进入 Co E 服务响应程序 ,如果 Co E 服务类型
为 SDO 请求 ,则按照图 7 中 SDO 服务格式解析
Co E 服务中数据并进入 SDO 服务程序 ,检测报文
中索引、子索引和长度项 ,最终将数据写入对象字
典的插补周期中。实时过程数据则通过 PDO 服
务传输 ,PDO 服务无报文头 ,子报文中数据即为
有效数据 ,如图 7 中 PDO 服务所示 , ESC 获取数
据并产生同步管理器事件 ,程序在 PDO 中断服务
例程中按照 PDO 映射解析数据获得 2 字节控制
字和 4 字节目标位置指令 ,同时反馈状态字和实
际位置值。
图 7 数据通讯帧格式
Fig. 7 Frame st ructure for communication
3 实验测试
以普通 PC 机作为主站 ,在 windows Ò环境
下 ,以倍福 (Beckhoff Ò)公司的 TwinCA T Ò软件
作为系统的上位机控制软件 ,从站为自行设计带
Et herCA T 接口的伺服驱动器。
测试系统实际参数如下 :通讯周期为 3 ms ,设
定电机 1 r 对应 40 mm ,最大速度限定为 1 200
mm/ s ,加速度设定为 1 200 mm/ s2 ,加速度变化设
定为 2 400 mm/ s3 ,轨迹规划采用 7 段 S 型加减速
模式。永磁同步电机的额定转速 1 200 r/ min ,最
大转速 2 000 r/ min ,反馈编码器分辨率为 19 位。
伺服驱动器位置环采样周期 300μs。
图 8 为周期同步位置模式下不同目标位置和
目标速度下的运行结果 ,主站每个通讯周期更新
其规划出的位置指令值 ,从站实时接收该指令用
45
电气传动 2011 年 第 41 卷 第 7 期 李文虎 ,等 :伺服驱动器 EtherCA T 接口设计
于位置控制。
图 8 周期同步位置运行结果
Fig. 8 Experimental result s of t he cyclic
synchronous position mode
图 9 为周期同步速度模式下运行结果 ,在此
模式下系统的轨迹规划和位置控制由主站处理 ,
主站利用当前规划出的位置值与从站反馈的位置
实际值进行调节得到速度指令值 ,从站直接使用
主站发送的速度指令实现速度控制。
图 9 周期同步速度运行结果
Fig. 9 Experimental result s of t he cyclic
synchronous velocity mode
上述结果中 , TwinCA T 根据反馈的实际位
置计算反馈速度。在实际运行中 ,受 Windows 操
作系统和主站硬件的影响 ,通过上位机的以太网
帧捕获工具发现主站系统会接近周期性的丢失
TwinCA T 的数据发送任务 ,导致从站丢失位置
指令 ,主站丢失位置反馈信息的情况 ,因此实际速
度结果存在明显跳变。
图 10 为轨迹位置模式下 ,分别以不同的轨迹
速度、加速度和目标位置进行轨迹规划的运行结
果 ,采用 S 型加减速模式 ,可以看出位置响应非常
平滑。
图 11 为轨迹速度模式下 ,分别以不同的目标
速度和轨迹加速度进行规划的运行结果 ,系统能
很好地实现速度的跟踪控制。
图 10 轨迹位置模式运行结果
Fig. 10 Experimental result s of t he
profile position mode
图 11 轨迹速度模式运行结果
Fig. 11 Experimental result s of t he profile velocity mode
4 结论
本文研究了在伺服驱动器上基于 Et herCA T
协议的通讯接口设计方法 ,结合 CANopen 行规
实现了针对伺服运动控制的应用层软件设计。将
Et herCA T 与 CANopen 相结合 ,能够充分发挥各
自的优势 ,并且有利于任务的分解 ,便于软件的模
块化设计。实际控制结果表明 Et herCA T 能够很
好地运用于对总线实时性、可靠性要求较高的运
动控制领域。
参考文献
[ 1 ] 国际电工委员会. 工业通讯网络. 数据总线规范. 第 6 - 12
部分 :应用层协议规范. 12 型元件 [ S ] . IEC 61158 - 6 - 12
2007.
[ 2 ] 国际电工委员会. 可调速电力传动系统. 第 7 - 201 部分 :
电力传动系统用剖面图的使用和通用接口. 1 型剖面图的
规范[ S] . IEC 61800 - 7 - 201 2007.
[ 3 ] 国际电工委员会. 工业通讯网络. 数据总线规范. 第 4 - 12
部分 :数据联络层协议规范. 12 型元件[ S] . IEC 61158 - 4 -
12 2007.
收稿日期 :2010209209
修改稿日期 :2011201220
55
李文虎 ,等 :伺服驱动器 EtherCA T 接口设计 电气传动 2011 年 第 41 卷 第 7 期