CN112068487B - 插补控制方法、装置以及可读存储介质 - Google Patents

插补控制方法、装置以及可读存储介质 Download PDF

Info

Publication number
CN112068487B
CN112068487B CN201910801164.7A CN201910801164A CN112068487B CN 112068487 B CN112068487 B CN 112068487B CN 201910801164 A CN201910801164 A CN 201910801164A CN 112068487 B CN112068487 B CN 112068487B
Authority
CN
China
Prior art keywords
interpolation
period
fine
interpolation period
upper computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910801164.7A
Other languages
English (en)
Other versions
CN112068487A (zh
Inventor
李铁峰
彭文涛
蔡云龙
刘江
刘伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hongjing Microelectronics Technology Co ltd
Original Assignee
Hongjing Microelectronics Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hongjing Microelectronics Technology Co ltd filed Critical Hongjing Microelectronics Technology Co ltd
Priority to CN201910801164.7A priority Critical patent/CN112068487B/zh
Publication of CN112068487A publication Critical patent/CN112068487A/zh
Application granted granted Critical
Publication of CN112068487B publication Critical patent/CN112068487B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45136Turning, lathe

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Numerical Control (AREA)

Abstract

本发明提供了一种插补控制方法、装置以及可读存储介质,涉及数字控制技术领域,其中,所述插补控制方法,应用于数控系统,包括:获取控制点序列、第一粗插补周期以及第一精插补周期;对所述第一精插补周期整数化得到第二精插补周期;确定第二粗插补周期;根据所述控制点序列与所述第二粗插补周期确定第一曲线方程;其中,所述第一曲线方程以时间为变量,以插补点为应变量;根据所述第一曲线方程确定插补时间对应的插补点;其中,所述插补时间为所述第二精插补周期的自然数倍。本发明实施例通过将精插补周期整数化,使得在根据第一曲线方程与插补时间确定插补点的过程中,减小了对小数或分数的运算,进而降低了插补控制复杂度,提高了插补效率。

Description

插补控制方法、装置以及可读存储介质
技术领域
本发明涉及数字控制技术领域,尤其涉及一种插补控制方法、装置以及可读存储介质。
背景技术
插补(Interpolation)一般指机床数控系统依照一定方法确定刀具运动轨迹的过程。插补过程一般是利用插补点关于时间的曲线方程,来求取不同插补时间对应的插补点,以实现刀具运动轨迹数据点的密化。现有技术中,插补时间的集合中通常会存在具有小数或者分数的时间值,在对这些时间值进行求取多次方等运算时,运算过程会比较复杂,进而带来运行效率低的技术问题。
发明内容
本发明实施例提供一种插补控制方法、装置以及可读存储介质,以解决现有技术插补运算过程比较复杂,进而带来运行效率低的技术问题。
为了解决上述技术问题,本发明是这样实现的:
本发明提供了一种插补控制方法,应用于数控系统,包括:
获取控制点序列、第一粗插补周期以及第一精插补周期;
对所述第一精插补周期整数化得到第二精插补周期;其中,所述第二精插补周期为正整数;
确定第二粗插补周期,其中,所述第二粗插补周期与所述第二精插补周期的比值,等于所述第一粗插补周期与所述第一精插补周期的比值;
根据所述控制点序列与所述第二粗插补周期确定第一曲线方程;其中,所述第一曲线方程以时间为变量,以插补点为应变量;
根据所述第一曲线方程确定插补时间对应的插补点;其中,所述插补时间为所述第二精插补周期的自然数倍。
可选地,根据Tr/Tc计算得到的插补率N为正整数;
其中,Tr为所述第一粗插补周期,Tc为所述第一精插补周期。
可选地,所述第一曲线方程包括第一曲线子方程,其中,所述第一曲线子方程以上位机待发出的脉冲个数表示的插补点为应变量,以时间为变量;
所述根据所述第一曲线方程确定插补时间对应的插补点,包括:
根据所述第一曲线子方程确定插补时间t对应的上位机待发出的总脉冲个数s′p(t);
根据s′p(t)计算时间区间[(i-1)T′c,iT′c]内上位机待发出的脉冲个数;
其中,i为小于等于N的正整数;T′c为所述第二精插补周期。
可选地,当i为小于N的正整数时,时间区间[(i-1)T′c,iT′c]内上位机待发出的脉冲个数num_integer满足:
num_integer=[|s′p(iT′c)-s′p((i-1)T′c)|];
当i等于N时,时间区间[(N-1)T′c,NT′c]内上位机待发出的脉冲个数num_integer满足:
Figure BDA0002182349690000021
可选地,所述根据s′p(t)计算时间区间[(i-1)T′c,iT′c]内上位机待发出的脉冲个数之后,所述方法还包括:
获取所述上位机待发出的脉冲的最大频率fmax
判断所述时间区间[(i-1)T′c,iT′c]内上位机待发出的脉冲个数与Tc的比值是否均不大于fmax
若否,则生成控制点序列调整请求信号。
可选地,所述获取控制点序列、第一粗插补周期以及第一精插补周期之后,所述方法还包括:
判断所述控制点序列中控制点的数量与第一阈值、第二阈值的关系;
当所述控制点的数量小于第一阈值时,生成报错信号;
当所述控制点的数量不小于第一阈值,且小于第二阈值时,对所述控制点进行复制,直至所述控制点的数量不小于第二阈值。
本发明实施例还提供了一种插补控制装置,应用于数控系统,包括:
第一获取模块,用于获取控制点序列、第一粗插补周期以及第一精插补周期;
整数化模块,用于对所述第一精插补周期整数化得到第二精插补周期;其中,所述第二精插补周期为正整数;
周期确定模块,用于确定第二粗插补周期,其中,所述第二粗插补周期与所述第二精插补周期的比值,等于所述第一粗插补周期与所述第一精插补周期的比值;
曲线方程确定模块,用于根据所述控制点序列与所述第二粗插补周期确定第一曲线方程;其中,所述第一曲线方程以时间为变量,以插补点为应变量;
插补点确定模块,用于根据所述第一曲线方程确定插补时间对应的插补点;其中,所述插补时间为所述第二精插补周期的自然数倍。
可选地,根据Tr/Tc计算得到的插补率N为正整数;
其中,Tr为所述第一粗插补周期,Tc为所述第一精插补周期。
可选地,所述第一曲线方程包括第一曲线子方程,其中,所述第一曲线子方程以上位机待发出的脉冲个数表示的插补点为应变量,以时间为变量;
所述插补点确定模块,包括:
第一脉冲个数确定单元,用于根据所述第一曲线子方程确定插补时间t对应的上位机待发出的总脉冲个数s′p(t);
第二脉冲个数确定单元,用于根据s′p(t)计算时间区间[(i-1)T′c,iT′c]内上位机待发出的脉冲个数;
其中,i为小于等于N的正整数;T′c为所述第二精插补周期。
可选地,当i为小于N的正整数时,时间区间[(i-1)T′c,iT′c]内上位机待发出的脉冲个数num_integer满足:
num_integer=[|s′p(iT′c)-s′p((i-1)T′c)|];
当i等于N时,时间区间[(N-1)T′c,NT′c]内上位机待发出的脉冲个数num_integer满足:
Figure BDA0002182349690000031
可选地,上述装置还包括:
第二获取模块,用于获取所述上位机待发出的脉冲的最大频率fmax
第一判断模块,用于判断所述时间区间[(i-1)T′c,iT′c]内上位机待发出的脉冲个数与Tc的比值是否均不大于fmax
第一信号生成模块,用于若否,则生成控制点序列调整请求信号。
可选地,上述装置还包括:
第二判断模块,用于判断所述控制点序列中控制点的数量与第一阈值、第二阈值的关系;
第二信号生成模块,用于当所述控制点的数量小于第一阈值时,生成报错信号;
调整模块,用于当所述控制点的数量不小于第一阈值,且小于第二阈值时,对所述控制点进行复制,直至所述控制点的数量不小于第二阈值。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述的插补控制方法的步骤。
本发明实施例中,通过将精插补周期整数化,使得在根据第一曲线方程与插补时间确定插补点的过程中,减小了对小数或分数的运算,进而降低了插补控制复杂度,提高了插补效率。
附图说明
图1为本发明实施例提供的插补控制方法流程图;
图2为本发明实施例中各精插补区间内上位机待发出的脉冲个数计算流程图;
图3为本发明实施例中验证各精插补区间内的脉冲频率是否合理的工作流程图;
图4为本发明实施例中容错处理工作流程图;
图5为本发明实施例提供的插补控制方法的一种可选实施方式的流程图;
图6为本发明实施例提供的插补控制装置结构示意图;
图7为本发明实施例提供的插补控制装置结构的一种可选实施方式的结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本发明的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本发明的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。
本发明实施例将主要以三次B样条曲线插补为例进行说明。
如图1所示,本发明实施例提供的插补控制方法,应用于数控系统,包括:
步骤S100,获取控制点序列、第一粗插补周期以及第一精插补周期。
对于复杂曲线和曲面的加工,采用三次B样条曲线插补,能够提高加工的质量和精度。目前对于三次B样条曲线算法的实现主要有数据采样插补算法,该算法描述如下:
已知输入位置控制点序列为{X0、X1、X2、X3、……、Xn},由X0、X1、X2、X3计算第一组系数,由X1、X2、X3、X4计算第二组系数,以此类推。
以第一组系数的计算过程为例,已知粗插补的周期为T,根据X0、X1、X2、X3以及T,确定三次B样条插补曲线的方程s(t)=at3+bt2+ct+d,其中系数a、b、c、d的计算过程为:
首先,计算每段三次B样条曲线起始点位置wp0、每段三次B样条曲线终点位置wp1、每段三次B样条曲线起始点速度velp0、每段三次B样条曲线终点速度velp1,具体公式如下:
Figure BDA0002182349690000051
然后,按如下公式计算得到上述系数:
Figure BDA0002182349690000052
将方程组(1)代入方程组(2)中可得到:
Figure BDA0002182349690000061
最终得到的三次B样条插补曲线的方程的表达式为:
Figure BDA0002182349690000062
由方程式(4)可知,根据控制点序列与粗插补周期T已经能够对三次B样条插补曲线的方程进行确定。第一粗插补周期用Tr表示,则Tr即上述公式中的参数T。第一精插补周期用Tc表示,根据Tr/Tc计算得到的值为插补率N。
例如,以EtherCAT(Ethernet for control automation technology,以太网控制自动化技术)总线实现的网络控制数控系统中,通常要求粗插补周期T=1ms(即Tr=1ms),Tc<250μs,得出N>4;这里选取Tc=200μs=0.2ms,那么N=Tr/Tc=5,精插补区间为[0,0.2]、[0.2,0.4]、[0.4,0.6]、[0.6,0.8]、[0.8,1],将t=0.2,0.4,0.6,0.8代入到方程式(4)中即可计算出精插补点的值。
当然,上述的Tc、Tr的值还可以根据实际需要进行选取。
在数控机床中,加工中心的在某一方向上的位置一般是与上位机发出的与该方向对应的脉冲个数成比例的,其比值一般即为脉冲当量;因此,在脉冲当量已知的情况下,所述控制点与插补点既可以用具有长度单位的位置值进行表示,也可以用上位机待发出的脉冲个数来表示。为以示区别,下文中用上位机待发出的脉冲个数来表示的参数均加有下标p。
例如,在某一插补时间下,插补点的在X轴上的位置值为0.1mm,已知数控机床加工中心在X轴方向上的脉冲当量为0.001mm/脉冲,则加工中心到达上述插补点需要上位机发出100个X轴方向所对应的脉冲。
步骤S200,对所述第一精插补周期整数化得到第二精插补周期;其中,所述第二精插补周期为正整数。
从方程式(4)可知,在对时间t对应的精插补点的值s(t)进行计算时,会涉及对t的三次方、二次方以及一次方运算,当t为小数或者分数时,软硬件计算过程比较复杂,尤其是硬件计算。因此,本实施例中,将Tc整数化处理得到第二精插补周期T′c,且T′c为正整数。
以Tr=1ms,Tc=0.2ms为例,将Tc乘以一系数5,进而得到第二精插补周期T′c=1ms。
当Tr与N均为整数时,上述Tc所乘的系数可以确定为kN或者kN/Tr,其中k为正整数。例如,Tr=2ms,Tc=0.2ms时,N=10,T′c可以是通过Tc乘以系数10得到,也可以是通过Tc乘以系数5、15或20等得到。
当Tr或N为小数或分数时,上述Tc所乘的系数可以确定为kN/Tr。例如,Tr=1.2ms,Tc=0.2ms时,可将上述系数确定为5;再例如Tr=1ms,Tc=0.3ms时,可将上述系数确定为10/3;
当Tr与N均为小数或分数时,则可对Tc乘以一预设值,使得T′c为整数即可。例如,Tr=1.2ms,Tc=0.5ms时,可将上述系数确定为2。
步骤S300,确定第二粗插补周期,其中,所述第二粗插补周期与所述第二精插补周期的比值,等于所述第一粗插补周期与所述第一精插补周期的比值;
由于在上述步骤中已经将精插补周期进行了整数化处理,为保证计算出的精插补点的值准确,可以对粗插补周期进行调整。具体地,如T′c是通过对Tc乘以一系数得到的,那么对Tr也乘以该系数得到第二粗插补周期T′r
以Tr=1ms,Tc=0.2ms为例,将Tc乘以一系数5,进而得到第二精插补周期T′c=1ms,相应地,将Tr也乘以系数5,得到第二粗插补周期T′r=5ms。
步骤S400,根据所述控制点序列与所述第二粗插补周期确定第一曲线方程;其中,所述第一曲线方程以时间为变量,以插补点为应变量。
参见方程式(4),该方程式是在粗插补周期T等于Tr时确定的,当粗插补周期T变更为T′r时,将该方程式更新为:
Figure BDA0002182349690000071
方程式(5)即为上述的第一曲线方程。
若定义方程式(4)为第二曲线方程,则第一曲线方程的获得方式可以有两种:一种是如上文所述的,先求出第二曲线方程,然后将粗插补周期T由Tr替换成T′r;另一种则是先求出T′r,再根据T′r与控制点序列直接求取第一曲线方程。
步骤S500,根据所述第一曲线方程确定插补时间对应的插补点;其中,所述插补时间为所述第二精插补周期的自然数倍。
同样以Tr=1ms,Tc=0.2ms、T′c=1ms、T′r=5ms为例,对于方程式(4),如上文所述,T=Tr,且需要求取t=0.2,0.4,0.6,0.8时精插补点的值。而对于方程式(5),T=T′r,t的取值为T′c的自然数倍,可求取精插补时间如t=1,2,3,4对应的精插补点的值,插补区间变为[0,1]、[1,2]、[2,3]、[3,4]、[4,5]。
从方程式(4)可看出,其右侧的每个单项式中,T与t的指数均相等,且分别处于分母、分子的位置上,在T和t乘以相同系数的情况下,计算得到的值并不会发生变化。因此,精插补点的值的计算结果存在如下关系:
s(0.2)=s′(1)、s(0.4)=s′(2)、s(0.6)=s′(3)、s(0.8)=s′(4)。
方程式(5)中,t=0与t=5时的粗插补点已经预先求得,即s′(0)=wp0,s′(5)=wp1,因此无需重复计算。当然可选地,粗插补时间如t=0、t=5对应的粗插补点的值也可以通过方程式(5)求得,因此可将插补时间t的取值范围定义为T′c的自然数倍,根据第一曲线方程同时求取精插补点与粗插补点。
一般来说,当N为整数时,为确定精插补点,在确定第一曲线方程后,求取t=T′c,2T′c,3T′c…(N-1)T′c时,s′(t)的值即可。当N为小数时,可选择求取t=T′c,2T′c,3T′c…[(N-1)]T′c时s′(t)的值,其中[ ]为取整数部分运算。也可以选择求取其他时间的s′(t)的值,例如,在时间区间([(N-1)]T′c,T′r)内寻找值为整数的时间t,并求取相应的s′(t)的值。
本发明实施例虽然增大了系数a、b、c、d的计算复杂度,而且确定的T′r也有可能是小数或者分数,但是在同一曲线方程中,根据T′r求取a、b、c、d的过程仅有一次,而精插补点的计算次数一般为多次。因此,本发明实施例通过将精插补周期整数化,使得在根据第一曲线方程与插补时间确定插补点的过程中,减小了对小数或分数的运算,进而降低了插补控制复杂度,提高了插补效率。
值得说明的是,本发明实施例提供的插补控制方法不仅仅可以应用于上述的三次B样条曲线中,还可以应用到二次B样条曲线、四次B样条曲线、抛物线插补、圆弧曲线等插补控制过程中。
可选地,本发明实施例中,根据Tr/Tc计算得到的插补率N为正整数;其中,Tr为所述第一粗插补周期,Tc为所述第一精插补周期。
当N为正整数时,若将T′c确定为正整数后,T′r也必然是正整数,一方面,能够进一步减少对小数或分数的计算,另一方面,则使得精插补点的分布更加均匀,有利于提高插补质量。
本发明实施例中,所述第一曲线方程包括第一曲线子方程,其中,所述第一曲线子方程以上位机待发出的脉冲个数表示的插补点为应变量,以时间为变量;
第一曲线子方程的确定方式可以有两种:
一种是根据脉冲当量,将控制点序列中的已知控制点的值用上位机待发出的脉冲个数来表示,然后再根据脉冲个数与T′r直接确定第一曲线子方程。
另一种是将控制点序列中的已知控制点的值用传统的具有长度单位(如毫米)的位置值进行表示,根据所述位置值与T′r确定第二曲线子方程(即所述第一曲线方程还包括第二曲线子方程),所述第二曲线子方程的应变量为以位置值表示的插补点,变量为时间;然后根据第二曲线子方程与脉冲当量确定第一曲线子方程。
如图2所示,所述步骤S500,根据所述第一曲线方程确定插补时间对应的插补点,包括:
步骤S510,根据所述第一曲线子方程确定插补时间t对应的上位机待发出的总脉冲个数s′p(t);
即求取从初始点到达各个插补时间t对应的插补点,上位机所需相应发出的总的脉冲个数。
步骤S520,根据公式s′p(t)计算时间区间[(i-1)T′c,iT′c]内上位机待发出的脉冲个数;
其中,i为小于等于N的正整数;T′c为所述第二精插补周期。
本发明实施例中,将第一曲线子方程的应变量确定为以上位机待发出的脉冲个数表示的插补点,进而可直接求取各个精插补区间内上位机在对应方向上所需发出的脉冲个数,上位机基于脉冲个数求取结果,可以无需经过位置值增量与脉冲当量的计算而直接发出相应个数的脉冲。
由于在一个第二精插补区间内,上位机发出的脉冲不可能为小数个。因此,本实施例中,在根据s′p(t)计算在第i(i<N)个第二精插补区间内所需上位机待发出的脉冲个数时,可对s′p(iT′c)-s′p((i-1)T′c)的绝对值进行取整计算。而上述每个第二精插补区间中对脉冲个数取整计算后的到的小数可以补偿在最后的一个精插补区间(即第N个第二精插补区间)里,再四舍五入得到最后结果,具体来说:
当i为小于N的正整数时,时间区间[(i-1T′c,iT′c]内上位机待发出的脉冲个数num_integer满足:
num_integer=[|s′p(iT′c)-s′p((i-1)T′c)|];
其中,[ ]为取整数部分运算,| |为求绝对值运算;
当i等于N时,时间区间[(N-1)T′c,NT′c]内上位机待发出的脉冲个数num_integer满足计算公式:
num_integer=[(|s′p(NT′c)-s′p((N-1)T′c)|)+
Figure BDA0002182349690000101
该计算公式中,((|s′p(iT′c)-s′p((i-1)T′c)|)-[|s′p(iT′c)-s′p((i-1)T′c)|])即前N-1的时间区间中,任一区间根据公式|s′p(iT′c)-s′p((i-1)T′c)|计算得到上位机待发出的脉冲个数的小数部分。
本发明实施例对每一段精插补区间内脉冲个数进行误差处理,能够提高基于插补计算的数控机床加工质量。
可选地,可以在每个精插补区间中对计算得到上位机待发出的脉冲个数进行四舍五入的处理,但是容易导致误差得不到处理而不断累积,降低数控机床加工质量。
本实施例中,控制加工中心在每个精插补区间内匀速运动,即控制上位机在每个精插补区间内按照一定的脉冲频率值发出脉冲,该脉冲频率值具体可通过如下公式计算得到:|s′p(iT′c)-s′p((i-1)T′c)|/Tc
当然在一个可行的实施例中,也可以是先根据上述的第二曲线子方程求得加工中心在每个精插补区间内具有长度单位的位置增量,再根据该位移与脉冲当量以及T′c计算得到上述脉冲频率值。但相比之下,采用第一曲线子方程不需要经过位置增量和脉冲当量而直接计算上位机待发出的脉冲个数,减少了计算量,提高了插补效率。
如图3所示,本实施例中,所述步骤S520,根据s′p(t)计算时间区间[(i-1)T′c,iT′c]内上位机待发出的脉冲个数之后,所述插补控制方法还包括:
步骤S610,获取所述上位机待发出的脉冲的最大频率fmax
步骤S620,判断所述时间区间[(i-1)T′c,iT′c]内上位机待发出的脉冲个数与Tc的比值是否均不大于fmax
步骤S630,若否,则生成控制点序列调整请求信号。
由于上位机待发出的脉冲的频率是具有上限值的,因此需要验证确定的每个精插补区间内的脉冲频率是否合理。若所述时间区间[(i-1)T′c,iT′c]内上位机待发出的脉冲个数与Tc的比值均不大于fmax,则说明控制点序列中控制点的选取是合理的,可按该序列正常插补。
以Tr=1ms,Tc=0.2ms=2×10-4s、T′c=1ms、T′r=5ms、N=5为例,选取控制点X0、X1、X2、X3计算三次B样条曲线方程,结合脉冲当量,将这些控制点的值分别用上位机待发出的脉冲个数来表示为Xp0、Xp1、Xp2、Xp3,参考方程式(5),可得到:
Figure BDA0002182349690000111
将t=0,1,2,3,4,5分别代入方程式(6)可得:
Figure BDA0002182349690000112
在不考虑误差处理的情况下,步骤S620的计算过程可总结为:
max(|s′p(T′c)-s′p(0)|,|s′p(2T′c)-s′p(T′c)|,…|s′p(NT′c)-s′p((N-1)T′c)|)≤Tcfmax
具体来说,需判断以下不等式是否均成立:
Figure BDA0002182349690000113
根据方程组(7)与(8)可得出:
Figure BDA0002182349690000121
当方程组(9)中的5个不等式同时成立时,精插补区间的脉冲频率则可认定为是合理的。令:
diff1=|-61Xp0-27Xp1+87Xp2+Xp3|
diff2=|-37Xp0-69Xp1+99Xp2+7Xp3|
diff3=|-19Xp0-93Xp1+83Xp2+19Xp3|
diff4=|-7Xp0-99Xp1+69Xp2+37Xp3|
diff5=|-Xp0-87Xp1+27Xp2+61Xp3|
则方程组(9)化简为如下通式:
max(diff1,diff2,diff3,diff4,diff5)≤Tcfmax (10)
可选地,对于每一段精插补区间内脉冲个数进行过误差处理的情况,可先获取所有精插补区间对应的num_integer中的最大值,再将该最大值除以Tc,得到的结果与fmax进行比较,判断精插补区间的脉冲频率是否合理。
当判断精插补区间的脉冲频率不合理时,生成控制点序列调整请求信号,以提醒操作者对控制点序列进行调整。
本实施例能够有效避免在单个精插补区间中所需上位机发出的脉冲个数超出上位机工作性能范围,导致不能达到加工要求的情况。
如图4所示,在一个可选实施例中,在步骤100,获取控制点序列、第一粗插补周期以及第一精插补周期之后,所述方法还包括:
步骤710,判断所述控制点序列中控制点的数量与第一阈值、第二阈值的关系;
步骤720,当所述控制点的数量小于第一阈值时,生成报错信号;
步骤730,当所述控制点的数量不小于第一阈值,且小于第二阈值时,对所述控制点进行复制,直至所述控制点的数量不小于第二阈值。
例如,三次B样条曲线插补算法对输入的控制点的个数要求是至少是4个点,如果输入的控制点个数少于4个点,本实施例能够进行容错处理。
例如可将上述的第一阈值设置为2,第二阈值设置为4,具体可按如下处理方式:
1)当控制点的个数为0时,发出个数为0的错误标志。
2)当控制点的个数为1时,发出个数为1的错误标志。
3)当控制点的个数为2时,输入序列为X0、X1,那么对该序列进行处理,构成一个新的序列X0、X0、X1、X1,序列长度变为4。
4)当控制点的个数为3时,输入序列为X0、X1、X2,那么对该序列进行处理,构成一个新的序列X0、X0、X1、X2、X2,序列长度变为5。
5)当控制点的个数大于等于4时,按照正常方式处理序列即可(即由X0、X1、X2、X3计算第一组系数,由X1、X2、X3、X4计算第二组系数,以此类推)。
本实施例能够针对输入控制点的个数不足的情况,进行容错处理,扩大了插补控制方法的适用范围。
如图5所示,作为一种可选实施方式,本发明实施例提供的插补控制方法应用在三次B样条曲线插补控制中时,具体流程为:
步骤S10,设置参数,包括第一粗插补周期Tr与第一精插补周期Tc
步骤S11,输入控制点序列;
步骤S12,验证控制点序列中控制点个数的有效性;
步骤S13,判断控制点的个数是否小于4;若是,则执行步骤S14,若否则执行步骤S15;
步骤S14,进行容错处理,即当控制点的个数小于2时,发出错误提醒,当控制点个数为2或3时,对已有控制点进行复制,当控制点个数大于等于4时,执行步骤S15;
步骤S15,对第一精插补周期Tc整数化处理得到第二精插补周期T′c,结合插补率N等参数,计算第一曲线子方程三次多项式的系数a、b、c、d并确定第一曲线子方程;
步骤S16,根据第一曲线子方程进行插补计算,确定各个插补时间对应的插补点,其中,插补点可以通过上位机待发出的总脉冲个数进行表示;
步骤S17,通过计算判断各精插补区间所需脉冲频率是否合理,即判断是否超过了上位机能够发出的最大脉冲频率;若是,则执行步骤S18,若否,则返回执行步骤S11;
步骤S18,进行误差处理,其处理方式可以是将前N-1个精插补周期中计算得到的脉冲数量的小数部分累加到最后一个精插补周期中;当然,可选地,实际应用中,步骤S18也可以在步骤S17之前进行;
步骤S19,完成插补控制,结束。
上述可选实施方式中,对精插补周期进行常整数模型优化,使得对每一段三次B样条曲线求解精插补点时降低计算复杂度,提高计算效率;将已知输入的控制点的单位由传统的位置点(毫米)转换成上位机所发的脉冲个数,根据粗插补周期和插补率实现每一段精插补区间速度(脉冲频率)匀速插补,便于控制;根据已知输入的控制点,粗插补周期,插补率和上位机所发脉冲的最大频率准确地预测出任意一段精插补区间速度是否合理,若不合理,可及时调整控制点,保证加工中心能够正常运行;针对输入控制点的个数不足,进行容错处理,扩大了适用范围;对每一段精插补区间脉冲个数进行误差处理,使得插补控制过程更加准确。
如图6所示,本发明实施例还提供了一种插补控制装置,应用于数控系统,包括:
第一获取模块810,用于获取控制点序列、第一粗插补周期以及第一精插补周期;
整数化模块820,用于对所述第一精插补周期整数化得到第二精插补周期;其中,所述第二精插补周期为正整数;
周期确定模块830,用于确定第二粗插补周期,其中,所述第二粗插补周期与所述第二精插补周期的比值,等于所述第一粗插补周期与所述第一精插补周期的比值;
曲线方程确定模块840,用于根据所述控制点序列与所述第二粗插补周期确定第一曲线方程;其中,所述第一曲线方程以时间为变量,以插补点为应变量;
插补点确定模块850,用于根据所述第一曲线方程确定插补时间对应的插补点;其中,所述插补时间为所述第二精插补周期的自然数倍。
本发明实施例通过将精插补周期整数化,使得在根据第一曲线方程与插补时间确定插补点的过程中,减小了对小数或分数的运算,进而降低了插补控制复杂度,提高了插补效率。
可选地,根据Tr/Tc计算得到的插补率N为正整数;
其中,Tr为所述第一粗插补周期,Tc为所述第一精插补周期。
可选地,所述第一曲线方程包括第一曲线子方程,其中,所述第一曲线子方程以上位机待发出的脉冲个数表示的插补点为应变量,以时间为变量;
如图7所示,所述插补点确定模块,包括:
第一脉冲个数确定单元851,用于根据所述第一曲线子方程确定插补时间t对应的上位机待发出的总脉冲个数s′p(t);
第二脉冲个数确定单元852,用于根据s′p(t)计算时间区间[(i-1)T′c,iT′c]内上位机待发出的脉冲个数;
其中,i为小于等于N的正整数;T′c为所述第二精插补周期。
可选地,当i为小于N的正整数时,时间区间[(i-1)T′c,iT′c]内上位机待发出的脉冲个数num_integer满足:
num_integer=[|s′p(iT′c)-s′p((i-1)T′c)|];
当i等于N时,时间区间[(N-1)T′c,NT′c]内上位机待发出的脉冲个数num_integer满足:
Figure BDA0002182349690000151
可选地,如图7所示,上述装置还包括:
第二获取模块861,用于获取所述上位机待发出的脉冲的最大频率fmax
第一判断模块862,用于判断所述时间区间[(i-1)T′c,iT′c]内上位机待发出的脉冲个数与Tc的比值是否均不大于fmax
第一信号生成模块863,用于若否,则生成控制点序列调整请求信号。
可选地,如图7所示,上述装置还包括:
第二判断模块871,用于判断所述控制点序列中控制点的数量与第一阈值、第二阈值的关系;
第二信号生成模块872,用于当所述控制点的数量小于第一阈值时,生成报错信号;
调整模块873,用于当所述控制点的数量不小于第一阈值,且小于第二阈值时,对所述控制点进行复制,直至所述控制点的数量不小于第二阈值。
本发明实施例所述插补控制装置,是与上述插补控制方法相对应的装置,上述方法中的所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述的插补控制方法的步骤。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。

Claims (13)

1.一种插补控制方法,应用于数控系统,其特征在于,包括:
获取控制点序列、第一粗插补周期以及第一精插补周期;
对所述第一精插补周期整数化得到第二精插补周期;其中,所述第二精插补周期为正整数;
确定第二粗插补周期,其中,所述第二粗插补周期与所述第二精插补周期的比值,等于所述第一粗插补周期与所述第一精插补周期的比值;
根据所述控制点序列与所述第二粗插补周期确定第一曲线方程;其中,所述第一曲线方程以时间为变量,以插补点为应变量;
根据所述第一曲线方程确定插补时间对应的插补点;其中,所述插补时间为所述第二精插补周期的自然数倍。
2.根据权利要求1所述的方法,其特征在于,根据Tr/Tc计算得到的插补率N为正整数;
其中,Tr为所述第一粗插补周期,Tc为所述第一精插补周期。
3.根据权利要求2所述的方法,其特征在于,所述第一曲线方程包括第一曲线子方程,其中,所述第一曲线子方程以上位机待发出的脉冲个数表示的插补点为应变量,以时间为变量;
所述根据所述第一曲线方程确定插补时间对应的插补点,包括:
根据所述第一曲线子方程确定插补时间t对应的上位机待发出的总脉冲个数s′p(t);
根据s′p(t)计算时间区间[(i-1)T′c,iT′c]内上位机待发出的脉冲个数;
其中,i为小于等于N的正整数;T′c为所述第二精插补周期。
4.根据权利要求3所述的方法,其特征在于,
当i为小于N的正整数时,时间区间[(i-1)T′c,iT′c]内上位机待发出的脉冲个数num_integer满足:
num_integer=[|s′p(iT′c)-s′p((i-1)T′c)|];
当i等于N时,时间区间[(N-1)T′c,NT′c]内上位机待发出的脉冲个数num_integer满足:
Figure FDA0002182349680000021
5.根据权利要求3或4所述的方法,其特征在于,所述根据s′p(t)计算时间区间[(i-1)T′c,iT′c]内上位机待发出的脉冲个数之后,所述方法还包括:
获取所述上位机待发出的脉冲的最大频率fmax
判断所述时间区间[(i-1)T′c,iT′c]内上位机待发出的脉冲个数与Tc的比值是否均不大于fmax
若否,则生成控制点序列调整请求信号。
6.根据权利要求1所述的方法,其特征在于,所述获取控制点序列、第一粗插补周期以及第一精插补周期之后,所述方法还包括:
判断所述控制点序列中控制点的数量与第一阈值、第二阈值的关系;
当所述控制点的数量小于第一阈值时,生成报错信号;
当所述控制点的数量不小于第一阈值,且小于第二阈值时,对所述控制点进行复制,直至所述控制点的数量不小于第二阈值。
7.一种插补控制装置,应用于数控系统,其特征在于,包括:
第一获取模块,用于获取控制点序列、第一粗插补周期以及第一精插补周期;
整数化模块,用于对所述第一精插补周期整数化得到第二精插补周期;其中,所述第二精插补周期为正整数;
周期确定模块,用于确定第二粗插补周期,其中,所述第二粗插补周期与所述第二精插补周期的比值,等于所述第一粗插补周期与所述第一精插补周期的比值;
曲线方程确定模块,用于根据所述控制点序列与所述第二粗插补周期确定第一曲线方程;其中,所述第一曲线方程以时间为变量,以插补点为应变量;
插补点确定模块,用于根据所述第一曲线方程确定插补时间对应的插补点;其中,所述插补时间为所述第二精插补周期的自然数倍。
8.根据权利要求7所述的装置,其特征在于,根据Tr/Tc计算得到的插补率N为正整数;
其中,Tr为所述第一粗插补周期,Tc为所述第一精插补周期。
9.根据权利要求8所述的装置,其特征在于,所述第一曲线方程包括第一曲线子方程,其中,所述第一曲线子方程以上位机待发出的脉冲个数表示的插补点为应变量,以时间为变量;
所述插补点确定模块,包括:
第一脉冲个数确定单元,用于根据所述第一曲线子方程确定插补时间t对应的上位机待发出的总脉冲个数s′p(t);
第二脉冲个数确定单元,用于根据s′p(t)计算时间区间[(i-1)T′c,iT′c]内上位机待发出的脉冲个数;
其中,i为小于等于N的正整数;T′c为所述第二精插补周期。
10.根据权利要求9所述的装置,其特征在于,
当i为小于N的正整数时,时间区间[(i-1)T′c,iT′c]内上位机待发出的脉冲个数num_integer满足:
num_integer=[|s′p(iT′c)-s′p((i-1)T′c)|];
当i等于N时,时间区间[(N-1)T′c,NT′c]内上位机待发出的脉冲个数num_integer满足:
Figure FDA0002182349680000031
11.根据权利要求9或10所述的装置,其特征在于,还包括:
第二获取模块,用于获取所述上位机待发出的脉冲的最大频率fmax
第一判断模块,用于判断所述时间区间[(i-1)T′c,iT′c]内上位机待发出的脉冲个数与Tc的比值是否均不大于fmax
第一信号生成模块,用于若否,则生成控制点序列调整请求信号。
12.根据权利要求7所述的装置,其特征在于,还包括:
第二判断模块,用于判断所述控制点序列中控制点的数量与第一阈值、第二阈值的关系;
第二信号生成模块,用于当所述控制点的数量小于第一阈值时,生成报错信号;
调整模块,用于当所述控制点的数量不小于第一阈值,且小于第二阈值时,对所述控制点进行复制,直至所述控制点的数量不小于第二阈值。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的插补控制方法的步骤。
CN201910801164.7A 2019-08-28 2019-08-28 插补控制方法、装置以及可读存储介质 Active CN112068487B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910801164.7A CN112068487B (zh) 2019-08-28 2019-08-28 插补控制方法、装置以及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910801164.7A CN112068487B (zh) 2019-08-28 2019-08-28 插补控制方法、装置以及可读存储介质

Publications (2)

Publication Number Publication Date
CN112068487A CN112068487A (zh) 2020-12-11
CN112068487B true CN112068487B (zh) 2022-08-02

Family

ID=73657908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910801164.7A Active CN112068487B (zh) 2019-08-28 2019-08-28 插补控制方法、装置以及可读存储介质

Country Status (1)

Country Link
CN (1) CN112068487B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115113585B (zh) * 2022-08-29 2022-11-11 济南邦德激光股份有限公司 基于n阶b样条进行精插补的方法、设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN87107235A (zh) * 1986-12-01 1988-06-15 洛迦诺电子工业股份有限公司 高效能动态处理过程用的数字控制系统
CN102880118A (zh) * 2012-09-27 2013-01-16 中国科学院数学与系统科学研究院 基于插补精度和加速度限制的变插补周期曲线插补方法
CN103149879A (zh) * 2011-12-07 2013-06-12 沈阳高精数控技术有限公司 一种基于弧长的数控系统椭圆插补方法
CN103699056A (zh) * 2013-12-02 2014-04-02 嘉兴学院 高速高精度数控加工的小线段实时平滑过渡插补方法
CN103744352A (zh) * 2013-12-23 2014-04-23 华中科技大学 一种基于fpga的三次b样条曲线的硬件插补器
CN107608313A (zh) * 2017-09-11 2018-01-19 大连理工大学 一种五轴双样条曲线插补速度规划方法
CN109739179A (zh) * 2018-11-28 2019-05-10 大族激光科技产业集团股份有限公司 插补控制方法及装置、计算机设备及可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6046102B2 (ja) * 2014-11-27 2016-12-14 ファナック株式会社 高速応答の軸制御系統を持つ多系統数値制御装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN87107235A (zh) * 1986-12-01 1988-06-15 洛迦诺电子工业股份有限公司 高效能动态处理过程用的数字控制系统
CN103149879A (zh) * 2011-12-07 2013-06-12 沈阳高精数控技术有限公司 一种基于弧长的数控系统椭圆插补方法
CN102880118A (zh) * 2012-09-27 2013-01-16 中国科学院数学与系统科学研究院 基于插补精度和加速度限制的变插补周期曲线插补方法
CN103699056A (zh) * 2013-12-02 2014-04-02 嘉兴学院 高速高精度数控加工的小线段实时平滑过渡插补方法
CN103744352A (zh) * 2013-12-23 2014-04-23 华中科技大学 一种基于fpga的三次b样条曲线的硬件插补器
CN107608313A (zh) * 2017-09-11 2018-01-19 大连理工大学 一种五轴双样条曲线插补速度规划方法
CN109739179A (zh) * 2018-11-28 2019-05-10 大族激光科技产业集团股份有限公司 插补控制方法及装置、计算机设备及可读存储介质

Also Published As

Publication number Publication date
CN112068487A (zh) 2020-12-11

Similar Documents

Publication Publication Date Title
US7167772B2 (en) Machining time calculating apparatus
EP1720085B1 (en) Curve interpolating method
CN106814694B (zh) 一种高速高精度的参数曲线前瞻插补方法
CN109164759B (zh) 曲线插补方法、设备及计算机可读存储介质
CN102298359B (zh) 一种数控系统中加减速过渡平滑控制方法
CN104597845A (zh) 一种用于高质量加工的样条曲线插补算法
CN112068487B (zh) 插补控制方法、装置以及可读存储介质
CN103296940B (zh) 一种自适应pi控制方法与系统
CN114237161B (zh) 一种基于数字滤波的工业机器人nurbs曲线插补方法
Chen et al. Augmented Taylor's expansion method for B-spline curve interpolation for CNC machine tools
CN113204215B (zh) 一种数控加工全局nurbs轨迹实时插补方法及其应用
JP3879056B2 (ja) 数値制御曲面加工装置
CN115202293B (zh) 一种工业机器人两段式速度规划方法
CN114740803A (zh) 一种nurbs曲线插补速度控制方法、装置及设备
JP2013025467A (ja) 対数関数の近似演算回路
Nie et al. Real‐Time NURBS Interpolation under Multiple Constraints
CN109283892A (zh) 一种基于参数化曲线几何特征和弓高误差限制的进给速率自适应插补算法
CN113721555B (zh) 一种s型速度规划的目标速度的确定方法及装置
CN112673331B (zh) 同步控制装置、系统、方法以及模拟装置
JP3354494B2 (ja) 数値制御装置
CN107741731B (zh) 一种s曲线计算精度引起的误差处理方法
Jee et al. Tool-path generation for NURBS surface machining
JP2854035B2 (ja) 曲線生成装置
JPH05334337A (ja) 常微分方程式の並列処理方式及びその装置
Wu et al. Research on Adaptive Feedrate Planning of NURBS Curves for CNC System

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 230088 north, 9th floor, B1 building, animation base, 800 Wangjiang West Road, high tech Zone, Hefei City, Anhui Province

Applicant after: Hongjing Microelectronics Technology Co.,Ltd.

Address before: 230088 north, 9th floor, B1 building, animation base, 800 Wangjiang West Road, high tech Zone, Hefei City, Anhui Province

Applicant before: HEFEI MACROSILICON TECHNOLOGY CO.,LTD.

GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20201211

Assignee: Anhui Xingtai Financial Leasing Co.,Ltd.

Assignor: Hongjing Microelectronics Technology Co.,Ltd.

Contract record no.: X2023980034867

Denomination of invention: Interpolation control method, device, and readable storage medium

Granted publication date: 20220802

License type: Exclusive License

Record date: 20230420

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Interpolation control method, device, and readable storage medium

Effective date of registration: 20230424

Granted publication date: 20220802

Pledgee: Anhui Xingtai Financial Leasing Co.,Ltd.

Pledgor: Hongjing Microelectronics Technology Co.,Ltd.

Registration number: Y2023980038963

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Granted publication date: 20220802

Pledgee: Anhui Xingtai Financial Leasing Co.,Ltd.

Pledgor: Hongjing Microelectronics Technology Co.,Ltd.

Registration number: Y2023980038963

EC01 Cancellation of recordation of patent licensing contract
EC01 Cancellation of recordation of patent licensing contract

Assignee: Anhui Xingtai Financial Leasing Co.,Ltd.

Assignor: Hongjing Microelectronics Technology Co.,Ltd.

Contract record no.: X2023980034867

Date of cancellation: 20240603