能够增加程序指令的解析位数的数值控制装置的制作方法

文档序号:11233566阅读:362来源:国知局
能够增加程序指令的解析位数的数值控制装置的制造方法

本发明涉及一种数值控制装置,特别涉及一种能够增加程序指令的解析位数的数值控制装置。



背景技术:

一般,在数值控制装置的内部运算中,在程序指令的轴指令(x123.456789等)的解释中,预先设定解释到小数点以下几位(例如参照日本特开平8-328635号公报、日本特开昭63-269204号公报、日本特开平05-181522号公报、日本特开平05-282022号公报、日本特开平11-175229号公报)。以下,将该设定值称为“最小设定单位”。

作为程序格式,小数点以下的位数能够进行比最小设定单位更详细的记述(x123.45678912等)。因此,在数值控制装置中,即使将程序指令指令为小数点以下几行,也能通过最小设定单位循环处理所指定的小数点以下的位。

根据以下所示的数值控制装置的外部要因以及内部要因来决定最小设定单位。

·[外部要因1:画面上的显示区域、输入区域的限制]

在数值控制装置中,例如如果为了能够解释更详细的位的坐标位置而增加通过最小设定单位设定的小数点以下的位数,则一个一个值的指令位数变多。指令位数如果变得过多,则程序显示和位置显示等的位数变得过多,处理变得复杂。另外,参数和偏移数据等也大多与最小设定单位联动,所以位数也多于所需以上。

·[外部要因2:机械的行程长、能够按照设定单位设定的行程长的限制]

在机械中,需要与加工区域的大小对应的行程长。如果维持行程长而增加通过最小设定单位设定的小数点以下的位数,则在内部运算中一个值所需要的数据长(比特数)不得不变大。另一方面,如果固定内部处理中的一个值的数据长度而要增加通过最小设定单位设定的小数点以下的位数,则必须缩小行程长。

·[外部要因3:检测器的分辨率的限制]

在增加通过最新设定单位设定的小数点以下的位数,而使得能够解释比检测加工区域内的工件位置和工具的位置的位置检测器的分辨率更详细的位数时,假设即使在程序中指令详细位数的坐标位置,检测器也不能够检测出被指令的坐标位置的最小位,因此不能够正确地定位被指令的详细位数的坐标位置。另一方面,在通过最小设定单位设定的小数点以下的行数比检测器的分辨率多的情况下,在检测器的分辨率的范围内增加通过最小设定单位设定的小数点以下的位数,由此估计能够提高精度。

·[内部要因1:限制数值控制装置的运算寄存器的寄存器长度]

当运算寄存器的寄存器长度为32比特时,如果为了表现1个值而使用带符号单精度整数型,则能够表现为-2147483648~+2147483647的范围。这里,在32比特寄存器长的数值控制装置的内部运算中,在将mm单位的一个值表现为通过带符号单精度整数型将最小设定单位设为小数点以下6位时,能够表现-2147.483648mm~+2147.483647mm的范围的坐标位置。另外,在将最小设定单位作为小数点以下7位来表现mm单位的一个值时,能够表现-214.7483648~+214.7483647mm的范围的坐标位置。在这样的数值控制装置中,在不改变成为控制对象的机械的行程范围,而要增加通过最小设定单位设定的小数点以下的位数时,需要使用带符号双精度整数型等来代替带符号单精度整数型。

·[内部要因2:限制资源(处理时间和存储器消耗量)]

如上述内部要因1所示,当不改变成为控制对象的机械行程长度而增加通过最小设定单位设定的小数点以下的位数时,在内部运算中有处理更多的数据的需要,因此必然会增加运算的处理时间和存储器的消耗量。但是,数值控制装置所具备的cpu运算速度和数据的传送速度有界限,因此如果容易地增加运算位数则生成用于控制机械的数据的处理有可能在控制动作的周期内结束。

在数值控制装置中,综合讨论上述的各个要因,在现实的范围决定通过最小设定单位设定的小数点以下的位数。例如,通过32位的带符号单精度整数值来进行数值控制装置的内部运算,则当如上述那样将最小设定单位设为小数点以下6位时,能够表现-2147.483648mm~+2147.483647mm(如图9所示,行程±2m程度)的范围的坐标位置。并且,如果称为控制对象的机械行程收敛在-2m~+2m的范围内,则在控制该机械方面不会产生问题,因此将通过最小设定单位设定的小数点以下的位数设定为6位。另外,图9中,编号2是工具,3是载置在工作台4上的工件。

于是,当如上述那样而设定的数值控制装置所控制的机械检测器的分辨率为0.000001mm以下时,解释指令到更小的位,进行运算,使最终脉冲的分配也到最小的位,由此有望提高精度。但是,如果将单纯通过最小设定单位设定的小数点以下的位数设为7位,则如上述那样通过数值控制装置处理的行程为-214.7483648mm~+214.7483647(行程为±0.2m)。因此,即使在作为机械的行程长度要确保±2m的情况下,行程由于数值控制装置侧的限制而变为最大±0.2m,作为进行加工的机械变得不成立。即,即使在将具备了高精度的检测器的高精度机械作为控制对象的情况下,如果数值控制装置不能够与此对应则不能够进行高精度的加工。另一方面,存在如下问题,具备很多资源,能够在内部运算进行高精度的值的解释以及运算的数值控制装置会比较昂贵,导入会有花费成本。



技术实现要素:

因此,本发明的目的在于提供一种数值控制装置,其在抑制了数值控制装置的资源增加的基础上,能够解释到比最小设定单位更下位的位(桁)为止。

本发明的数值控制装置根据由至少一个程序块组成的程序来控制机械,该机械控制至少一个驱动轴并加工设置在加工区域上的工件,该数值控制装置具备:分割设定部,其设定分割信息,该分割信息为将上述加工区域分割后的多个区域相关的信息;区域坐标系设定部,其根据上述分割信息来设定上述多个区域的虚拟坐标系;运算精度设定部,其根据上述分割信息来设定运算精度;指令解析部,其根据上述虚拟坐标系和上述运算精度来解析根据上述分割信息将上述程序分割后的分割程序,并输出根据解析后的结果来指令上述机械的动作的指令数据;插补部,其根据上述指令数据,按照上述虚拟坐标系和上述运算精度来计算表示每个插补周期的移动路径上的上述驱动轴的位置的插补数据;以及加减速部,其按照上述虚拟坐标系和上述运算精度对上述插补数据调整每个插补周期的上述驱动轴的速度。

上述数值控制装置还能够具备:程序分割部,其根据上述程序和上述分割信息来生成分别用于上述区域的加工控制的分割程序。

上述程序分割部构成为,在上述程序中包括的多个程序块内,关于指令上述驱动轴移动的程序块,当该移动横跨上述多个区域内的2个以上的区域时,将该移动的路径分割为上述2个以上的区域上的多个路径,并生成指令该分割后的多个路径的移动的多个程序块,将上述多个程序块分别插入上述2个以上的区域的各自加工控制所使用的各自的程序中,从而生成分割程序。

根据本发明,能够在抑制了处理速度和存储器的增大的基础上增加进行程序移动指令的解析的位数。并且作为该结果,当检测器的分辨率比设定单位小时,能够更详细地分配正确的脉冲,有望提高加工物的精度。另外,作为设定单位,保持目前的状态,所以能够按照现有方式进行位置显示等的处理,另外也能够增加位数进行处理。

附图说明

图1是说明本发明数值控制装置的内部运算处理的增加解析位数的方法概要的图。

图2是表示本发明的数值控制装置执行被分割的程序并加工工件的方式的图。

图3是表示本发明加工区域的区域分割方法的例子的图。

图4是说明本发明的程序中包括的、指令直线插补的程序块的分割方法的图。

图5是说明本发明的程序中包括的、指令圆弧插补的程序块的分割方法的图。

图6是表示通过本发明的程序分割方法将图4的程序分割后的分割程序的例子的图。

图7是本发明一个实施方式的数值控制装置的主要部分结构图。

图8是本发明一个实施方式的数值控制装置的概略功能框图。

图9是表示通过现有技术的数值控制装置来加工工件的机床的图。

具体实施方式

本发明的数值控制装置如图1所示那样,将加工区域分割为多个区域,根据原来的程序,生成用于按照分割后的加工范围进行加工的、被分割后的程序。并且,本发明的数值控制装置根据被分割后的程序来控制机械并加工工件3。根据各个被分割而得的程序而进行加工的区域,变得比加工区域整体要小,因此,不变更用于数值控制装置的内部运算处理的寄存器长度等,能够在执行被分割后的程序时,进行使用了虚拟坐标系的加工,其中,该虚拟坐标系缩小了行程长度而使通过最小设定单位设定的小数点以下的位数增加。

例如,在控制具有在x轴方向y轴方向均为-2m~+2m范围的加工区域的机械时,在各自的坐标轴方向上分割为10份时,各个区域的大小与上述加工区域相比在一边成为1/10。因此,在执行被分割后的程序时,在数值控制装置内在保持使用了单精度整数型的状态下,将要进行加工的区域的坐标值的最大位数减少1位,能够通过使利用最小设定单位而设定的小数点以下的位数增加1位的虚拟坐标系来进行加工。这样,虽然如图2所示能够通过1个分割的程序而加工的范围变窄(行程长度是从-200mm到+200mm为止的400.0mm),但在执行该分割后的程序时,能够以增加了小数点以下的位数的精度来进行坐标值的解释和运算,因此提高了加工精度,另外,通过执行所有被分割后的程序,即使使用工具2也能够加工与执行了原来程序相同情况的加工范围的工件3。

图3是表示通过xy坐标系表示的加工区域的分割例的图。

在该图3的例子中,x坐标值为xmin~xmax,y坐标值为ymin~ymax,将中心位置成为原点(0,0)的加工区域在x轴方向平均分割为n个、在y轴方向平均分割为m个,从而将该加工区域分割为n×m个区域。此时,通过以下的式(1)表示分割后的区域的x轴方向的宽度lx以及y轴方向的宽度ly。

另外,如图3所示,在将被分割后的各个区域从x轴、y轴的负方向朝向正方向分别设为区域(1,1)、区域(2,1)、……、区域(i,j)、……、区域(n,m)时,通过加工区域上的现实的坐标值(xr,yr)表示的点属于满足以下式(2)的判定式的(i,j)组所对应的区域(i,j)。

并且,当在区域(i,j)中设置将该区域的中心设为原点(0,0)的虚拟坐标空间时,能够通过以下的式(3)来表示该虚拟坐标空间的坐标值(xvi,yvi)与加工区域上的现实坐标值(xr,yr)之间的关系。

以下,说明使用上述各个式将程序分割为用于各个区域的加工控制的程序的程序分割方法。判定通过该程序中包括的、指令工具的移动的各个程序块而指令的工具移动路径属于哪个区域,由此进行程序的分割。

当判定各个程序块属于哪个区域时,例如,

(a)当作为对象的程序块是指令直线插补的程序块时,判定基于该指令的工具移动路径的始点以及终点分别属于哪个区域。这里,

(a1)当成为判定对象的程序块的指令的工具移动路径的始点以及终点共同属于相同的区域时,该程序块只加工始点以及终点所属于的区域,所以能够包括在该区域的加工控制所使用的程序中(当对坐标值进行绝对值指定时,使用式(3)来转换坐标值)。

(a2)另外,当成为判定对象的程序块的指令的移动路径的始点以及终点属于不同的区域时,将基于该程序块的指令的工具移动路径分割为各个区域的移动路径,将指令该分割后的移动路径的程序块包括到各个区域的加工控制所使用的程序中(当对坐标值进行绝对值指定时,使用式(3)来转换坐标值)。

(b)另外,当作为对象的程序块是指令圆弧插补的程序块时,

(b1)当圆弧状的移动路径整体属于一个区域内时,使该程序块包括在该区域的加工控制所使用的程序中(当对坐标值进行绝对值指定时,使用式(3)来转换坐标值)。

(b2)另外,当圆弧状的移动路径跨不同的区域内时,将基于该程序块的指令的工具圆弧路径分割为各个区域中的圆弧状的移动路径,使指令该分割后的圆弧状的移动路径的程序块包括在各个区域中的加工控制所使用的程序中(当对坐标值进行绝对值指定时,使用式(3)来转换坐标值)。

另外,关于指令工具的移动的程序块以外的程序块,使得包括在所有区域中的加工控制所使用的程序中即可。

例如,在图3所示的分割例中,将在x轴方向、y轴方向坐标值都能够取得±2000.0[mm](xmin=ymin=-2000.0[mm]、xmax=ymax=+2000.0[mm])的加工区域,在x轴方向、y轴方向一起进行10等分(n=m=10)来进行了区域分割时,考虑将图4所示的程序分割为用于各个区域的加工控制的程序的例子。

通过n03程序块、n04程序块指令的工具移动路径的始点以及终点都属于区域(6,6),因此n03程序块、n04程序块包括在用于区域(6,6)的加工控制的程序中。另外,通过n06程序块、n07程序块、n08程序块指令的工具移动路径的始点以及终点都属于区域(7,6),因此n06程序块、n07程序块、n08程序块包括在用于区域(7,6)的加工控制的程序中。

另一方面,对于通过n05程序块指令的工具移动路径,其始点属于区域(6,6),其终点属于区域(7,6),所以,通过由n05程序块进行指令的工具移动路径所通过的区域即区域(6,6)和该区域(6,6)的边界位置(在通过图4的n05程序块指令的工具移动路径上与区域(6,6)以及与其相邻的区域(7,6)之间的边界线相交的点即δ点)将该移动路径进行分割,生成对该分割后的各个移动路径进行指令的程序块,使该各自的程序块包括在加工区域(6,6)的程序以及加工区域(7,6)的程序中。关于n09程序块、n10程序块、n11程序块也是同样。

另外,例如在如图5所示那样程序中包括圆弧插补的程序块时,判定基于圆弧插补指令的工具移动路径是否与区域及其相邻的区域之间的边界线交叉,如果判定为交叉,则在该交叉位置(通过图5的n12程序块的指令的工具移动路径上的δ点)将该移动路径进行分割,生成对该分割后的各个移动路径进行指令的程序块,使各自的程序块包括在加工区域(6,6)的程序以及加工区域(7,6)的程序中。

通过针对程序中包括的各个程序块执行这样的步骤,图4的程序被分割为图6所示的分别用于区域的加工控制的程序。

另外,在上述移动路径的分割、从使用了式(3)的现实坐标值到每个区域的虚拟坐标值的转换中使用双精度整数型的运算处理,由此,能够保持程序所记载的坐标值位数的精度。在使用了倍精度整数型的值的运算处理中消耗了比使用了单精度整数型的值的运算处理更多的资源,但是移动路径的分割处理和坐标值的转换处理如果与加工控制中进行的移动路径的插补处理和加减速处理进行比较,运算量非常少,因此不会对整体的处理速度有大的影响。

以下,说明执行上述的程序分割处理,并进行基于分割后的程序的加工控制的数值控制装置的结构。

图7是表示本发明一个实施方式的数值控制装置的主要部分的硬件结构图。

cpu11是整体控制数值控制装置1的处理器,经由总线20读出存储在rom12中的系统程序,按照该系统程序控制数值控制装置1整体。在ram13中存储暂时的计算数据和显示数据以及操作员经由显示器/mdi单元70输入的各种数据等。

sram14构成为非易失性存储器,由未图示的电池进行备份,即使数值控制装置1的电源被切断也保持存储状态。在sram14中存储经由接口15读入的后述加工程序和经由显示器/mdi单元70而输入的加工程序等。另外,在rom12中预先写入各种系统程序,该系统程序用于执行为了加工程序的生成以及编辑而需要的编辑模式的处理、上述的程序分割处理。与本发明关联的加工程序等各种加工程序能够经由接口15和显示器/mdi单元70输入,并存储在sram14中。

接口15是用于连接数值控制装置1和适配器等外部设备72的接口。从外部设备72读入加工程序和各种参数等。另外,能够使在数值控制装置1内进行了编辑的加工程序经由外部设备72存储在外部存储单元中。pmc(可编程机床控制器programmablemachinecontroller)16通过内置在数值控制装置1中的顺序程序(sequenceprogram)将信号经由i/o单元17输出给机床的辅助装置(例如工具更换用的机器人手这样的促动器)并控制该辅助装置。另外,接收配备在机床本体上的操作盘的各种开关等的信号,进行了必要的信号处理后转给cpu11。

显示器/mdi单元70是具备了显示器、键盘等的手动数据输入装置,接口18接收来自显示器/mdi单元70的键盘的指令、数据并转给cpu11。接口19与具备有手动脉冲发生器的操作盘17连接。

各个轴的轴控制电路30~32接收来自cpu11的各轴的移动指令量,将各轴的指令输出给伺服放大器40~42。伺服放大器40~42接收该指令并驱动各轴的伺服电动机50~52。各轴的伺服电动机50~52内置有位置/速度检测器,将来自该位置/速度检测器的位置/速度反馈信号反馈给轴控制电路30~32,进行位置/速度的反馈控制。另外,在框图中,省略位置/速度的反馈。

主轴控制电路60接收对机床的主轴旋转指令,将主轴速度信号输出给主轴放大器61。主轴放大器61接收该主轴速度信号,使机床的主轴电动机62以所指令的转速旋转,驱动工具。

位置编码器63通过齿轮或传输带等与主轴电动机62结合(连接),位置编码器63与主轴的旋转同步地输出反馈脉冲(回授脉冲),通过cpu11读取该反馈脉冲。

图8表示针对图7所示的数值控制装置1将上述程序的分割方法以及分割后的程序的执行方法实际安装为系统程序时的概略功能框图。数值控制装置1具备分割设定部100、程序分割部110、区域坐标系设定部120、运算精度设定部130、区域定位部140、指令解析部150、插补部160、加减速部170以及伺服控制部180。

分割设定部100接收加工区域的区域分割所需要的参数的输入并存储在sram14等的存储器上。区域分割所需要的参数根据区域的分割方法而不同,但是在使用图2所说明的分割方法时,接收加工区域的范围(xmin~xmax、ymin~ymax)、原点位置(加工区域、区域的中心都为原点、端部为原点等)、x轴方向、y方向的分割数(n,m)等即可。

程序分割部110根据由分割设定部100设定的参数来将加工区域虚拟分割,例如根据图2~图4所说明的方法,根据程序200来生成用于每个该分割后的区域的加工控制的程序。将被分割后的程序210存储在设置在ram13等存储器上的区域中。

区域坐标系设定部120在后述的指令解析部150执行上述被分割后的程序210时,根据由分割设定部100设定的参数将每个区域的虚拟坐标系设定给指令解析部150。

另外,运算精度设定部130在由后述的指令解析部150执行上述被分割后的程序210时,根据通过分割设定部100设定的参数来设定在指令解析部150、插补部160以及加减速部170的内部运算处理中能够设定的最小设定单位。这里所说的“能够设定的最小设定单位”,能够考虑上述数值控制装置的外部要因以及内部要因,根据由分割设定部100分割的各个区域的行程长度来适当地进行决定。作为一例,在如图2那样进行了区域分割时,能够使通过最小设定单位设定的小数点以下的位数增加1。

区域定位部140在由后述的指令解析部150开始执行上述被分割的程序210时,将在要开始执行的上述被分割后的程序210的加工开始位置进行定位的指令输出给指令解析部150。各个区域的加工开始位置,成为在原来的程序中通过式(3)将工具侵入该区域的点(图4、图5中的δ点)的坐标值转换为该区域中的虚拟坐标值的位置。

指令解析部150从存储在存储器中的被分割的程序210依次读出程序块并进行解析,生成根据该解析结果指令各轴移动的指令数据,将该生成后的指令数据输出给插补部160。指令解析部150在进行解析处理时使用由上述区域坐标系设定部120所设定的虚拟坐标系,另外通过上述运算精度设定部130所设定的最小设定单位来进行解析。指令解析部150关于通过哪一种顺序进行多个被分割后的程序210的读出,不需要特别进行制约,但是如果按顺序读出进行附近区域的加工的程序,则工具的移动距离变短因此能够缩短加工的周期时间。

插补部160根据由指令解析部150输出的指令数据,来生成以插补周期将由该指令数据指令的指令路径上的点进行了插补计算的插补数据,将生成的插补数据输出给加减速部170。当插补部160执行插补处理时,使用区域坐标系设定部120所设定的虚拟坐标系,以及以上述运算精度设定部130所设定的最小设定单位进行解析。

加减速部170针对插补部160所输出的插补数据进行调整每个插补周期的各个驱动轴的速度的加减速处理,将进行了加减速调整的插补数据输出给伺服控制部180。当加减速部170执行加减速处理时,使用区域坐标系设定部120所设定的虚拟坐标系,另外通过上述运算精度设定部130所设定的最小设定单位进行解析。

并且,伺服控制部180根据加减速部170的输出来控制成为控制对象的机械的各轴的驱动部(伺服电动机50~52)。

在具备这种结构的数值控制装置中,将加工区域分割为多个区域,与该分割后的区域相匹配地预先从程序200生成多个被分割后的程序210。在分割后的程序210中工具移动范围即行程长度变得比加工区域要窄,因此,不使运算处理分割资源地,增加通过指令的解析处理和插补处理、加减速处理的最小设定单位设定的小数点以下的位数,能够提高加工精度。

以上,说明了本发明的实施方式,但是本发明不限定于上述实施方式的例子,能够通过增加设定的变更通过各种方式来实施。

例如,在上述的实施方式中,表示将x轴方向、y轴方向的二维平面进行区域分割,并生成用于加工分割后的区域的工件的程序的例子,但是也可以将在此增加了z轴的三维空间进行区域分割。此时,单纯地将z轴的式子追加给式(1)~(3),使用这些式子进行程序的分割即可。

另外,在上述实施方式中,将加工区域分割为等分的区域,但是不限于此,区域的大小也可以分别不同,此时,也可以通过分割设定部100独立设定各个区域的边界和大小。并且,根据这样设定的信息使程序分割部110、区域坐标系设定部120以及运算精度设定部130动作,从而能够对应不同大小的区域。这样,例如将加工区域的一部分进一步分割为细分的区域,在该部位能够进一步进行精密的加工。

进一步,在上述实施方式的例子中,通过数值控制装置进行程序的分割,但是也可以不在数值控制装置上进行该分割,而通过外部的程序生成装置(cad装置等)预先生成分割为各个区域的程序,并执行。这种情况下,不需要在数值控制装置中设置程序分割部110而在程序生成装置上设置相同的结构即可。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1