CN109643102A - 指令值生成装置 - Google Patents

指令值生成装置 Download PDF

Info

Publication number
CN109643102A
CN109643102A CN201780050738.0A CN201780050738A CN109643102A CN 109643102 A CN109643102 A CN 109643102A CN 201780050738 A CN201780050738 A CN 201780050738A CN 109643102 A CN109643102 A CN 109643102A
Authority
CN
China
Prior art keywords
processing program
instruction value
unit
point
split order
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.)
Granted
Application number
CN201780050738.0A
Other languages
English (en)
Other versions
CN109643102B (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN109643102A publication Critical patent/CN109643102A/zh
Application granted granted Critical
Publication of CN109643102B publication Critical patent/CN109643102B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/4093Numerical 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 part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • 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
    • G05B19/4103Digital interpolation
    • 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/34Director, elements to supervisory
    • 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/35Nc in input of data, input till input file format

Landscapes

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

Abstract

指令值生成装置(100)具有:分割部(110),其将加工程序(10)分割为多个执行单位而生成分割加工程序;并行运算部(120),其具有多个运算装置,针对每个执行单位将分割加工程序并行地执行,生成针对每个执行单位的刀具路径上的插补点组即分割指令;以及指令值生成部(130),其根据针对每个执行单位的分割指令而生成刀具移动指令(11),分割部(110)在至少1个分割点前后的分割加工程序中,针对与分割点相比处在前方的1个分割加工程序的结束部分、及与分割点相比处在后方的1个分割加工程序的开始部分,运算基于预先设定出的加速度移动直至到达指令速度为止的加速距离,以分割加工程序的分割点处的重叠量大于或等于加速距离的方式进行运算,使分割加工程序的开始及结束部分以重叠量相互重叠。

Description

指令值生成装置
技术领域
本发明涉及具有多个运算装置,通过并行执行多个运算装置而生成刀具移动指令的指令值生成装置。
背景技术
以往,在使用工作机械对被加工物进行加工的情况下,一般是通过CAM(ComputerAided Manufacturing)创建加工程序。在加工程序中记述有加工形状的信息、刀具的进给速度及刀具的转速。指令值生成装置读入该加工程序,进行诸如坐标变换、刀具长度校正、刀具直径校正及机械误差校正这样的校正而进行刀具路径的运算。并且,指令值生成装置进行以加减速为代表的处理,进行每单位时间的刀具路径上的指令点即插补点的运算。在下面的说明中,将每单位时间的刀具路径上的指令点称呼为插补点,将一系列的插补点组称呼为刀具移动指令。在大多情况下,指令值生成装置使用数控装置(NC:NumericalControl)。在加工形状具有自由曲面的情况下,生成通过连续的多个微小的线段近似出自由曲面的加工程序。在生成加工程序时,为了尽可能准确地表现自由曲面而需要缩短加工程序的线段长度,因此加工程序的线段长度存在变短的倾向。如果加工程序的线段长度变短,则在指令值生成装置中进行处理的线段数增加,因此刀具移动指令的生成所需的时间增大。该问题在具有自由曲面的模具加工及伴随坐标变换的5轴加工中特别显著。
因此,研究出通过多个运算装置并行地进行刀具移动指令的运算,由此高速地生成刀具移动指令的方法。在作为现有技术的一个例子的专利文献1中,公开了下述技术,即,针对每个加工工序将加工程序分割,通过多个处理器核并行地进行刀具移动指令的运算。
现有技术文献
专利文献
专利文献1:日本特表2014-522529号公报
发明内容
但是,根据上述现有技术,只能够在加工暂时中断的部位将加工程序分割,无法将多个运算装置的处理量均等地分散。因此,存在下述问题,即,无法有效使用多个运算装置的处理性能而高速地生成刀具移动指令。
本发明就是鉴于上述情况而提出的,其目的在于得到有效使用多个运算装置,与以往相比高速地生成刀具移动指令的指令值生成装置。
为了解决上述的课题并达到目的,本发明是一种指令值生成装置,其基于加工程序对刀具路径进行运算,生成刀具路径上的每单位时间的插补点组即刀具移动指令,该指令值生成装置的特征在于,具有:分割部,其将所述加工程序分割为多个执行单位而生成分割加工程序;并行运算部,其具有多个运算装置,针对每个所述执行单位将所述分割加工程序并行地执行,生成针对每个所述执行单位的刀具路径上的插补点组即分割指令;以及指令值生成部,其根据针对每个所述执行单位的所述分割指令而生成刀具移动指令,在将从所述加工程序的开始朝向结束的方向设为后方,将从所述加工程序的结束朝向开始的方向设为前方时,所述分割部在至少1个分割点前后的所述分割加工程序中,针对与所述分割点相比处在前方的1个所述分割加工程序的结束部分、及与所述分割点相比处在后方的1个所述分割加工程序的开始部分,运算基于预先设定出的加速度移动直至到达指令速度为止的加速距离,以所述分割加工程序的所述分割点处的重叠量大于或等于所述加速距离的方式进行运算,使所述分割加工程序的开始及结束部分以所述重叠量相互重叠。
发明的效果
根据本发明,具有下述效果,即,能够有效使用多个运算装置,与以往相比高速地生成刀具移动指令。
附图说明
图1是表示实施方式1所涉及的指令值生成装置的结构的图。
图2是在实施方式1中,表示图1所示的指令值生成装置中的数据流的第1图。
图3是在实施方式1中,表示图1所示的指令值生成装置中的数据流的第2图。
图4是在实施方式1中,表示图1所示的分割部的处理流的图。
图5是在实施方式1中,表示将时间设为横轴、将速度设为纵轴的不重叠的情况下的执行单位1及执行单位2的分割点的前后的举动的图。
图6是在实施方式1中,表示将时间设为横轴、将速度设为纵轴的重叠的情况下的执行单位1及执行单位2的分割点的前后的举动的图。
图7是在实施方式1中,表示将时间设为横轴、将速度设为纵轴的加速距离La的图。
图8是在实施方式1中,表示将时间设为横轴、将速度设为纵轴的重叠量Lo的图。
图9是在实施方式1中,表示加工程序中的刀具的移动路径的一个例子的图。
图10是在实施方式1中,表示考虑了重叠量的、加工程序中的刀具的移动路径的一个例子的第1图。
图11是在实施方式1中,表示考虑了重叠量的、加工程序中的刀具的移动路径的一个例子的第2图。
图12是在实施方式1中,表示加工程序的一个例子的图。
图13是在实施方式1中,表示分割加工程序1的图。
图14是在实施方式1中,表示追记有与加工模式相关的指令的分割加工程序2的图。
图15是在实施方式1中,表示追记有与加工模式相关的指令的分割加工程序3的图。
图16是在实施方式1中,表示内转发生的、加工程序中的刀具的移动路径的一个例子的第1图。
图17是在实施方式1中,表示内转发生的、加工程序中的刀具的移动路径的一个例子的第2图。
图18是在实施方式1中,表示图1所示的并行运算部中的分割加工程序的执行定时和图1所示的指令值生成部中的一系列的刀具移动指令的生成定时的时序图。
图19是在实施方式1中,表示分割加工程序1及分割加工程序2和分割指令1及分割指令2的一个例子的图。
图20是在实施方式1中,表示分割指令切换的点处的插补点的间隔的一个例子的图。
图21是在实施方式1中,表示在分割指令切换的点处调整后的插补点的间隔的一个例子的图。
图22是在实施方式1中,表示加工程序形状的一个例子的第1图。
图23是在实施方式1中,关于执行图22的加工程序形状时,将时间设为横轴、将速度设为纵轴,表示X轴速度及Y轴速度的图。
图24是在实施方式1中,关于执行图22的加工程序形状时,表示被生成的刀具移动指令的一个例子的图。
图25是在实施方式1中,表示执行图22的加工程序形状时的速度波形和刀具路径的图。
图26是在实施方式1中,表示执行图22的加工程序形状时的刀具移动指令的一个例子的图。
图27是在实施方式1中,表示加工程序形状的一个例子的第2图。
图28是在实施方式1中,关于执行图27的加工程序形状时,将时间设为横轴、将速度设为纵轴,表示X轴速度及Y轴速度的图。
图29是在实施方式1中,关于执行图27的加工程序形状时,表示被生成的刀具移动指令的一个例子的图。
图30是在实施方式1中,表示执行图27的加工程序形状时的速度波形和刀具路径的图。
图31是在实施方式1中,表示执行图27的加工程序形状时的刀具移动指令的一个例子的图。
图32是表示实施方式2所涉及的指令值生成装置的结构的图。
图33是表示实施方式2中的图32所示的并行运算部中的分割加工程序的执行定时和图32所示的指令值生成部中的一系列的刀具移动指令的生成定时的时序图。
图34是表示实施方式3所涉及的指令值生成装置的结构的图。
图35是表示实施方式1中的图1所示的运算装置中的分割加工程序的执行定时和图1所示的指令值生成部中的一系列的刀具移动指令的生成定时的时序图。
图36是表示实施方式3中的图34所示的运算装置中的分割加工程序的执行定时和图34所示的指令值生成部中的一系列的刀具移动指令的生成定时的时序图。
图37是表示实施方式3中的图34所示的指令值生成装置中的数据流的第1图。
图38是表示实施方式3中的图34所示的指令值生成装置中的数据流的第2图。
具体实施方式
下面,基于附图对本发明的实施方式所涉及的指令值生成装置详细地进行说明。此外,本发明并不限定于本实施方式。
实施方式1.
图1是表示本发明的实施方式1所涉及的指令值生成装置的结构的图。图1所示的指令值生成装置100是对未图示的NC工作机械进行控制的数控装置。图1所示的指令值生成装置100按照输入的加工程序10,将刀具路径上的每单位时间的插补点组即刀具移动指令11输出,由此对刀具相对于NC工作机械的被加工物的移动进行数控。
指令值生成装置100具有:分割部110、并行运算部120及指令值生成部130。分割部110将加工程序10分割为执行单位而生成分割加工程序。并行运算部120按照针对每个执行单位的加工程序而生成针对每个执行单位的刀具移动指令即分割指令。指令值生成部130根据分割指令而生成一系列的刀具移动指令11。
在这里,在并行运算部120设置有运算装置121、运算装置122及运算装置123。并行运算部120由多核CPU(Central Processing Unit)、具有多个CPU的个人计算机或通过通信线路连接的服务器或者云系统构成。此外,通信线路能够例示出局域网及互联网。另外,在图1中,并行运算部120具有3个运算装置,但本发明并不限定于此,并行运算部120所具有的运算装置的设置数大于或等于1个即可。如果增多并行运算部120所具有的运算装置的设置数,则能够高速地生成刀具移动指令11,因此与高速化的目标值相应地决定运算装置的设置数即可。
分割部110将被输入的加工程序10分割为多个执行单位,针对每个执行单位将分割加工程序输出至并行运算部120。
并行运算部120针对每个执行单位将分割加工程序分配给运算装置121、122、123。运算装置121、运算装置122及运算装置123进行以加减速及坐标变换为代表的处理,依次生成针对每个执行单位的刀具的移动指令即分割指令,输出至指令值生成部130。在这里,运算装置121、运算装置122及运算装置123被并行执行,如果1个执行单位的分割指令的生成完成,则开始下一个执行单位的分割指令的生成,直至未处理的执行单位消失为止重复处理。
指令值生成部130根据针对每个执行单位的分割指令而将一系列的刀具移动指令11生成并输出。此外,指令值生成部130由单个CPU、具有单个CPU的个人计算机或通过通信线路连接的服务器或者云系统构成。或者,指令值生成部130也可以与并行运算部120同样地,由多核CPU、具有多个CPU的个人计算机或通过通信线路连接的服务器或者云系统构成。
接下来,关于并行运算的执行顺序更详细地进行说明。图2是在实施方式1中,表示图1所示的指令值生成装置100中的数据流的第1图。图2示出并行运算部120初次执行时的数据流。
图3是在实施方式1中,表示图1所示的指令值生成装置100中的数据流的第2图。图3示出并行运算部120初次执行完成,下一个执行单位的加工程序执行时的数据流。此外,在图2及图3中,分割部110将加工程序10分割为6个执行单位,即执行单位1、执行单位2、执行单位3、执行单位4、执行单位5及执行单位6,但本发明并不限定于此,分割数能够适当设定。
如图2所示,在分割部110将加工程序10分割为执行单位1、执行单位2、执行单位3、执行单位4、执行单位5及执行单位6的情况下,并行运算部120由于具有3个运算装置,因此并行运算部120将执行单位1、执行单位2、执行单位3并行执行而生成分割指令1、分割指令2及分割指令3。而且,指令值生成部130根据分割指令1、分割指令2及分割指令3而生成针对执行单位1、执行单位2及执行单位3的刀具移动指令。
如图3所示,如果并行运算部120完成执行单位1至执行单位3的执行,则并行运算部120执行作为下一个执行单位的执行单位4至执行单位6,生成分割指令4至分割指令6。而且,指令值生成部130生成针对执行单位4至6的刀具移动指令,与针对执行单位1至执行单位3的刀具移动指令合并,生成刀具移动指令11并输出。
此外,在存在未执行的执行单位的情况下,直至未执行的执行单位消失为止重复相同的处理。另外,在这里,分割指令1是将执行单位1执行时的分割指令,这对于分割指令2、3、4、5、6也是同样的。
接下来,关于各结构要素的处理内容详细地进行说明。图4是在实施方式1中,表示图1所示的分割部110的处理流程的图。首先,分割部110开始处理,决定分割数N(S1)。在这里,分割数N设为大于或等于并行运算部120所具有的运算装置的设置数,但在加工程序的行数少的情况下也可以将分割数N设为小于运算装置的设置数。在实施方式1中,作为一个例子而设为分割数N=6。
接下来,分割部110决定对加工程序10进行分割的分割点(S2)。在将加工程序10分割为N个执行单位的情况下,将全部执行单位在并行运算部120中的运算时间尽可能设为均一。加工程序10的每1个程序块的运算时间T(i)是通过将程序块的长度L(i)除以指令速度F(i)而求出的。因此,加工程序10的整体的运算时间T如下述式(1)所示,通过每1个程序块的运算时间T(i)的全部程序块的总和进行表示。
【式1】
在这里,上述的式(1)中的M是加工程序10的程序块数,即加工程序10的行数。即,将成为T/N的点设为分割点,以使得每1个执行单位的运算时间尽可能变得均一。在这里,分割点大多不与加工程序的程序块终点一致。但是,分割点无需一定与程序块终点一致,因此可以将通过上述的式(1)运算出的点设为分割点,也可以将与通过上述的式(1)运算出的点最接近的程序块终点设为分割点。
此外,在上述的式(1)中,每1个程序块的运算时间T(i)是通过程序块的长度L(i)和指令速度F(i)而运算出的,但也可以进一步使用由参数所设定的机械容许加速度并考虑加减速及夹紧速度的影响,对运算时间T(i)进行运算,由此决定分割点。另外,也可以将成为将全部程序块的长度的总和L除以分割数N得到的长度的点作为分割点,以使得每1个执行单位的路径长尽可能变得均一。
接下来,分割部110对分割为执行单位时的重叠量Lo进行计算(S3)。图5是在实施方式1中,表示将时间设为横轴、将速度设为纵轴的不重叠的情况下的执行单位1及执行单位2的分割点的前后的举动的图。如图5所示,在分割点处减速至速度零,因此在分割点的前后,进行了分割的情况下的刀具移动指令的路径和没有进行分割的情况下的刀具移动指令的路径不同。图6是在实施方式1中,表示将时间设为横轴、将速度设为纵轴的重叠的情况下的执行单位1及执行单位2的分割点的前后的举动的图。因此,分割部110如图6所示,使分割单位重叠,由此消除分割点处的减速,在进行了分割的情况下和没有进行分割的情况下,生成同一刀具移动指令。其中,重叠量Lo设为大于或等于从速度零起到达至指令速度F为止移动的距离,即加速距离La即可。
图7是在实施方式1中,表示将时间设为横轴、将速度设为纵轴的加速距离La的图。图8是在实施方式1中,表示将时间设为横轴、将速度设为纵轴的重叠量Lo的图。在图7及图8中,在以加速度A加速至指令速度F,并且通过时间常数Ts的移动平均滤波生成顺滑的速度波形的情况下,加速距离La是从时刻0至时刻(F/A+Ts)为止移动的距离。如图8所示,为了使重叠量Lo大于或等于加速所需的加速距离La,将其设为以加速度A加速至指令速度F后、以指令速度F按照移动平均滤波时间常数Ts移动时的距离。即,重叠量Lo是图8所示的梯形的面积,能够通过下述的式(2)运算。该梯形的上边的长度为Ts,下边的长度为(F/A+Ts),高度为F。
【式2】
接下来,分割部110以通过S2决定出的分割点将加工程序10分割为执行单位(S4)。在这里,在加工程序10的分割时,以通过S3运算出的重叠量Lo重叠。
图9是在实施方式1中,表示加工程序10中的刀具的移动路径的一个例子的图。在图9中,以分割点1分割为2个执行单位即执行单位1及执行单位2。
图10是在实施方式1中,表示考虑了重叠量Lo的加工程序中的刀具的移动路径的一个例子的第1图。如图10所示,执行单位1的起点是“加工程序的起点”,执行单位1的终点是“从分割点1起以重叠量Lo向终点侧移动后的点”。
图11是在实施方式1中,表示考虑了重叠量Lo的加工程序中的刀具的移动路径的一个例子的第2图。如图11所示,执行单位2的起点是“从分割点1起以重叠量Lo向起点侧移动后的点”,执行单位2的终点是“加工程序的终点”。
此外,在图9至图11中,为了简化说明,使分割点与程序块终点一致,但分割点无需一定与程序块终点一致,也可以处于程序块的中途。
另外,执行单位的起点及终点也可以处于程序块的中途,也可以将与通过前述的方法求出的起点或终点最接近的程序块终点重新设为执行单位的起点或终点。
另外,在图9至图11中,分割点仅记载了1点,但在分割点存在多个的情况下也能够以相同的方法分割。
在这里,关于向执行单位的具体的分割方法进行说明。在实施方式1中,将加工程序10分割而新生成分割加工程序,由此分割为执行单位。但是,无需一定生成分割加工程序。作为一个例子,可以通过对加工程序10的程序块编号即加工程序的每1行的序列号进行指定,从而分割为执行单位,也可以在加工程序的分割点将成为分割的记号的指令即G码或M码插入。
接下来,分割部110在分割加工程序的起始追记加工模式指令(S5)。
图12是在实施方式1中,表示加工程序的一个例子的图。在图12所示的加工程序中,针对每1个程序块,即针对每1行记载用于进行加工的坐标值。除此以外,诸如作为指令速度的F指令、作为快速进给的G0、作为切削模式的G1及作为刀具长度校正的G43这样的与加工模式相关的指令也记载于加工程序。在图12所示的加工程序中,在加工程序的起始记述与加工模式相关的指令,其后记述用于进行加工的坐标值。将该坐标值组称呼为坐标值组1。其后,再次记述与加工模式相关的指令、用于进行加工的坐标值。将该坐标值组称呼为坐标值组2。
在这里,对在坐标值组1的中途存在分割点1,在坐标值组2的中途存在分割点2的情况下的分割加工程序进行说明。在该情况下,生成3个分割加工程序,即从加工程序的起始至分割点1为止的分割加工程序1、从分割点1至分割点2为止的分割加工程序2和从分割点2至加工程序末尾为止的分割加工程序3。但是,在各分割加工程序附加重叠。
图13是在实施方式1中,表示分割加工程序1的图。图13所示的分割加工程序1是在分割点1附加重叠而进行了分割的加工程序。在这里,在分割前的加工程序的起始记述与加工模式相关的指令,因此在分割加工程序1中无需追记与加工模式相关的指令。
图14是在实施方式1中,表示追记有与加工模式相关的指令的分割加工程序2的图。关于图14所示的分割加工程序2,分割加工程序2的起始是用于进行加工的坐标值,没有记述与加工模式相关的指令,因此在分割加工程序2的起始追记与必要的加工模式相关的指令。在这里,在分割加工程序2中追记的与加工模式相关的指令,是在分割前的加工程序中,与在从加工程序的起始至分割加工程序2的起始为止之间所指定的加工模式相关的指令。
图15是在实施方式1中,表示追记有与加工模式相关的指令的分割加工程序3的图。如图15所示,在分割加工程序3的起始,也与分割加工程序2同样地,追记与加工模式相关的指令。但是,在与同一种类的加工模式相关的指令被多次指定的情况下,仅追记最后被指定的指令即可。作为一个例子,在图12中的速度指令即F指令中,在指定F3000mm/min后,存在F5000mm/min的指令,然后,存在从分割加工程序3的起始即分割点2以重叠量回溯的部分。因此,仅指定在分割加工程序3的起始以前指定出的最后的速度指令即F5000mm/min即可。
如上所述的与加工模式相关的指令的追记,除此以外还对诸如绝对值指令和相对值指令、刀具长度校正及刀具直径校正这样的如果进行一次指令则在此后的程序块也成为有效的指令即模态指令的全部进行。
在实施方式1中为分割数N=6,因此同样地生成分割加工程序4至分割加工程序6,将生成的分割加工程序输出至并行运算部120。
接下来,关于具有多个运算装置的并行运算部120的处理内容进行说明。如上所述,图1所示的并行运算部120具有:运算装置121、运算装置122及运算装置123。此外,运算装置121、运算装置122及运算装置123具体地说,能够例示出处理器核、CPU、通过网络连接的个人计算机或者服务器或云上的虚拟计算机。
关于并行运算部120,如果从分割部110以分割数N将分割加工程序输出,则对运算装置121、运算装置122及运算装置123各自分配分割加工程序。图1所示的并行运算部120具有:运算装置121、运算装置122及运算装置123,因此首先,对运算装置121分配分割加工程序1,对运算装置122分配分割加工程序2,对运算装置123分配分割加工程序3。
在运算装置121、运算装置122及运算装置123各自中,将与数控装置相同的处理并行地执行,根据分割加工程序而生成刀具的指令路径即分割指令1、分割指令2及分割指令3。在这里,在具体的处理中能够例示出下述处理,即,生成用于以预先设定出的加速度进行加减速的速度波形的加减速处理、将通过加减速处理生成的速度波形变得顺滑的平滑处理及对以平滑处理后速度移动时的每单位时间的刀具位置即插补点进行运算的插补处理。此外,平滑处理也称呼为移动平均滤波处理。在这里,将每单位时间的刀具位置的点分别称呼为插补点,将分割加工程序中的插补点整体称呼为分割指令。
如上所述顺滑地生成的分割指令的路径,通常相对于分割加工程序而发生内转。此外,发生内转的理由在后面记述。图16是在实施方式1中,表示发生内转的、加工程序中的刀具的移动路径的一个例子的第1图。图17是在实施方式1中,表示发生内转的、加工程序中的刀具的移动路径的一个例子的第2图。因此,执行了图10、11所示的分割加工程序的情况下的分割指令,如图16、17所示经过分割加工程序的起点及终点,在起点和终点之间,成为相对于分割加工程序的形状而发生了内转的形状。
此外,在起点或终点的附近,由于对加工程序进行了分割而引起的分割指令的内转量变小。将该内转量变小的区域称呼为内转减少区域。在这里,内转量由指令速度决定,内转减少区域的长度成为图7所示的加速距离La。
此外,分割部110附加大于或等于加速距离La的重叠量Lo而进行了分割。因此,分割加工程序各自中的内转减少区域不重叠,在加工程序形状的整个区域中,能够至少得到1个不是内转减少区域的插补点。此外,图16、17为了进行说明而示出了将加工程序分割为2个的情况,但分割为更多的情况也是同样的。
而且,运算装置121、运算装置122及运算装置123各自执行分割加工程序1、分割加工程序2及分割加工程序3,并行运算部120生成分割指令1、分割指令2及分割指令3,将分割指令1、分割指令2及分割指令3输出至指令值生成部130。而且,同样地,并行运算部120依次执行分割加工程序4、分割加工程序5及分割加工程序6,将分割指令4、分割指令5及分割指令6输出至指令值生成部130。直至未执行的分割加工程序消失为止重复该处理。
接下来,对指令值生成部130的处理内容进行说明。指令值生成部130基于从运算装置121、运算装置122及运算装置123各自输出的分割指令,生成一系列的刀具移动指令11。
在分割部110中使分割加工程序各自进行了重叠,因此分割指令各自也重叠。在实施方式1中,将分割指令的重叠的区域如后面所述去除,然后,通过结合,从而生成一系列的刀具移动指令11。
图18是表示在实施方式1中图1所示的并行运算部120中的分割加工程序的执行定时和在实施方式1中图1所示的指令值生成部130中的一系列的刀具移动指令11的生成定时的时序图。
如上所述,并行运算部120通过运算装置121执行分割加工程序1,通过运算装置122执行分割加工程序2,通过运算装置123执行分割加工程序3,并且开始分割指令1、分割指令2及分割指令3的生成及输出。严格地说,在分割加工程序的执行中分割指令没有完成,因此将构成分割指令的插补点即表示每单位时间的刀具的位置的点依次输出。
关于指令值生成部130,如果从并行运算部120输入了分割指令1、分割指令2及分割指令3,则将分割指令1输出。此时,分割指令2及分割指令3保存在指令值生成装置100内的任意的保存区域。如果分割指令1的输出完成,则指令值生成部130进行后面记述的、重叠的区域的去除及在分割指令切换的点产生的急剧的插补点间隔变化的调整,将分割指令2输出。此时,在运算装置121中分割加工程序1的执行完成,因此开始分割加工程序4的执行,将分割指令4输出至指令值生成部130。另外,关于并行运算部120,运算装置122中的分割加工程序2的执行一旦完成,立即开始分割加工程序5的执行,将分割指令5输出至指令值生成部130。另外,关于并行运算部120,运算装置123中的分割加工程序3的执行一旦完成,立即开始分割加工程序6的执行,将分割指令6输出至指令值生成部130。在图18中,设为分割加工程序1、分割加工程序2及分割加工程序3的执行同时地完成的状态,但本发明并不限定于此。
接下来,关于各分割指令的重叠的区域的去除,参照图19进行说明。图19是在实施方式1中,表示分割加工程序1及分割加工程序2和分割指令1及分割指令2的一个例子的图。如图19所示,分割加工程序1和分割加工程序2在分割点1被分割,分割加工程序1及分割加工程序2以分割点1为中心以重叠量Lo重叠。
指令值生成部130如果被输入来自并行运算部120的分割指令1,则首先将分割指令1作为刀具移动指令11输出,但如果直至相当于分割加工程序1的分割点1的插补点为止完成了输出,则开始分割指令2的输出。即,针对分割指令1,从分割加工程序1的分割点1起至相当于终点的插补点不输出。
另外,关于分割指令2,从相当于分割点1的插补点起开始输出。即,针对分割指令2,从分割加工程序2的起点起至相当于分割点1的插补点不输出。如果从相当于分割点1的插补点起依次输出,直至相当于分割点2的插补点为止完成了输出,则开始输出分割指令3。此外,分割点2是将分割加工程序2和分割加工程序3分割的点。即,针对分割指令2,从分割加工程序2的分割点2起至相当于终点的插补点也不输出。
另外,关于未图示的分割指令3,从相当于分割点2的插补点起开始输出。即,针对分割指令3,从分割加工程序3的起点起至相当于分割点2的插补点不输出。
依次重复如上所述的处理,直至分割指令6为止进行输出。此外,虽然未图示,但关于分割指令4,由于起点及终点两者都有重叠,因此针对分割指令4,从分割加工程序4的起点起至相当于分割点3的插补点不输出,从分割加工程序4的分割点4起至相当于终点的插补点也不输出。关于分割指令5也是同样的,但关于分割指令6,由于终点侧不重叠,因此直至终点为止进行输出。
接下来,对相当于各分割点的插补点的求法进行说明。在数控装置中,为了生成顺滑的路径及速度波形,如图19所示,各分割指令的路径成为使各分割加工程序的路径内转的形状。即,分割指令的路径的长度和分割加工程序的路径的长度不同。
在通过移动平均滤波将路径变得顺滑的情况下,移动平均滤波后路径即刀具移动指令的路径上的插补点x(n),由移动平均滤波前路径即加工程序的路径上的点X的平均值表示,因此通过下述的式(3)表示。
【式3】
在这里,上述的式(3)的n是从起点至终点为止的插补点的编号。另外,上述的式(3)的m是移动平均滤波的时间常数,通过参数进行设定。如果通过上述的式(3)而求出移动平均滤波前路径上的点X,则成为下述的式(4)。
【式4】
X(n)=m(x(n)-x(n-1))+X(m-n)…(4)
如果使用上述的式(4),则能够根据移动平均滤波后路径上的插补点x对移动平均滤波前路径上的点X进行运算。由此,能够对移动平均滤波前路径中的距离进行运算。将从移动平均滤波前路径中的起点或终点算起的距离作为重叠量Lo的插补点x被定义为相当于分割点的插补点。
此外,在实施方式1中,通过根据移动平均滤波后路径上的插补点对移动平均滤波前路径中的距离进行运算,从而运算出相当于分割点的插补点,但本发明并不限定于此,运算装置121、运算装置122及运算装置123各自也可以构成为对相当于分割点的插补点附加适当的标志而输出。
此外,通常在相当于分割点的插补点位置,即分割指令切换的点处插补点的间隔急剧地变化。图20是在实施方式1中,表示分割指令切换的点处的插补点的间隔的一个例子的图。如图20所示,从分割指令1切换至分割指令2的插补点位置处的插补点的间隔,与其他插补点的间隔不同。插补点示出每单位时间的刀具位置,插补点的间隔示出刀具速度。即,如果插补点的间隔变化,刀具速度变化,成为加工不良的原因。
图21是在实施方式1中,表示在分割指令切换的点处调整后的插补点的间隔的一个例子的图。指令值生成部130如图21所示,将插补点的位置在分割指令的路径上进行调整,以使得在分割指令切换的点处插补点的间隔也不变化。
如图20所示,将指令值生成部130输出的分割指令1的最后的插补点,即,不是重叠的区域的最后的插补点设为插补点1E,将指令值生成部130输出的分割指令2的最初的插补点,即,不是重叠的区域的最初的插补点设为插补点2S。指令值生成部130将插补点2S的位置沿分割指令2的路径进行调整,以使得插补点1E和插补点2S的间隔等于插补点1E和其之前的插补点的间隔L1。或,指令值生成部130也可以将插补点2S的位置沿分割指令2的路径进行调整,以使得插补点1E和插补点2S的间隔等于插补点1E和没有从指令值生成部130输出的下一个插补点的间隔。另外,指令值生成部130将插补点2S的下一个插补点的位置沿分割指令2的路径进行调整,以使得调整后的插补点2S和其下一个插补点的间隔等于调整前的插补点2S和其下一个插补点的间隔L2。通过依次重复该处理,从而能够生成在刀具移动指令整个区域中刀具速度不变化的指令,因此能够抑制加工不良。
此外,在通过前述的方法对插补点的位置进行调整的情况下,分割指令2以后的插补点全部要进行调整。因此,预先设定容许速度的变化,容许小于或等于容许速度变化的速度变化而对插补点的位置进行调整,由此可以逐渐地减小插补点位置的调整。由此,仅通过部分的调整就能够对分割指令的切换点处的速度变化进行抑制。
如以上说明所述,除了重叠的区域以外将刀具移动指令输出,由此能够将与没有对加工程序进行分割的情况相同的刀具移动指令输出。
通过进行在实施方式1中说明的处理,从而抑制由分割引起的刀具移动指令的变化,因此能够在所有位置分割加工程序。由此,能够高效地使用运算装置的计算资源。此外,实施方式1在能够使用许多以云为代表的运算装置的环境中效果特别大。
根据实施方式1,能够使用多个运算装置先行地生成分割指令。因此,线段长度短的处理负荷重的部位也能够先行地生成分割指令,因此能够以适当的运算周期对刀具移动指令进行运算,能够防止不需要的减速。
另外,在实施方式1中为了简单而将分割程序数设为了6个,但通过更精细地分割,从而能够将多个运算装置各自的处理负荷进一步分散而防止不需要的减速。
在这里,将作为对比例的现有技术的结构和实施方式1的结构对比而进行说明。根据该对比例,将刀具移动指令的运算并行执行,由此也能够生成刀具移动指令。
指令值生成装置100预读加工程序的多个线段,生成将路径、速度及加速度变得顺滑的刀具移动指令,以使得工作机械不振动。图22是在实施方式1中,表示加工程序形状的一个例子的第1图。对加工程序形状如图22所示,仅在XY平面中的X轴移动后仅在Y轴移动而成为90°的角的情况进行说明。
图23是在实施方式1中,关于执行图22的加工程序形状时,将时间设为横轴、将速度设为纵轴,表示X轴速度及Y轴速度的图。指令值生成装置100预读加工程序的线段,由此对如图23所示在角部处X轴速度和Y轴速度重叠的顺滑的X轴速度和Y轴速度进行运算。在这里,在图23中示出了直至加速度为止顺滑化的速度波形,但本发明并不限定于此,也可以是直至速度为止顺滑化的各轴速度,或是直至加速度为止顺滑化的各轴速度。
图24是在实施方式1中,关于执行图22的加工程序形状时,表示被生成的刀具移动指令的一个例子的图。通过指令值生成装置100的预读,在角部处X轴速度和Y轴速度重叠,X轴及Y轴两者动作,因此如图24所示被生成的刀具移动指令的角部成为顺滑的形状。
另一方面,对将具有图22所示的XY平面中的90°角的加工程序在角部分割为2个,分割的加工程序通过各自不同的运算装置生成刀具移动指令的情况进行说明。在该情况下,对仅在X轴的移动和仅在Y轴的移动通过各自不同的运算装置进行运算。因此,X轴速度和Y轴速度通过不同的运算装置进行运算,没有X轴速度和Y轴速度重叠的部分,分割的加工程序形状和作为刀具路径的刀具移动指令如图25所示成为同一形状。图25是在实施方式1中,表示执行图22的加工程序形状时的速度波形和刀具路径的图。其目的在于,原本是应该生成分割点前后的形状相互影响的顺滑的路径,通过对加工程序进行分割,从而分割的加工程序各自被单独地执行,生成经过分割的点的刀具移动指令。图26是在实施方式1中,表示执行图22的加工程序形状时的刀具移动指令的一个例子的图。如果基于该图26所示的刀具移动指令而进行加工,则角部不变得顺滑,刀具移动指令和加工程序形状成为同一形状,不会生成使角部变得顺滑的刀具移动指令。
图27是在实施方式1中,表示加工程序形状的一个例子的第2图。在图27中,加工程序形状是XY平面中的半圆。在圆弧形状的情况下,各轴速度基本上按照三角函数,但在起点处从速度零起加速,朝向终点减速而成为速度零。图28是在实施方式1中,关于执行图27的加工程序形状时,将时间设为横轴、将速度设为纵轴,表示X轴速度及Y轴速度的图。如果施加移动平均滤波,则能够生成如图28所示的顺滑的各轴速度波形。
图29是在实施方式1中,关于执行图27的加工程序形状时,表示被生成的刀具移动指令的一个例子的图。通过移动平均滤波而在各轴速度波形产生延迟,因此刀具移动指令如图29所示,经过加工程序的起点和终点,起点和终点之间的路径成为使加工程序形状内转的曲线形状。
另一方面,对将图27所示的XY平面中的半圆的加工程序分割为一半,分割的加工程序通过各自不同的运算装置生成刀具移动指令的情况进行说明。在该情况下,分割的加工程序也单独地被执行,因此在分割的点处各轴速度成为零。因此,作为刀具路径的刀具移动指令如图30所示,经过起点、终点及分割的点,各点之间的路径成为使加工程序形状内转的曲线形状。图30是在实施方式1中,表示执行图27的加工程序形状时的速度波形和刀具路径的图。图31是在实施方式1中,表示执行图27的加工程序形状时的刀具移动指令的一个例子的图。如果基于该刀具移动指令进行加工,则如图31所示,经过起点、终点及分割的点,各点之间的路径成为使加工程序形状内转的曲线形状。即,在分割的点处对具有凸起的形状进行加工。
如以上说明所述,如果在加工的中途进行了分割,则生成经过分割的点的刀具移动指令,生成与没有分割的情况下的加工程序中的刀具移动指令不同的刀具移动指令。如果生成了如上所述的刀具移动指令,则在分割的点处刀具移动指令的路径大幅地变化,产生在加工面发生损伤这样的加工不良。
因此,在对比例中,只能够在加工工序例如粗加工、半精加工及精加工的分隔处这样的加工暂时中断的部位处将加工程序进行分割。
因此通过加工工序数对分割数进行限制,由此在多个运算装置的有效使用存在改善的余地。并且,在不将一系列的加工形状中断而进行加工的情况下,无法分割加工程序,刀具移动指令不得不通过1个运算装置而生成,存在无法实现高速化这样的问题。
根据实施方式1,在将一系列的加工形状连续地加工的情况下或运算装置的设置数比加工工序数多的情况下,也能够将多个运算装置有效使用而高速地生成刀具移动指令。
实施方式2.
图32是表示本发明的实施方式2所涉及的指令值生成装置的结构的图。图32所示的指令值生成装置200能够对按照被输入的加工程序20生成刀具移动指令的情况下的被加工物的加工后形状进行仿真。此外,在实施方式2中,关于与实施方式1相同的结构而引用实施方式1的说明,省略重复的说明。
现有的加工仿真大多基于加工程序形状而对被加工物的加工后形状进行仿真。但是,在实际的加工中,基于在加工程序中施加了各种校正的刀具移动指令而进行加工。在这里,施加至加工程序的校正是加减速、刀具校正或坐标变换。尽管通过该校正可能发生被加工物产生损伤这样的加工不良,但即使基于加工程序形状对加工后形状进行仿真,也仿真不到如上所述的加工不良。在实施方式2中,基于从刀具移动指令得到的伺服响应对被加工物的加工后形状进行仿真,因此也能够对由加减速、刀具校正或坐标变换的校正引起的损伤进行仿真。
指令值生成装置200具有:分割部210、并行运算部220、指令值生成部230、伺服仿真部240及加工仿真部250。分割部210将加工程序20分割为执行单位。并行运算部220按照针对每个执行单位的加工程序而生成针对每个执行单位的刀具移动指令即分割指令。指令值生成部230根据分割指令而生成一系列的刀具移动指令。伺服仿真部240对被输入刀具移动指令的情况下的未图示的工作机械的伺服系统的动作进行仿真而生成伺服响应。加工仿真部250基于伺服响应对被加工物的加工形状进行仿真。另外,也可以省略伺服仿真部240,基于刀具移动指令或分割指令而进行加工仿真。
在这里,在并行运算部220设置有运算装置221、222、223。并行运算部220由多核CPU、具有多个CPU的个人计算机或通过通信线路连接的服务器或者云系统构成。另外,在图32中,并行运算部220具有3个运算装置,但本发明并不限定于此,并行运算部220所具有的运算装置的设置数大于或等于1个即可。如果增多并行运算部220所具有的运算装置的设置数,则能够高速地生成刀具移动指令,与高速化的目标值相应地决定运算装置的设置数即可。
分割部210将被输入的加工程序20分割为多个执行单位,针对每个执行单位将分割加工程序输出至并行运算部220。
并行运算部220针对每个执行单位将分割加工程序分配给运算装置221、222、223。运算装置221、运算装置222及运算装置223进行加减速及坐标变换的处理,将针对每个执行单位的刀具的移动指令即分割指令依次生成而输出至指令值生成部230。在这里,运算装置221、运算装置222及运算装置223并行执行,如果完成了1个执行单位的分割指令的生成,则开始下一个执行单位的分割指令的生成,直至未处理的执行单位消失为止重复处理。
指令值生成部230根据针对每个执行单位的分割指令生成一系列的刀具移动指令而输出至伺服仿真部240。此外,指令值生成部230由单个CPU、具有单个CPU的个人计算机或通过通信线路连接的服务器或者云系统构成。或者,指令值生成部230与并行运算部220同样地,可以由多核CPU、具有多个CPU的个人计算机或通过通信线路连接的服务器或者云系统构成。
伺服仿真部240使用预先设定的伺服模型根据刀具移动指令而对伺服响应进行推定,输出至加工仿真部250。加工仿真部250基于来自伺服仿真部240的伺服响应,对工作机械动作的情况下的被加工物的加工形状进行仿真,输出至未图示的输出装置。在这里,输出装置能够例示出显示器。
接下来,对各结构要素的处理内容详细地进行说明。此外,分割部210及并行运算部220的处理内容与实施方式1的分割部110及并行运算部120相同,因此省略。
指令值生成部230的处理内容也与实施方式1的指令值生成部130类似。即,除了各分割指令的重叠的区域以外,从起始的分割指令起依次输出,由此生成一系列的刀具移动指令。但是,在与指令值生成部230的输出相比后级的处理是不考虑刀具移动指令顺序的用途的情况下,可以如图33所示,一旦各分割指令的生成开始,则立即将各分割指令的重叠的区域删除而并行地输出分割指令。图33是表示实施方式2中的图32所示的并行运算部220中的分割加工程序的执行定时和图32所示的指令值生成部230中的一系列的刀具移动指令的生成定时的时序图。
作为一个例子,对与指令值生成部230的输出相比后级的处理仅为加工仿真部250的情况进行说明。加工仿真部250不考虑刀具移动指令的顺序。即,即使将由并行运算部220生成的分割指令按照其他顺序进行加工仿真,最终的加工仿真结果也成为相同的结果。在该情况下,在指令值生成部230中,可以不使分割指令按照分割的顺序进行整列,而是并行地输出,作为后处理的加工仿真也并行地处理,运算效率良好。
伺服仿真部240对作为控制对象的未图示的工作机械的举动在计算机上进行模拟。具体地说,伺服仿真部240对工作机械的惯性、粘性及弹性的参数、由惯性、粘性及弹性引起的共振频率或反共振频率、轴反转时的间隙或空转的参数、热位移的参数和由加工时的反作用力引起的位移量的参数进行预先设定,构建用于对控制对象的举动进行模拟的伺服模型。伺服仿真部240使用构建出的伺服模型,根据刀具移动指令而生成实际的工作机械的动作即伺服响应,输出至加工仿真部250。此外,也可以将伺服响应的路径及速度波形在作为输出装置的显示器进行显示。
加工仿真部250基于由伺服仿真部240生成的伺服响应,对使工作机械的刀具动作时的被加工物的加工形状进行仿真,将加工仿真结果输出至输出装置。即,加工仿真部250将加工仿真结果在显示器进行显示。此外,实施方式2的指令值生成装置200具有伺服仿真部240,基于伺服响应由加工仿真部250进行加工仿真,但也可以省略伺服仿真部240,基于刀具移动指令或分割指令进行加工仿真。
在加工仿真部250中,对刀具沿伺服响应进行动作时的容积即扫过容积进行运算。将由该扫过容积横穿的被加工物的部分去除,由此能够对被加工物的最终的加工结果进行仿真。
通过进行在实施方式2中说明的处理,从而能够高速地进行基于刀具移动指令的伺服仿真或加工仿真。由此,在使用1个运算装置的系统中能够以短时间进行需要比得上实际加工时间的仿真,能够削减工作机械的调整作业即参数调整所需的工时。特别地,在不考虑加工仿真的刀具移动指令的顺序的情况下,并行运算部220完成分割指令的生成和完成刀具移动指令的生成之间不易产生时滞。因此,与通过1个运算装置生成刀具移动指令的情况相比较,能够以“1/运算装置的设置数”的时间生成刀具移动指令。
实施方式3.
图34是表示本发明的实施方式3所涉及的指令值生成装置的结构的图。图34所示的指令值生成装置300与图1所示的指令值生成装置100同样地是能够高速地生成指令值的结构,图34所示的指令值生成装置300与图1所示的指令值生成装置100的差异点为2个。第1点在于,取代指令值生成部130而具有并行指令值生成部330,针对多个运算装置各自而分别设置有指令值生成部,将指令值生成处理并行地进行。并行指令值生成部330具有指令值生成部331、332、333。此外,在实施方式3中,关于与实施方式1、2相同的结构引用实施方式1、2的说明,省略重复的说明。
图35是表示实施方式1中的图1所示的运算装置121、122、123中的分割加工程序的执行定时和图1所示的指令值生成部130中的一系列的刀具移动指令的生成定时的时序图。图36是表示实施方式3中的图34所示的运算装置321、322、323中的分割加工程序的执行定时和图34所示的指令值生成部331、332、333中的一系列的刀具移动指令的生成定时的时序图。在图35及图36示出了各运算装置的运算时间存在波动的情况下的时序图,图35是为了进行比较而示出的图。
在图35中,一旦运算装置121、122、123各自中的处理结束,则立即将分割指令1、2、3、4、5、6输出至指令值生成部130。但是,在指令值生成部130中,将分割指令1、2、3、4、5、6按照该顺序进行处理,因此在运算装置121的运算时间与运算装置122、123的运算时间相比存在波动的情况下,尽管运算装置122、123的运算已完成,但直至运算装置121的处理完成为止,指令值生成部130无法开始分割指令2、3的处理。另外,关于分割指令4、5、6的处理也同样地,直至分割指令4的处理完成为止,在指令值生成部130中无法开始分割指令5、6的处理。其结果,刀具移动指令的生成延迟,因此指令值生成装置100的整体的处理速度由于运算装置的运算时间的波动而降低。
另一方面,在图34所示的指令值生成装置300中,能够针对每个运算装置进行独立的指令值生成处理,因此即使运算装置321的分割指令1的处理没有完成,如果运算装置322、323的处理完成,则也能够开始分割指令2、3的处理。
通过设为图34所示的结构,从而即使在并行运算部320内的各运算装置的运算时间存在波动,也不易在完成分割指令的生成和完成刀具移动指令的生成之间产生时滞,由运算装置的运算时间的波动引起的速度降低变小。
第2点在于,即使各运算装置中的处理处于中途阶段,也将直至该时刻为止生成的各分割指令输出,换言之,将分割指令以精细的单位分为多次输出。
通过设为图34所示的结构,从而能够与并行运算部320的处理同时并行地进行并行指令值生成部330的处理、未图示的NC工作机械的处理或加工仿真的处理。因此,在重视实时性的情况下,或在希望更高速地进行NC工作机械或者加工仿真的情况下是适合的。
图34所示的指令值生成装置300具有:分割部310、并行运算部320及并行指令值生成部330,按照被输入的加工程序30,将刀具路径上的每单位时间的插补点组即刀具移动指令31输出,由此对刀具相对于NC工作机械的被加工物的移动进行数控。分割部310将加工程序30分割为执行单位而生成分割加工程序。并行运算部320按照针对每个执行单位的加工程序而生成针对每个执行单位的刀具移动指令即分割指令。并行指令值生成部330根据分割指令而生成刀具移动指令。
在这里,在并行运算部320设置有运算装置321、322、323。另外,在并行指令值生成部330设置有指令值生成部331、332、333。并行运算部320及并行指令值生成部330由多核CPU、具有多个CPU的个人计算机或通过通信线路连接的服务器或者云系统构成。另外,在图34中,并行运算部320具有3个运算装置,但本发明并不限定于此,并行运算部320所具有的运算装置的设置数大于或等于1个即可。在并行指令值生成部330中也是指令值生成部的数等于并行运算部320所具有的运算装置的设置数即可。如果增多并行运算部320所具有的运算装置的设置数,则能够高速地生成刀具移动指令,与高速化的目标值相应地决定运算装置的设置数即可。
接下来,对各结构要素的处理内容详细地进行说明。此外,分割部310的处理内容与图1所示的分割部110相同,因此省略说明。并行运算部320的处理内容与实施方式1类似,将与数控装置相同的处理并行地执行,根据分割加工程序而生成刀具的指令路径即分割指令。在实施方式3中,即使各运算装置中的处理处于中途阶段,也能够将直至该时刻为止生成的各分割指令以精细的单位分为多次输出。将该比分割指令更精细的单位称呼为输出单位数。此外,输出单位数能够适当设定。
在这里,设为分割数N=6,将输出单位数以成为各分割指令的3等分的方式进行设定。图37是表示实施方式3中的图34所示的指令值生成装置300中的数据流的第1图。图38是表示实施方式3中的图34所示的指令值生成装置300中的数据流的第2图。图37示出了并行运算部320初次执行时的数据流,图38示出了并行运算部320初次执行完成,下一个执行单位的加工程序执行时的数据流。
此外,在图37及图38中,分割部310将加工程序30分割为6个执行单位,即执行单位1、2、3、4、5、6,并且将针对每个执行单位的分割指令细分为3等分而输出,但本发明并不限定于此,分割数及输出单位数能够适当设定。
如图37所示,在分割部310将加工程序30分割为执行单位1、2、3、4、5、6的情况下,具有3个运算装置的并行运算部320将执行单位1、2、3并行执行,生成分割指令1-1、1-2、1-3、分割指令2-1、2-2、2-3及分割指令3-1、3-2、3-3。而且,并行指令值生成部330根据分割指令1-1、1-2、1-3、分割指令2-1、2-2、2-3及分割指令3-1、3-2、3-3而生成针对执行单位1至执行单位3的刀具移动指令。
首先,执行与数控装置相同的处理,生成每单位时间的插补点组的集合即分割指令1-1、2-1、3-1。在这里,在具体的处理中能够例示出下述处理,即,生成用于以预先设定出的加速度进行加减速的速度波形的加减速处理、将通过加减速处理生成的速度波形变得顺滑的平滑处理及对以平滑处理后速度移动时的每单位时间的刀具位置即插补点进行运算的插补处理。与此同时,对分割指令1-1、2-1、3-1的插补个数进行计算。
然后,对分割指令1-1、2-1、3-1各自是否达到输出单位数及是否包含有重叠区域进行判定。其根据在分割指令1-1、2-1、3-1各自的开始部分是否包含有重叠区域,或在结束部分是否包含有重叠区域,判定方法是不同的。
首先,关于在开始部分是否包含有重叠区域,将输出分割指令时的累积距离和重叠量进行比较,能够通过其大小进行判定。在前者大的情况下,判定为在分割指令没有包含重叠区域,另一方面,在后者大的情况下,判定为在分割指令包含有重叠区域。
接下来,关于在结束部分是否包含有重叠区域,将输出分割指令时的剩余距离和重叠量进行比较,能够通过其大小进行判定。在前者大的情况下,判定为在分割指令没有包含重叠区域,另一方面,在后大的情况下,判定为在分割指令包含有重叠区域。
在满足了上述的条件时,将分割指令1-1、2-1、3-1各自向并行指令值生成部330输出。此外,直至满足上述的条件为止,分割指令1-1、2-1、3-1保存在并行运算部320内,但该期间,分割指令1-2、2-2、3-2的生成逐次进行。
与此同时,对分割指令1-2、2-2、3-2各自的插补个数进行计算,再次判定针对分割指令1-1、2-1、3-1各自是否达到输出单位数及是否包含有重叠区域,然后将分割指令1-2、2-2、3-2各自向并行指令值生成部330输出。直至将分割指令1-3、2-3、3-3向并行指令值生成部330输出为止进行将该作业,生成针对执行单位1至执行单位3的刀具移动指令。
如图38所示,如果并行运算部320完成了执行单位1至执行单位3的执行,则并行运算部320执行下一个执行单位即执行单位4至执行单位6,生成分割指令4-1、4-2、4-3、分割指令5-1、5-2、5-3及分割指令6-1、6-2、6-3。
接下来,对具有与并行运算部320的运算装置的设置数相同数量的指令值生成部的并行指令值生成部330的处理内容进行说明。指令值生成部330的处理内容也与图1所示的指令值生成部130类似。即,将除了各分割指令的重叠的区域以外进行输出,由此生成刀具移动指令。
但是,在并行运算部320中,针对判定为不包含重叠区域的分割指令,直接输出。另外,上述处理是通过与各运算装置相对应的指令值生成部进行的。通过如上方式,能够从生成了分割指令的运算装置起依次进行指令值生成的处理,因此即使在各运算装置的处理时间存在波动,也能够抑制指令值生成装置整体的速度降低。
以上,进行在实施方式3中说明的处理,由此能够将由各运算装置的处理时间的波动引起的指令值生成装置整体的速度降低的影响抑制为最小限度。另外,在并行运算部320完成分割指令的生成和完成刀具移动指令的生成之间不易产生时滞。因此,实施方式3所涉及的指令值生成装置,与实施方式1所涉及的指令值生成装置相比,不易受到运算装置的处理时间的波动的影响,另外,能够高速地生成刀具移动指令。此外,在使用前述的方法,将分割指令以精细的单位分为多次而输出的情况下,需要对输出单位数进行设定。但是,能够在接收到来自指令值生成部的输出单位数变更请求信号的定时对输出单位数进行变更。或,在接收到来自指令值生成部的输出请求信号的定时进行输出,由此不设置输出单位数,也能够将分割指令以精细的单位分为多次而输出。
以上,在实施方式3中说明的结构也能够与在实施方式2中说明的结构进行组合。即,如在实施方式3中说明那样,具有并行指令值生成部的指令值生成装置,可以具有在实施方式2中说明的伺服仿真部及加工仿真部。
以上的实施方式所示的结构,表示本发明的内容的一个例子,也能够与其他公知技术进行组合,在不脱离本发明的主旨的范围,也能够对结构的一部分进行省略、变更。
标号的说明
10、20、30加工程序,11、31刀具移动指令,100、200、300指令值生成装置,110、210、310分割部,120、220、320并行运算部,121、122、123、221、222、223、321、322、323运算装置,130、230、331、332、333指令值生成部,240伺服仿真部,250加工仿真部,330并行指令值生成部。

Claims (10)

1.一种指令值生成装置,其基于加工程序对刀具路径进行运算,生成刀具路径上的每单位时间的插补点组即刀具移动指令,
该指令值生成装置的特征在于,具有:
分割部,其将所述加工程序分割为多个执行单位而生成分割加工程序;
并行运算部,其具有多个运算装置,针对每个所述执行单位将所述分割加工程序并行地执行,生成针对每个所述执行单位的刀具路径上的插补点组即分割指令;以及
指令值生成部,其根据针对每个所述执行单位的所述分割指令而生成刀具移动指令,
在将从所述加工程序的开始朝向结束的方向设为后方,将从所述加工程序的结束朝向开始的方向设为前方时,
所述分割部在至少1个分割点前后的所述分割加工程序中,针对与所述分割点相比处在前方的1个所述分割加工程序的结束部分、及与所述分割点相比处在后方的1个所述分割加工程序的开始部分,运算基于预先设定出的加速度移动直至到达指令速度为止的加速距离,并且以所述分割加工程序的所述分割点处的重叠量大于或等于所述加速距离的方式进行运算,使所述分割加工程序的开始及结束部分以所述重叠量相互重叠。
2.根据权利要求1所述的指令值生成装置,其特征在于,
所述指令值生成部从针对每个所述执行单位的所述分割指令将重叠的部分删除。
3.根据权利要求1所述的指令值生成装置,其特征在于,
所述分割部将所述加工程序分割为大于或等于所述并行运算部的运算装置的设置数的执行单位。
4.根据权利要求1所述的指令值生成装置,其特征在于,
所述分割部将针对每个所述执行单位的所述分割指令的运算时间或所述加工程序的针对每个所述执行单位的路径长度设为相等。
5.根据权利要求1所述的指令值生成装置,其特征在于,
具有加工仿真部,该加工仿真部基于所述刀具移动指令而对被加工物的加工形状进行仿真。
6.根据权利要求1所述的指令值生成装置,其特征在于,
具有伺服仿真部,该伺服仿真部基于预先设定出的伺服模型,根据所述刀具移动指令对伺服响应进行推定。
7.根据权利要求1所述的指令值生成装置,其特征在于,
所述并行运算部由多核CPU、具有多个CPU的个人计算机或通过通信线路连接的服务器或者云系统构成。
8.根据权利要求1所述的指令值生成装置,其特征在于,
所述指令值生成部为了对在所述分割指令切换的部位产生的插补点间隔进行修正,将插补点的位置在分割指令的路径上进行调整。
9.根据权利要求1所述的指令值生成装置,其特征在于,
所述指令值生成部针对每个所述执行单位并行地从所述分割指令将重叠的部分删除。
10.根据权利要求1所述的指令值生成装置,其特征在于,
所述并行运算部将所述分割指令以精细的单位分为多次而输出。
CN201780050738.0A 2016-09-02 2017-02-16 指令值生成装置 Active CN109643102B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016172161 2016-09-02
JP2016-172161 2016-09-02
PCT/JP2017/005770 WO2018042704A1 (ja) 2016-09-02 2017-02-16 指令値生成装置

Publications (2)

Publication Number Publication Date
CN109643102A true CN109643102A (zh) 2019-04-16
CN109643102B CN109643102B (zh) 2021-10-01

Family

ID=61301780

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780050738.0A Active CN109643102B (zh) 2016-09-02 2017-02-16 指令值生成装置

Country Status (5)

Country Link
US (1) US11327466B2 (zh)
JP (1) JP6548830B2 (zh)
CN (1) CN109643102B (zh)
DE (1) DE112017004424T5 (zh)
WO (1) WO2018042704A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111857052A (zh) * 2019-04-25 2020-10-30 发那科株式会社 机器学习装置、数值控制系统以及机器学习方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019152936A (ja) * 2018-02-28 2019-09-12 ファナック株式会社 工作機械の加工シミュレーション装置
CN112567304B (zh) * 2018-08-17 2023-09-19 三菱电机株式会社 数控装置
JP6871207B2 (ja) * 2018-09-05 2021-05-12 ファナック株式会社 加工時間予測装置
WO2021044491A1 (ja) * 2019-09-02 2021-03-11 ヤマザキマザック株式会社 制御装置、工作機械、算出方法及びプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11114858A (ja) * 1997-10-07 1999-04-27 Toyoda Mach Works Ltd 軌跡制御方法および軌跡制御装置
JP2001117617A (ja) * 1999-10-22 2001-04-27 Okuma Corp 数値制御装置
CN101615022A (zh) * 2009-07-21 2009-12-30 中国科学院数学与系统科学研究院 基于曲面重构的三轴数控机床刀具的半径补偿方法
JP5165159B2 (ja) * 2010-07-02 2013-03-21 三菱電機株式会社 数値制御プログラミング方法、数値制御プログラミング装置、プログラム、及び数値制御装置
JP2014522529A (ja) * 2011-06-09 2014-09-04 デーエムゲー エレクトロニクス ゲーエムベーハー 工作機械の工作プロセスをシミュレーションするシミュレーション方法およびシミュレーションシステム
WO2015159390A1 (ja) * 2014-04-16 2015-10-22 三菱電機株式会社 指令値生成装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001075538A1 (fr) 2000-03-31 2001-10-11 Incs Inc. Dispositif, procede et programme de generation de donnees
CN102473007B (zh) 2009-07-06 2014-07-30 三菱电机株式会社 数控编程方法及其装置
JP5149421B2 (ja) * 2011-05-20 2013-02-20 ファナック株式会社 加工時間予測部および加工誤差予測部を有する数値制御装置
JP5417392B2 (ja) * 2011-07-29 2014-02-12 新日本工機株式会社 数値制御装置
JP5192574B2 (ja) * 2011-08-25 2013-05-08 ファナック株式会社 工具先端点の加速度または加加速度の表示部を備えた工具軌跡表示装置
JP6081954B2 (ja) * 2014-04-24 2017-02-15 ファナック株式会社 工作機械の反転動作を高速化する数値制御装置
US10248101B2 (en) * 2014-10-29 2019-04-02 Makino Milling Machine Co., Ltd. Tool path generation method and machine tool using rate of change of curvature based smoothing

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11114858A (ja) * 1997-10-07 1999-04-27 Toyoda Mach Works Ltd 軌跡制御方法および軌跡制御装置
JP2001117617A (ja) * 1999-10-22 2001-04-27 Okuma Corp 数値制御装置
CN101615022A (zh) * 2009-07-21 2009-12-30 中国科学院数学与系统科学研究院 基于曲面重构的三轴数控机床刀具的半径补偿方法
JP5165159B2 (ja) * 2010-07-02 2013-03-21 三菱電機株式会社 数値制御プログラミング方法、数値制御プログラミング装置、プログラム、及び数値制御装置
JP2014522529A (ja) * 2011-06-09 2014-09-04 デーエムゲー エレクトロニクス ゲーエムベーハー 工作機械の工作プロセスをシミュレーションするシミュレーション方法およびシミュレーションシステム
WO2015159390A1 (ja) * 2014-04-16 2015-10-22 三菱電機株式会社 指令値生成装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111857052A (zh) * 2019-04-25 2020-10-30 发那科株式会社 机器学习装置、数值控制系统以及机器学习方法
CN111857052B (zh) * 2019-04-25 2024-03-22 发那科株式会社 机器学习装置、数值控制系统以及机器学习方法

Also Published As

Publication number Publication date
JP6548830B2 (ja) 2019-07-24
CN109643102B (zh) 2021-10-01
WO2018042704A1 (ja) 2018-03-08
US20200183359A1 (en) 2020-06-11
DE112017004424T5 (de) 2019-06-19
US11327466B2 (en) 2022-05-10
JPWO2018042704A1 (ja) 2019-01-17

Similar Documents

Publication Publication Date Title
CN109643102A (zh) 指令值生成装置
CN108549328A (zh) 自适应速度规划方法及系统
KR20160075629A (ko) 프로그램 작성 장치, 프로그램 작성 방법 및 프로그램
CN112060078B (zh) 机器人控制方法、装置、计算机可读存储介质及机器人
CN107340732A (zh) 伺服控制装置以及伺服控制方法
US10139803B2 (en) Instruction value generation device
JP7047524B2 (ja) ロボット制御装置、ロボット制御方法、プログラム
CN108646674A (zh) 位置s型平滑指令产生方法、系统和电子设备
KR102297735B1 (ko) 로봇 제어 장치, 로봇 제어 방법, 프로그램
CN106325222B (zh) 进行基于表形式数据的运行的数值控制装置
JP2793804B2 (ja) パルス分配方法
JP6871215B2 (ja) 数値制御装置
JP5414266B2 (ja) 裁断方法及び裁断装置
JPH0695294B2 (ja) 産業用ロボットの軌跡補間方法
JP7024235B2 (ja) 制御装置、制御装置の制御方法、情報処理プログラム、および記録媒体
JP2001154719A (ja) 自由曲線補間方法
US4276792A (en) Method for continuous path control of a machine tool
WO2018073946A1 (ja) 数値制御装置
JPH0319003A (ja) 位置決め機能付プログラマブルコントローラおよびその制御方法
JPH0969007A (ja) 複数ロボット再生制御システム
JPS63140308A (ja) 加減速制御装置
JPH1039913A (ja) Ncデ−タ作成方法及びnc装置
JPH0679251B2 (ja) Nc装置における3次元自由曲線補間方法
JPS62203731A (ja) 部品組付作業順序決定方法
JPH0363708A (ja) Nc制御装置

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
GR01 Patent grant
GR01 Patent grant