做和基于PMAC卡的样条模式拟合已知曲线的方
基于PMAC卡的样条模式拟合已知曲线的方法
摘 要:本文主要介绍基于PMAC卡的开放式数控系统中,利用样条曲线拟合已知曲线方程,使负载实现要求运动轨迹的方法。通过对几种方法的比较分析,选择了可靠性高和实用性较好的方法,并在实际工程中进行了应用,取得了良好效果。
关键词:样条曲线 ;拟合;PMAC
The methods of Curve fitting by spline-curve based on PMAC Card
Dai yongxin,Ma boyuan
Xi'dian University 1, Xi'an 710071
Abstract: This paper introduces the methods of curve fitting by spline-cu能够丈量冲击力、冲击速率rve in the opening NC system based on PMAC Card. By comparison, the author adopted a reliable and available method, which had been tested in practice. The method got a good result in application.
key words: spline-curve; Curve fitting; PMAC
1 应用背景
在某武器研制和调试的过程中,需通过计算机控制系统,精确模拟各类目标运动轨迹。为此,研制了运动轨迹模拟系统。系统采用十字型支架结构,用两台电机分别直接驱动高速滚珠丝杠,实现目标的横向和纵向的运动,通过两轴联动,实现所需模拟的运动轨迹。控制系统采用了基于美国DELTA TGU DATA SYSTEM公司的PMAC可编程多轴运动控制器、日本松下公司的全数字交流伺服电动机和伺服驱动器、上位工业控制计算机组成的硬件平台,通过上下位软件实现各种运动控制功能。
在该系统中,其中一个主要功能是使模拟目标精确按照所需的各种运动轨迹运动,如单轴、两轴正弦运动。如何以上述系统为基础,合理开发出相应的上、下位软件成为主要技术难点之一。
在课题的开发中,我们尝试采用PMAC卡的样条模式,利用样条曲线来拟合各种所需的运动曲线,取得了较好的应用效果。以下主要叙述基于PMAC卡的采用样条拟合的程序实现方法。
2 PMAC卡的样条曲线拟合原理
首先,PMAC卡中将要执行的一个运动先以时间为单位等分为时间相等的段,每一段时间都是TA时间。再将运动分配到每个轴上,在运动程序中的每一段均用如X100 Y100所示的标准运动命令对每一根轴给定一个目标位置。然后,查看在当前位置以及在这之前和之后的运动命令,由此三点产生样条插补的初始值,沿时间坐标计算对应点的坐标并进行连续插补,得到对每根轴产生一个对时间的三次位置曲线。PMAC卡对所有轴同时执行样条程序,计算沿着样条位置曲线上每个轴的每一点的中间“轨迹点”,由等式
W=(X(N-1)+4X(N)+X(N+1))/6
在指定点X(N)和在任一边的指定点进行加权平均来完成的。在某些应用中由标准样条算法引入的误差可能很大而不能忽略,可以采用预置补偿减小该样条误差,采用如下等式:
W=(-X(N-1)+8X(N)-X(N+1))/6
获得每根轴对时间的三次位置曲线后,还需要通过采用在轨迹点的任一边的分段的平均速度,计算出沿着样条曲线的每一轨迹点轴速度。在取得分段边界的确切位置和速度后,按照样条曲线拟合公式计算出满足以上要求的可以满足运动精度和运动特性要求的样条曲线轨迹所需的运行指令数据。
最后,将以上得到的数据发送至被控制系统, 被控制系统按照指令数据进行运动。
3 高速运动中样条曲线拟合的实现方法
3.1在上位机上进行运算,然后将结果传输至PMAC运动控制卡的方法:
首先输入待模拟曲线函数,计算所需节点数据,然后将节点数据带入样条公式求解,求解所得数据存入数组中,计算完毕后将数组中数据向下位机传输,下位机收到数据开始执行。该方法未使用PMAC卡的样条模式功能。其流程图如图1。
由于上位机无论在运行速度和运算精度上,均有很大的扩展空间和提升能力,对于复杂曲线,从理论上说可以达到任意精度,节点的选取也可以无限制,从理论上可以实现任意小的曲线误差。但是,由于样条曲线模拟任意曲线,依靠点的多少,决定模拟精度,大量的数据通过数据总线传输给PMAC运动控制卡,而PMAC卡将进行数据完整性检查,从而传输的速度直接影响PMAC运动控制卡对驱动器发出指令的连续性和实时性,从而影响系统运动的连续性,甚至激发随动误差限制功能,造成PMAC卡保护性关闭。
3.2在上位机上进行样条曲线运算程序的生成,然后将运算程序传输至PMAC运动控制卡的方法:
在运行程序前,停止所有的运动程序。按照需要输入选择的曲线函数或算法,计算所需运动坐标数据,将数据存入数组内,由上位机程序将数组和样条算法编制成PMAC专用数控程序下载到卡中。下载完成后,上位机发指令在卡上开始运行程序。其流程图如图2。
该方法通过卡上的DSP芯片进行样条模式计算,根据所需运动曲线将相应的运动坐标编入数控程序中,运算速度快。但是,此方法需针对不同参数的运动曲线分别编制大量不同的程序,程序数据量大,缺乏使用灵活性。同时由于上位机与PMAC卡之间数据格式需要转化,可能会造成程序运行的失误。
3.3在上位机上进行样条曲线运算参数生成,将参数化运动控制程序传输至PMAC运动控制卡,然后将运算参数传输至PMAC运动控制卡的方法:
首先按照已知曲线编写PMAC卡专用参数化样条曲线拟合程序,然后冲击机-步进机电:下载到卡内,由上位机将已知曲线的特征参数提取出来,传输给PMAC卡,并进行参数校验,保证参数正确,然后发送运行指令,由PMAC卡将下载参数代入曲线拟合程序,进行计算。其流程图如图3。
图3
由于运算参数的数量很少,可以忽略数据通过数据总线传输给PMAC运动控制卡所带来的传输时间,通过卡上的DSP芯片进行计算,运算速度快,程序运行稳定,可以对参数进行上传校对,安全性强。此种方法可对某一类曲线编写一个通用参数化运动控制数控程序。通过改变运算参数改变该运行曲线的特征参数。
在本系统中由于运动速度高、系统响应速度快,而且要求较高的系统可靠性和动态运动性能,故本系统中采用此方法按曲线类型开发了许多参数化运动控制数控程序。
作为应用例子,以下提供单轴运动时,利用样条模式拟合正弦曲线的程序片中国塑料加工工业协会常务副理事长朱文玮认为断:
上位机下传曲线参数程序如下:
str:='p347=1'; //幅值、相角、频率和起始点运动参数
PmacSendCommandA(0,str);
str:='p349=100';
PmacSendCommandA(0,str);
str:='p350=2';
PmacSendCommandA(0,str);
str:='p346=100';
PmacSendCommandA(0,str);
PMAC卡上的下位数控程序如下:
ABS //1般可用10万次以上运动初始状态
P344=0
P348=0
TA100
TS50
F100
SPLINE1 //调用函数
TA(100)
WHILE((P347*P348+0.01745*15)
以岭药业芪苈强心胶囊功效治疗心力衰竭主要用药
高血压能吃芪苈强心胶囊吗
活血通络能吃芪苈强心胶囊吗