具有程序恢复功能的数值控制器的制作方法

文档序号:6028810阅读:141来源:国知局

专利名称::具有程序恢复功能的数值控制器的制作方法
技术领域
:本发明涉及一种具有程序恢复功能的数值控制器,并且尤其涉及一种用于在不对工件进行切割的非切割位置处获取程序恢复块数据的数值控制器。
背景技术
:在由数值控制器控制的机床中,迄今为止的机床都是在工件加工期间从数值控制的当前状态任意地获取加工程序的程序恢复块数据。例如,JP2002-373008A中^>开了一种用于以固定时间间隔于于每个预定块获取程序恢复块数据的方法。上述的用于获取程序恢复块数据的传统方法无需确定块的状态即可执行。这造成了当使用程序恢复块数据来恢复工件加工时,才几床的切割边缘会与已经加工过的工件部分触并且在工件上形成划痕的问题。
发明内容本发明提供了一种数值控制器,通过在当恢复加工时不会划伤工件的非切割位置处获取程序恢复块数据,能够恢复程序,而不在工件上产生划痕。本发明的数值控制器用于获取恢复中断的工件加工的程序恢复块数据。数值控制器包括确定装置,用于分析加工程序并且确定加工程序的每个块是否包括非切割指令;以及数据获取装置,用于在确定包括非切割指令的块中获取程序恢复块数据。非切割指令可至少包括其中之一通过程序恢复块数据获取代码执行的指令,该程序恢复块数据获取代码被登记以便获取程序恢复块数据;快速横移指令;辅助功能指令;用于移动被登记的控制轴的指令;进给保持停止指令;单独块停止指令;刀具补偿量改变指令;暂停指令;主轴停止指令;主轴旋转指令;以及子程序调用指令。数值控制器还可包括通过参数,对于每个非切割指令,选择是在包括所述非切割指令的块的开始点还是在该块的结束点处来获取程序恢复块数据的装置。数值控制器还可包括用于设定不获取程序恢复块翁:据的装置,其进行设定,使得即使在包括非切割指令的块中也不获取程序恢复块数据。根据本发明,可确定对应于当恢复程序时不会划伤工件的非切割位置的块,并且可获取程序恢复块数据。因此可恢复程序而不在工件上产生划痕。还可正确地选择并且设定用于获取程序恢复块凄t才居的至少一个非切割指令。还可以参数形式来选择是在程序块的开始点还是在程序块的结束点处应该获取程序恢复块数据。还可作出即使在包括非切割指令的程序块中也不获取程序恢复块数据的设定。图1是示出了其中执行用于确定非切割指令的程序分析处理的本发明的一个实施例的功能方框图2是示出了非切割进给指令确定处理的算法的流程图;以及图3是示出了根据本发明的一个实施例的数值控制器的主要部件的方框图。具体实施例方式图1是示出了其中执行用于确定非切割指令的^i序分析处理的本发明的一个实施例的功能方框图。加工程序通过词汇分析(lexicalanalysis)1被分割为字母字符(alphabeticsymbols)和数字字符(numericsymbols)。接下来,执行语法分析(syntaxanalysis)2以确定例如字母字符的G指令的值。根据例如G指令的值,来识别G指令的功能。接下来,执行语义分析(semanticanalysis)3以执行对于各个功能的处理。随后,执行用于将语义分析的结果转换为对象代码的对象代码生成4。接下来,通过非切割指令确定装置5,从转换为对象代码的指令确定一个或多个非切割指令。随后,由程序恢复块数据获取装置6来确定是否应该获取在由参数设定装置(未示出)设定的非切割指令块的开始点或结束点处的程序恢复块数据,并且获取程序恢复块数据。所获取的程序恢复块数据是用于恢复程序的块教:据,诸如表示当前执行的加工程序的程序块的个数、当前执行的块的开始点和结束点、多片的当前执行的块的模式信息、母程序个数、子程序调用块位置、乂人母程序到当前执行块的块的总个数。接下来,将会给出关于示例性非切割指令的说明。(A)通过预先登记的程序恢复块数据获取代码的指令这是在其中输入有关于程序恢复的程序恢复块数据获取代码的块中获取程序恢复块数据的例子。事先将关于程序恢复的数据获取代码输入到具有不执行切割的程序部分。随后,当执行数据获取代码时,从该数据获取代码中获取程序恢复块数据。可以参数形式来设定多个数据获取代码。如下为将G777登记为参数的例子。00001;N01G卯G00X100.Y100.jN02G01X200.F1000.;N03Y200.;N04X100.jN05Y100;廳G00X0Y0;丽G777;N08G90G00X300.Y300.;程序No0001的每个块数据的含义简要说明如下。块No01:通过绝对指令的快速^f黄移定位块No02:线性插值块No03:线性插值块No04:线性插值块No05:线性插值块No06:快速横移定位块No07:参数登记(G777)块No08:通过绝对指令的快速横移定位在这个例子中,在块No07中登记参数G777,并且因此,在块No07处获取程序恢复块数据。(B)快速横移指令(相关块的结束点)在包括快速横移指令的块的结束点的任意位置处。O0002;N01G90G00X100.Y100.;N02G01X200.F1000.;N03Y200.;N04X100,;N05Y100.;N06G00X0Y0;N07G90G00X300.Y300.;程序No0002的每个块数据的含义简要说明如下。块NoOl通过绝对指令的快速横移定位块No02线性插值块No03线性插值块No04线性插值块No05线性插值块No06快速横移定位块No07通过绝对指令的快速横移定位在这个例子中,由于块No05是切割进给块而块No06是快速横移定位块,因此在块N0O6的结束点位置处获取程序恢复块数4居。块No06和块No07都是快速横移块之间的例子。此外,在这个例子中,在块N0O6的结束点位置处获取程序恢复块数据。(C)辅助功能指令当执行辅助功能时,自动获取程序恢复块数据。在4丸行辅助功能的程序部分中,不执行切割。因此,这样的部分是尽管恢复程序也不会划伤工件的安全位置。因此,当正在执行辅助功能代码时获取程序恢复块数据。此外,可以参数形式来指定在执行辅助功能代码之前或之后是否应该获取数据。O0003;N01G90G00X100.Y100.jN02G01X200.F1000.;N03Y200.;N04X100.;N05Y100.;N06X0Y0;N07M101;N08G01X300.Y300.F1000.;N09Y400.;程序No0003的每个块数据的含义简要说明如下。块No01:通过绝对指令的快速横移定位块No02:线性插值块No03:线性插值块No04:线性插值块No05:线性插值块No06:线性插值块No07:辅助功能M101块No08:线性插值块No09:线性插值在这个例子中,M101代表辅助功能,并且因此,在块No07处获取程序恢复块数据。如前所述,可以参数形式来指定在这个块的开始点处或是在执行块之后是否应该获取数据。(D)用于移动预先登记的控制轴的指令在移动预先登记的控制轴的操作期间,自动获取程序恢复块数据。这对于当特定轴的移动用于在空气切割中的镐的进给十分有效。可以参数形式来指定控制轴。还可以参数形式指定在用于在操作指定轴的块的开始点或结束点处是否应该获取程序恢复数据。下面是指定轴是Z轴的例子。预先登记Z轴并且在操作Z轴时获取数据的例子O0004;N01G90G00X0.Y0.Z-90.;N02G01X200.F1000.;N03Z-100.;N04X200.;N05X0.jN06Z-110.;程序No0004的每个块数据的含义简要说明如下。块No01:通过绝对指令的快速横移定位块No02线性插值块No03线性插值块No04线性插值块No05线性插值块No06线性插值在这个例子中,在块No01、No03以及No06处获取数据。关于获取来自块的数据,可以参数形式设定在块的开始点或结束点处是否应该获取数据。(E)刀具补偿量改变指令根据刀具补偿量改变指令,自动获取程序恢复块^t据。当换刀具并且改变补偿量时,切割刀具处于不与工件接触的位置。因此,可以在这种状态下获取恢复数据。可以参数形式来指定在刀具补偿之前或之后是否应该获取数据。O0005;NO1G90G00X0.Y0.Z隱卯.;N02G00X100.Y100.;N03M03T001;N04G43H01;N05G01X200.F1000.;薩Y200;N07X100.;應Y100;歸G00X0Y0;程序No0005的每个块数据的含义简要说明如下。块No01:通过绝对指令的快速横移定位块No02:线性插值块No03:主轴顺时针旋转块No04:刀具长度补偿+块No05:线性插值块No06:线性插值块No07:线性插值块No08:线性插值块No09:快速横移定位在这个例子中,在包括作为块No04中的刀具长度补偿改变指令的G43的块中获取数据。如前所述,可以参数形式来设定在补偿之前或之后是否应该获取数据。(F)暂停指令当执行暂停指令时获取程序恢复块数据。O0006;N01G90G00X0.Y0.Z-90.;濯G04X5;N03G00X100.Y100.;N04G01X200.F1000.;N05Y200;画X100;N07Y100.;N08G00X0Y0;程序No0006的每个块数据的含义简要说明如下。块No01:通过绝对指令的快速横移定位块No02:暂停(Dwell)块No03:快速横移定位块No04:线性插值块No05:线性插值块No06:线性插值块No07:线性插值块No08:快速横移定位在这个例子中,用于使程序暂停5秒钟的暂停指令包括在块No02中。在这个块中获取数据。(G)主轴停止指令或主轴旋转指令(在相关块的开始点处)当停止主轴时,不执行切割。因此,在停止主轴的块中获取程序恢复块数据。此外,在包括主轴旋转指令的块的开始点处,不执行切割,因而获取程序恢复块数据。(H)子程序调用指令在调用子程序的块中获取程序恢复块数据。O0007;N01G90G00X0.Y0.Z-90.;N03G00X100.Y100.;N04G01X200.F1000.;N05Y200;画X100.;而Y100.;N08G00X0Y0;N09M98P0077;程序No0007的每个块数据的含义简要说明如下。块NoOl:通过绝对指令的快速横移定位块No02:快速横移定位块No03:线性插值块No04:线性插值块No05:线性插值块No06:线性插值块No07:线性插值块No08:快速横移定位块No09:子程序调用在这个例子中,在块No09中调用077的子程序。在这个例子中,才艮据M98执行来自主程序的调用。使用P来表示子程序号码。使用地址字符"0"来作为子程序号码。当调用子程序时,不执行切割,并且因而获取数据。接下来,给出用于登记如上所述的非切割指令的装置的说明。关于非切割指令的登记,例如,事先将在作为非切割指令确定代码表的表1中的非切割指令确定代码存储在诸如如图3所示的数值控制器10的CMOS存储器14的存储单元中。关于程序恢复块数据的获取,对如图l所示的并且存储在确定代码表中的非切割指令确定代码编程为用于操作数值控制器的程序。可以始终操作对于非切割指令确定代码的编程。可选地,通过参数设定装置来设定参数,可判断根据表1中的非切割指令是否应该获取程序恢复块数据。还可通过设定参数来判断在都包括一个非切割指令的每个块的开始点或结束点处是否应该获取数据。表1<table>tableseeoriginaldocumentpage13</column></row><table>(*1)依赖于加工程序,在某些情况下,甚至根据用于移动预先登记的控制轴以及用于获取程序恢复块数据的指令,也不应该获取程序恢复块数据。例如,在特定加工中,定义用于移动预先登记的控制轴的指令为当才喿作预先登记的控制轴时的非切割指令的功能。然而,不能确保在整个程序中这样的指令都是非切割指令。因此,根据加工程序,应该设定为不获取程序恢复块数据。(*2)字符(1)至(11)仅是数字,并且这些数字自身以及它们的所列出的顺序都没有特殊含义。下面示出程序例子(00008)。根据下面的程序例子,在X轴方向上长30mm的工件上沿X-Z平面在表面上执行Z字形加工。对程序编程以便当操作Y轴时在离开工件5mm的位置处操作刀具。在这个例子中,关于Y轴的指令都被登记为"用于移动预定控制轴的指令"。因此,在块No06、Noll、No16以及No21处获取程序恢复块数据。如果以这种方式将加工程序的内容理解为存在有当操作特定轴时起到非切割指令的功能的指令,则可以对于"用于移动预先登记的控制轴的指令"设定为打开。然而,这不能确保整个程序,因此需要设定关闭。O0008;N01G91G01F1000.;匿X10.;N03X10.Z10.;N04X10.Z-10.;N05X10.;薩Y2.;N07X画10.;N08X-10.Z10.;N09X-10.Z-10.;N10X-10.;N11Y2.N12X10.;N13X10.Z10.;N14X10.Z-10.;N15X10.;N16Y2.N17X-10.;N18X-10.Z10.;N19X-10.Z-10.;N20X-10.;N21Y2.M30;程序No0008的每个块数据的含义简要说明如下。块NoOl:#4居递增指令的线性插值块No02:线性插值块No03:线性插值块No04:线性插值块No05:线性插值块No06:线性插值块No07:线性插值块No08:线性插值块No09:线性插值块NolO:线性插值块Noll:线性插值块固2:线性插值块Nol3:线性插值块Nol4:线性插值块Nol5:线性插值块Nol6:线性插值块Nol7:线性插值块Nol8:线性插值块Nol9:线性插值块No20:线性插值块No21:线性插值程序结束使用如表2所示的指令代码和指令数据,通过参数i殳定装置来登记程序恢复块数据获取代码,其中每个程序恢复块数据获取代码都如表1中的指令所示并且被预先登记为用于获取程序恢复块数据的非切割指令。表2<table>tableseeoriginaldocumentpage16</column></row><table>接下来,将给出如图2所示的关于示出了非切割进给指令确定处理的算法的流程图的说明,并且通过图1中的非切割指令确定装置5来执行该非切割进给指令确定处理。在非切割进给指令确定处理的开始,确定是否登记了一个或多个非切割指令(步骤S1)。如果对于步骤S1为否,则结束确定处理。如果对于步骤S1为是,则确定是否已经确定完全部的已登记的非切割指令(步骤S2)。如果对于步骤S2为是,即如果已经确定完所有的登记的非切割指令,则完成处理。如果对于步骤S2为否,则读取登记的非切割指令的数据(步骤S3),并且处理前进至步骤S4。随后,确定非切割指令是否包括在当前分析的块中(步骤S4)。如果对于步骤S4为否,则处理返回步骤S2。如果对于步骤S4为是,则处理前进至步骤S5以确定登记的非切割指令是否是用于在块的开始点处获取数据的指令(步骤S5)。如果对于步骤S5为是,则在块的开始点处获取程序恢复块数据并且将所获取的数据存储在存储器(memory)中(步骤S6),并且随后完成处理。如果对于步骤S5为否,则在块的结束点处获取程序恢复块数据并且将所获取的数据存储在存储器中(步骤S7),并且随后完成处理。应该注意的是,对于在表l中指示出的非切割指令,是与开始点和结束点无关的,则处理前进至步骤S7,其中在块的结束点处获取程序恢复块数据并将其存储在存储器中。图3是根据本发明的一个实施例的数值控制器10的主要部件的方框图。CPU11是数值控制器10的整个控制的处理器。CPU11经由总线19读取在ROM12中存储的系统程序并且根据系统程序来控制整个数值控制器。RAM13存储临时计算数据、显示数据以及由操作员经由显示/手动数据输入(MDI)单元20输入的各种数据,该显示/手动数据输入单元20包括诸如CRT、液晶显示器等的显示器以及包括键盘等的手动数据输入装置。CMOS存储器14被配置为具有未示出的备用电池的非易失性存储器,并且适于甚至当关闭对数值控制器10的电源供给时仍可保持所存储的内容。CMOS存储器14存储经由接口15从其中读取的加工程序、经由显示/MDI单元20和接口18从其中读取的加工程序。将用于获取根据本发明实施例的程序恢复块数据的程序事先存储在ROM12中。接口15能够连接数值控制器IO与外部设备。根据在数值控制器10中存储的顺序程序,PC(可编程控制器)16经由I/O单元17输出信号至作为被控对象的加工刀具的辅助单元(例如,诸如用于刀具替换的机器手的执行器),并且控制该辅助单元。例如,PC16从作为数值控制器10的净皮控对象的加工刀具的主要单元上安装的操作面板的各种开关接收信号,执行对信号的所需的信号处理,并且传送处理后的信号至CPUll。用于各个进给轴的轴控制电路30至32接收来自CPU11的关于进给轴的运动量的指令,并且输出用于进给轴的指令至伺服放大器40至42。伺服放大器40至42接收指令中的每一个并且驱动用于机器(被控对象)的进给轴的伺服电机50至52。用于进给轴的每个伺服电机50至52都包括用在位置/速度反馈控制中的位置/速度检测器。在图3中,省略了对于位置/速度反馈的说明。主轴控制单元33接收主轴旋转指令并且输出主轴速度信号至主轴放大器61。主轴放大器61接收主轴速度信号,并且以指令的旋转速度来旋转主轴电机62以驱动主轴。与主轴电机62的旋转同步地,位置编码器63将反馈脉沖反馈回到用于速度控制地主轴控制电路33。上述的数值控制器10的硬件配置基本上与传统的数值控制器的^更件配置相同,但是两者不同于,用于执行非切割进给指令确定处理的程序存储在ROM12中,并且在表1所示的非切割指令确定编码表存储在构成^t值控制器的诸如CMOS存储器14的存储单元中。关于在表1中所示的非切割指令确定编码表中的非切割指令,对于应该获取程序恢复块数据的例子,参数被设定为值0;并且对于不应该获取程序恢复块数据的例子,参数被设定为值l。因此,可以使一个或多个非切割指令确定代码始终操作并且使其它的非切割指令确定代码不操作。还可通过在块的开始点处应该获取数据的例子中将参数设定为"o",在块的结束点处应该获取数据的例子中将参数设定为"1",并且在数据获取与块的开始点和结束点无关的例子中将参数设定为"-",来选择在块的哪个部分应该获取程序恢复块数据。权利要求1.一种数值控制器,其获取用于恢复中断的工件加工的程序恢复块数据,所述数值控制器包括:确定装置,用于分析加工程序并确定加工程序的每个块是否包括非切割指令;以及数据获取装置,用于在被确定包括非切割指令的块处获取程序恢复块数据。2.根据权利要求1所述的数值控制器,其中,非切割指令至少包括以下之一通过程序恢复块数据获取代码执行的指令,该程序恢复块数据获取代码被登记以便获取程序恢复块数据;快速^f黄移指令;辅助功能指令;用于移动被登记的控制轴的指令;进给保持停止指令;单独块停止指令;刀具补偿量改变指令;暂停指令;主轴停止指令;主轴旋转指令;以及子程序调用指令。3.根据权利要求1所述的数值控制器,还包括通过参数,对于每个非切割指令,选择是在包括所述非切割指令的块的开始点还是在该块的结束点处来获取程序恢复块数据的装置。4.根据权利要求1所述的数值控制器,还包括用于设定不获取程序恢复块数据的装置,其进4亍-没定,使得即使在包括非切割指令的块中也不获取程序恢复块数据。全文摘要一种数值控制器,具有获取程序恢复块数据的程序恢复功能,利用程序恢复块数据,来恢复加工程序而不在工件上产生划痕。确定是否存在登记的非切割指令。确定所有登记的非切割指令是否已经分析完。读取登记的非切割指令的数据,并且确定当前正在分析的块是否包括非切割指令。确定登记的非切割指令是否是根据该非切割指令在块的开始点处获取数据的非切割指令。在块的开始点或结束点处获取程序恢复块数据,将所获取的数据存储在存储器中,并且完成处理。文档编号G05B19/4067GK101373379SQ20081021331公开日2009年2月25日申请日期2008年8月22日优先权日2007年8月24日发明者细川匡彦,芳贺诚,藤林谦太郎申请人:发那科株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1