关键词:运动控制 轴 建模
Abstract:Axis is kernel control object of motion control system. By the Object Oriented Analyses method, a class’s structure of the axis, state transition diagram and data follow diagram was built. Base on this module, the control parameters set of the axes, the plan of the motion control database functions and the control algorithm & scheme can be decided.
Keywords:Motion Control Axes Moduling
0.引言
轴是运动控制系统的核心控制对象。在应用系统中,轴的种类很多,如数控机床的坐标轴、主轴,绕线机的张力控制轴等,它们都是运动控制的对象。运动控制系统向着开放式、可重构和网络化方向发展,控制系统与控制对象的标准化是实现上述发展的关键。
面向对象建模技术已经是一种成熟的建模技术。采用面向对象技术对轴的结构、行为和功能进行抽象,全面地描述轴的属性与操作,可以为轴控制对象的标准化奠定基础。
刘泉斌,陈虎等人总结了各种受控轴的共性属性,采用Rational Rose建立了轴的面向对象模型,并实现了该运动控制系统[1];作者也对自动机床的UML建模方法进行过研究,对机床控制轴进行了类似的建模[2]。国际组织PLCopen的技术委员在IEC61131标准的框架下,对轴的行为模型作了细致的描述[3]。这些工作对运动控制系统的开放性与控制程序的可重用性都有积极的意义。但现行的研究工作多集中在轴的类结构与行为模型上,轴的功能模型少有研究,模型不够完整;并且这类研究工作多针对于面向对象的程序设计,其类结构设计往往过于复杂,面MCU和DSP硬件平台上的运动控制系统,目前还不支持C++。本文轴对象建模目的是为轴控制系统参数设置、运动控制库函数规划和控制方案设计服务。
面向对象模型主要包括类结构模型、行为模型和功能模型[4],类结构模型主要描述对象的属性与操作,定义对象实例间的关联关系,便于控制程序的可重用;行为模型描述状态与状态转移,即输入与响应的关系和对象间作用,便于控制程序的标准化;功能模型主要描述系统的输入数据及数据转化形式,它是控制算法方案设计与调度的基础。
1. 轴的类结构模型
运动控制系统中,轴的属性最为复杂,文献[1]将轴的类对象定义成复杂的继承结构,尽管它符合面向对象设计方法,但它的状态切换要占用系统时间(实验测试时延为采样周期的0.2%,最坏5%),而运动控制系统是一个强实时系统,状态切换频繁发生。关键是多数的运动控制平台采用MCU和DSP,尚没有C++支持,这种面向对象模型对MCU和DSP型的运动控制系统没有实用意义。本文提出的轴控制类采用简明的结构定义轴类的属性与操作,重点在于类的属性参数设置与分析。
归纳起来,轴共有五类属性,40多个参数。限于篇幅的原因,只列出轴类属性参数分类如表1所示:
表1 轴属性参数分类表
轴的操作是运动控制的核心,运动控制系统的库函数主要由轴操作函数构成,这些操作函数由轴的状态转移图中抽取(后文叙述),在类结构中它们表现为对轴属性参数的修改与刷新。轴的操作可为分四类,共16个函数,其类别如表2所示:
表2 轴操作函数
在运动控制系统中,除轴类外,还有逻辑控制器、传感器等类,由这些类可以构成最终的控制对象操作器类,其类关联如图1所示:
图1 轴控制类和其它类的关联关系
操作器可以由多个轴、传感器和一个逻辑控制器实例组成,操作器控制实际成为轴和逻辑控制器的控制。
2. 轴的行为模型
PLCopen组织的技术委员会遵照开放式性原则,定义了8种轴的状态,即不可用态、静止态、停止过程态、出错停止态、返回参考点态、连续运动态、同步运动态、离散运动态。其中连续运动态指速度和力矩控制模式,不涉及位置要求,离散运动态指有轨迹与位置要求的运动,如直线、圆弧运动;同步运动态指电子齿轮和电子凸轮运动模式。其状态转移如图2所示:
图2 轴控制状态转移图
轴状态转移图是规划和评价运动控制函数的重要工具。例如,能否从连续运动态直接向离散运动态转移,中间是否要插入一个停止过程态,这个控制函数的设立对其它轴状态有何影响,都可以使用轴状态转移图,从状态转移、激发事件、转移条件和引发事件进行规划和评价。
3. 轴功能模型
轴的功能模型主要是数据流图。数据流图由接口,数据加工和数据存贮三种元素组成,接口指明数据的来源和去向,加工指明数据的处理算法,数据存贮指明数据的存贮缓冲区。
运动控制系统的轴控制运算包括插补运算与伺服运算两大部分,插补运算给出每一个采样周期的目标位置,伺服运算实现轴对目标位置的跟踪。实际执行时,必须先进行运动控制命令的译码与预处理,对高精度的位置控制,还要在插补后进行陷波滤波,消除某些频率成份,减少激振因素,如果将速度控制划归到插补运算过程中,则轴控制处理过程包括控制命令译码、插补计算、陷波滤波、跟踪控制四部分内容。其数据流图如图3所示:
图3 轴控制的数据流图
从轴控制的数据流图可以看出,该数据流是串行的。在各个数据加工点,不同的控制策略会选用不同的加工算法,其中插补运算、陷波滤波和跟踪运算会占用较多的系统资源且时延较长。在CPU资源配置或分配上,应保证这几个数据加工串行工作。
另外,其中数据存贮的安排涉及到系统性能的发挥和对应的硬件结构。比如NURBS插补和PID+速度前馈+加速度前馈控制算法中,由于NURBS插补费时较多,在TMS320F2812DSP上,PID+速度前馈+加速度前馈的时延约为NURBS插补时延的1/4[5],采用双DSP流水线处理模式,将这个串行过程改为并行过程,由一片DSP作NURBS插补运算,另一片DSP作PID控制,安排一片双口RAM作数据缓冲,采样周期大为缩短。
数据流图中的数据形式较为简单,如表4所示:
表4 轴控制数据流图的数据格式
图中所有的缓冲区均为先进先出队列。
图据流图的数据加工过程如表5所示:
表5 数据加工过程
4.轴对象模型应用
本模型主要应用于基于MCU和DSP的运动控制系统设计。采用多参数、多操作的简明对象类结构,有利于控制对象的理解和控制参数设置;状态转移图定义轴的状态,及在什么条件下,由何事件激发使轴由一种状态向另一种状态转移,分析归纳这些激发事件,是运动控制库函数设计的依据;轴控制过程可以视为一个数据转换的过程,从控制命令输入,到控制信号生成,数据流图表达了数据的流向与加式,它是确定控制方案、设计控制算法的基础。
5. 结论
轴控制是运动控制系统的核心,采用面向对象方法,建立简明的轴对象类结构、状态转移图,并引用了结构化分析的数据流图,为运动控制系统设计的控制参数设置,运动控制库函数规划和控制方案与控制算法的拟定提供了有益的参考。
本文作者创新点:采用面向对象模型并结合结构化模型的数据流图,建立了简明的轴对象分析模型,为轴状态表达、轴运动控制函数分析、函数操作实现提供了依据。
参考文献
[1] 刘泉斌,陈虎等。开放式控制器轴运动控制对象模型。制造业自动化。2005.4(27),75-78.
[2] 柳宁. 用于控制系统设计的自动机床分析与建模方法的研究. 组合机床与自动化加工技术.2006.4.27-29
[3] PLCopen. Technical Specification PLCopen-Technical Committee 2 –Task Force Function blocks for motion control Version 1.1. http://www.PLCopen.org.
[4] 王建军. UML建模:实例分析.微计算机信息.2002.15.66-68.
[5] Ning Liu, Gao Wang,et al. “Research on a Real-time Interpolator DSPs Based for NURBS”,in Proceeding of the 6th World Congress on Control and Automation.June 21-23,2006. Dalian.China.8206-8210.