摘要:伺服电机是工业现场常见的运动单元,可以配合合适的回转部件和滚轴丝杠等实现执行机构的旋转或直线运动,在新能源电机回转部件的在线检测、振动试验台的运动控制等领域有着广泛的应用。伺服电机有着多种控制模式,可实现对电机多种运动方式的精确控制。本文介绍采用德国Beckhoff公司主导研发的EtherCAT工业现场总线技术,通过Beckhoff CX系列运动控制器,针对采用CANOpen通信协议的电机,实现CoE(CANOpen Over EtherCAT)通信下针对台达伺服电机的混合运动控制系统的实现流程及方法。
1.引言
伺服电机是工业领域内常用的运控单元和动力输出单元,通过配合相应的运动机构可以实现特定的运动方式。伺服电机具有电时间常数小、线性度高等特点,可以在环、速度还和电流环通过伺服电机驱动器实现精确控制,因此,在新能源汽车动力总成制造、传动部件在线检测等领域应用广泛,用以实现高精度位置、转速、扭矩控制。
伺服电机是一个典型的伺服系统,通常由电机本体、编码器和控制器组成。电机本体通常分为有刷永磁电机、电子换向无刷电机、交流电机和交流无刷永磁电机集中。其中有刷永磁电机机构最为简单,电子换向无刷电机通常用于小型工控环境,针对大型工控环境,通常采用交流电机,在性能要求苛刻的环境中则需要采用交流无刷永磁电机。编码器是实现伺服电机精确控制的关键,电阻电位器是实现伺服电机编码器最简单的方式,而现在最常用的伺服电机编码器为旋转编码器,分为绝对值编码器和增量式编码器两种,前者可以记忆电机所处的位置,但造价高,后者结构更为简单造价低廉。
伺服电机与驱动器间的通信方式通常有CANOpen和Sercos两种。CANOpen协议是在ISO11898基础上的应用层协议,通过PDO映射的方式实现电机控制命令的下发和读取,Sercos协议是用于数字伺服和传动系统间的现场总线接口与数据交换协议,以上两种总线协议都很好的实现了伺服电机控制中的实时性要求,为实时性总线协议,若无法在截止期完成相应的通信和控制任务,则驱动器会做出相应报警。
本文介绍了一种采用Beckhoff CX系列控制器,通过EtherCAT将CANOpen协议封装的伺服电机通信及控制方案,利用支持CANOpen台达伺服电机驱动器ASDA-A2实现对XXXX信号电机的控制。采用STL语言对CX系列运动控制器编程,实现伺服电机的状态机转换、上电与失电、运动模式的切换与运动控制。
2.EtherCAT工业现场总线介绍
2.1 EtherCAT通信协议
EtherCAT工业现场总线通信协议底层采用的是EtherNet帧结构,用采用识别码0x88A4作为识别EtherCAT帧的信号。由于采用短周期过程数据,无需再采用类似于EtherNet协议栈中的TCP/IP或UDP/IP协议。然而,为确保EtherCAT网络中每个节点的IT通信,也可以采用邮箱信道进行传输,同时保证通信的实时性。
EtherCAT帧结构通常包含1个或多个报文,每个报文的报头蕴含了EtherCAT主站所进行访问类型的信息,例如:
(1)读/写/读写;
(2)通过绝对寻址方式访问单个EtherCAT从站/通过相对地址访问多个EtherCAT从站;
在信息更新时,EtherCAT主站仅需在整个报文中的一帧插入新输出信息,并通过DMA方式将数据帧发送至媒体接入层控制器中。当控制器检测到帧中包含有更新数据时,EtherCAT主站将再次采用DMA方式将这一帧拷贝至内存中。
2.2 EtherCAT工业现场网络拓扑结构
EtherCAT支持多种网络拓扑结构,如先线状、星状、星状、菊花链和混合网络拓扑结构,同时,利用级联交换机或者集线器的方式,EtherCAT可以是实现几乎无限的网络维度。EtherCAT同样支持多种通信介质,采用100BASE-TX实现间隔约100米的通信,这种通信的代价较为低廉。同样,采用EtherCAT P技术,可以实现单电缆同时进行电源供给与通信。采用单/多模光纤介质,可以实现长距离EtherCAT通信。
2.3 Distributed Clock分布式时钟同步技术
在分布式控制系统中,尤其是空间尺度较大的分布式系统中,各个分布式控制单元需要协同完成某项任务,这就需要网络中实现大规模精准的时钟同步。与集总式时钟同步相比,分布式时钟同步技术(Distributed Clock)针对时钟抖动有较强的鲁棒性。
分布式时钟同步中的时钟校准完全采用硬件实现。网络中的第一个DC从站周期性地将本地时钟广播至网络中其他的从站,通过这种方式,其余从站都可以计算和参考时钟之间的漂移,从而使整个系统的时钟抖动小于1μs。尽管如此,参考时钟在网络中传播至各个从站会产生一点的时延,需要对时延进行检测和补偿才能保证网络中不同单元的同步性与并发性。传输时延的检测通常在网络建立阶段实行,也可以根据需求贯穿于整个网络运行中,用于确保时钟同步的精度小于1μs。采用分布式时钟同步技术可以有效地减轻EtherCAT主站地计算和通信负担,分布式从站可以自行根据本地时钟触发相应的任务。
3.基于EtherCAT的工业现场总线的CANOpen伺服电机控制
在控制采用CANOpen通信协议的伺服电机时,采用EtherCAT作为底层封包。在CANOpen协议中的SDO(Service Data Objects)可以直接兼容进EtherCAT帧结构内,PDO(Process Data Objects)则含有8个字节的限制,需要重新在EtherCAT中进行封装。在通过CANOpen进行伺服电机控制时需要按照协议状态机的转换模式在“START”、“OPERATION ENABLE”、“SWITCHED ON”、“READY TO SWITCH ON”、“SWITCHED DISABLE”、“NOT READY TO SWITCH ON”、“QUICK STOP”、“FAULT”、“FAUTL REACTION ACTIVE”状态中切换,这需要在PLC中编程实现对PDO中“Control word”的映射与控制字写入。针对电机运动模式的切换与控制需要在控制字“Modes of Operation”中进行写入。具体实现方式见下节描述。
4.系统构成及控制方案实现
4.1 基于EtherCAT的CANOpen电机控制软硬件系统
实现该系统我们采用的软硬件如表1所示:
表1 系统软硬件表
实物连接图如图1所示:
4.2 CANOpen伺服电机状态机
CANOpen伺服电机会经历START、OPERATION ENABLE(可操作)、SWITCHED ON(可操作)、READY TO SWITCH ON(准备好接通电源)、SWITCHED DISABLE(不可接通电源)、NOT READY TO SWITCH ON(未准备接好电源)、QUICK STOP(急停)、FAULT(错误)、FAUTL REACTION ACTIVE(出错反应)等状态,状态机之间的转换如图2所示。
4.3 TWINCAT 2中伺服电机运动控制实现
首先,在TWINCAT 2中编写代码,定义相应的输入输出变量,其中I区为输入变量,对应驱动器的控制字(status word),Q区为输出变量,对应驱动器的控制字(control)word。定义完成后,在TWINCAT 2中扫描找到驱动器,并选定相应的TXPDO和RXPDO,如图3所示,并在相应PDO中添加合适的通信字节,例如actual position,modes of operation等。
图1 实物连接图
图 2状态机转换图
图3 PDO映射
其次,进行运动控制器中定义的输入输出变量与驱动器中PDO中通信变量的映射。
最后,编写程序实现图1中状态机的状态转移图,实验中设置伺服电机工作在位置控制模式,所以将赋值为8,通过下发位置数据实现对电机的位置控制,如图4所示。
图 4程序(部分)
5.结束语
本位通过Beckhoff CX5020运动控制器和台达ADSA-A2伺服驱动器及台达伺服电机实现了混合系统下的基于EtherCAT的CANOpen伺服电机控制。采用EtherCAT实现了基于以太网的工业控制,结合使用台达开发的支持EtherCAT工业现场总线的伺服电机系统可以实现较低成本、较高精度的伺服控制。
作者简介
左根明(1975-12),男,汉族,籍贯:安徽省铜陵市,当前职务:技术员,当前职称:中级,学历:大专,研究方向:电气自动化。
论文作者:左根明,孟勇
论文发表刊物:《电力设备》2018年第16期
论文发表时间:2018/10/1
标签:伺服电机论文; 电机论文; 时钟论文; 通信论文; 分布式论文; 协议论文; 编码器论文; 《电力设备》2018年第16期论文;