基于软PLC和EtherCAT总线的DELTA2机器人控制系统设计与实现
2015-03-09陈健杨亚威郑天江宋孙浩
陈健,杨亚威,郑天江,宋孙浩
(1.浙江省特种设备检验研究院,浙江杭州 310016;
2.中国科学院宁波材料技术与工程研究所,浙江宁波 315201)
基于软PLC和EtherCAT总线的DELTA2机器人控制系统设计与实现
陈健1,2,杨亚威2,郑天江2,宋孙浩2
(1.浙江省特种设备检验研究院,浙江杭州 310016;
2.中国科学院宁波材料技术与工程研究所,浙江宁波 315201)
由于传统PLC需要依赖于特定的软硬件,其硬件、软件系统封闭,系统开放性和扩展性不足,并且现场数据传输实时性不高。针对这些问题,提出了一种利用实时以太网EtherCAT协议通讯,基于PC的软PLC运动控制方案。该方案通讯总线采用分布式时钟技术,使用标准以太网协议,无需专用网卡,便能够实现多轴精确同步控制,适合高速机器人的高精度伺服控制。通过在DELTA2高速并联机器人上的测试分析,结果表明:该控制方案使机器人的运动控制性能得到了很大的提升。
软PLC;EtherCAT;DELTA 2;电子凸轮
0 前言
目前国内外大部分运动控制器均采用基于DSP和FPGA的多轴运动控制卡方式,其一般带有PCI接口,集成于PC的PCI插槽。但其系统布线复杂、可靠性差,可以控制的轴数有限,且技术封闭、拓展性差、价格昂贵,不易和工厂其他设备集成在一个控制系统中。
软PLC是集控制、人机界面、数据处理、通讯功能等集成于一台PC的解决方案。随着PC机性能的不断提升,数值计算、程序运行和逻辑处理能力大幅度提高。目前各大厂商都不断致力于把传统的硬PLC移植到PC平台上,通过不断的实践这种软PLC技术已经日趋成熟。例如西门子公司的WinAC、亚控的KinACT、3S公司的Codesys、然而这些公司的软PLC控制方案,应用范围还不太广泛,应用案例不多,实时性和稳定性得不到保证。德国的倍福公司在基于实时以太网EtherCAT的基础上,开发了一系列的软PLC集成方案,其应用结构简单、实时性高、开发调试方便,因此,本文作者选用了倍福的的TwinCAT控制平台进行了相关研究,该平台将修改了Windows的内核结构,结合倍福公司的EtherCAT技术,能够实现多达256轴的实时运动控制。
EtherCAT技术是德国倍福公司提出的一种新型实时工业以太网总线,其网络拓扑结构简单灵活,具有分布时钟的精确校准,100 Mb/s的传输速率,是目前最安全、可靠、高效的总线之一,特别适合那些快速而高性能的机械控制系统。EtherCAT技术的使用保证了软PLC的控制指令有效快速地传递到下位机执行,同时下位机接收的反馈信息也可以及时地传送到上位机进行处理。
1 基于PC的软PLC控制体系结构
软PLC将传统PLC的控制功能封装在软件内移植到了PC机上。如图1所示,根据传统的PLC体系结构,软PLC可以分为开发系统和运行系统两部分。开发系统和运行系统是客户/服务模式,上下间通过C-OM/DCOM模式通讯,运行环境作为服务器提供了标准通信接口。开发环境作为C-OM客户端应用,可以访存问这些接口后进行操作。
图1 软PLC体系结构
开发系统就是带有调试和编译功能的PLC编程器,现在实际是按照IEC61131-3标准设计的[1]。如图2所示,IEC61131-3软件模型是一种分层结构,描述了很多概念包括配置 (Configuration)、资源 (Resource)、任务 (Task)、程序 (Program)、功能块(Function Block)以及功能 (Function)等和它们之间的关系,将一个复杂的项目分成若干独立的单元,每个单元下又有单元。
图2 基于IEC61131-3标准软件模型
运行系统是软PLC的核心部分,是连接开发系统和具体硬件的枢纽。它通常包括虚拟机、I/O驱动程序、OPC服务程序等模块[2-3]。虚拟机解释执行由开发系统生成的目标代码,调取命令区的控制指令,代码区执行目标代码通过I/O驱动模块进行数据的输入输出处理,通过状态描述区可查看虚拟机运行状态。I/O口采用标准的OPC接口,OPC包括了一套接口、属性和方法的标准集,过程中无论是什么软件或设备,OPC都可以为控制设备间通信提供公共接口。例如通过OPC接口与SCADA相连实现监控功能。
软PLC将本来有DSP或者FPGA完成的功能全部集成到了计算机中处理,因此对于信号传输的实时性要求较高。所以必须运行在实时系统上。
2 DELTA2机械机构与运动学分析
2.1 DELTA2机器人结构介绍
DELTA2机器人如图3所示,由基座、动平台、以及两组分支运动链构成,各关节间采用铰接连接,两组从动臂由与肘关节相连的平行四边形机构构成,中间装有交叉加强筋用来消除铰链间隙,其中连架从动臂和右臂上增设了一根平行外从臂增强了运动平面的静、动刚度。工作时,伺服电机转动经由减速器减速后带动主动臂旋转,根据平行四边形姿态保持性原理,两从臂带动末端平台平动,在末端平台上可以根据需要安装不同的末端执行器来完成相应的工作。
图3 DELTA2机器人机构示意图
2.2 DELTA2机器人轨迹规划
DELTA2机械手主要用于平面内物体的抓取和放置操作。如图4所示,在一个工作周期内,机械手经过上升 (AD段)、平移 (DE段)和下降 (EH段)3个阶段,设计其最大行程为250 mm+680 mm+150 mm。为防止与抓取物件干涉,要求手抓在上升和下降阶段须有一定距离的直线运动 (AB段和GH段),且要保证一定的轨迹精度。
图4 DELTA2机器人运动示意图
在轨迹规划中,把末端的运动轨迹可粗分为AC,CF,FH三段,这里为进一步减小运动周期,将BD、EG段轨迹设计为弧线段,每段的运动过程为静止-加速-减速-静止,这样就要求其速度和加速度在起点和末点都为零。
在空间中先取8个关键点,通过运动学逆解解得关节空间中对应的关节变量,关节变量之间通过Spline插值,可以在关键点中加入更多的插值点,来节点控制弯曲程度的顺滑的自由曲线,这样很容易调节曲线的曲率和走向。由输出轴的速度、加速度和加加速度曲线图如图5所示,其速度大小小于等于100 rad/s,加速度大小均小于等于1 530 rad/s2,加加速度大小均小于等于12 000 rad/s3,运动时间过程冲击和终端抖动较小[4]。
图5 关节空间拟合曲线图
3 基于软PLC的DELTA2机器人控制系统方案
整个控制系统采用一台普通的工控机作为上位机硬件平台,使用倍福的TwinCAT作为软件控制平台,该平台主要完成系统管理、插补运算、运动学与动力学计算、机器人逻辑控制等任务。TwinCAT开发环境分为两部分,System Manager主要完成整个系统设置和I/O硬件的配置,而逻辑程序的编写和调试,都在PLC Conltrol中进行。此外运用PTP的电子凸轮功能控制机器人机械手臂,提高了机械手臂的速度和柔性[4]。
上位机与下位机,下位机内部之间采用级连方式连接,物理连接介质使用普通网线或光纤即可。DELTA2机器人采用2台倍福EtherCAT伺服电机经蜗轮蜗杆减速器减速后驱动机械臂运动。在两台伺服电机轴上安装有12位的绝对式编码器,通过倍福EtherCAT端子模块EL5001直接连接增量式编码器SSI接口。SSI接口电路产生一个脉冲信号来读取数据,并将数据流提供给控制器。这样整个系统构成一个半闭环的控制系统。由于整个控制系统采用了Ether-CAT的通讯方式,一跟网线一网到底,简化了布线和调试工作,节省很多空间,降低了系统成本。
在整个系统的设计当中,轨迹规划和运动插补计算都在上位机的软PLC中进行,计算结果在上位机转换为数字信号通过太网EtherCAT总线实时传输到下位机的伺服驱动器从而控制两个伺服电机联动,上位机控制单元每次根据编码器反馈的信息调整插补指令,控制机械臂运动。
4 程序设计与应用
DELTA2机器人的上位机控制程序主要分为三部分:(1)在TwinCAT System Manager里配置各个伺服轴的参数、虚拟一根时间轴作为主轴和两根NC轴作为从轴、绘制凸轮曲线表、加载PLC程序;(2)在TwinCAT PLC Control里编写控制程序,包括主从轴的启动、使能、停止、点动,以及调用凸轮表、凸轮的耦合与解耦[5];(3)基于ADS通讯,通过TwinCAT提供的通讯连接库文件,在Visual Studio软件中用C#编写机器人的控制界面。图6为系统控制图。
图6 系统控制图
整个系统主要运行步骤如下:
(1)在I/O-configuration选项卡中扫描I/O设备和从站读取所驱动电机的状态,并设置电子齿轮比。
(2)在NC-Configuration中添加一个NC-task1的任务,在Aixs中添加Master、Axis_L、Axis_R三根轴,其中Master作为时间主轴,Axis_L轴和Axis_R轴作为从轴跟随Master轴运动。
(3)在Tables添加一个DELTA2的电子凸轮表,在DELTA2下中添加两个从轴表,Axis_L表对应Axis_L轴,Axis_R表对应Axis_R轴,Master轴作为Axis_L轴和Axis_R轴共同的时间轴,这样即指定了主轴和从轴的耦合对应关系。
凸轮表有关键点模式和描点模式,前者可以指定关键点的主从轴位置并且可以自己定义相邻两点的差值方式,而后者仅仅指定每个点的主从位置,两相邻点之间为直线插值,因此选用描点方式的凸轮表,位置点必须很密集。这里使用关键点模式绘制凸轮表,在DELTA2的工作空间中选取8个关键点,经过运动学逆解得到相应的关节空间点后插入表格中。
TwinCAT PLC Control主要完成逻辑程序的编写和调试,PLC程序主要分为三部分,PLC轴配置模块、PLC轴控制模块和参数读取模块。其中配置模块主要实现各轴的使能和凸轮表的耦合功能。控制模块有匀速运动、主从轴的点动、绝对运动、相对运动及急停等功能。参数读取模块主要是读取运行轴的主要参数及系统运行信息。
ADS通信是BECKHOFF公司定义的一种协议,用于TwinCAT设备间的非周期性的通讯。在Visual Studio通过编写C#程序调用twincat.ads库对PLC中的变量进行连接和修改,在Winform上设计一个控制界面。
5 系统测试
为验证基于软PLC和EtherCAT总线的DELTA2机器人控制系统的性能,对基于EtherCAT总线通讯的从站同步精度等实时性参数和机器人的运动控制参数进行了测试分析,实验结果达到了120次/min的抓取频率,位置跟踪精度小于1 mm的设计指标。
启动控制程序使DELTA2机械手按规划的轨迹运动。使用网络抓包工具WireShark抓取上位机与下位机的通讯数据包。从WireShark捕获的EtherCAT报文信息中没有发现错误报文信息,说明EtherCAT数据传送的准确性较高。从数据帧捕获的时间可见其循环周期基本稳定在1 ms左右,报文延时为1.89μs,体现了EtherCAT协议优异的性能和高速响应,以及高精度设备同步,满足了现场总线的实时性要求[6-7]。
通过TCatScopeView实时采集和追踪伺服轴的参数 (图7)。
图7 实验采集伺服轴的参数
从采集的数据绘制的曲线可以看到实际位移曲线和规划的曲线有±5%的误差,速度、加速度和加加速度都有一定的锯齿形波动,误差在8%以内。
6 结束语
介绍了软PLC的系统结构,并基于软PLC和EtherCAT总线设计了一套DELTA2并联机器人的高速运动控制系统。在运动学分析的基础上提出了一种电子凸轮的方式实现了机器人的运动控制。通过实验分析EtherCAT总线通讯,和执行电机的运动参数,证明了该系统具有良好的运动控制性能。该控制系统开放性好、硬件结构简单、可移植性高,大大缩短了工业机器人研发的周期[8]。
[1] IEC61131-3Programmable Controll-er-Part3:Programming Languages[C]//International Eleetroteelmieal Commission,1993.
[2]周峰,王新华.软PLC编辑系统的设计与实现[J].计算机工程与应用,2005(7):45-49.
[3]白江,王宇晗,金永乔.数控系统软PLC模块的研究与开发[J].机床设计与制造,2011(2):138-140.
[4]郎需林,靳东,张承瑞,等.基于实时以太网的DELTA并联机械手控制系统设[J].机器人,2013.00576.
[5]2013.00576 Beckhoff TwinCAT 软 PLC 编程手册[S].2011.
[6]PRYTZG.A Performance Analysis of EtherCAT and Profinet IRT[C].Ha-mburg,Germany:IEEE International Conference on Emerging Technolo-gies and Factory Automation,2008:408 -415.
[7]ROSTAN M,STUBBS JE,DZILINO D.EtherCAT Enabled Advanced Cont-rolArchitecture[C].2011 IEEE/SE-MI Advanced Smiconductor Manu-facturing Conference(ASMC),2010:39 -44.
[8]毕辉,程良鸿.关于软PLC技术的研究及发展[J].机电产品开发与创新,2006,19(2):118-119.
Design and Implementation of DELTA2 Robot Control System Based on Soft-PLC and EtherCAT
CHEN Jian1,2,YANG Yawei2,ZHENG Tianjiang2,SONG Sunhao2
(1.Zhejiang Provincial Special Equipment Inspection and Research Institue,Hangzhou Zhejiang 310016,China;2.Ningbo Institute of Materials Technology & Engineering,Chinese Academy of Sciences,Ningbo Zhejiang 315201,China)
Most of traditional PLC rely on special hardware or software,their software and hardware system are unique and closed,with insufficient openess and expansibility,and field data has low real time transmission ratio.Aimed at these problems,a soft-programmable logical controller(PLC)motion control scheme was presented based on industrial personal computer(IPC)which utilized EtherCAT fieldbus protocol communication.The communication bus of scheme had functions of distributed clock technology,with using of standard ethernet protocols,without special network card,which was able to implement synchro-control ofmultiple-spindle with high accuracy,suitable for high speed robot in need of high precision servo control.Experimental analysiswas carried out on the high speed parallel robot DETLA2 by using this scheme.The result shows that the control schememakes themotion control performance of robot a great improvement.
Soft-PLC;EtherCAT;DELTA 2;Electronic cam
TP 39;TP241
A
1001-3881- (2015)21-042-4
10.3969/j.issn.1001 -3881.2015.21.009
2014-08-07
宁波市科技计划项目 (2014D10008)
陈健 (1989—),男,硕士,研究方向为机电系统智能控制及应用开发。E-mail:18667813206@qq.com。