书合文秘网 - 设为首页 - 加入收藏
当前位置 首页 > 范文大全 > 公文范文 >

基于Twincat3和Rexroth伺服的滤棒发射单元NC控制系统

作者: 浏览数: 关键词: 伺服 控制系统 发射 单元 Twincat3

摘 要: 应用新型电气控制系统实现双鼓轮结构滤棒发射单元,使机械部件技术水平得以提高。利用倍福EtherCAT实时以太网技术,通过倍福自动化软件Twincat3中的NC控制功能对Rexroth伺服驱动器进行运动控制,从而实现发射单元的滤棒自动发射。硬件选用倍福嵌入式PC CX2020和博世力士樂HCS01系列EtherCAT总线型伺服驱动器,HCS01伺服驱动器无需编程,CX2020通过Twincat3软件编程实现发射单元的逻辑运动控制。控制系统实现简单,操作简捷,调试方便,有一定的推广价值。

关键词: 发射单元;EtherCAT;NC控制;嵌入式PC;逻辑运动控制

中图分类号:TP273+.3 文献标识码:A 文章编号:2095-8412 (2018) 01-018-05

工业技术创新 URL: http: // DOI: 10.14103/j.issn.2095-8412.2018.01.005

引言

随着计算机、通信、自动控制技术等迅速发展,基于工业计算机(IPC),通过软件实现PLC功能的逻辑控制系统,已成为国内外工业控制技术的应用热点。软PLC技术,就是使用PC机作为硬件支撑平台,利用软件实现标准硬件PLC的基本功能的技术[1]。软PLC技术具备PC机或嵌入式系统的各种优点,具有更强的兼容性和可扩展性。

本文采用倍福EtherCAT,其是实时以太网现场总线,在数据链路层采用了实时调度的软件核,并采用过程数据传输的独立通道,提高了系统的实时性。该网络具有灵活的拓扑结构、简单的系统配置、较低的构建成本等特点,可以实现传统以太网无法企及的控制理念[2]。另外,由于EtherCAT的实施成本低廉,基于EtherCAT总线的IPC在工业控制领域应用范围越来越广泛,应用效果也越来越明显。

本文介绍双鼓轮结构滤棒发射单元的一种新型的NC控制系统,该系统旨在利用倍福EtherCAT技术,通过倍福自动化软件Twincat3中的NC控制功能,对Rexroth伺服驱动器进行运动控制,以期实现发射单元的滤棒自动发射。

1 系统总体设计

双鼓轮结构滤棒发射单元采用的密封方式与单鼓轮相同,都是通过动密封靴实现滤棒从开放环境进入密封发射管道。两者的主要技术区别是,双鼓轮结构把滤棒从料斗的拾取和滤棒进入发射管道两步动作进行了分解,使得进料率有所提高。由于这种结构对于电气伺服运动定位要求不高,因此双鼓轮结构滤棒发射单元控制系统采用倍福嵌入式控制器CX2020,利用倍福自动化软件Twincat3中的NC功能,通过博世力士乐伺服驱动器来完成滤棒发射单元的运动控制。仅需在Twincat3编写程序,不需要博世力士乐运动控制器与伺服驱动器来共同实现。减少了一个运动控制器,降低了成本,简化了程序编写,控制系统简单、方便、高效,易于维护。控制系统总体方案如图1所示。

2 硬件选型及系统组态

2.1 硬件选型

嵌入式IPC采用倍福基于Windows 7操作系统和Twincat3软件包的CX2020,界面显示选用倍福触摸屏C9900-K632,工控机通过DVI/USB和倍福CU8801与触摸屏通信连接。

EtherCAT通信模块EK1110为扩展末端端子模块,把E-BUS信号实时转换成以太网信号,可以为CX2020扩展一个EtherCAT接口[3]。

伺服驱动器选用博世力士乐HCS01系列。HCS01伺服属于紧凑型多协议驱动器,具有通用性、智能化、高性价比等特点。这种驱动器支持SERCOSⅢ、PROFINET IO\EtherNet/IP、EtherCAT通信,通过这些基于以太网的接口,连接由软件可配置的通信软件,从而满足用户如今不断提高的开放和无缝设计的高要求。

2.2 系统组态

嵌入式IPC CX2020通过EtherCAT通信模块EK1110与博世力士乐HCS01伺服驱动器进行通信。通过EtherCAT总线在上位PC机和下位驱动器之间实时地传递控制信号和反馈信号。整个系统响应速度快,定位精度高,运动稳定[4]。Twincat3中HCS01伺服驱动器系统组态如图2所示。

3 NC配置

Twincat NC是基于PC的纯软件的运动控制,它的功能与传统的运动控制模块、运动控制卡类似。由于Twincat NC与PLC运行在同一个CPU上,因此运动控制和逻辑控制之间的数据交换更直接、快速。Twincat NC完全独立于硬件,用户可以选择不同厂家的驱动器和电机,而控制程序不变。Twincat NC PTP把一个电机的运动控制分为三层:PLC轴、NC轴和物理轴。PLC轴是在PLC程序中定义的轴变量,NC轴是在NC配置界面定义的AXIS,物理轴是在IO配置中扫描或者添加的运动执行和位置反馈的硬件。

PLC程序对电机的控制必须经过两个环节:PLC轴到NC轴、NC轴再到物理轴。PLC轴的控制是指在PLC程序中编程调用运动控制库的功能块。NC轴不需要编程,它的运算分为轨迹规划、PID运算和IO接口处理。物理轴包括驱动器、电机和编码器,其配置主要指对驱动器的设置。TwinCAT NC的周期是NC与伺服驱动器交换数据的周期,目标位置、控制字、状态字都以这个频率更新,在系统配置中也称作NC Task任务周期,默认值2 ms,理论上最小设置为50 μs。

Twincat NC轴的配置包括编码器(Enc)、驱动器(Drive)、NC控制器与PLC的接口(inputs和outputs)。Enc和Drive的配置决定了NC轴与哪个驱动器对应,而inputs和outputs决定其对应PLC程序中哪一个轴的结构型变量。

在Twincat3软件中通过IO硬件扫描驱动器和NC-Configuration扫描,完成NC轴与物理轴对应关系和驱动器变量与NC轴变量的链接。Axis1参数设置如图3所示。其中,Reference Velocity是参考速度,一般为Maximum Velocity的110%;Maximum Velocity是轴的最大速度;将Default Dynamics展开可设置加减速;Manual Motion and Homing是点动和寻参的速度;Fast Axis Stop用于设置快速停止;Limit Switches可以设置开启软限位。

轴的编码器参数设置如图4所示。Axis1—Enc中的Parameter有Scaling Factor Numerator和Scaling Factor Denominator两个参数,用来进行定标。这两个参数比较重要,必须要设置,默认值分别是0.000 1和1.0。Scaling Factor Numerator是电机转一圈最终工件移动量;Scaling Factor Denominator是编码器反馈脉冲数。例如:电机转一圈,带动一个圆形负载移动360°,那么Scaling Factor Numerator=360,Scaling Factor Denominator=1 048 576(如用第三方伺服驱动器,那么编码器反馈不再是1 048 576,而是需要根据第三方设备的实际反馈量来设置)。参数设置完成后,NC轴的位置和速度都是最终工件的位置和速度,用户可以直接通过Motion或者编程控制最终工件,而不需要关注中间电机的转速和位置。

4 NC程序编写

Twincat NC轴的编程是在Twincat PLC中引用运动控制功能库TcMC.Lib或TcMC2.Lib,并调用其中功能块来实现的。在PLC下(见图4)新建一个项目,然后展开该项目,从下方找到References并右击,单击Add library。从弹出的对话框中找到Motion—PTP—Tc2_MC2并选中,单击 OK,这样就完成加载了一个TC2_MC2的库文件。Twincat PLC支持IL(指令列表)、LD(梯形图)、FBD(功能块图)、SFC(顺序流程图)、ST(结构文本)和CFC(连续功能图)6种格式的语言[5]。主要使用ST语言编程,因为其用于对变量赋值、回调功能和功能块、创建表达式、編写条件语句和迭代程序等时具有很强的编程能力。

通过Twincat3,用ST语言建立一个NC控制标准程序Standard,Standard中调用AxisControl程序。

首先,定义变量,定义全局变量表Axis和结构型变量AxisState,分别见附录A和附录B。

其次,定义1个轴的接口块Axis_Axis1,编写程序如附录C。

AxisControl程序中调用Axis_Axis1,最后编写运动控制块FBMotion,FBMotion块中有Power()、Home()、Jog()、Absolute()、Relative()、Velocity()、Reset()和Stop()程序,从而实现运动控制的上电、回零、点动、绝对位置、相对位置、速度模式、复位、停止相应功能。程序调用结构图如图5。限于篇幅,FBMotion代码从略。

5 结束语

本文对滤棒发射单元NC控制系统进行了设计。滤棒发射控制功能采用博世力士乐EtherCAT总线型HCS01伺服,通过EtherCAT总线与倍福嵌入式IPC CX2020通信连接,利用Twincat3软件中的NC功能实现倍福CX2020对Rexroth伺服驱动器的控制。对发射单元进行了实物滤棒发送,效果良好,速度、位置控制精度都达到了设计要求。通过这种NC控制系统的设计,将来的控制系统仅采用一个硬件平台倍福IPC、一种通信方式EtherCAT和一种控制软件Twincat,即可实现设备生产工艺全过程,有一定的推广价值。

附录A——全局变量表Axis定义代码

VAR_GLOBAL

Axis1 :FBMotion;

S_Axis1 :AxisState;

AxisMoving :BOOL;

AxisErr :BOOL;

ALL_Aixs_Reset :BOOL;

All_HomeDone :BOOL;

Cam_Senser :BOOL;

END_VAR

附录B——结构型变量AxisState定义代码

TYPE AxisState:

STRUCT

ActPos :LREAL;

ActVel :LREAL;

Error :BOOL;

Enabled :BOOL;

Moving :BOOL;

Home_Done:BOOL;

Absolute_Done :BOOL;

Relative_Done :BOOL;

END_STRUCT

END_TYPE

附录C——接口块Axis_Axis1定义代码

Axis1 (

//input

Axis:= Axis1.Axis,

PowerEnable:= Axis1.PowerEnable,

AbsoluteExecute:= Axis1.AbsoluteExecute,

TarPos:= Axis1.TarPos,

TarVel:= Axis1.TarVel,

VelExecute:= Axis1.VelExecute,

RelativeExecute:= Axis1.RelativeExecute,

Distance:= Axis1.Distance,

ResetExecute:= Axis1.ResetExecute,

StopExecute:= Axis1.StopExecute,

HomeExecute:= Axis1.HomeExecute,

CalibrationCam:= Axis1.CalibrationCam,

JogForwradEnable:= Axis1.JogForwradEnable,

JogBackEnable:= Axis1.JogBackEnable,

JogMode:= Axis1.JogMode,

JogPos:= Axis1.JogPos,

JogVel:= Axis1.JogVel,

//output

ActPos=> S_Axis1.ActPos,

ActVel=> S_Axis1.ActVel,

Error=> S_Axis1.Error,

Enabled=> S_Axis1.Enabled,

Moving=> S_Axis1.Moving,

Home_Done=> S_Axis1.Home_Done,

Absolute_Done=> S_Axis1.Absolute_Done,

Relative_Done=> S_Axis1.Relative_Done);

參考文献

[1] 苏淑芝, 刘志维. 软PLC开发系统的设计与实现[J]. 现代电子技术, 2012, 35(10): 15-17.

[2] 李春木, 章明众, 郑新武, 等. EtherCAT总线在伺服运动控制系统中的应用[J]. 机电工程, 2011, 28(11): 1336-1338.

[3] 德国倍福自动化有限公司. 德国倍福产品简介[Z]. 2016.

[4] 柏淑红. 采用伺服电机的电子凸轮控制系统设计[J]. 机电工程, 2012(6): 689-692.

[5] 洑平, 周建华, 陈林, 等. 基于TwinCAT的纯PC型数控系统的开发[J]. 机械制造与自动化, 2011, 40(1): 176-177.

相关文章:

Top