本發(fā)明涉及一種數(shù)值控制裝置,特別涉及一種能夠增加程序指令的解析位數(shù)的數(shù)值控制裝置。
背景技術(shù):
一般,在數(shù)值控制裝置的內(nèi)部運算中,在程序指令的軸指令(x123.456789等)的解釋中,預(yù)先設(shè)定解釋到小數(shù)點以下幾位(例如參照日本特開平8-328635號公報、日本特開昭63-269204號公報、日本特開平05-181522號公報、日本特開平05-282022號公報、日本特開平11-175229號公報)。以下,將該設(shè)定值稱為“最小設(shè)定單位”。
作為程序格式,小數(shù)點以下的位數(shù)能夠進(jìn)行比最小設(shè)定單位更詳細(xì)的記述(x123.45678912等)。因此,在數(shù)值控制裝置中,即使將程序指令指令為小數(shù)點以下幾行,也能通過最小設(shè)定單位循環(huán)處理所指定的小數(shù)點以下的位。
根據(jù)以下所示的數(shù)值控制裝置的外部要因以及內(nèi)部要因來決定最小設(shè)定單位。
·[外部要因1:畫面上的顯示區(qū)域、輸入?yún)^(qū)域的限制]
在數(shù)值控制裝置中,例如如果為了能夠解釋更詳細(xì)的位的坐標(biāo)位置而增加通過最小設(shè)定單位設(shè)定的小數(shù)點以下的位數(shù),則一個一個值的指令位數(shù)變多。指令位數(shù)如果變得過多,則程序顯示和位置顯示等的位數(shù)變得過多,處理變得復(fù)雜。另外,參數(shù)和偏移數(shù)據(jù)等也大多與最小設(shè)定單位聯(lián)動,所以位數(shù)也多于所需以上。
·[外部要因2:機械的行程長、能夠按照設(shè)定單位設(shè)定的行程長的限制]
在機械中,需要與加工區(qū)域的大小對應(yīng)的行程長。如果維持行程長而增加通過最小設(shè)定單位設(shè)定的小數(shù)點以下的位數(shù),則在內(nèi)部運算中一個值所需要的數(shù)據(jù)長(比特數(shù))不得不變大。另一方面,如果固定內(nèi)部處理中的一個值的數(shù)據(jù)長度而要增加通過最小設(shè)定單位設(shè)定的小數(shù)點以下的位數(shù),則必須縮小行程長。
·[外部要因3:檢測器的分辨率的限制]
在增加通過最新設(shè)定單位設(shè)定的小數(shù)點以下的位數(shù),而使得能夠解釋比檢測加工區(qū)域內(nèi)的工件位置和工具的位置的位置檢測器的分辨率更詳細(xì)的位數(shù)時,假設(shè)即使在程序中指令詳細(xì)位數(shù)的坐標(biāo)位置,檢測器也不能夠檢測出被指令的坐標(biāo)位置的最小位,因此不能夠正確地定位被指令的詳細(xì)位數(shù)的坐標(biāo)位置。另一方面,在通過最小設(shè)定單位設(shè)定的小數(shù)點以下的行數(shù)比檢測器的分辨率多的情況下,在檢測器的分辨率的范圍內(nèi)增加通過最小設(shè)定單位設(shè)定的小數(shù)點以下的位數(shù),由此估計能夠提高精度。
·[內(nèi)部要因1:限制數(shù)值控制裝置的運算寄存器的寄存器長度]
當(dāng)運算寄存器的寄存器長度為32比特時,如果為了表現(xiàn)1個值而使用帶符號單精度整數(shù)型,則能夠表現(xiàn)為-2147483648~+2147483647的范圍。這里,在32比特寄存器長的數(shù)值控制裝置的內(nèi)部運算中,在將mm單位的一個值表現(xiàn)為通過帶符號單精度整數(shù)型將最小設(shè)定單位設(shè)為小數(shù)點以下6位時,能夠表現(xiàn)-2147.483648mm~+2147.483647mm的范圍的坐標(biāo)位置。另外,在將最小設(shè)定單位作為小數(shù)點以下7位來表現(xiàn)mm單位的一個值時,能夠表現(xiàn)-214.7483648~+214.7483647mm的范圍的坐標(biāo)位置。在這樣的數(shù)值控制裝置中,在不改變成為控制對象的機械的行程范圍,而要增加通過最小設(shè)定單位設(shè)定的小數(shù)點以下的位數(shù)時,需要使用帶符號雙精度整數(shù)型等來代替帶符號單精度整數(shù)型。
·[內(nèi)部要因2:限制資源(處理時間和存儲器消耗量)]
如上述內(nèi)部要因1所示,當(dāng)不改變成為控制對象的機械行程長度而增加通過最小設(shè)定單位設(shè)定的小數(shù)點以下的位數(shù)時,在內(nèi)部運算中有處理更多的數(shù)據(jù)的需要,因此必然會增加運算的處理時間和存儲器的消耗量。但是,數(shù)值控制裝置所具備的cpu運算速度和數(shù)據(jù)的傳送速度有界限,因此如果容易地增加運算位數(shù)則生成用于控制機械的數(shù)據(jù)的處理有可能在控制動作的周期內(nèi)結(jié)束。
在數(shù)值控制裝置中,綜合討論上述的各個要因,在現(xiàn)實的范圍決定通過最小設(shè)定單位設(shè)定的小數(shù)點以下的位數(shù)。例如,通過32位的帶符號單精度整數(shù)值來進(jìn)行數(shù)值控制裝置的內(nèi)部運算,則當(dāng)如上述那樣將最小設(shè)定單位設(shè)為小數(shù)點以下6位時,能夠表現(xiàn)-2147.483648mm~+2147.483647mm(如圖9所示,行程±2m程度)的范圍的坐標(biāo)位置。并且,如果稱為控制對象的機械行程收斂在-2m~+2m的范圍內(nèi),則在控制該機械方面不會產(chǎn)生問題,因此將通過最小設(shè)定單位設(shè)定的小數(shù)點以下的位數(shù)設(shè)定為6位。另外,圖9中,編號2是工具,3是載置在工作臺4上的工件。
于是,當(dāng)如上述那樣而設(shè)定的數(shù)值控制裝置所控制的機械檢測器的分辨率為0.000001mm以下時,解釋指令到更小的位,進(jìn)行運算,使最終脈沖的分配也到最小的位,由此有望提高精度。但是,如果將單純通過最小設(shè)定單位設(shè)定的小數(shù)點以下的位數(shù)設(shè)為7位,則如上述那樣通過數(shù)值控制裝置處理的行程為-214.7483648mm~+214.7483647(行程為±0.2m)。因此,即使在作為機械的行程長度要確?!?m的情況下,行程由于數(shù)值控制裝置側(cè)的限制而變?yōu)樽畲蟆?.2m,作為進(jìn)行加工的機械變得不成立。即,即使在將具備了高精度的檢測器的高精度機械作為控制對象的情況下,如果數(shù)值控制裝置不能夠與此對應(yīng)則不能夠進(jìn)行高精度的加工。另一方面,存在如下問題,具備很多資源,能夠在內(nèi)部運算進(jìn)行高精度的值的解釋以及運算的數(shù)值控制裝置會比較昂貴,導(dǎo)入會有花費成本。
技術(shù)實現(xiàn)要素:
因此,本發(fā)明的目的在于提供一種數(shù)值控制裝置,其在抑制了數(shù)值控制裝置的資源增加的基礎(chǔ)上,能夠解釋到比最小設(shè)定單位更下位的位(桁)為止。
本發(fā)明的數(shù)值控制裝置根據(jù)由至少一個程序塊組成的程序來控制機械,該機械控制至少一個驅(qū)動軸并加工設(shè)置在加工區(qū)域上的工件,該數(shù)值控制裝置具備:分割設(shè)定部,其設(shè)定分割信息,該分割信息為將上述加工區(qū)域分割后的多個區(qū)域相關(guān)的信息;區(qū)域坐標(biāo)系設(shè)定部,其根據(jù)上述分割信息來設(shè)定上述多個區(qū)域的虛擬坐標(biāo)系;運算精度設(shè)定部,其根據(jù)上述分割信息來設(shè)定運算精度;指令解析部,其根據(jù)上述虛擬坐標(biāo)系和上述運算精度來解析根據(jù)上述分割信息將上述程序分割后的分割程序,并輸出根據(jù)解析后的結(jié)果來指令上述機械的動作的指令數(shù)據(jù);插補部,其根據(jù)上述指令數(shù)據(jù),按照上述虛擬坐標(biāo)系和上述運算精度來計算表示每個插補周期的移動路徑上的上述驅(qū)動軸的位置的插補數(shù)據(jù);以及加減速部,其按照上述虛擬坐標(biāo)系和上述運算精度對上述插補數(shù)據(jù)調(diào)整每個插補周期的上述驅(qū)動軸的速度。
上述數(shù)值控制裝置還能夠具備:程序分割部,其根據(jù)上述程序和上述分割信息來生成分別用于上述區(qū)域的加工控制的分割程序。
上述程序分割部構(gòu)成為,在上述程序中包括的多個程序塊內(nèi),關(guān)于指令上述驅(qū)動軸移動的程序塊,當(dāng)該移動橫跨上述多個區(qū)域內(nèi)的2個以上的區(qū)域時,將該移動的路徑分割為上述2個以上的區(qū)域上的多個路徑,并生成指令該分割后的多個路徑的移動的多個程序塊,將上述多個程序塊分別插入上述2個以上的區(qū)域的各自加工控制所使用的各自的程序中,從而生成分割程序。
根據(jù)本發(fā)明,能夠在抑制了處理速度和存儲器的增大的基礎(chǔ)上增加進(jìn)行程序移動指令的解析的位數(shù)。并且作為該結(jié)果,當(dāng)檢測器的分辨率比設(shè)定單位小時,能夠更詳細(xì)地分配正確的脈沖,有望提高加工物的精度。另外,作為設(shè)定單位,保持目前的狀態(tài),所以能夠按照現(xiàn)有方式進(jìn)行位置顯示等的處理,另外也能夠增加位數(shù)進(jìn)行處理。
附圖說明
圖1是說明本發(fā)明數(shù)值控制裝置的內(nèi)部運算處理的增加解析位數(shù)的方法概要的圖。
圖2是表示本發(fā)明的數(shù)值控制裝置執(zhí)行被分割的程序并加工工件的方式的圖。
圖3是表示本發(fā)明加工區(qū)域的區(qū)域分割方法的例子的圖。
圖4是說明本發(fā)明的程序中包括的、指令直線插補的程序塊的分割方法的圖。
圖5是說明本發(fā)明的程序中包括的、指令圓弧插補的程序塊的分割方法的圖。
圖6是表示通過本發(fā)明的程序分割方法將圖4的程序分割后的分割程序的例子的圖。
圖7是本發(fā)明一個實施方式的數(shù)值控制裝置的主要部分結(jié)構(gòu)圖。
圖8是本發(fā)明一個實施方式的數(shù)值控制裝置的概略功能框圖。
圖9是表示通過現(xiàn)有技術(shù)的數(shù)值控制裝置來加工工件的機床的圖。
具體實施方式
本發(fā)明的數(shù)值控制裝置如圖1所示那樣,將加工區(qū)域分割為多個區(qū)域,根據(jù)原來的程序,生成用于按照分割后的加工范圍進(jìn)行加工的、被分割后的程序。并且,本發(fā)明的數(shù)值控制裝置根據(jù)被分割后的程序來控制機械并加工工件3。根據(jù)各個被分割而得的程序而進(jìn)行加工的區(qū)域,變得比加工區(qū)域整體要小,因此,不變更用于數(shù)值控制裝置的內(nèi)部運算處理的寄存器長度等,能夠在執(zhí)行被分割后的程序時,進(jìn)行使用了虛擬坐標(biāo)系的加工,其中,該虛擬坐標(biāo)系縮小了行程長度而使通過最小設(shè)定單位設(shè)定的小數(shù)點以下的位數(shù)增加。
例如,在控制具有在x軸方向y軸方向均為-2m~+2m范圍的加工區(qū)域的機械時,在各自的坐標(biāo)軸方向上分割為10份時,各個區(qū)域的大小與上述加工區(qū)域相比在一邊成為1/10。因此,在執(zhí)行被分割后的程序時,在數(shù)值控制裝置內(nèi)在保持使用了單精度整數(shù)型的狀態(tài)下,將要進(jìn)行加工的區(qū)域的坐標(biāo)值的最大位數(shù)減少1位,能夠通過使利用最小設(shè)定單位而設(shè)定的小數(shù)點以下的位數(shù)增加1位的虛擬坐標(biāo)系來進(jìn)行加工。這樣,雖然如圖2所示能夠通過1個分割的程序而加工的范圍變窄(行程長度是從-200mm到+200mm為止的400.0mm),但在執(zhí)行該分割后的程序時,能夠以增加了小數(shù)點以下的位數(shù)的精度來進(jìn)行坐標(biāo)值的解釋和運算,因此提高了加工精度,另外,通過執(zhí)行所有被分割后的程序,即使使用工具2也能夠加工與執(zhí)行了原來程序相同情況的加工范圍的工件3。
圖3是表示通過xy坐標(biāo)系表示的加工區(qū)域的分割例的圖。
在該圖3的例子中,x坐標(biāo)值為xmin~xmax,y坐標(biāo)值為ymin~ymax,將中心位置成為原點(0,0)的加工區(qū)域在x軸方向平均分割為n個、在y軸方向平均分割為m個,從而將該加工區(qū)域分割為n×m個區(qū)域。此時,通過以下的式(1)表示分割后的區(qū)域的x軸方向的寬度lx以及y軸方向的寬度ly。
另外,如圖3所示,在將被分割后的各個區(qū)域從x軸、y軸的負(fù)方向朝向正方向分別設(shè)為區(qū)域(1,1)、區(qū)域(2,1)、……、區(qū)域(i,j)、……、區(qū)域(n,m)時,通過加工區(qū)域上的現(xiàn)實的坐標(biāo)值(xr,yr)表示的點屬于滿足以下式(2)的判定式的(i,j)組所對應(yīng)的區(qū)域(i,j)。
并且,當(dāng)在區(qū)域(i,j)中設(shè)置將該區(qū)域的中心設(shè)為原點(0,0)的虛擬坐標(biāo)空間時,能夠通過以下的式(3)來表示該虛擬坐標(biāo)空間的坐標(biāo)值(xvi,yvi)與加工區(qū)域上的現(xiàn)實坐標(biāo)值(xr,yr)之間的關(guān)系。
以下,說明使用上述各個式將程序分割為用于各個區(qū)域的加工控制的程序的程序分割方法。判定通過該程序中包括的、指令工具的移動的各個程序塊而指令的工具移動路徑屬于哪個區(qū)域,由此進(jìn)行程序的分割。
當(dāng)判定各個程序塊屬于哪個區(qū)域時,例如,
(a)當(dāng)作為對象的程序塊是指令直線插補的程序塊時,判定基于該指令的工具移動路徑的始點以及終點分別屬于哪個區(qū)域。這里,
(a1)當(dāng)成為判定對象的程序塊的指令的工具移動路徑的始點以及終點共同屬于相同的區(qū)域時,該程序塊只加工始點以及終點所屬于的區(qū)域,所以能夠包括在該區(qū)域的加工控制所使用的程序中(當(dāng)對坐標(biāo)值進(jìn)行絕對值指定時,使用式(3)來轉(zhuǎn)換坐標(biāo)值)。
(a2)另外,當(dāng)成為判定對象的程序塊的指令的移動路徑的始點以及終點屬于不同的區(qū)域時,將基于該程序塊的指令的工具移動路徑分割為各個區(qū)域的移動路徑,將指令該分割后的移動路徑的程序塊包括到各個區(qū)域的加工控制所使用的程序中(當(dāng)對坐標(biāo)值進(jìn)行絕對值指定時,使用式(3)來轉(zhuǎn)換坐標(biāo)值)。
(b)另外,當(dāng)作為對象的程序塊是指令圓弧插補的程序塊時,
(b1)當(dāng)圓弧狀的移動路徑整體屬于一個區(qū)域內(nèi)時,使該程序塊包括在該區(qū)域的加工控制所使用的程序中(當(dāng)對坐標(biāo)值進(jìn)行絕對值指定時,使用式(3)來轉(zhuǎn)換坐標(biāo)值)。
(b2)另外,當(dāng)圓弧狀的移動路徑跨不同的區(qū)域內(nèi)時,將基于該程序塊的指令的工具圓弧路徑分割為各個區(qū)域中的圓弧狀的移動路徑,使指令該分割后的圓弧狀的移動路徑的程序塊包括在各個區(qū)域中的加工控制所使用的程序中(當(dāng)對坐標(biāo)值進(jìn)行絕對值指定時,使用式(3)來轉(zhuǎn)換坐標(biāo)值)。
另外,關(guān)于指令工具的移動的程序塊以外的程序塊,使得包括在所有區(qū)域中的加工控制所使用的程序中即可。
例如,在圖3所示的分割例中,將在x軸方向、y軸方向坐標(biāo)值都能夠取得±2000.0[mm](xmin=y(tǒng)min=-2000.0[mm]、xmax=y(tǒng)max=+2000.0[mm])的加工區(qū)域,在x軸方向、y軸方向一起進(jìn)行10等分(n=m=10)來進(jìn)行了區(qū)域分割時,考慮將圖4所示的程序分割為用于各個區(qū)域的加工控制的程序的例子。
通過n03程序塊、n04程序塊指令的工具移動路徑的始點以及終點都屬于區(qū)域(6,6),因此n03程序塊、n04程序塊包括在用于區(qū)域(6,6)的加工控制的程序中。另外,通過n06程序塊、n07程序塊、n08程序塊指令的工具移動路徑的始點以及終點都屬于區(qū)域(7,6),因此n06程序塊、n07程序塊、n08程序塊包括在用于區(qū)域(7,6)的加工控制的程序中。
另一方面,對于通過n05程序塊指令的工具移動路徑,其始點屬于區(qū)域(6,6),其終點屬于區(qū)域(7,6),所以,通過由n05程序塊進(jìn)行指令的工具移動路徑所通過的區(qū)域即區(qū)域(6,6)和該區(qū)域(6,6)的邊界位置(在通過圖4的n05程序塊指令的工具移動路徑上與區(qū)域(6,6)以及與其相鄰的區(qū)域(7,6)之間的邊界線相交的點即δ點)將該移動路徑進(jìn)行分割,生成對該分割后的各個移動路徑進(jìn)行指令的程序塊,使該各自的程序塊包括在加工區(qū)域(6,6)的程序以及加工區(qū)域(7,6)的程序中。關(guān)于n09程序塊、n10程序塊、n11程序塊也是同樣。
另外,例如在如圖5所示那樣程序中包括圓弧插補的程序塊時,判定基于圓弧插補指令的工具移動路徑是否與區(qū)域及其相鄰的區(qū)域之間的邊界線交叉,如果判定為交叉,則在該交叉位置(通過圖5的n12程序塊的指令的工具移動路徑上的δ點)將該移動路徑進(jìn)行分割,生成對該分割后的各個移動路徑進(jìn)行指令的程序塊,使各自的程序塊包括在加工區(qū)域(6,6)的程序以及加工區(qū)域(7,6)的程序中。
通過針對程序中包括的各個程序塊執(zhí)行這樣的步驟,圖4的程序被分割為圖6所示的分別用于區(qū)域的加工控制的程序。
另外,在上述移動路徑的分割、從使用了式(3)的現(xiàn)實坐標(biāo)值到每個區(qū)域的虛擬坐標(biāo)值的轉(zhuǎn)換中使用雙精度整數(shù)型的運算處理,由此,能夠保持程序所記載的坐標(biāo)值位數(shù)的精度。在使用了倍精度整數(shù)型的值的運算處理中消耗了比使用了單精度整數(shù)型的值的運算處理更多的資源,但是移動路徑的分割處理和坐標(biāo)值的轉(zhuǎn)換處理如果與加工控制中進(jìn)行的移動路徑的插補處理和加減速處理進(jìn)行比較,運算量非常少,因此不會對整體的處理速度有大的影響。
以下,說明執(zhí)行上述的程序分割處理,并進(jìn)行基于分割后的程序的加工控制的數(shù)值控制裝置的結(jié)構(gòu)。
圖7是表示本發(fā)明一個實施方式的數(shù)值控制裝置的主要部分的硬件結(jié)構(gòu)圖。
cpu11是整體控制數(shù)值控制裝置1的處理器,經(jīng)由總線20讀出存儲在rom12中的系統(tǒng)程序,按照該系統(tǒng)程序控制數(shù)值控制裝置1整體。在ram13中存儲暫時的計算數(shù)據(jù)和顯示數(shù)據(jù)以及操作員經(jīng)由顯示器/mdi單元70輸入的各種數(shù)據(jù)等。
sram14構(gòu)成為非易失性存儲器,由未圖示的電池進(jìn)行備份,即使數(shù)值控制裝置1的電源被切斷也保持存儲狀態(tài)。在sram14中存儲經(jīng)由接口15讀入的后述加工程序和經(jīng)由顯示器/mdi單元70而輸入的加工程序等。另外,在rom12中預(yù)先寫入各種系統(tǒng)程序,該系統(tǒng)程序用于執(zhí)行為了加工程序的生成以及編輯而需要的編輯模式的處理、上述的程序分割處理。與本發(fā)明關(guān)聯(lián)的加工程序等各種加工程序能夠經(jīng)由接口15和顯示器/mdi單元70輸入,并存儲在sram14中。
接口15是用于連接數(shù)值控制裝置1和適配器等外部設(shè)備72的接口。從外部設(shè)備72讀入加工程序和各種參數(shù)等。另外,能夠使在數(shù)值控制裝置1內(nèi)進(jìn)行了編輯的加工程序經(jīng)由外部設(shè)備72存儲在外部存儲單元中。pmc(可編程機床控制器programmablemachinecontroller)16通過內(nèi)置在數(shù)值控制裝置1中的順序程序(sequenceprogram)將信號經(jīng)由i/o單元17輸出給機床的輔助裝置(例如工具更換用的機器人手這樣的促動器)并控制該輔助裝置。另外,接收配備在機床本體上的操作盤的各種開關(guān)等的信號,進(jìn)行了必要的信號處理后轉(zhuǎn)給cpu11。
顯示器/mdi單元70是具備了顯示器、鍵盤等的手動數(shù)據(jù)輸入裝置,接口18接收來自顯示器/mdi單元70的鍵盤的指令、數(shù)據(jù)并轉(zhuǎn)給cpu11。接口19與具備有手動脈沖發(fā)生器的操作盤17連接。
各個軸的軸控制電路30~32接收來自cpu11的各軸的移動指令量,將各軸的指令輸出給伺服放大器40~42。伺服放大器40~42接收該指令并驅(qū)動各軸的伺服電動機50~52。各軸的伺服電動機50~52內(nèi)置有位置/速度檢測器,將來自該位置/速度檢測器的位置/速度反饋信號反饋給軸控制電路30~32,進(jìn)行位置/速度的反饋控制。另外,在框圖中,省略位置/速度的反饋。
主軸控制電路60接收對機床的主軸旋轉(zhuǎn)指令,將主軸速度信號輸出給主軸放大器61。主軸放大器61接收該主軸速度信號,使機床的主軸電動機62以所指令的轉(zhuǎn)速旋轉(zhuǎn),驅(qū)動工具。
位置編碼器63通過齒輪或傳輸帶等與主軸電動機62結(jié)合(連接),位置編碼器63與主軸的旋轉(zhuǎn)同步地輸出反饋脈沖(回授脈沖),通過cpu11讀取該反饋脈沖。
圖8表示針對圖7所示的數(shù)值控制裝置1將上述程序的分割方法以及分割后的程序的執(zhí)行方法實際安裝為系統(tǒng)程序時的概略功能框圖。數(shù)值控制裝置1具備分割設(shè)定部100、程序分割部110、區(qū)域坐標(biāo)系設(shè)定部120、運算精度設(shè)定部130、區(qū)域定位部140、指令解析部150、插補部160、加減速部170以及伺服控制部180。
分割設(shè)定部100接收加工區(qū)域的區(qū)域分割所需要的參數(shù)的輸入并存儲在sram14等的存儲器上。區(qū)域分割所需要的參數(shù)根據(jù)區(qū)域的分割方法而不同,但是在使用圖2所說明的分割方法時,接收加工區(qū)域的范圍(xmin~xmax、ymin~ymax)、原點位置(加工區(qū)域、區(qū)域的中心都為原點、端部為原點等)、x軸方向、y方向的分割數(shù)(n,m)等即可。
程序分割部110根據(jù)由分割設(shè)定部100設(shè)定的參數(shù)來將加工區(qū)域虛擬分割,例如根據(jù)圖2~圖4所說明的方法,根據(jù)程序200來生成用于每個該分割后的區(qū)域的加工控制的程序。將被分割后的程序210存儲在設(shè)置在ram13等存儲器上的區(qū)域中。
區(qū)域坐標(biāo)系設(shè)定部120在后述的指令解析部150執(zhí)行上述被分割后的程序210時,根據(jù)由分割設(shè)定部100設(shè)定的參數(shù)將每個區(qū)域的虛擬坐標(biāo)系設(shè)定給指令解析部150。
另外,運算精度設(shè)定部130在由后述的指令解析部150執(zhí)行上述被分割后的程序210時,根據(jù)通過分割設(shè)定部100設(shè)定的參數(shù)來設(shè)定在指令解析部150、插補部160以及加減速部170的內(nèi)部運算處理中能夠設(shè)定的最小設(shè)定單位。這里所說的“能夠設(shè)定的最小設(shè)定單位”,能夠考慮上述數(shù)值控制裝置的外部要因以及內(nèi)部要因,根據(jù)由分割設(shè)定部100分割的各個區(qū)域的行程長度來適當(dāng)?shù)剡M(jìn)行決定。作為一例,在如圖2那樣進(jìn)行了區(qū)域分割時,能夠使通過最小設(shè)定單位設(shè)定的小數(shù)點以下的位數(shù)增加1。
區(qū)域定位部140在由后述的指令解析部150開始執(zhí)行上述被分割的程序210時,將在要開始執(zhí)行的上述被分割后的程序210的加工開始位置進(jìn)行定位的指令輸出給指令解析部150。各個區(qū)域的加工開始位置,成為在原來的程序中通過式(3)將工具侵入該區(qū)域的點(圖4、圖5中的δ點)的坐標(biāo)值轉(zhuǎn)換為該區(qū)域中的虛擬坐標(biāo)值的位置。
指令解析部150從存儲在存儲器中的被分割的程序210依次讀出程序塊并進(jìn)行解析,生成根據(jù)該解析結(jié)果指令各軸移動的指令數(shù)據(jù),將該生成后的指令數(shù)據(jù)輸出給插補部160。指令解析部150在進(jìn)行解析處理時使用由上述區(qū)域坐標(biāo)系設(shè)定部120所設(shè)定的虛擬坐標(biāo)系,另外通過上述運算精度設(shè)定部130所設(shè)定的最小設(shè)定單位來進(jìn)行解析。指令解析部150關(guān)于通過哪一種順序進(jìn)行多個被分割后的程序210的讀出,不需要特別進(jìn)行制約,但是如果按順序讀出進(jìn)行附近區(qū)域的加工的程序,則工具的移動距離變短因此能夠縮短加工的周期時間。
插補部160根據(jù)由指令解析部150輸出的指令數(shù)據(jù),來生成以插補周期將由該指令數(shù)據(jù)指令的指令路徑上的點進(jìn)行了插補計算的插補數(shù)據(jù),將生成的插補數(shù)據(jù)輸出給加減速部170。當(dāng)插補部160執(zhí)行插補處理時,使用區(qū)域坐標(biāo)系設(shè)定部120所設(shè)定的虛擬坐標(biāo)系,以及以上述運算精度設(shè)定部130所設(shè)定的最小設(shè)定單位進(jìn)行解析。
加減速部170針對插補部160所輸出的插補數(shù)據(jù)進(jìn)行調(diào)整每個插補周期的各個驅(qū)動軸的速度的加減速處理,將進(jìn)行了加減速調(diào)整的插補數(shù)據(jù)輸出給伺服控制部180。當(dāng)加減速部170執(zhí)行加減速處理時,使用區(qū)域坐標(biāo)系設(shè)定部120所設(shè)定的虛擬坐標(biāo)系,另外通過上述運算精度設(shè)定部130所設(shè)定的最小設(shè)定單位進(jìn)行解析。
并且,伺服控制部180根據(jù)加減速部170的輸出來控制成為控制對象的機械的各軸的驅(qū)動部(伺服電動機50~52)。
在具備這種結(jié)構(gòu)的數(shù)值控制裝置中,將加工區(qū)域分割為多個區(qū)域,與該分割后的區(qū)域相匹配地預(yù)先從程序200生成多個被分割后的程序210。在分割后的程序210中工具移動范圍即行程長度變得比加工區(qū)域要窄,因此,不使運算處理分割資源地,增加通過指令的解析處理和插補處理、加減速處理的最小設(shè)定單位設(shè)定的小數(shù)點以下的位數(shù),能夠提高加工精度。
以上,說明了本發(fā)明的實施方式,但是本發(fā)明不限定于上述實施方式的例子,能夠通過增加設(shè)定的變更通過各種方式來實施。
例如,在上述的實施方式中,表示將x軸方向、y軸方向的二維平面進(jìn)行區(qū)域分割,并生成用于加工分割后的區(qū)域的工件的程序的例子,但是也可以將在此增加了z軸的三維空間進(jìn)行區(qū)域分割。此時,單純地將z軸的式子追加給式(1)~(3),使用這些式子進(jìn)行程序的分割即可。
另外,在上述實施方式中,將加工區(qū)域分割為等分的區(qū)域,但是不限于此,區(qū)域的大小也可以分別不同,此時,也可以通過分割設(shè)定部100獨立設(shè)定各個區(qū)域的邊界和大小。并且,根據(jù)這樣設(shè)定的信息使程序分割部110、區(qū)域坐標(biāo)系設(shè)定部120以及運算精度設(shè)定部130動作,從而能夠?qū)?yīng)不同大小的區(qū)域。這樣,例如將加工區(qū)域的一部分進(jìn)一步分割為細(xì)分的區(qū)域,在該部位能夠進(jìn)一步進(jìn)行精密的加工。
進(jìn)一步,在上述實施方式的例子中,通過數(shù)值控制裝置進(jìn)行程序的分割,但是也可以不在數(shù)值控制裝置上進(jìn)行該分割,而通過外部的程序生成裝置(cad裝置等)預(yù)先生成分割為各個區(qū)域的程序,并執(zhí)行。這種情況下,不需要在數(shù)值控制裝置中設(shè)置程序分割部110而在程序生成裝置上設(shè)置相同的結(jié)構(gòu)即可。