数控装置制造方法

文档序号:6294538阅读:174来源:国知局
数控装置制造方法
【专利摘要】一种能够控制主轴转速的工作机械的数控装置(1),其具备:程序解析部(2),其预读大于或等于1个程序块的加工程序(6),进行针对工作机械的指令的解析;以及指令判定部(3),其基于程序解析部(2)中的解析结果,针对主轴控制指令之后的指令,判断是否会因在主轴转速变化过程中执行该指令而在加工方面产生某种问题,对于在加工方面产生某种问题的第一指令,在主轴转速达到所指令出的转速之后进行输出,对于除了第一指令以外的第二指令,在主轴转速达到所指令出的转速之前进行输出。
【专利说明】数控装置

【技术领域】
[0001 ] 本发明涉及一种对能够控制主轴转速的工作机械进行数控(NC NumericalControl)的数控装置。

【背景技术】
[0002]以往,在搭载有数控装置的工作机械中,通过从加工程序对主轴转速发出指令,从而进行加工。在工作机械中,在对主轴转速发出指令起直至实际的主轴转速达到所指令出的转速为止的期间,无法进行加工,产生等待时间,加工时间延长。这里,在数控装置中,无需针对所有指令都进行等待直至主轴转速达到所指令出的转速。例如,虽然在切削指令的情况下,需要进行等待直至主轴转速达到所指令出的转速,但针对定位指令之类的非切削指令,则无需进行等待直至主轴转速达到所指令出的转速。针对各指令的等待的判断,只要制作梯形图就能够实现,但是,由于梯形图较为复杂,因此,作业者修正梯形图并不容易。
[0003]例如,在下述专利文献I中公开有如下技术,即,在控制装置中,对于是进行等待直至主轴转速达到所指令出的转速,而后执行下一程序块,还是即使主轴转速未达到所指令出的转速也仍然执行下一程序块,要从加工程序发出指令而进行选择。
[0004]另外,在下述专利文献2中公开有如下技术,S卩,在数控装置中,对主轴旋转指令的输出定时进行控制,以使主轴转速与切削指令开始的定时匹配而达到所指令出的转速。
[0005]专利文献1:日本实开昭62-179605号公报
[0006]专利文献2:日本特开2011-118952号公报


【发明内容】

[0007]然而,上述专利文献I所记载的技术中存在如下问题,即,在控制装置中,在以进行等待直至主轴转速达到所指令出的转速,而后执行下一程序块的方式发出指令的情况下,即使在定位指令这样的非切削指令的情况下,也要进行等待直至主轴转速达到所指令出的转速,因此,加工时间会延长。另外,还存在如下问题,即,在控制装置中,在以即使主轴转速未达到所指令出的转速也仍然执行下一程序块的方式发出指令的情况下,在切削指令的情况下,即使主轴转速未达到所指令出的转速也仍然会执行,因此,加工精度会变差。
[0008]另外,在上述专利文献2所记载的技术中,数控装置的控制的目的在于,不使主轴进行无用的旋转,以节约消耗电力。因此,存在如下问题,即,主轴旋转指令的输出定时只能够晚于由加工程序所指定出的定时而进行输出,无法缩短加工时间。
[0009]本发明就是鉴于上述情形而提出的,其目的在于,得到一种不会使加工精度变差,能够缩短工作机械的加工时间的数控装置。
[0010]为了解决上述课题、实现目的,本发明是一种能够控制主轴转速的工作机械的数控装置,其特征在于,具备:程序解析部,其预读大于或等于I个程序块的加工程序,进行针对所述工作机械的指令的解析;以及指令判定部,其基于所述程序解析部的解析结果,针对主轴控制指令之后的指令,判断是否会因在主轴转速发生变化的过程中执行该指令而在加工方面产生某种问题,对于在加工方面产生某种问题的第一指令,在所述主轴转速达到所指令出的转速之后进行输出,对于除了所述第一指令以外的第二指令,在所述主轴转速达到所指令出的转速之前进行输出。
[0011]发明的效果
[0012]本发明所涉及的数控装置能够实现如下效果,即,不会使加工精度变差,能够缩短工作机械的加工时间。

【专利附图】

【附图说明】
[0013]图1是表示数控装置的结构例的图。
[0014]图2是表示实施方式I所涉及的数控装置的程序解析部的处理顺序的流程图。
[0015]图3是表示实施方式I所涉及的数控装置的指令判定部中的处理顺序的流程图。
[0016]图4是表示在实施方式I中数控装置所处理的加工程序例的图。
[0017]图5是图4所示的加工程序例的时序图。
[0018]图6是表示实施方式2所涉及的数控装置的程序解析部的处理顺序的流程图。
[0019]图7是表示实施方式2所涉及的数控装置的指令判定部中的处理顺序的流程图。
[0020]图8是表示在实施方式2中数控装置所处理的加工程序例的图。
[0021]图9是图8所示的加工程序例的时序图。
[0022]图10是表示实施方式3所涉及的数控装置的程序解析部的处理顺序的流程图。
[0023]图11是图4所示的加工程序例的时序图。
[0024]图12是表示实施方式4所涉及的数控装置的程序解析部的处理顺序的流程图。
[0025]图13是表示实施方式4所涉及的数控装置的指令判定部中的处理顺序的流程图。
[0026]图14是表示在实施方式4中数控装置所处理的加工程序例的图。
[0027]图15是图14所示的加工程序例的时序图。
[0028]图16是表示数控装置所具备的显示部的显示画面的例子的图。

【具体实施方式】
[0029]以下,基于附图对本发明所涉及的数控装置的实施方式进行详细说明。此外,本发明不限定于该实施方式。
[0030]实施方式1.
[0031]图1是表示本实施方式所涉及的数控装置的结构例的图。在图1中,I是数控装置。2是程序解析部,3是指令判定部,4是插补部,5是主轴控制指令输出部,6是加工程序,7是预读缓冲区,8是伺服放大器,9是主轴放大器,10是移动指令,11是移动量,12是主轴控制指令,13是主轴转速,14是实际的主轴转速。
[0032]在程序解析部2中,读取加工程序6而进行解析,将读取到的指令的解析结果依次向预读缓冲区7存储。在预读缓冲区7中,存储有程序解析部2的解析结果、即各程序块的模态(modal)、各轴的移动量、主轴转速等信息。另外,如果所指令出的动作完毕,则存储于预读缓冲区7的信息被删除。在指令判定部3中,对存储于预读缓冲区7中的各程序块的信息进行读取,向与各指令相对应的处理部输出指令。移动指令10向插补部4输出,在插补部4求出每个插补周期的移动量11,并向伺服放大器8输出。移动指令10是指切削指令、定位指令之类的对轴的动作进行控制的指令,将它们统一作为移动指令10。另外,主轴控制指令12被向主轴控制指令输出部5输出,在主轴控制指令输出部5中,主轴转速13被向主轴放大器9输出。主轴控制指令12是指主轴旋转指令、主轴停止指令之类的对主轴的动作进行控制的指令,将它们统一作为主轴控制指令12。另外,实际的主轴转速14从主轴放大器9向指令判定部3输出,在用于输出指令的判定中使用。
[0033]图2是表示本实施方式所涉及的数控装置I的程序解析部2中的处理顺序的流程图。在步骤SlOl中,程序解析部2判断在预读缓冲区7中是否存储有指令,如果存储有指令(步骤SlOl:Yes),则结束处理,如果未存储指令(步骤SlOl:No),则进入步骤S102。在步骤S102中,程序解析部2对主轴加减速时间Tl、自主轴控制指令起的时间T2进行清零,进入步骤S103。在步骤S103中,程序解析部2对加工程序6进行读取,进入步骤S104。在步骤S104中,程序解析部2判断读取到的指令是否为主轴控制指令12,在是主轴控制指令12的情况下(步骤S104:Yes),进入步骤S105,在不是主轴控制指令12的情况下(步骤S104:No),结束处理。在步骤S105中,程序解析部2基于后述的各程序块的执行时间的计算方法,计算主轴加减速时间Tl,进入步骤S106。在步骤S106中,程序解析部2判断是否存在下一程序块,如果存在下一程序块(步骤S106:Yes),则进入步骤S107,如果不存在下一程序块(步骤S106:No),则结束处理。在步骤S107中,程序解析部2读取下一程序块,进入步骤S108。在步骤S108中,程序解析部2判断是否为如果主轴转速发生变化则出现问题的指令,在是不出现问题的指令的情况下(步骤S108:No),进入步骤S109,在是出现问题的指令的情况下(步骤S108:Yes),结束处理。在步骤S109中,程序解析部2基于后述的各程序块的执行时间的计算方法,计算读取到的指令的执行时间,进入步骤S110。在步骤SllO中,程序解析部2对在步骤S109中计算出的执行时间进行累计,计算自主轴控制指令起的时间T2,进入步骤S111。在步骤Slll中,程序解析部2对主轴加减速时间Tl和自主轴控制指令起的时间T2进行比较,在主轴加减速时间Tl更大的情况下(步骤Slll:No),返回到步骤S106,在自主轴控制指令起的时间T2更大的情况下(步骤Slll:Yes),结束处理。另外,程序解析部2所读取到的程序块的信息按顺序存储于预读缓冲区7。
[0034]这里,对如果主轴转速发生变化则出现问题的指令的判断方法进行说明。作为如果主轴转速发生变化则出现问题的指令,能够列举刀具更换指令、切削指令。刀具更换指令通常在主轴停止的状态下执行,无法使主轴旋转。另外,切削指令处于对工件进行加工的状态中,如果主轴转速发生变化,则加工精度会变差。即,作为主轴旋转指令之后的指令,如果主轴转速发生变化则出现问题的指令为切削指令,作为主轴旋转指令之前的指令,如果主轴转速发生变化则出现问题的指令为切削指令以及刀具更换指令。另外,作为主轴停止指令之后的指令,如果主轴转速发生变化则出现问题的指令为刀具更换指令,作为主轴停止指令之前的指令,如果主轴转速发生变化则出现问题的指令为切削指令。另外,在除了刀具更换指令以及切削指令以外的指令中,对于如果主轴转速发生变化则出现问题的指令,通过预先设定为参数等而进行判断。这里,对于如果主轴转速发生变化则出现问题的指令、即因在主轴转速变化过程中执行该指令而在加工方面产生某种问题(例如,加工时间延长、加工精度变差等)的指令,将其设为第一指令,对于即使主轴转速发生变化也不出现问题的指令、即在加工方面不产生任何问题的除了第一指令以外的指令,将其设为第二指令。
[0035]接下来,对程序解析部2中的各程序块的执行时间的计算方法进行说明。在定位指令的情况下,根据预先设定为参数的快进速度、加减速时间常数、由加工程序6所指令出的移动距离进行计算(执行时间=移动距离/快进速度+加减速时间常数)。另外,在M代码的情况下,预先将执行时间设定为参数。在主轴控制指令12的情况下,根据预先设定的最高转速、主轴的加减速时间常数、由加工程序6所指令出的主轴转速、当前的主轴转速进行计算(执行时间=(I所指令出的主轴转速一当前的主轴转速I) X主轴的加减速时间常数/最高转速)。
[0036]图3是表示本实施方式所涉及的数控装置I的指令判定部3中的处理顺序的流程图。在指令判定部3中,基于由程序解析部2进行解析并存储于预读缓冲区7的指令的信息,按顺序进行处理。在步骤S201中,指令判定部3从预读缓冲区7读取I个指令,进入步骤S202。在步骤S202中,指令判定部3判断读取到的指令是否为主轴控制指令12,在是主轴控制指令12的情况下(步骤S202:Yes),进入步骤S203,在不是主轴控制指令12的情况下(步骤S202:No),进入步骤S207。在步骤S203中,指令判定部3将读取到的指令即主轴控制指令12输出,进入步骤S204。在步骤S204中,指令判定部3将从预读缓冲区7读取到的指令即主轴控制指令12删除,进入步骤S205。在步骤S205中,指令判定部3判断在预读缓冲区7是否存储有下一指令,如果存储有下一指令(步骤S205:Yes),则进入步骤S206,如果未存储下一指令(步骤S205:No),则结束处理。在步骤S206中,指令判定部3从预读缓冲区7读取下一指令,进入步骤S207。在步骤S207中,指令判定部3判断读取到的指令是否为如果主轴转速发生变化则出现问题的指令,在是出现问题的指令的情况下(步骤S207:Yes),进入步骤S208,在是不出现问题的指令的情况下(步骤S207:No),进入步骤S209。在步骤S208中,指令判定部3判断实际的主轴转速14是否达到所指令出的转速,如果未达到所指令出的转速(步骤S208:No),则进行等待直至达到所指令出的转速(步骤S208:Yes),而后进入步骤S209。在步骤S209中,指令判定部3将读取到的指令输出,结束处理。
[0037]此外,在指令判定部3中,在读取到的指令为切削指令或者定位指令之类的移动指令10的情况下,将该指令向插补部4输出,在插补部4求出每个插补周期的移动量11,并向伺服放大器8输出。另外,在指令判定部3中,在读取到的指令为主轴旋转指令或者主轴停止指令之类的主轴控制指令12的情况下,将该指令向主轴控制指令输出部5输出,利用主轴控制指令输出部5将主轴转速13向主轴放大器9输出。另外,虽未图不,但与以往的处理相同的是:即使在除了移动指令10、主轴控制指令12以外的指令的情况下,也利用与各指令相对应的处理部进行处理。
[0038]接下来,利用加工程序例并按照图2及图3的流程图,对数控装置I中的处理流程进行具体说明。图4是表示在本实施方式中数控装置I所处理的加工程序例的图。首先,在程序解析部2中,在步骤SlOl中确认为在预读缓冲区7中未存储指令(步骤SlOl:No),在步骤S102中对主轴加减速时间Tl、以及自主轴控制指令起的时间T2进行清零,在步骤S103中对NlOl的程序块进行读取。由于NlOl的程序块为切削指令(步骤S104:No),因此,程序解析部2结束处理。此时,在预读缓冲区7中存储有NlOl的指令。
[0039]在指令判定部3中,在步骤S201中对存储于预读缓冲区7的NlOl的指令进行读取。由于NlOl的指令为切削指令(步骤S202:No),因此,向步骤S207:Yes、步骤S208:Yes、步骤S209前进,指令判定部3将切削指令输出,并结束处理。
[0040]如果NlOl的切削指令的动作完毕,则程序解析部2在步骤SlOl中确认为在预读缓冲区7中未存储指令(步骤SlOl:No),在步骤S102中对主轴加减速时间Tl、自主轴控制指令起的时间T2进行清零,在步骤S103中对N102的程序块进行读取。由于N102的程序块为定位指令(步骤S104:No),因此,程序解析部2结束处理。此时,在预读缓冲区7中存储有N102的指令。
[0041]指令判定部3在步骤S201中对存储于预读缓冲区7的N102的指令进行读取。由于N102的指令为定位指令(步骤S202:No),因此,向步骤S207:No、步骤S209前进,指令判定部3将定位指令输出,并结束处理。
[0042]如果N102的定位指令的动作完毕,则程序解析部2在步骤SlOl中确认为预读缓冲区7中未存储指令(步骤SlOl:No),在步骤S102中对主轴加减速时间Tl、自主轴控制指令起的时间T2进行清零,在步骤S103中对N103的程序块进行读取。由于N103的程序块为主轴停止指令(步骤S104:Yes),因此,向步骤S105前进,程序解析部2对直至主轴转速达到所指令出的转速为止的到达时间、即主轴加减速时间Tl进行计算,进入步骤S106。程序解析部2在步骤S106中确认为存在下一程序块(步骤S106:Yes),在步骤S107中对下一程序块即N104的程序块进行读取。由于N104的程序块为返回刀具更换位置的定位指令(步骤S108:No),因此,向步骤S109前进,程序解析部2计算N104的程序块的执行时间,在步骤SllO中对自主轴控制指令起的时间T2进行更新。程序解析部2在步骤Slll中对主轴加减速时间Tl和自主轴控制指令起的时间T2进行比较。程序解析部2判断为主轴加减速时间Tl更大(步骤Slll:No),返回到步骤S106。
[0043]程序解析部2在步骤S106中确认为存在下一程序块(步骤S106:Yes),在步骤S107中对下一程序块即N105的程序块进行读取。程序解析部2进入步骤S108,由于N105的程序块为刀具更换指令(步骤S108:Yes),因此结束处理。此时,预读缓冲区7中存储有N103、N104、N105 的指令。
[0044]指令判定部3在步骤S201中对存储于预读缓冲区7的N103的指令进行读取。由于N103的指令为主轴停止指令(步骤S202:Yes),因此,向步骤S203、步骤S204前进,指令判定部3将主轴停止指令输出,从预读缓冲区7将主轴停止指令删除。指令判定部3在步骤S205中确认为在预读缓冲区7存在下一指令(步骤S205:Yes),在步骤S206中对N104的指令进行读取。由于N104的指令为返回刀具更换位置的定位指令(步骤S207:No),因此,向步骤S209前进,指令判定部3将返回刀具更换位置的定位指令输出,并结束处理。
[0045]如果N104的返回刀具更换位置的定位指令的动作完毕,则由于程序解析部2在步骤SlOl中判断为在预读缓冲区7中还存储有指令(步骤SlOl:Yes),因此,结束处理。
[0046]指令判定部3在步骤S201中,对存储于预读缓冲区7的N105的指令进行读取。由于N105的指令为刀具更换指令(步骤S202:No),因此,向步骤S207:Yes、步骤S208:Yes、步骤S209前进,指令判定部3等待实际的主轴转速14达到所指令出的转速即零速度,将刀具更换指令输出,并结束处理。
[0047]如果N105的刀具更换指令的动作完毕,则程序解析部2在步骤SlOl中确认为在预读缓冲区7中未存储指令(步骤SlOl:No),在步骤S102中对主轴加减速时间Tl、自主轴控制指令起的时间T2进行清零,在步骤S103中对N106的程序块进行读取。由于N106的程序块为定位指令(步骤S104:No),因此,程序解析部2结束处理。此时,预读缓冲区7中存储有N106的指令。
[0048]指令判定部3在步骤S201中对存储于预读缓冲区7的N106的指令进行读取。由于N106的指令为定位指令(步骤S202:No),因此,向步骤S207:No、步骤S209前进,指令判定部3将定位指令输出,并结束处理。
[0049]由于下一个N107的程序块也是定位指令,因此,程序解析部2以及指令判定部3进行与N106的程序块相同的处理。
[0050]如果N107的定位指令的动作完毕,则程序解析部2在步骤SlOl中确认为在预读缓冲区7中未存储指令(步骤SlOl:No),在步骤S102中对主轴加减速时间Tl、自主轴控制指令起的时间T2进行清零,在步骤S103中对N108的程序块进行读取。由于N108的程序块为主轴旋转指令(步骤S104:Yes),因此,向步骤S105前进,程序解析部2计算主轴加减速时间Tl,进入步骤S106。程序解析部2在步骤S106中确认为存在下一程序块(步骤S106:Yes),在步骤S107中对下一程序块即N109的程序块进行读取。由于N109的程序块为定位指令(步骤S108:No),因此,向步骤S109前进,程序解析部2计算N109的程序块的执行时间,在步骤SllO中对自主轴控制指令起的时间T2进行更新。程序解析部2在步骤Slll中对主轴加减速时间Tl和自主轴控制指令起的时间T2进行比较。程序解析部2判断为主轴加减速时间Tl更大(步骤Slll:No),返回到步骤S106。
[0051]程序解析部2在步骤S106中确认为存在下一程序块(步骤S106:Yes),在步骤S107中,对下一程序块即NllO的程序块进行读取。由于NllO的程序块为定位指令(步骤S108:No),因此,向步骤S109前进,程序解析部2计算NllO的程序块的执行时间,在步骤SllO中对自主轴控制指令起的时间T2进行更新。程序解析部2在步骤Slll中对主轴加减速时间Tl和自主轴控制指令起的时间T2进行比较。在自主轴控制指令起的时间T2更大的情况下(步骤Slll:Yes),程序解析部2结束处理。此时,在预读缓冲区7中存储有N108、N109、N110 的指令。
[0052]指令判定部3在步骤S201中对存储于预读缓冲区7的N108的指令进行读取。由于N108的指令为主轴旋转指令(步骤S202:Yes),因此,向步骤S203、步骤S204前进,将主轴旋转指令输出,从预读缓冲区7将主轴旋转指令删除。指令判定部3在步骤S205中确认为在预读缓冲区7中存在下一指令(步骤S205:Yes),在步骤S206中对N109的指令进行读取。由于N109的指令为定位指令(步骤S207:No),因此,向步骤S209前进,指令判定部3将定位指令输出,结束处理。
[0053]如果N109的定位指令的动作完毕,则程序解析部2在步骤SlOl中判断为在预读缓冲区7中还存储有指令(步骤SlOl:Yes),因此,结束处理。
[0054]指令判定部3在步骤S201中对存储于预读缓冲区7的NllO的指令进行读取。由于NllO的指令为定位指令(步骤S202:No),因此,向步骤S207:No、步骤S209前进,指令判定部3将定位指令输出,结束处理。
[0055]如果NllO的定位指令的动作完毕,则程序解析部2在步骤SlOl中确认为在预读缓冲区7中未存储指令(步骤SlOl:No),在步骤S102中对主轴加减速时间Tl、自主轴控制指令起的时间T2进行清零,在步骤S103中对Nlll的程序块进行读取。由于Nlll的程序块为切削指令(步骤S104:No),因此,程序解析部2结束处理。此时,在预读缓冲区7中存储有Nlll的指令。
[0056]指令判定部3在步骤S201中对存储于预读缓冲区7的Nlll的指令进行读取。由于Nlll的指令为切削指令(步骤S202:No),因此,向步骤S207:Yes、步骤S208:Yes、步骤S209前进,指令判定部3等待实际的主轴转速14达到所指令出的转速,将切削指令输出,并结束处理。
[0057]图5是图4所示的加工程序例的时序图。图5(1)示出以往的动作,图5(2)示出本实施方式中的动作。分别示出各步骤中的主轴转速、轴移动量、以及有无刀具更换动作的关系。在以往的动作中,是否主轴转速达到所指令出的转速后进入下一程序块,取决于梯形图。如果假设成为主轴转速达到所指令出的转速后进入下一程序块,则如图5(1)所示,在主轴转速达到所指令出的转速以后执行N104、N109、N110的定位指令。与其相对,在本实施方式的动作中,不取决于梯形图,如图5(2)那样,即使主轴转速未达到所指令出的转速,仍执行N104、N109、NllO的定位指令,另外,在主轴转速达到所指令出的转速以后,执行N105的刀具更换指令以及Nlll的切削指令。因此,即使不制作复杂的梯形图,也能够缩短加工时间。另外,如果出现当主轴转速发生变化时出现问题的指令,或者从发出主轴控制指令起直至如果主轴转速发生变化则出现问题的指令为止的时间,比直至主轴转速达到所指令出的转速为止的时间大,则程序解析部2的预读结束,因此,能够抑制数控装置I中的处理负荷的增加。
[0058]如以上所述,根据本实施方式,数控装置I中,在如果主轴转速发生变化则出现问题的指令的情况下,在主轴转速达到所指令出的转速以后将该指令输出,在除了如果主轴转速发生变化则出现问题的指令以外的情况下,即使主轴转速未达到所指令出的转速,仍将该指令输出。由此,无需制作复杂的梯形图,不会对加工精度以及机械造成影响,能够缩短加工时间。
[0059]另外,在程序解析部2中,能够适当地决定进行预读的程序块的数量,能够抑制数控装置处理负荷的增加。
[0060]实施方式2.
[0061]图6是表示本实施方式所涉及的数控装置I的程序解析部2中的处理顺序的流程图。图6的流程图与此前说明的图2的流程图基本相同,因此,以它们的不同点为中心进行说明。步骤S101、步骤S102、步骤S103与图2相同。程序解析部2在步骤S301中,判断读取到的指令是否为主轴旋转指令,在是主轴旋转指令的情况下(步骤S301:Yes),进入步骤S105,在不是主轴旋转指令的情况下(步骤S301:No),结束处理。步骤S105、步骤S106、步骤S107与图2相同。程序解析部2在步骤S302中,判断是否为切削指令,在不是切削指令的情况下(步骤S302:No),进入步骤S109,在是切削指令的情况下(步骤S302:Yes),结束处理。步骤S109、步骤SllO与图2相同。
[0062]图7是表示本实施方式所涉及的数控装置I的指令判定部3中的处理顺序的流程图。图7的流程图与此前说明的图3的流程图基本相同,因此,以它们的不同之处为中心进行说明。步骤S201与图3相同。指令判定部3在步骤S401中,判断读取到的指令是否为主轴旋转指令,在是主轴旋转指令的情况下(步骤S401:Yes),进入步骤S402,在不是主轴旋转指令的情况下(步骤S401:No),进入步骤S404。指令判定部3在步骤S402中,对主轴加减速时间Tl和自主轴控制指令起的时间T2进行比较,在主轴加减速时间Tl更大的情况下(步骤S402:No),进入步骤S203,在自主轴控制指令起的时间T2更大的情况下(步骤S402:Yes),进入步骤S403。指令判定部3在步骤S403中,对主轴的加减速时间常数进行变更,以使得主轴加减速时间成为自主轴控制指令起的时间T2,进入步骤S203。步骤S203、步骤S204、步骤S205、步骤S206与图3相同。指令判定部3在步骤S404中,判断是否为切削指令,在是切削指令的情况下(步骤S404:Yes),进入步骤S208,在不是切削指令的情况下(步骤S404:No),进入步骤S209。步骤S208、步骤S209与图3相同。
[0063]接下来,利用加工程序例并按照图6及图7的流程图对数控装置I中的处理流程进行具体说明。图8是表示在本实施方式中数控装置I所处理的加工程序例的图。首先,在程序解析部2中,在步骤SlOl中确认为在预读缓冲区7中未存储指令(步骤SlOl:No),在步骤S102中对主轴加减速时间Tl、自主轴控制指令起的时间T2进行清零,在步骤S103中对N201的程序块进行读取。由于N201的程序块为刀具更换指令(步骤S301:No),因此,程序解析部2结束处理。此时,预读缓冲区7中存储有N201的指令。
[0064]指令判定部3在步骤S201中,对存储于预读缓冲区7的N201的指令进行读取。由于N201的指令为刀具更换指令(步骤S401:No),因此,向步骤S404:No、步骤S209前进,指令判定部3将刀具更换指令输出,并结束处理。
[0065]如果N201的刀具更换指令的动作完毕,则程序解析部2在步骤SlOl中确认为预读缓冲区7中未存储指令(步骤SlOl:No),在步骤S102中对主轴加减速时间Tl、自主轴控制指令起的时间T2进行清零,在步骤S103中对N202的程序块进行读取。由于N202的程序块为定位指令(步骤S301:No),因此,程序解析部2结束处理。此时,预读缓冲区7中存储有N202的指令。
[0066]指令判定部3在步骤S201中对存储于预读缓冲区7的N202的指令进行读取。由于N202的指令为定位指令(步骤S401:No),因此,向步骤S404:No、步骤S209前进,指令判定部3将定位指令输出,并结束处理。
[0067]由于下一个N203的程序块也是定位指令,因此,程序解析部2以及指令判定部3进行与N202的程序块相同的处理。
[0068]如果N203的定位指令的动作完毕,则程序解析部2在步骤SlOl中确认为预读缓冲区7中未存储指令(步骤SlOl:No),在步骤S102中对主轴加减速时间Tl、自主轴控制指令起的时间T2进行清零,在步骤S103中对N204的程序块进行读取。由于N204的程序块为主轴旋转指令(步骤S301:Yes),因此,向步骤S105前进,程序解析部2计算主轴加减速时间Tl,进入步骤S106。程序解析部2在步骤S106中确认为存在下一程序块(步骤S106:Yes),在步骤S107中对下一程序块即N205的程序块进行读取。由于N205的程序块为定位指令(步骤S302:No),因此,向步骤S109前进,程序解析部2计算N205的程序块的执行时间,在步骤SllO中对自主轴控制指令起的时间T2进行更新,返回到步骤S106。
[0069]程序解析部2在步骤S106中确认为存在下一程序块(步骤S106:Yes),在步骤S107中对下一程序块即N206的程序块进行读取。由于N206的程序块也是定位指令,因此,程序解析部2对其进行与N205的程序块相同的处理。另外,由于N207的程序块也是定位指令,因此,程序解析部2对其进行同样的处理。
[0070]程序解析部2在步骤S106中确认为存在下一程序块(步骤S106:Yes),在步骤S107中对下一程序块即N208的程序块进行读取。由于N208的程序块为切削指令(步骤S302:Yes),因此,程序解析部2结束处理。此时,预读缓冲区7中存储有N204、N205、N206、N207、N208 的指令。
[0071]指令判定部3在步骤S201中,对存储于预读缓冲区7的N204的指令进行读取。由于N204的指令为主轴旋转指令(步骤S401:Yes),因此,指令判定部3进入步骤S402。指令判定部3在步骤S402中,对主轴加减速时间Tl和自主轴控制指令起的时间T2进行比较,如果自主轴控制指令起的时间T2更大(步骤S402:Yes),则进入步骤S403。指令判定部3在步骤S403中,对主轴的加减速时间常数进行变更,向步骤S203、步骤S204前进,将主轴旋转指令输出,从预读缓冲区7将主轴旋转指令删除。在步骤S205中确认为在预读缓冲区7中存在下一指令(步骤S205:Yes),在步骤S206中对N205的指令进行读取。由于N205的指令为定位指令(步骤S404:No),因此,向步骤S209前进,指令判定部3将定位指令输出,并结束处理。
[0072]如果N205的定位指令的动作完毕,由于程序解析部2在步骤SlOl中判断为在预读缓冲区7中还存储有指令(步骤SlOl:Yes),因此,结束处理。
[0073]指令判定部3在步骤S201中,对存储于预读缓冲区7的N206的指令进行读取。由于N206的指令为定位指令(步骤S401:No),因此,向步骤S404:No、步骤S209前进,将定位指令输出,并结束处理结束。对N207的程序块也进行与N206的程序块同样的处理。
[0074]如果N207的定位指令的动作完毕,则由于程序解析部2在步骤SlOl中判断为在预读缓冲区7中还存储有指令(步骤SlOl:Yes),因此,结束处理。
[0075]指令判定部3在步骤S201中对存储于预读缓冲区7的N208的指令进行读取。由于N208的指令为切削指令(步骤S401:No),因此,向步骤S404:Yes、步骤S208:Yes、步骤S209前进,确认为实际的主轴转速14达到所指令出的转速,将切削指令输出,并结束处理。
[0076]图9是图8所示的加工程序例的时序图。图9(1)示出以往的动作,图9(2)示出本实施方式中的动作。在以往的动作中,在达到从发出主轴旋转指令起直至发出切削指令为止的时间(T2)之前,已经使主轴转速14达到所指令出的转速,因此,与从发出主轴旋转指令起直至发出切削指令为止的时间(T2)比较,在主轴加减速时间(Tl)极短的情况下,因无用的加速动作而浪费了消耗电力。在本实施方式中,在从发出主轴旋转指令起直至发出切削指令为止的时间(T2)比主轴加减速时间(Tl)长的情况下,以来得及发出切削指令的方式将主轴加减速时间(Tl)延长。由此,加工时间不会改变,能够削减消耗电力。
[0077]如以上说明所述,根据本实施方式,在数控装置I中,在直至主轴转速达到所指令出的转速为止所需的时间存在富余的情况下,将主轴的加减速时间延长。由此,在实施方式I的效果的基础上,还能够抑制消耗电力。
[0078]实施方式3.
[0079]图10是表示本实施方式所涉及的数控装置I的程序解析部2中的处理顺序的流程图。程序解析部2在步骤S501中判断在预读缓冲区7中是否存储有指令,如果存储有指令(步骤S501:Yes),则结束处理,如果未存储指令(步骤S501:No),则进入步骤S502。程序解析部2在步骤S502中,对加工程序6进行读取,进入步骤S503。程序解析部2在步骤S503中,判断读取到的指令是否为主轴控制指令12,在是主轴控制指令12的情况下(步骤S503:Yes),进入步骤S504,在不是主轴控制指令12的情况下(步骤S503:No),进入步骤S505。程序解析部2在步骤S504中,将主轴控制指令12存储于预读缓冲区7的起始处。程序解析部2在步骤S505中,判断是否为如果主轴转速发生变化则出现问题的指令,在是不出现问题的指令的情况下(步骤S505:No),进入步骤S506,在是出现问题的指令的情况下(步骤S505:Yes),结束处理。程序解析部2在步骤S506中判断是否存在下一程序块,如果存在下一程序块(步骤S506:Yes),则进入步骤S507,如果不存在下一程序块(步骤S506:No),则结束处理。程序解析部2在步骤S507中,对下一程序块进行读取,返回到步骤S503。另外,程序解析部2所读取到的程序块的信息按顺序存储于预读缓冲区7。
[0080]此外,表示本实施方式所涉及的数控装置I的指令判定部3中的处理顺序的流程图与实施方式I (参照图3)相同。
[0081]接下来,利用实施方式I所涉及的加工程序例(参照图4)并按照图10及图3的流程图,对数控装置I中的处理流程进行具体说明。首先,在程序解析部2中,在步骤S501中确认为在预读缓冲区7中未存储指令(步骤S501:No),在步骤S502中对NlOl的程序块进行读取。由于程序解析部2判断为NlOl的程序块是切削指令(步骤S503:No),因此,向步骤S505 =Yes前进,结束处理。此时,在预读缓冲区7中存储NlOl的指令。
[0082]指令判定部3在步骤S201中对存储于预读缓冲区7的NlOl的指令进行读取。由于NlOl的指令为切削指令(步骤S202:No),因此,向步骤S207:Yes、步骤S208:Yes、步骤S209前进,指令判定部3将切削指令输出,并结束处理。
[0083]如果NlOl的切削指令的动作完毕,则程序解析部2在步骤S501中确认为在预读缓冲区7中未存储指令(步骤S501:No),在步骤S502中对N102的程序块进行读取。由于N102的程序块为定位指令(步骤S503:No),因此,向步骤S505 =No前进,程序解析部2在步骤S506中确认为存在下一程序块(步骤S506:Yes),在步骤S507中对下一程序块即N103的程序块进行读取。由于N103的程序块为主轴停止指令(步骤S503:Yes),因此,向步骤S504前进,程序解析部2将主轴停止指令插入至预读缓冲区7的起始处,并结束处理。此时,在预读缓冲区7中按照N103、N102的顺序存储指令。
[0084]指令判定部3在步骤S201中对存储于预读缓冲区7的N103的指令进行读取。由于N103的指令为主轴停止指令(步骤S202:Yes),因此,向步骤S203、步骤S204前进,将主轴停止指令输出,从预读缓冲区7将主轴停止指令删除。指令判定部3在步骤S205中确认为在预读缓冲区7中存在下一指令(步骤S205:Yes),在步骤S206中对N102的指令进行读取。由于N102的指令为定位指令(步骤S207:No),因此,向步骤S209前进,指令判定部3将定位指令输出,并结束处理。
[0085]如果N102的定位指令的动作完毕,则程序解析部2在步骤S501中确认为在预读缓冲区7中未存储指令(步骤S501:No),在步骤S502中对N104的程序块进行读取。由于N104的程序块为定位指令(步骤S503:No),因此,向步骤S505 =No前进,程序解析部2在步骤S506中确认为存在下一程序块(步骤S506:Yes),在步骤S507中对下一程序块即N105的程序块进行读取。由于N105的程序块为刀具更换指令(步骤S503:No),因此,向步骤S505 =Yes前进,程序解析部2结束处理。此时,在预读缓冲区7中存储有N104、N105的指令。
[0086]指令判定部3在步骤S201中对存储于预读缓冲区7的N104的指令进行读取。由于N104的指令为定位指令(步骤S202:No),因此,向步骤S207:No、步骤S209前进,将定位指令输出,并结束处理。如果N104的定位指令的动作完毕,则指令判定部3在步骤S201中对存储于预读缓冲区7的N105的指令进行读取。由于N105的指令为刀具更换指令(步骤S202:No),因此,向步骤S207:Yes、步骤S208:Yes、步骤S209前进,指令判定部3等待实际的主轴转速14达到所指令出的转速即零速度,将刀具更换指令输出,并结束处理。
[0087]如果N105的刀具更换指令的动作完毕,则程序解析部2在步骤S501中确认为在预读缓冲区7中未存储指令(步骤S501:No),在步骤S502中对N106的程序块进行读取。由于N106的程序块为定位指令(步骤S503:No),因此,向步骤S505 =No前进,程序解析部2在步骤S506中确认为存在下一程序块(步骤S506:Yes),在步骤S507中对下一程序块即N107的程序块进行读取。由于N107的程序块为定位指令(步骤S503:No),因此,向步骤S505 =No前进,程序解析部2在步骤S506中确认为存在下一程序块(步骤S506:Yes),在步骤S507中对下一程序块即N108的程序块进行读取。由于N108的程序块为主轴旋转指令,因此,向步骤S503(步骤S503:Yes)、步骤S504前进,程序解析部2将主轴旋转指令插入至预读缓冲区7的起始处,并结束处理。此时,在预读缓冲区7中按照N108、N106、N107的顺序存储指令。
[0088]指令判定部3在步骤S201中,对存储于预读缓冲区7的N108的指令进行读取。由于N108的指令为主轴旋转指令(步骤S202:Yes),因此,向步骤S203、步骤S204前进,指令判定部3将主轴旋转指令输出,从预读缓冲区7将主轴旋转指令删除。指令判定部3在步骤S205中确认为在预读缓冲区7中存在下一指令(步骤S205:Yes),在步骤S206中对N106的指令进行读取。由于N106的指令为定位指令(步骤S207:No),因此,向步骤S209前进,指令判定部3将定位指令输出,并结束处理。如果N106的定位指令的动作完毕,则指令判定部3在步骤S201中对存储于预读缓冲区7的N107的指令进行读取。由于N107的指令为定位指令(步骤S202:No),因此,向步骤S207:No、步骤S209前进,指令判定部3将定位指令输出,并结束处理。
[0089]如果N107的定位指令的动作完毕,则程序解析部2在步骤S501中确认为在预读缓冲区7中未存储指令(步骤S501:No),在步骤S502中对N109的程序块进行读取。由于N109的程序块为定位指令(步骤S503:No),因此,向步骤S505 =No前进,程序解析部2在步骤S506中确认为存在下一程序块(步骤S506:Yes),在步骤S507中对下一程序块即NllO的程序块进行读取。由于NllO的程序块为定位指令(步骤S503:No),因此,向步骤S505:No前进,程序解析部2在步骤S506中确认为存在下一程序块(步骤S506:Yes),在步骤S507中对下一程序块即Nlll的程序块进行读取。由于Nlll的程序块为切削指令(步骤S503:No),因此,向步骤S505 =Yes前进,程序解析部2结束处理。此时,在预读缓冲区7中存储有N109、N110、N111 的指令。
[0090]指令判定部3在步骤S201中对存储于预读缓冲区7的N109的指令进行读取。由于N109的指令为定位指令(步骤S202:No),因此,向步骤S207:No、步骤S209前进,指令判定部3将定位指令输出,并结束处理。如果N109的定位指令的动作完毕,则指令判定部3在步骤S201中对存储于预读缓冲区7的NllO的指令进行读取。由于NllO的指令为定位指令(步骤S202:No),因此,向步骤S207:No、步骤S209前进,指令判定部3将定位指令输出,并结束处理。如果NllO的定位指令的动作完毕,则指令判定部3在步骤S201中对存储于预读缓冲区7的Nlll的指令进行读取。由于Nlll的指令为切削指令(步骤S202:No),因此,向步骤S207:Yes、步骤S208:Yes、步骤S209前进,指令判定部3等待实际的主轴转速14达到所指令出的转速,将切削指令输出,并结束处理。
[0091]图11是图4所示的加工程序例的时序图。图11(1)示出以往的动作,图11⑵示出本实施方式中的动作。在以往的动作中,是否主轴转速达到所指令出的转速后进入下一程序块,取决于梯形图。假设如果成为主轴转速达到所指令出的转速后进入下一程序块,则如图11(1)所示,在主轴转速达到所指令出的转速以后执行N104、N109的定位指令。与此相对,在本实施方式的动作中,并不取决于梯形图,如图11(2)所示,即使主轴转速未达到所指令出的转速,仍执行N104、N109的定位指令,另外,在主轴转速达到所指令出的转速以后执行N105的刀具更换指令、Nlll的切削指令。因此,即使不制作复杂的梯形图,也能够缩短加工时间。进而,如果NlOl的切削指令完毕,则将N103的主轴停止指令输出,因此,能够缩短直至执行N105的刀具更换指令为止的等待时间。
[0092]此外,作为除了刀具更换指令以及切削指令以外的指令,对于主轴控制指令之前的指令,还能够预先设定为提前输出禁止指令。在该情况下,指令判定部3判断主轴控制指令之前的指令是否为预先设定成提前输出禁止指令的指令,在除了提前输出禁止指令以外的情况下,与由加工程序6所指定出的定时相比,提前进行输出。
[0093]如以上说明所述,根据本实施方式,在数控装置I中,在除了如果主轴转速发生变化则出现问题的指令以外的情况下,与由加工程序所指定出的定时相比,提前将主轴控制指令输出。由此,无需制作复杂的梯形图,不会对加工及机械造成影响,能够缩短加工时间。
[0094]实施方式4.
[0095]图12是表示本实施方式所涉及的数控装置I的程序解析部2中的处理顺序的流程图。程序解析部2在步骤S601中判断在预读缓冲区7中是否存储有指令,如果存储有指令,则结束处理(步骤S601:Yes),如果未存储指令(步骤S601:No),则进入步骤S602。程序解析部2在步骤S602中,对主轴加减速时间Tl、自主轴控制指令起的时间T2、直至主轴控制指令为止的时间T3、主轴控制指令输出定时Ts进行清零,将主轴控制指令标志设为0FF,进入步骤S603。程序解析部2在步骤S603中,对加工程序6进行读取,进入步骤S604。程序解析部2在步骤S604中,判断读取到的指令是否为主轴旋转指令,在不是主轴旋转指令的情况下(步骤S604:No),进入步骤S605,在是主轴旋转指令的情况下(步骤S604:Yes),进入步骤S610。程序解析部2在步骤S605中,判定读取到的指令是否为如果主轴转速发生变化则出现问题的指令,在是出现问题的指令的情况下(步骤S605:Yes),结束处理,在是不出现问题的指令的情况下(步骤S605:No),进入步骤S606。程序解析部2在步骤S606中计算读取到的指令的执行时间,进入步骤S607。程序解析部2在步骤S607对步骤S606中计算出的执行时间进行累计,计算直至主轴控制指令为止的时间T3,进入步骤S608。程序解析部2在步骤S608中判断是否存在下一程序块,在存在下一程序块的情况下(步骤S608:Yes),进入步骤S609,在不存在下一程序块的情况下(步骤S608:No),结束处理。程序解析部2在步骤S609中对下一程序块进行读取,返回到步骤S604。
[0096]另外,程序解析部2在步骤S610中将主轴控制指令标志设为0N,计算主轴加减速时间Tl,进入步骤S611。程序解析部2在步骤S611中,判断是否存在下一程序块,如果存在下一程序块(步骤S611:Yes),则进入步骤S612,如果不存在下一程序块(步骤S611:No),则结束处理。程序解析部2在步骤S612中,对下一程序块进行读取,进入步骤S613。程序解析部2在步骤S613中判断读取到的程序块是否为如果主轴转速发生变化则出现问题的指令,在是出现问题的指令的情况下(步骤S613:Yes),进入步骤S616,在是不出现问题的指令的情况下(步骤S613:No),进入步骤S614。程序解析部2在步骤S614中计算读取到的指令的执行时间,进入步骤S615。程序解析部2在步骤S615对步骤S614中计算出的执行时间进行累计,计算自主轴控制指令起的时间T2,返回到步骤S611。程序解析部2在步骤S616中根据主轴加减速时间Tl、自主轴控制指令起的时间T2、直至主轴控制指令为止的时间T3而计算主轴控制指令输出定时Ts (Ts = T3 - (Tl - T2)),结束处理。另外,程序解析部2读取到的程序块的信息以及计算出的执行时间按顺序存储于预读缓冲区7。
[0097]图13是表示本实施方式所涉及的数控装置I的指令判定部3中的处理顺序的流程图。在指令判定部3中,程序解析部2进行解析,并基于存储于预读缓冲区7的指令的信息而按顺序进行处理。指令判定部3在步骤S701中,判断主轴控制指令标志是否为0N,在是ON的情况下(步骤S701:Yes),进入步骤S702,在是OFF的情况下(步骤S701:No),进入步骤S712。指令判定部3在步骤S702中,从预读缓冲区7读取I个指令,进入步骤S703。指令判定部3在步骤S703中判断读取到的指令是否为主轴旋转指令,在是主轴旋转指令的情况下(步骤S703:Yes),进入步骤S704,在不是主轴旋转指令的情况下(步骤S703:No),进入步骤S713。指令判定部3在步骤S704中,将主轴旋转指令输出,进入步骤S705。指令判定部3在步骤S705中,从预读缓冲区7将主轴旋转指令删除,进入步骤S706。指令判定部3在步骤S706中将主轴控制指令标志设为0FF,进入步骤S707。指令判定部3在步骤S707中,判断在预读缓冲区7中是否存储有下一指令,如果存储有下一指令(步骤S707:Yes),则进入步骤S708,如果未存储下一指令(步骤S707:No),则结束处理。指令判定部3在步骤S708中从预读缓冲区7读取下一指令,进入步骤S709。指令判定部3在步骤S709中判断读取到的指令是否为如果主轴转速发生变化则出现问题的指令,在是出现问题的指令的情况下(步骤S709:Yes),进入步骤S710,在是不出现问题的指令的情况下(步骤S709:No),进入步骤S711。指令判定部3在步骤S710中判断实际的主轴转速14是否达到所指令出的转速,如果未达到所指令出的转速(步骤S710:No),则进行等待直至其达到所指令出的转速(步骤S710:Yes),进入步骤S711。指令判定部3在步骤S711中,将读取到的指令输出,并结束处理。指令判定部3在步骤S712中,从预读缓冲区7读取I个指令,进入步骤S709。
[0098]另外,指令判定部3在步骤S713中,将读取到的指令输出,进入步骤S714。指令判定部3在步骤S714中,从主轴控制指令输出定时Ts减去读取到的指令的执行时间,进入步骤S715。指令判定部3在步骤S715中确认主轴控制指令输出定时Ts是否小于或等于0,如果小于或等于O (步骤S715:Yes),则进入步骤S716,如果不小于或等于O (步骤S715:No),则结束处理。指令判定部3在步骤S716中将主轴旋转指令输出,进入步骤S717。指令判定部3在步骤S717中,从预读缓冲区7将主轴旋转指令删除,进入步骤S718。指令判定部3在步骤S718中,将主轴控制指令标志设为0FF,并结束处理。
[0099]接下来,利用加工程序例并按照图12及图13的流程图对数控装置I中的处理流程进行具体说明。图14是表示在本实施方式中数控装置I所处理的加工程序例的图。首先,在程序解析部2中,在步骤S601中确认为在预读缓冲区7中未存储指令(步骤S601:No),在步骤S602中,对主轴加减速时间Tl、自主轴控制指令起的时间T2、直至主轴控制指令为止的时间T3、主轴控制指令输出定时Ts进行清零,将主轴控制指令标志设为OFF。程序解析部2在步骤S603中,对N301的程序块进行读取。由于N301的程序块为刀具更换指令(步骤S604:No),因此,向步骤S605:No、步骤S606前进,程序解析部2计算程序块执行时间,在步骤S607中计算直至主轴控制指令为止的时间T3。程序解析部2在步骤S608中确认为存在下一程序块(步骤S608:Yes),在步骤S609中,对N302的程序块进行读取。
[0100]由于N302的程序块为定位指令(步骤S604:No),因此,与N301的程序块相同地,向步骤S605:No、步骤S606、步骤S607前进,程序解析部2计算N302的程序块的程序块执行时间,对直至主轴控制指令为止的时间T3进行更新。向步骤S608:Yes、步骤S609前进,程序解析部2对N303的程序块进行读取。
[0101]由于N303的程序块也是定位指令(步骤S604:No),因此,与N302的程序块相同地,向步骤S605:No、步骤S606、步骤S607前进,程序解析部2计算N303的程序块的程序块执行时间,对直至主轴控制指令为止的时间T3进行更新。向步骤S608:Yes、步骤S609前进,程序解析部2对N304的程序块进行读取。
[0102]由于N304的程序块为主轴旋转指令(步骤S604:Yes),因此,向步骤S610前进,程序解析部2将主轴控制指令标志设为0N,计算主轴加减速时间Tl。向步骤S611:Yes、步骤S612前进,程序解析部2对N305的程序块进行读取。由于N305的程序块为定位指令(步骤S613:No),因此,向步骤S614前进,程序解析部2计算程序块执行时间,在步骤S615中计算自主轴控制指令起的时间T2。
[0103]返回到步骤S611,向步骤S611:Yes、步骤S612前进,程序解析部2对N306的程序块进行读取。由于N306的程序块也是定位指令(步骤S613:No),因此,与N305的程序块相同地,向步骤S614前进,程序解析部2计算程序块执行时间,在步骤S615中计算自主轴控制指令起的时间T2。
[0104]返回到步骤S611,向步骤S611:Yes、步骤S612前进,程序解析部2对N307的程序块进行读取。由于N307的程序块为切削指令(步骤S613:Yes),因此,向步骤S616前进,程序解析部2计算主轴控制指令输出定时Ts,并结束处理。此时,在预读缓冲区7中存储从N301至N307的指令,另外,对于从N301至N303、N305、N306的程序块,还存储程序块执行时间。
[0105]指令判定部3按顺序处理在预读缓冲区7中存储的从N301至N307的指令。首先,指令判定部3在步骤S701中,确认王轴控制指令标志是否为0N,由于王轴控制指令标志为ON(步骤S701:Yes),因此,进入步骤S702。指令判定部3在步骤S702中,对N301的指令进行读取。由于N301的指令为刀具更换指令(步骤S703:No),因此,向步骤S713前进,指令判定部3将指令输出。指令判定部3在步骤S714中,从主轴控制指令输出定时Ts减去N301的程序块执行时间。指令判定部3在步骤S715中,判断主轴控制指令输出定时Ts是否小于或等于O。假设指令判定部3判断为在当前时刻主轴控制指令输出定时Ts不小于或等于O (步骤S715:No),则结束处理。
[0106]如果N301的指令完毕,向步骤S701:Yes、步骤S702前进,指令判定部3对N302的指令进行读取。由于N302为定位指令(步骤S703:No),因此,向步骤S713前进,指令判定部3将指令输出。指令判定部3在步骤S714中,从主轴控制指令输出定时Ts减去N302的程序块执行时间。假设指令判定部3在步骤S715中,判断为在当前时刻主轴控制指令输出定时Ts不小于或等于O (步骤S715:No),则结束处理。
[0107]如果N302的指令完毕,则向步骤S701:Yes、步骤S702前进,指令判定部3对N303的指令进行读取。由于N303为定位指令(步骤S703:No),因此,向步骤S713前进,指令判定部3将指令输出。指令判定部3在步骤S714中从主轴控制指令输出定时Ts减去N303的程序块执行时间。假设指令判定部3在步骤S715中,判断为在当前时刻主轴控制指令输出定时Ts小于或等于0(步骤S715:Yes),则进入步骤S716,将主轴旋转指令(N304)输出,进入步骤S717,从预读缓冲区7将主轴旋转指令(N304)删除,进入步骤S718,将主轴控制指令标志设为OFF,并结束处理。
[0108]如果N303的指令完毕,则向步骤S701:No、步骤S712前进,指令判定部3对N305的指令进行读取。由于N305的指令为定位指令(步骤S709:No),因此,进入步骤S711,指令判定部3将指令输出,并结束处理。
[0109]如果N305的指令完毕,则向步骤S701:No、步骤S712前进,指令判定部3对N306的指令进行读取。由于N306的指令为定位指令(步骤S709:No),因此,进入步骤S711,指令判定部3将指令输出,并结束处理。
[0110]如果N306的指令完毕,则向步骤S701:No、步骤S712前进,指令判定部3对N307的指令进行读取。由于N307的指令为切削指令,因此,向步骤S709:Yes、步骤S710前进,指令判定部3等待实际的主轴转速14达到所指令出的转速。如果实际的主轴转速14达到所指令出的转速,则进入步骤S711,指令判定部3将指令输出,并结束处理。
[0111]图15是图14所示的加工程序例的时序图。图15(1)示出以往的动作,图15⑵示出本实施方式中的动作。在以往的动作中,是否主轴转速达到所指令出的转速后进入下一程序块,取决于梯形图。假设如果成为主轴转速达到所指令出的转速后进入下一程序块,则如图15(1)所示,在主轴转速达到所指令出的转速以后执行N305、N306的定位指令。另外,N304的主轴旋转指令也在N303的移动完毕以后被输出。与此相对,在本实施方式的动作中,不取决于梯形图,如图15(2)所示,即使主轴转速未达到所指令出的转速,仍执行N305、N306的定位指令,另外,在主轴转速达到所指令出的转速以后,执行N307的切削指令。因此,即使不制作复杂的梯形图,也能够缩短加工时间。进而,以使主轴旋转速度与N307的切削指令开始的定时匹配地达到所指令出的转速的方式,输出N304的主轴旋转指令,因此,能够缩短直至执行N307的切削指令为止的等待时间。
[0112]如以上说明所述,根据本实施方式,在数控装置I中,成为先将主轴控制指令输出,对于如果主轴转速发生变化则出现问题的指令,消除直至主轴转速达到所指令出的转速为止的等待时间。由此,能够缩短加工时间。
[0113]此外,可以在数控装置I中具备显示部,在显示部的画面上,将由加工程序所指定出的定时的变更信息向作业者输出。图16是表示数控装置I所具备的显示部的显示画面的例子的图。
[0114]图16(1)是表示以往的数控装置的画面的显示例的图。在画面20中,显示有机械位置等位置信息21、模态的状态等模态信息22、切削速度及主轴转速等加工信息23、加工程序信息24等。在从由加工程序所指定出的定时起对主轴控制指令12进行变更并将其输出的情况下,从画面20进行通知,以使得作业者知晓要输出的定时的变更。
[0115]图16(2)是表示本实施方式的数控装置的画面的显示例的图。示出对主轴控制指令的输出定时进行变更后的情形。在从由加工程序所指定出的定时起对主轴控制指令12进行变更并将其输出的情况下,将加工程序信息24分割为2部分,在一部分中显示原加工程序。此时,与原来的显示相比,对要变更的主轴控制指令12与原显示相比进行淡化显示。在另一部分中,与输出的定时相对应地对要变更的主轴控制指令12进行显示。这样,通过从画面对要变更的定时进行通知,作业者能够掌握机械的动作,能够安心地进行作业。
[0116]标号的说明
[0117]I数控装置
[0118]2程序解析部
[0119]3指令判定部
[0120]4插补部
[0121]5主轴控制指令输出部
[0122]6加工程序
[0123]7预读缓冲区
[0124]8伺服放大器
[0125]9主轴放大器
[0126]10移动指令
[0127]11移动量
[0128]12主轴控制指令
[0129]13主轴转速
[0130]14实际的主轴转速
[0131]20 画面
[0132]21位置信息
[0133]22模态信息
[0134]23加工信息
[0135]24加工程序信息
【权利要求】
1.一种数控装置,其是能够控制主轴转速的工作机械的数控装置, 该数控装置的特征在于,具备: 程序解析部,其预读大于或等于I个程序块的加工程序,进行针对所述工作机械的指令的解析;以及 指令判定部,其基于所述程序解析部的解析结果,针对主轴控制指令之后的指令,判断是否会因在主轴转速变化过程中执行该指令而在加工方面产生某种问题,对于在加工方面产生某种问题的第一指令,在所述主轴转速达到所指令出的转速之后进行输出,对于除了所述第一指令以外的第二指令,在所述主轴转速达到所指令出的转速之前进行输出。
2.根据权利要求1所述的数控装置,其特征在于, 所述程序解析部计算第一指令开始时间以及到达时间,基于所述第一指令开始时间以及所述到达时间,决定所述主轴控制指令之后进行预读的程序块数量,其中,所述第一指令开始时间为从发出所述主轴控制指令起直至所述第一指令开始为止的时间,所述到达时间为直至所述主轴转速达到所指令出的转速为止的时间。
3.根据权利要求1及2所述的数控装置,其特征在于, 所述指令判定部,对所述主轴旋转指令之后的指令是否为切削指令进行判断,在为所述切削指令的情况下,在所述主轴转速达到所指令出的转速以后,将该切削指令输出,在除了所述切削指令以外的指令的情况下,在所述主轴转速达到所指令出的转速以前,将除了该切削指令以外的指令输出。
4.根据权利要求1及2所述的数控装置,其特征在于, 所述指令判定部,对所述主轴停止指令之后的指令是否为刀具更换指令进行判断,在为所述刀具更换指令的情况下,在所述主轴转速达到所指令出的转速以后,将该刀具更换指令输出,在除了所述刀具更换指令以外的指令的情况下,在所述主轴转速达到所指令出的转速以前,将除了该刀具更换指令以外的指令输出。
5.根据权利要求1所述的数控装置,其特征在于, 所述程序解析部,计算切削指令开始时间以及到达时间,其中,所述切削指令开始时间为从发出所述主轴控制指令起直至切削指令开始为止的时间,所述到达时间为直至所述主轴转速达到所指令出的转速为止的时间, 所述指令判定部,对所述切削指令开始时间和所述到达时间进行比较,在所述切削指令开始时间更长的情况下,进行在所述切削指令开始时间的范围内将所述到达时间延长的控制。
6.一种数控装置,其是能够控制主轴转速的工作机械的数控装置, 该数控装置的特征在于,具备: 程序解析部,其预读大于或等于I个程序块的加工程序,进行针对所述工作机械的指令的解析;以及 指令判定部,其基于所述程序解析部的解析结果,针对主轴控制指令之前的指令,判断是否会因在主轴转速变化过程中执行该指令而在加工方面产生某种问题,在除了在加工方面产生某种问题的指令以外的指令的情况下,与由所述加工程序所指定出的定时相比,提前将所述主轴控制指令输出。
7.根据权利要求6所述的数控装置,其特征在于, 所述指令判定部,对主轴旋转指令之前的指令是否为切削指令或刀具更换指令进行判断,在是除了所述切削指令以外的指令、且是除了所述刀具更换指令以外的指令的情况下,与由所述加工程序所指定出的定时相比,提前将所述主轴旋转指令输出。
8.根据权利要求6所述的数控装置,其特征在于, 所述指令判定部,对主轴停止指令之前的指令是否为切削指令进行判断,在除了所述切削指令以外的指令的情况下,与由所述加工程序所指定出的定时相比,提前将所述主轴停止指令输出。
9.根据权利要求6所述的数控装置,其特征在于, 所述指令判定部,对所述主轴控制指令之前的指令是否为预先设定为提前输出禁止指令的指令进行判断,在除了所述提前输出禁止指令以外的情况下,与由所述加工程序所指定出的定时相比,提前将所述主轴控制指令输出。
10.一种数控装置,其是能够控制主轴转速的工作机械的数控装置, 该数控装置的特征在于,具备: 程序解析部,其预读大于或等于I个程序块的加工程序,进行针对所述工作机械的指令的解析,针对主轴控制指令之前以及之后的指令,判断是否会因在主轴转速变化过程中执行该指令而在加工方面产生某种问题,并计算主轴控制指令开始时间、第一指令开始时间以及到达时间,其中,所述主轴控制指令开始时间为从在加工方面产生某种问题的第一指令结束起直至所述主轴控制指令开始为止的时间,所述第一指令开始时间为从所述主轴控制指令起直至所述第一指令开始为止的时间,所述到达时间为直至所述主轴转速达到所指令出的转速为止的时间;以及 指令判定部,其基于所述程序解析部的解析结果,对所述第一指令开始时间和所述到达时间进行比较,在所述到达时间更长的情况下,在所述主轴控制指令开始时间的范围内,与由所述加工程序所指定出的定时相比,提前将所述主轴控制指令输出。
11.根据权利要求10所述的数控装置,其特征在于, 所述程序解析部,对主轴旋转指令之前的指令是否为切削指令或刀具更换指令进行判断,对所述主轴旋转指令之后的指令是否为所述切削指令进行判断,并计算所述主轴控制指令开始时间、所述第一指令开始时间以及所述到达时间,其中,所述主轴控制指令开始时间为从所述切削指令或者所述刀具更换指令结束起直至所述主轴旋转指令为止的时间,所述第一指令开始时间为从所述主轴旋转指令起直至所述切削指令开始为止的时间, 所述指令判定部,对所述第一指令开始时间和所述到达时间进行比较,在所述到达时间更长的情况下,在所述主轴控制指令开始时间的范围内,与由所述加工程序所指定出的定时相比,提前将所述主轴旋转指令输出。
12.根据权利要求10所述的数控装置,其特征在于, 所述程序解析部,对主轴旋转指令之前的指令是否为切削指令进行判断,对所述主轴旋转指令之后的指令是否为刀具更换指令进行判断,并计算所述主轴控制指令开始时间、所述第一指令开始时间以及所述到达时间,其中,所述主轴控制指令开始时间为从所述切削指令结束起直至所述主轴停止指令开始为止的时间,所述第一指令开始时间为从所述主轴停止指令起直至所述刀具更换指令开始为止的时间, 所述指令判定部,对所述第一指令开始时间和所述到达时间进行比较,在所述到达时间更长的情况下,在所述主轴控制指令开始时间的范围内,与由所述加工程序所指定出的定时相比,提前将所述主轴停止指令输出。
13.根据权利要求6至12中任一项所述的数控装置,其特征在于, 具备显示部,在与由所述加工程序所指定出的定时相比提前将所述主轴控制指令输出的情况下,该显示部对将该主轴控制指令输出的定时进行显示。
【文档编号】G05B19/4155GK104303118SQ201280073213
【公开日】2015年1月21日 申请日期:2012年5月15日 优先权日:2012年5月15日
【发明者】井内幸弘, 佐藤智典 申请人:三菱电机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1