两轴直线插补定位

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

两轴直线插补定位:

算法设计:

直线插补的算法很多。这里介绍的是,基准轴输出为主,辅助轴输出配合半累加插补算法。

此算法使用时,起始点为当前位置,终点可按直角坐标的X、Y值,以脉冲为单位选定。同时,还要选定所在象限。用选定象限确定脉冲输出的方向。如第一象限,则X为正向,Y也为正向。如二象限,则X为反向,Y为正向。其它象限类推。在执行程序时按步计算,按步输出脉冲,而方向用方向信号控制。这里介绍算法,就是一步步是怎么算的。

所谓基准轴,就是终点坐标值较大的轴。在每步它都输出脉冲,只是当辅助轴有脉冲输出时,它让辅助轴先输出。而辅助轴则用累加的方法,确定是否输出。

累加的过程是,用自身的终点坐标累加,当大于基准轴的终点坐标时,输出一个脉冲,并把累加值减基准轴的终点值,“差”又作为在累加值。该算法的框图见图5-5-1-6。

图5-5-1-6 半累加直线插补算法框图

图5-5-1-7示的为一个插补运算实例。

图5-5-1-7 插补实例

从图知,该例的X轴终点坐标为9,而Y轴为3。可知,应选X轴为基准轴,而Y为辅助轴。从框图知,一开始就累加辅助轴的终点坐标值。但它仅3,比基准的终点坐标值9小,故仅基准轴输出脉冲,走了第1步。接着,又累加辅助轴的终点坐标值。这时为6,比基准的终点坐标值9小,故仅基准轴输出脉冲,走了第2步。接着,又累加辅助轴的终点坐标值。这时为9,不比基准的终点坐标值9小,故仅辅助轴输出脉冲,走了第3步,累计值变为0。之后,4、5、6又是X轴输出;7是Y轴输出;8、9、10又是X轴输出;11是Y轴输出;12又是X轴输出。

可知,本算法的进给的速度是恒定的,有利于切削加工的应用。

程序实现:

程序是按算法编的,也是算法的具体化。其基本程序见图5-5-1-8、图5-5-1-9、图5-5-1-10。图5-5-1-8为步进工作启动及初始化程序。图5-5-1-9为X是基准轴时的脉冲输出控制程序。至于YX是基准轴时的脉冲输出控制程序与此类似,故不重复。图5-5-1-10为终点及方向控制程序。方向控制仅画两个象限。其它两个象限略。

图5-5-1-8步进工作启动及初始化程序

启动程序用了基本的起、保停逻辑。步进启动ON,则步进工作ON,并自保持。直到

步进完成ON,则步进工作OFF。这里并联LR0.7,为了选定新的程序后重启动的需要。见图5-5-1-11说明。

初始化,主要是判断那个轴为基准轴及参数回到初始值。显然,不进行初始化,程序是无法正确执行的。

另外,还要启动定时器TIMH000。按图设定,它每0.05秒ON一个扫描周期。正是用它控制脉冲输出的节奏,即频率。此定时时间可按需要改设。为了控制准确也可启用PLC的定时中断及立即I/O刷新的功能,以提高控制效果。

图5-5-1-9 X是基准轴时脉冲输出控制

从图5-5-1-9知,“X行程大”意味着X为基准轴。正如算法框图指出的,它先对Y轴终点坐标值累加。然后,把累加值被“累加器”减。参看图5-5-1-8知,此“累加器”即为X轴的终点坐标值。如不够减,即它小“累加器”,则LR0.2 OFF,X轴输出脉冲,“已走步数“加1。如够减,即它大、等于“累加器”,则LR0.2 ON。进而,把差赋值给Y累加器,输出脉冲(使用什么指令可视选用机型确定),“已走步数“加1,并把LR0.12置位。LR0.12置位的目的是,在这个脉冲周期哦,X轴不输出脉冲。但临退出本程序段时,用LR0.02 ON,把LR0.12复位。为下一周期执行X轴发送脉冲作准备。

提示:这里如不用LR0.12,基准轴总是输出脉冲,而辅助轴累加值超过基准轴终点值时,

也输出脉冲。运动轨迹将有时是走坐标轴的平行线斜线,有时走斜线。速度将是不均匀的。

当下一此,TIM000 ON再进入本程序段时,由于LR0.02仍为ON,故Y轴的累加不进行。而X轴的步进等将执行,而且,最后还把LR0.02复位,为新一次的Y轴累加及相应操作作准备。

至于不是“X行程大”,Y为基准轴的情况与此类似。

图5-5-1-10 终点及方向控制程序

从图5-5-1-10知,它主要是判断到了坐标终点了没有?如到,则置位“步进完成”。再看图5-5-1-8可知,此信号将使“步进工作”停止。

此外,此程序还依选定的象限,对X、Y轴运动方向做了确定。图中只列出1、2象限的程序,3、4象限也类似。

以上讲的只是一个小直线段的插补。而且,坐标长度也不能打于单字BCD运算的范

围(当然,也可用二进制或双字运算运算)。如要走多段程序怎么办?图5-5-1-11即为可进行多段直线插补的主程序。这时,以上图5-5-1-8、图5-5-1-9、图5-5-1-10只是它的子程序10。

图5-5-1-11 程序控制程序

从图知,它的开头也是起保停逻辑。“程控启动”ON,将使“程控工作”ON,并自保持。当每次“步进完成”后,如“当前程序号”与程序不小于(即大、等于)设定的程序

总数时,“程序完成”置位,它将使“程控工作”停止。只是,当“程控工作”ON后,要

使进行插补,还要启动“步进工作”。

图5-5-1-11程序接着为初始化。对“指针”赋值,“当前程序号”置0,把5个程序要

设定参数赋值所调的程序。这5个参数是,X终点坐标值、Y终点坐标值、象限、停留时

间及脉冲输出时间间隔(后4者图上看不出来)。之后,调子程序10,即以上介绍的程序。4个参数是直线插补所必需的,按指针的初始赋值知,它应存于丛DM800开始的DM区中。数据长度为程序(有多少段插补直线)总数乘5。可知,可设定很多程序。

图5-5-1-11程序的最后部分为“步进工作”再启动。从图知,当步进完成后,先是

LR0.15 ON,并自保持。当“步进工作”OFF,又启动定时器TIM001,经“停留时间”(此时间可设为0,不延时)延时,LR0.07ON,见图5-5-1-10知,它可使“步进工作”ON,并自保持。又可开始新的插补。

可知,本程序可进行多段程序的直线插补,是较灵活,功能也是很强的。

圆弧插补算法:

在两个坐标点间,如果要走曲线怎么办?把这曲线分成若干直线,用上述分几个直线

段进行插补。这样,上述程序使用时及编程时,就要做分析:要分几段才能满足精度要求?每段的终点坐标是多少?然后,进行参数设定,并送入PLC。再运行上述程序,也可实行

两点间的曲线运动。早期数控实现曲线运动,加工曲面就是这个办法。结果是,使用的数

据很多,编程(划分线段那样的编程)工作量很大。给数控的应用带来很大的不便。

在两个坐标点间,要走曲线第二个办法是用圆弧插补,有的还用其它二次曲线插补。

这样插补比直线插补最大的优点是,达到相同的精度,所需的线段少,编程简单。但插补

的运算复杂些。而后者是系统设计的问题,最终用户可不必考虑。

逐点比较法:

相关文档
最新文档