《运动控制系统第二讲借鉴教学》由会员分享,可在线阅读,更多相关《运动控制系统第二讲借鉴教学(152页珍藏版)》请在金锄头文库上搜索。
1、华南农业大学课程讲座华南农业大学课程讲座-运动控制系统运动控制系统1010级机制级机制 1 1、2 2、3 3、4 4班班 lecture twolecture two 各位同学大家好各位同学大家好! 华南农业大学工程学院华南农业大学工程学院 班华班华 2013年年3月月 1优选知识第第2章章 运动控制器技术运动控制器技术控制器的作用 类比房屋评判一个运动控制系统是否成功的标准?运动控制器及其运动控制软件是否合适!运动控制器是运动控制系统的核心!对运动控制系统的性能起着关键的作用。2优选知识2.1 运动控制系统简介运动控制系统简介2.1.1 运动控制系统的构成运动控制系统是由运动需求、运动控制
2、器、驱动控制器、执行器及位置或者速度反馈单元构成的,如图2-1所示。3优选知识4优选知识2.1.2 运动控制系统的任务任务是具体对象对运动系统的要求,其形态可以是路径、位置增量或位移、移动速度,也可以是速度的变化率加速度,还可以是驱动力或驱动力矩。5优选知识6优选知识2.2 运动控制器的基本原理运动控制器的基本原理2.2.1 运动控制器的构成 运动控制器由轨迹生成器、插补器、控制回路和步序发生器四部分构成,如图2-3所示。其基本原理为:运动控制器根据任务的需要,首先由轨迹生成器计算出任务希望的理想轨迹,插补器根据位置或者速度反馈单元的实际状态,按照轨迹生成器的要求,计算出驱动单元下一步将要执行
3、的命令,然后交由控制回路进行精确控制。如果是步进电机,则还有一部分就是步序发生器,步序发生器根据控制回路控制指令进一步生成控制相序和脉冲,达到控制运动对象的目的。7优选知识8优选知识2.2.2 轨迹生成器轨迹生成器轨迹生成器的主要作用就是根据运动任务要求,为系统生成运动轨迹,作为运动系统控制器插补器的输入设定。轨迹生成器的职责是把运动控制器的输入转化为系统希望得到的理想轨迹。运动轨迹是运动系统必须要完成的运动任务。就运动控制器而言,轨迹生成器是运动控制器三个核心部件之一,轨迹生成器性能好与坏对运动控制器的起着至关重要的影响。9优选知识我们这里所说的轨迹是广义轨迹,广义轨迹的轨迹可以是路径或者轮
4、廓轨迹,也可以是速度轨迹,还可以是加速度轨迹。狭义的轨迹特指路径或者轮廓轨迹。10优选知识图2-4 预设编码值与停止指令11优选知识1点对点运动轨迹最简单、最直接的运动曲线是点对点运动轨迹,虽然轨迹很多!12优选知识用途点对点运动的应用范围十分宽广,包括各种大型医疗自动化诊疗设备,例如CT机、MR核磁共振等;机械制造业使用的各类加工中心、数控机床等;科学研究领域的自动检测与定位仪器;军事领域中的自动定位跟追、自动瞄准系统等;民用自动设施,如电梯,需要注意的是自动扶梯不是点对点式运动。点对点这种运动形式的运动特点是运动需求描述简单,控制容易;点对点运动方式,从起点开始,负载速度从零开始,加速到设
5、定速度,稳定运行,然后减速至停止,此时被控对象到达目标位置-终点。一个典型的点对点运动,速度是从零的开始和结束的运动,并启动加速和停止减速都是平滑的。13优选知识主要研究方法是特征值描述法主要研究方法是特征值描述法14优选知识15优选知识有关特征值计算问题图2-7是梯形曲线特征点示意图,横坐标是时间轴,曲线有三个特征点 、 、 ,纵坐标有一个特征点 。其中:其中: =最大速度; amax=最大加速度; =加速度时间; =减速度时间; =最大速度时间; =整个运动时间。16优选知识17优选知识注意:假如由式(2-4)计算出的时间是负值,那么说明实际速度不可能达到最大速度,而且速度曲线就不是一个梯
6、形,而是一个三角形。式(2-1)式(2-4)是梯形速度曲线特征点基本关系计算式。18优选知识【例2-1】请参阅书 1719优选知识【例2-2】请参阅书17由于时间绝不可能是负值,因此改变的是加速和减速时间。所以,得出20优选知识其结论是速度不可能达到最大速度。由于梯形曲线特征点参数设置不合理,故导致梯形曲线变化成三角形曲线,显然这种状况属于异常情况。21优选知识计算公式根据已知参数计算运动曲线,设置曲线的特征点可以根据下述方程确定。公式2-5 2-8,详见教材第二章第18页。请注意 条件与时序段22优选知识特征点计算的C语言子程序void generate_setpoint_table( do
7、uble t_acc, double t_max, double t_step. double vel_max, double acc_max. double theta_start, double theta_end. double setpoint , int *count) double t. t_1, t_2, t_total; t_1 = t_acc; t_2 = t_acc + t_max; t_total = t_acc + t_max + t_acc; *count = 0; for(t = 0.0; t = t_total; t += t_step) if(t = t_1)&
8、(t = t_2) & (t t_total) setpoint*count = 0.5*acc_max*t_acc*t_acc + vel_max*(t_max) + 0.5*acc_max*(t-t_2)*(t-t_2) + theta_start; else setpoint*count = theta_end; *count+; setpoint*count = theta_end; *count+;23优选知识典型T型曲线的优点与缺陷T型曲线简单,具有良好速度调节性能;梯形曲线的缺陷是如果加速度和减速度是定值,那么在加速度段和减速度段,负载会发生抖动。24优选知识改进型圆滑曲线改进型
9、圆滑曲线 多项式曲线 在某些场合,这种抖动希望能减小到最小,故多项式曲线就起到这样的作用。25优选知识图2-9 多项式曲线26优选知识多项式曲线图2-9所示的是一种典型的多项式曲线。由图可见,在加速度段和减加速度段,速度由多项式表示。这种多项式曲线的最大特色为速度平滑,稳定性好,不存在负载抖动的问题。27优选知识对于图2-9所示的多项式曲线,已知四个参数值start、end、max、max,即起点位置、结束位置、最大角速度与最大角加速度,并且如图2-9所示的速度多项式的约束条件是已知条件28优选知识求取系数ABC29优选知识求取ABC30优选知识求取ABC31优选知识第一段曲线的方程 2-93
10、2优选知识第二段曲线的方程为2-1033优选知识第一段曲线(加速段)的路程为2-1134优选知识第二段曲线(最大速度)的时间为2-1235优选知识2路径轨迹沿着一条路径的所有位置点来描述的轨迹曲线就是路径轨迹曲线。其他说法:位置轨迹、轮廓轨迹等等,都是表述行走的路径。差异之处: 路径更强调的是行驶线路,而轮廓则更加强调走过的具体位置及其精度。36优选知识选择原则通常,当运动需求没有速度或者加速度要求、而对路径或者形状有很严格的要求时,采用这种方法。路径轨迹曲线的运动表述法利用的是参数函数“p(u)”。当参数值u的值域是01时,函数值的变化范围也是01。无论如何,函数的参数选择条件是,运动开始与
11、停止时的速度都是0,这样就使得最终多项式方程简化为公式(2-11)。随后这个方程可以用在式(2-9)中,使控制器能够在起点和终点之间产生一条光滑的运动路径。37优选知识公式2-1338优选知识例2-3请参阅教材,计算由同学自行验证39优选知识图2-10计算路径轨迹曲线特征点的C语言子程序#define TABLE_STZE 11int point_mastorTABLE_SIZE = 0, 24, 95, 206, 345, 500, 655, 794, 905, 976, 1000;int point_positionTABLE_SIZE;int point_timeTABLE_SIZE;i
12、nt point_start_time;int point_index;int ticks; /* variables to keep a system clock count */int point_current; /* a global variable to track position */int table_init( ) /* initialize the setpoint table */ ticks = 0; /* set the clock to zero */ point_current = 0; /* start the system at zero */ point_
13、index = TABLE_SIZE; /* mark the table as empty */void table_generate(int start, int end, int duration_sec) unsigned i; point_time0 = ticks + 10; /* delay the start slightly */ point_position0 = start; for(i = 1; 1 TABLE_SIZE; 1+) point_time1 = point_time0 + (unsigned long)i + duration_nec * 250 / (T
14、ABLE_SIZE - 1); point_position1 = start + (long int) (end - start) * point_mastor1 / 1000; point_index = 0;int table_update( )/* interrupt driven encoder update */ ticks*; /* update the clock */ if (point_index 0,则表明实际点位于直线OA上方;若Fi 0,规定向+x方向走一步,即公式2-20.若Fi0,规定向+y方向走一步,即 公式2-21.52优选知识 终点判别直线插补的终点判别方法
15、有三种:判别插补总步数;分别判别各子坐标插补步数;仅判别插补步数多的那一个坐标轴。53优选知识例2-4请参阅书看图2-13,2-14,表2-154优选知识2) 圆弧插补(1) 圆弧插补原理圆弧插补算法针对的是多轴运动,其思想就是用弦进给代替弧进给。圆弧插补分为顺时针圆弧插补和逆时针圆弧插补两种。请看书图2-15.55优选知识图2-1556优选知识圆弧插补要加工如图2-15所示的圆弧AE。圆弧AE位于第一象限,逆时针走向,半径为R,以原点为圆心,起点坐标为A(x0, y0),对于圆弧上任一加工点的坐标设为P(xi, yi)。点P与圆心的距离的平方为。57优选知识(2) 圆弧插补步骤圆弧插补的具体
16、步骤与直线插补完全相同,也是三个步骤:偏差函数的构造 偏差函数递推计算 终点判别。58优选知识 偏差函数的构造请参阅公式2-2259优选知识 偏差函数递推计算对于逆圆弧,若Fi 0,则规定向x方向插补一步,即 公式2-23 若Fi 0,则规定向+y方向插补一步,即公式2-2460优选知识 终点判别圆弧插补的终点判别方法有两种。 判别插补的总步数,即 (2-27) 分别判别各坐标轴的插补步数,即 2-2861优选知识例2-5已知第一象限起点A(4,0),终点B(0,4),计算插补过程。62优选知识例2-5解题思路:根据图2-16所示,起点A(4,0),终点B(0,4),显然此插补属于圆弧插补类别
17、的逆圆弧插补,按照式(2-23),式(2-24)计算,流程如图2-16和表2-2所示。63优选知识3) 抛物线插补抛物线插补算法是一种新型插补算法。抛物线函数是一种简单函数,既可以利用硬件,也可以利用软件来实现。抛物线插补算法以抛物线顶点的坐标值作为原点,抛物线的起点和终点都换算成以抛物线顶点为原点的相对坐标。抛物线的开口方向不同,它的数学表达式也不一样。为简明起见,以一种情况为例说明抛物线插补计算的方法和过程。设抛物线方程为64优选知识解法抛物线采用8个特征点A、B、C、D、E、F、G和H。抛物线插补在相关特征点之间进行,如图2-17所示的抛物线特征点图。根据高等数学有关曲率的计算公式,采用
18、三次样条函数。65优选知识特征点66优选知识4) 样条插补为了满足快速成形制造及模具加工领域中高速度和高精度的要求,利用B 样条曲线良好的局部控制性和计算机CPU处理速度快的优点,开发出基于三次非均匀B 样条曲线的插补算法。67优选知识(1) 样条插补原理快速成形制造系统读入STL文件后,首先利用拟合算法将这些离散的数据点拟合为分段的三次非均匀无理B样条;然后构造一链表用来保存每段B 样条的系数和长度;插补时读入此链表,根据分段标志,以当前插补点为控制目标,求出下一插补点的坐标值,完成变速度自适应插补。68优选知识B样条的参数表达式69优选知识说明公式2-39中,如果三次项系数为零,则表示抛物
19、线;三次项和二次项系数均为零,则表示直线,因此可以把三次非均匀无理B样条、抛物线和直线用同一个公式统一起来。70优选知识(2) 样条插补步骤样条插补算法采用参数化数据采样原理来实现插补过程,其基本思想是按照给定的采样周期将时间轴分成非均匀间隔的小区间,插补过程中根据进给速度、加减速要求和允许误差,在各采样周期产生空间小直线段、,去逼近被插补曲线,逐步求得伺服控制所需的各插补直线段端点的坐标值,即以当前插补点的速度为控制目标,以插补周期T内的插补步长等于曲线上的弧长为依据,最终求出下一插补点的坐标。71优选知识5) 基准脉冲插补基准脉冲插补又称为行程标量插补或脉冲增量插补。这种插补算法的特点是每
20、次插补结束,运动控制装置向每个运动坐标输出基准脉冲序列,每个脉冲插补的实现方法比较简单,只有加法和移位,可以利用硬件实现。目前,随着计算机技术的迅猛发展,多采用软件完成这类算法。脉冲的累积值代表运动轴的位置,脉冲产生的速度与运动轴的速度成比例。72优选知识基准脉冲插补方法方法有很多,常用的有以下几种:数字脉冲乘法器插补法;逐点比较法;数字积分法;矢量判别法;比较积分法;最小偏差法;目标点跟踪法;直接函数法;单步跟踪法;加密判别和双判别插补法等。73优选知识早期常用的基准脉冲插补算法有逐点比较法、单步跟踪法等,插补精度常为一个脉冲当量。20世纪80年代后期,插补算法改进为直接函数法、最小偏差法等
21、,使插补精度提高到半个脉冲当量,但执行速度不很理想,因此在插补精度和运动速度要求均高的CNC系统中,应用受限。近年来的插补算法有改进的最小偏差法、映射法等,兼有插补精度高和插补速度快的特点。74优选知识6) 数据采样插补数据采样插补又称为时间标量插补或数字增量插补。这类插补算法的特点是数控装置产生的不是单个脉冲,而是标准二进制字。插补运算分两步完成。第一步为粗插补,它是在给定起点和终点的曲线之间插入若干个点,即用若干条微小直线段来逼近给定曲线,每一微小直线段的长度都相等。粗插补在每个插补运算周期中计算一次,因此,每一微小直线段的长度与进给速度F和插补周期T有关,即。第二步为精插补,它是在粗插补
22、算出的每一微小直线段的基础上再进行“数据点的密化”工作。这一步相当于直线的基准脉冲插补。75优选知识数据采样插补适用于闭环、半闭环以直流和交流伺服电机为驱动装置的位置采样控制系统。粗插补在每个插补周期内计算出坐标实际位置增量值,而精插补则在每个采样周期内采样闭环或半闭环反馈位置增量值及插补输出的指令位置增量值。然后算出各坐标轴相应的插补指令位置和实际反馈位置,并将二者相比较,求得跟随误差。根据所求得跟随误差算出相应轴的精速度,并输给驱动装置。一般粗插补运算用软件实现,而精插补既可以用软件,也可以用硬件实现。76优选知识数据采样插补方法很多,常用的方法有:直接函数法;扩展数字积分法;二阶递归扩展
23、数字积分圆弧插补法;圆弧双数字积分插补法;角度逼近圆弧插补法;ITM(Improved Tustin Method)法。近年来,众多学者又研究了更多的插补类型及改进方法,有改进DDA圆弧插补算法、空间圆弧的插补时间分割法、抛物线的时间分割插补方法、椭圆弧插补法、B样条等参数曲线的插补方法、任意空间参数曲线的插补方法。77优选知识3运动进程表随着定位进程表技术的发展,运动曲线轮廓可以由定位点表确定。定位点表将依据时钟确定定位点的修改。图2-24所示的是一个定位点表的流程。在这个系统中,总运动时间看做系统时间,定位点表是一个中断驱动子程序。随着时间的流逝,程序执行到定位点表的下一个值,中断频率时间
24、间隔必须小于或者等于用于计算定位点的时间步长。另外,伺服驱动模块还需要增加一个算法,如PID算法。78优选知识79优选知识80优选知识2.2.4 控制回路在运动控制器中固化有控制算法,由算法依据期望的位置或速度与实际的位置或速度的差值信号进行计算。运动控制器通常使用增强型PID(比例、积分、微分)算法,使得控制功能更加强大。PID的增益设定值决定控制回路的控制能力。下面结合前馈控制研究实际运动控制系统控制回路的基本架构,如图2-27所示。图中包括两个组成部分:一是实时控制回路,二是物理系统。这里所说的物理系统就是执行器,具体在本系统中是电机。81优选知识图2-2782优选知识图2-2883优选
25、知识举例 实验装置详见图2-29,2-3084优选知识85优选知识说明2-28图2-28所示的是多回路运动控制器的组合控制回路。该系统具有灵活的组合性,可以实现单回路(位置、速度、力矩)控制,也可以实现双回路控制,还可以实现三回路控制。其基本控制程序也是三种调节器的控制算法(位置、速度、力矩),已经固化在只读存储器中。用户与运动控制器的通信可以通过CAN、RS232、RS485来实现。系统中还有八路I/O控制接口,其中六路输入、两路输出,具体如图2-28所示。86优选知识如何确定PID参数模糊PID调节器按照下列步骤进行设计。(1) 根据被控制对象的线性模型和所期望的性能指标设定PID调节器增
26、益的标称值。(2) KP、KI、KD是在PID调节器增益的标称值基础上设计出的模糊调谐值。87优选知识2PID标称值设计88优选知识3模糊调节器设计1) 模糊调节器比例增益系数KP模糊PID调节器第一个参数是比例增益系数KP。KP的输入是误差和误差变化率。图2-31所示的是KP误差隶属函数。图2-32所示的是KP误差变化率隶属函数。图2-33所示的是KP输出值隶属函数。模糊PID调节器KP的输入与输出规则见表2-3。最后,模糊调节器KP的输出值采用中心面积法对KP去模糊化求得。89优选知识图2-3190优选知识图2-3291优选知识图2-3392优选知识表2-3 KP模糊调节器规则 93优选知
27、识2) 模糊调节器微分增益系数KD模糊PID调节器第二个参数是微分增益系数KD。KD的输入是误差及误差变化率。图2-34所示的是KD误差隶属函数。图2-35所示的是KD误差变化率隶属函数。图2-36所示的是KD输出值隶属函数。模糊PID调节器KD的输入与输出规则见表2-4。最后,模糊调节器KD的输出值采用中心面积法对KD去模糊化求得。94优选知识表2-4 KD模糊调节器规则 95优选知识96优选知识97优选知识98优选知识3) 模糊调节器积分增益系数KI模糊PID调节器第三个参数是积分增益系数KI。KI的输入是误差和误差变化率。图2-37所示的是KI误差隶属函数。图2-38所示的是KI误差变化
28、率隶属函数。图2-39所示的是KI输出值隶属函数。模糊PID调节器KI的输入与输出规则见表2-5。最后,模糊调节器KI的输出值采用中心面积法对KI去模糊化得到。99优选知识表2-5 KI模糊调节器规则表 100优选知识101优选知识102优选知识103优选知识4控制结果与讨论借助点对点模糊PID实验装置,利用Simulink Optimization Toolbox设定PID参数增益标称值进行实验对比,发现采用模糊PID的方法更加有效。图2-40所示的是本实验装置在输入90步长时的系统实时响应图,图中实线部分是采用模糊PID控制算法得到的实际结果,虚线部分是采用传统经典PID算法得出的实验结果
29、。有关实验位置系统的定位性能见表2-6。104优选知识105优选知识表2-6 经典PID与模糊PID性能对比106优选知识惯量增加后效果107优选知识2.3 运动控制器的硬件2.3.1 按照运动控制器核心器件的组成分类1) 基于微处理器(MCU)的技术以8位或16位的MCU单片机技术为核心,如MCS-51、MCS-96等,再配以存储器电路、编码器信号处理电路及D/A、A/D电路。108优选知识图2-31 MCU109优选知识2) 基于专用集成电路的技术利用一块专用芯片Application Specific Integrated Circuit(ASIC)可以实现某些特定的控制算法如PID 算
30、法、编码器信号处理等功能。110优选知识PCL 6045111优选知识112优选知识PCL 6045113优选知识114优选知识115优选知识3 基于PC机116优选知识4) 基于DSP的技术20世纪90年代以来,随着微电子技术水平的快速提升,数字信号处理(DSP)芯片因其高速运算能力而被越来越广泛地用于运动控制系统中。DSP芯片使复杂算法的实时性得到有效保证,因此DSP在运动控制器中得以应用。目前,主流的运动控制器都采用DSP技术。比如,美国Delta公司的 PMAC运动控制卡采用了Motorola公司的DSP56001;国内固高科技有限公司的GT400运动控制卡采用了 ADI 公司的 AD
31、SP2181。PMAC是多轴控制器,可以提供运动控制、离散控制、控制器内部事物处理、同主机的交互等数控的基本功能。PMAC内部使用了一片Motorola公司的DSP56001芯片,它的速度、分辨率、带宽等指标远优于一般的控制器。PMAC是开放的运动控制器。117优选知识PMAC与各种产品的匹配性能如下。(1) 与不同伺服系统的连接 伺服接口有模拟式和数字式两种,能连接模拟、数字伺服驱动器。(2) 与不同检测元件的连接 如测速发电机、光电编码器、光栅、旋转变压器等。(3) PLC功能的实现 内装软件化的PLC,可扩展到2048个I/O口。(4) 界面功能的实现 按用户的需求定制。(5) 与IPC
32、的通信 PMAC提供了三种通信手段串行方式、并行方式和双口RAM方式。采用双口RAM方式可使PMAC与IPC进行高速通信。串行方式能使PMAC脱机运行。(6) CNC系统的配置 PMAC以计算机标准插卡的形式与计算机系统共同构成CNC系统,它可以通过PCXT&AT、VME、STD32或者PCI总线形式与计算机相连。图2-49所示的是两种基于DSP技术的PMAC板卡。118优选知识119优选知识120优选知识6) 基于多核处理器的技术此类控制器在一个芯片内部集成了多个处理器内核。如TI公司的达芬奇平台集成了一个DSP C64X内核和一个ARM9内核,其中DSP用于运算,ARM用于控制。多核处理器
33、技术是未来处理器发展的一个方向。121优选知识2.3.2 按照数据的传递形式分类运动控制器的数据传递形式可分为总线式和网络式。运动控制器的总线式有ISA、PCI、VME、USB、SPI、STD总线、CAN总线;网络式有Motionnet、Ethernet、Internet等。图2-51所示的是数据连接关系示意图,它反映的是传统数据交换方式和新的串口数据交换方式。新的串口数据交换方式一般由四条线构成:(1) MOSI主器件数据输出,从器件数据输入;(2) MISO主器件数据输入,从器件数据输出;(3) SCLK时钟信号,由主器件产生;(4) SS从器件使能信号,由主器件控制。122优选知识数据交
34、换形式123优选知识124优选知识125优选知识芯片系列126优选知识图2-55127优选知识2.4 运动控制器的软件2.4.1 运动控制器软件体系运动控制系统总体来说是一个复杂的控制系统,兼有控制实时性、功能多样性、性能层次性和界面个性的要求。如何构建功能模块,实现功能模块的有机组合,达到实时性和非实时性的有机统一,是采用所谓引擎机制实现具体运动控制器产品的决定性技术。其实质是采用特定的方法完成软件的二次组装并实现可靠高效的信息交互。128优选知识软件说明软件可以采用的支撑技术有参数定制技术、软件组装技术、进程通信技术和脚本技术等。运动控制器软件系统可以简单地划分为界面、运动控制和伺服驱动三
35、大部分。无论现代运动控制系统属于哪种结构类型,其特征无非是 PC、NC、智能伺服驱动三者之间任务的分配关系与表现形式不同。界面部分的用户差异体现最明显,要求界面美观,个性突出,可任意定制,对实时性的要求并不迫切。运动控制子系统是实现高性能运动控制功能的主要模块,是系统中最核心、最复杂和最难实现的部分,对系统的运算量要求较大,实时性要求较高。伺服驱动部分通常由硬件完成,但其软件接口需要有相关的驱动程序支持。从前面的软件支撑技术可以看出,单一的技术手段并不足以满足运动控制系统的需要,应当综合不同的需求,兼顾系统的稳定性、实时性,分层次地采用不同的技术来实现。129优选知识例如 机床控制软件整个机床
36、控制软件系统由三大部分构成。第一部分是人机交互界面,涵盖有系统管理、程序交互、手控交互、远程交互和加工仿真;第二部分是运动控制,运动控制子系统通常包括两个通道:主通道和辅助通道。主通道主要应用于自动加工状态下的运动指令;辅助通道主要起到配合人机接口子系统,响应用户手动操作的作用。130优选知识131优选知识1开放性需求分析开放层次是开放式数控系统需要考虑的基本问题。面向不同层次的用户对象进行分级开放的观点已达成共识,但分级的具体层次尚没有明确的界定标准。主流的观点认为,可分为下列三个由浅入深的级别。132优选知识1) 一级开放所谓一级开放是指参数与人机界面的简易定制。这个级别面向终端用户开放,
37、用户无须关心系统内部的具体实现方法,主要依据修改各种配置参数得以实现。根据现场的实际应用环境和人机接口风格的喜好,在基础系统上通过参数设置来实现系统与执行机构的集成。这一层次上的用户仅需要阅读操作手册即可完成集成。133优选知识2) 二级开放所谓二级开放是指人机界面的用户化定制这个级别主要面向销售商开放。在产品销售的过程中,客户可能会对产品提出具体的界面要求,如修改界面风格以适应操作工的知识背景、特殊显示某些系统变量、增加对刀指引等,此时需要彻底地改变原系统的界面风格,可能牵涉到与系统内核的交互。这一层次的开放需要按照开放规则编辑少量的代码,并与系统完成基础通信,不会直接影响系统的运行效果。可
38、通过这种开放实现比专有系统更好的人机交互能力,并且具有更好的上层应用系统集成能力。134优选知识3) 三级开放所谓三级开放是指功能定制。这个级别主要面向具有运动控制理论基础的用户开放,他们可能需要实现原系统中所没有的指令功能,如增加特殊曲线插补功能、实现特殊的加减速等。这个层次的开放需要与系统内核进行深层次的交互(通信交互、事件交互、实时响应等),甚至影响到系统的运动效果。通过这个层次的开放,可以将用户的使用经验与研究成果很好地集成到系统中,实现在特殊场合的应用。135优选知识2软件功能模块136优选知识图2-57说明由图2-57可以清楚地看出运动控制系统软件架构体系,其四大部分为主监视进程、
39、人机交互进程、运动控制进程和运动驱动进程。137优选知识2.4.2 运动控制器的开发应用软件简介1C /OS-II2NI-Motion v7.0138优选知识1) C /OS-II简介C/OS-II是一个完整的、可移植、可固化、可裁剪的占先式实时多任务内核。C/OS-II绝大部分的代码是用ANSI的C语言编写的,包含一小部分汇编代码,使之可供不同架构的微处理器使用。至今,从8位到64位,C/OS-II已在超过40种不同架构的微处理器上运行。C/OS-II已经在世界范围内得到广泛应用,包括很多领域,如手机、路由器、集线器、不间断电源、飞行器、医疗设备及工业控制上。实际上,C/OS-II已经通过了
40、非常严格的测试,并且得到了美国航空管理局的认证,可以用在飞行器上。除此以外,C/OS-II另一个鲜明的特点就是源码公开,便于移植和维护。139优选知识2) C/OS-II内核结构多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU 时间,并且负责任务之间的通信。内核提供的基本服务是任务切换。C/OS-II可以管理多达64个任务。由于其开发者占用和保留了8个任务,所以留给用户应用程序的最多可有56个任务。赋予各个任务的优先级必须是不相同的。这意味着C/OS-II不支持时间片轮转调度法。C/OS-II为每个任务设置独立的堆栈空间,可以快速实现任务切换。C/OS-II近似地每时每刻让优先级
41、最高的就绪任务处于运行状态,为了保证这一点,它在调用系统API 函数、中断结束、定时中断结束时总是执行调度算法。C/OS-II通过事先计算好数据简化了运算量,通过精心设计就绪表结构使延时可以预知。如果需要利用MCU开发,可提前参阅相关书籍,全面了解C/OS-II。140优选知识3) 软件系统开发流程软件系统开发的流程主要包含以下五个主要步骤,如图2-58所示。141优选知识2NI-Motion v7.01) NI-Motion v7.0运动控制模块介绍该软件模块是用于与NI运动控制器通信的高级软件命令集。本软件包括各种LabVIEW VI和实例,可以快速创建运动控制应用程序。NI Motion
42、 Assistant可生成NI-Motion驱动程序代码,作为应用开发的基础。NI-Motion与LabVIEW实时兼容,其NI Measurement & Automation Explorer用于运动系统的配置和调试。图2-59所示就是LabVIEW VI运动模块。142优选知识143优选知识LabVIEW VI(1) 可控制每个National Instruments运动控制器;(2) 实例程序涵盖了简单和复杂的运动;(3) 用于LabWindows/CVI、Visual Basic和C/C+的编程实例。2) Motion Assistant NI运动助手图2-60所示的是NI-Moti
43、on Assistant软件界面。144优选知识145优选知识3) NI-SoftMotion开发模块通过用于LabVIEW的NI-SoftMotion开发模块,机器生产商和OEM生产商可创建具有更出色机器性能的自定义运动控制器,而研究人员可实现用于运动控制的高级控制设计算法。本模块的功能包括在LabVIEW实时和/或LabVIEW FPGA中实现轨道生成、样条插值、位置/速度PID控制和编码器实施等。用户可根据其性价比,利用NI-SoftMotion,通过插入式数据采集模块等来创建自定义的运动控制器。图2-61就是NI-SoftMotion模块的一个开发界面图,具有如下基本功能:146优选知
44、识147优选知识2.5 运动控制器设计要素运动控制器的设计重点包括实时性、鲁棒性通用性。148优选知识1实时性对于运动控制系统而言,实时性是系统首要考虑的性能指标。根据负载对速度的要求,控制器的输出频率响应必须大于负载最高频率2倍。149优选知识2鲁棒性在现实系统中,由于温度、湿度、环境压力、振动、电网波动等诸多因素的影响,控制器的固有特性或者结构参数发生变化是不可能避免的,也就是常说的温度漂移和时间漂移。为了抑制漂移对系统的影响,需要对控制系统的鲁棒性提出要求,重点集中在控制回路的控制算法上,围绕控制系统的增益和时间常数进行有针对性的设计。模糊PID与分数PID算法对于提升系统的鲁棒性都有益处。150优选知识3通用性为了扩大批量生产,降低研发成本,控制器要具有一定的通用性,尤其是某些行业的机械具有显著的共性需求,因此控制器的通用性也显得十分必要。151优选知识课后作业习题2-1、2-2、2-5、2-7、2-11、2-132-17152优选知识