數(shù)控裝置制造方法
【專利摘要】一種能夠控制主軸轉(zhuǎn)速的工作機(jī)械的數(shù)控裝置(1),其具備:程序解析部(2),其預(yù)讀大于或等于1個(gè)程序塊的加工程序(6),進(jìn)行針對(duì)工作機(jī)械的指令的解析;以及指令判定部(3),其基于程序解析部(2)中的解析結(jié)果,針對(duì)主軸控制指令之后的指令,判斷是否會(huì)因在主軸轉(zhuǎn)速變化過(guò)程中執(zhí)行該指令而在加工方面產(chǎn)生某種問(wèn)題,對(duì)于在加工方面產(chǎn)生某種問(wèn)題的第一指令,在主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速之后進(jìn)行輸出,對(duì)于除了第一指令以外的第二指令,在主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速之前進(jìn)行輸出。
【專利說(shuō)明】數(shù)控裝置
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及一種對(duì)能夠控制主軸轉(zhuǎn)速的工作機(jī)械進(jìn)行數(shù)控(NC NumericalControl)的數(shù)控裝置。
【背景技術(shù)】
[0002]以往,在搭載有數(shù)控裝置的工作機(jī)械中,通過(guò)從加工程序?qū)χ鬏S轉(zhuǎn)速發(fā)出指令,從而進(jìn)行加工。在工作機(jī)械中,在對(duì)主軸轉(zhuǎn)速發(fā)出指令起直至實(shí)際的主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速為止的期間,無(wú)法進(jìn)行加工,產(chǎn)生等待時(shí)間,加工時(shí)間延長(zhǎng)。這里,在數(shù)控裝置中,無(wú)需針對(duì)所有指令都進(jìn)行等待直至主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速。例如,雖然在切削指令的情況下,需要進(jìn)行等待直至主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速,但針對(duì)定位指令之類的非切削指令,則無(wú)需進(jìn)行等待直至主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速。針對(duì)各指令的等待的判斷,只要制作梯形圖就能夠?qū)崿F(xiàn),但是,由于梯形圖較為復(fù)雜,因此,作業(yè)者修正梯形圖并不容易。
[0003]例如,在下述專利文獻(xiàn)I中公開(kāi)有如下技術(shù),即,在控制裝置中,對(duì)于是進(jìn)行等待直至主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速,而后執(zhí)行下一程序塊,還是即使主軸轉(zhuǎn)速未達(dá)到所指令出的轉(zhuǎn)速也仍然執(zhí)行下一程序塊,要從加工程序發(fā)出指令而進(jìn)行選擇。
[0004]另外,在下述專利文獻(xiàn)2中公開(kāi)有如下技術(shù),S卩,在數(shù)控裝置中,對(duì)主軸旋轉(zhuǎn)指令的輸出定時(shí)進(jìn)行控制,以使主軸轉(zhuǎn)速與切削指令開(kāi)始的定時(shí)匹配而達(dá)到所指令出的轉(zhuǎn)速。
[0005]專利文獻(xiàn)1:日本實(shí)開(kāi)昭62-179605號(hào)公報(bào)
[0006]專利文獻(xiàn)2:日本特開(kāi)2011-118952號(hào)公報(bào)
【發(fā)明內(nèi)容】
[0007]然而,上述專利文獻(xiàn)I所記載的技術(shù)中存在如下問(wèn)題,即,在控制裝置中,在以進(jìn)行等待直至主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速,而后執(zhí)行下一程序塊的方式發(fā)出指令的情況下,即使在定位指令這樣的非切削指令的情況下,也要進(jìn)行等待直至主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速,因此,加工時(shí)間會(huì)延長(zhǎng)。另外,還存在如下問(wèn)題,即,在控制裝置中,在以即使主軸轉(zhuǎn)速未達(dá)到所指令出的轉(zhuǎn)速也仍然執(zhí)行下一程序塊的方式發(fā)出指令的情況下,在切削指令的情況下,即使主軸轉(zhuǎn)速未達(dá)到所指令出的轉(zhuǎn)速也仍然會(huì)執(zhí)行,因此,加工精度會(huì)變差。
[0008]另外,在上述專利文獻(xiàn)2所記載的技術(shù)中,數(shù)控裝置的控制的目的在于,不使主軸進(jìn)行無(wú)用的旋轉(zhuǎn),以節(jié)約消耗電力。因此,存在如下問(wèn)題,即,主軸旋轉(zhuǎn)指令的輸出定時(shí)只能夠晚于由加工程序所指定出的定時(shí)而進(jìn)行輸出,無(wú)法縮短加工時(shí)間。
[0009]本發(fā)明就是鑒于上述情形而提出的,其目的在于,得到一種不會(huì)使加工精度變差,能夠縮短工作機(jī)械的加工時(shí)間的數(shù)控裝置。
[0010]為了解決上述課題、實(shí)現(xiàn)目的,本發(fā)明是一種能夠控制主軸轉(zhuǎn)速的工作機(jī)械的數(shù)控裝置,其特征在于,具備:程序解析部,其預(yù)讀大于或等于I個(gè)程序塊的加工程序,進(jìn)行針對(duì)所述工作機(jī)械的指令的解析;以及指令判定部,其基于所述程序解析部的解析結(jié)果,針對(duì)主軸控制指令之后的指令,判斷是否會(huì)因在主軸轉(zhuǎn)速發(fā)生變化的過(guò)程中執(zhí)行該指令而在加工方面產(chǎn)生某種問(wèn)題,對(duì)于在加工方面產(chǎn)生某種問(wèn)題的第一指令,在所述主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速之后進(jìn)行輸出,對(duì)于除了所述第一指令以外的第二指令,在所述主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速之前進(jìn)行輸出。
[0011]發(fā)明的效果
[0012]本發(fā)明所涉及的數(shù)控裝置能夠?qū)崿F(xiàn)如下效果,即,不會(huì)使加工精度變差,能夠縮短工作機(jī)械的加工時(shí)間。
【專利附圖】
【附圖說(shuō)明】
[0013]圖1是表示數(shù)控裝置的結(jié)構(gòu)例的圖。
[0014]圖2是表示實(shí)施方式I所涉及的數(shù)控裝置的程序解析部的處理順序的流程圖。
[0015]圖3是表示實(shí)施方式I所涉及的數(shù)控裝置的指令判定部中的處理順序的流程圖。
[0016]圖4是表示在實(shí)施方式I中數(shù)控裝置所處理的加工程序例的圖。
[0017]圖5是圖4所示的加工程序例的時(shí)序圖。
[0018]圖6是表示實(shí)施方式2所涉及的數(shù)控裝置的程序解析部的處理順序的流程圖。
[0019]圖7是表示實(shí)施方式2所涉及的數(shù)控裝置的指令判定部中的處理順序的流程圖。
[0020]圖8是表示在實(shí)施方式2中數(shù)控裝置所處理的加工程序例的圖。
[0021]圖9是圖8所示的加工程序例的時(shí)序圖。
[0022]圖10是表示實(shí)施方式3所涉及的數(shù)控裝置的程序解析部的處理順序的流程圖。
[0023]圖11是圖4所示的加工程序例的時(shí)序圖。
[0024]圖12是表示實(shí)施方式4所涉及的數(shù)控裝置的程序解析部的處理順序的流程圖。
[0025]圖13是表示實(shí)施方式4所涉及的數(shù)控裝置的指令判定部中的處理順序的流程圖。
[0026]圖14是表示在實(shí)施方式4中數(shù)控裝置所處理的加工程序例的圖。
[0027]圖15是圖14所示的加工程序例的時(shí)序圖。
[0028]圖16是表示數(shù)控裝置所具備的顯示部的顯示畫面的例子的圖。
【具體實(shí)施方式】
[0029]以下,基于附圖對(duì)本發(fā)明所涉及的數(shù)控裝置的實(shí)施方式進(jìn)行詳細(xì)說(shuō)明。此外,本發(fā)明不限定于該實(shí)施方式。
[0030]實(shí)施方式1.
[0031]圖1是表示本實(shí)施方式所涉及的數(shù)控裝置的結(jié)構(gòu)例的圖。在圖1中,I是數(shù)控裝置。2是程序解析部,3是指令判定部,4是插補(bǔ)部,5是主軸控制指令輸出部,6是加工程序,7是預(yù)讀緩沖區(qū),8是伺服放大器,9是主軸放大器,10是移動(dòng)指令,11是移動(dòng)量,12是主軸控制指令,13是主軸轉(zhuǎn)速,14是實(shí)際的主軸轉(zhuǎn)速。
[0032]在程序解析部2中,讀取加工程序6而進(jìn)行解析,將讀取到的指令的解析結(jié)果依次向預(yù)讀緩沖區(qū)7存儲(chǔ)。在預(yù)讀緩沖區(qū)7中,存儲(chǔ)有程序解析部2的解析結(jié)果、即各程序塊的模態(tài)(modal)、各軸的移動(dòng)量、主軸轉(zhuǎn)速等信息。另外,如果所指令出的動(dòng)作完畢,則存儲(chǔ)于預(yù)讀緩沖區(qū)7的信息被刪除。在指令判定部3中,對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7中的各程序塊的信息進(jìn)行讀取,向與各指令相對(duì)應(yīng)的處理部輸出指令。移動(dòng)指令10向插補(bǔ)部4輸出,在插補(bǔ)部4求出每個(gè)插補(bǔ)周期的移動(dòng)量11,并向伺服放大器8輸出。移動(dòng)指令10是指切削指令、定位指令之類的對(duì)軸的動(dòng)作進(jìn)行控制的指令,將它們統(tǒng)一作為移動(dòng)指令10。另外,主軸控制指令12被向主軸控制指令輸出部5輸出,在主軸控制指令輸出部5中,主軸轉(zhuǎn)速13被向主軸放大器9輸出。主軸控制指令12是指主軸旋轉(zhuǎn)指令、主軸停止指令之類的對(duì)主軸的動(dòng)作進(jìn)行控制的指令,將它們統(tǒng)一作為主軸控制指令12。另外,實(shí)際的主軸轉(zhuǎn)速14從主軸放大器9向指令判定部3輸出,在用于輸出指令的判定中使用。
[0033]圖2是表示本實(shí)施方式所涉及的數(shù)控裝置I的程序解析部2中的處理順序的流程圖。在步驟SlOl中,程序解析部2判斷在預(yù)讀緩沖區(qū)7中是否存儲(chǔ)有指令,如果存儲(chǔ)有指令(步驟SlOl:Yes),則結(jié)束處理,如果未存儲(chǔ)指令(步驟SlOl:No),則進(jìn)入步驟S102。在步驟S102中,程序解析部2對(duì)主軸加減速時(shí)間Tl、自主軸控制指令起的時(shí)間T2進(jìn)行清零,進(jìn)入步驟S103。在步驟S103中,程序解析部2對(duì)加工程序6進(jìn)行讀取,進(jìn)入步驟S104。在步驟S104中,程序解析部2判斷讀取到的指令是否為主軸控制指令12,在是主軸控制指令12的情況下(步驟S104:Yes),進(jìn)入步驟S105,在不是主軸控制指令12的情況下(步驟S104:No),結(jié)束處理。在步驟S105中,程序解析部2基于后述的各程序塊的執(zhí)行時(shí)間的計(jì)算方法,計(jì)算主軸加減速時(shí)間Tl,進(jìn)入步驟S106。在步驟S106中,程序解析部2判斷是否存在下一程序塊,如果存在下一程序塊(步驟S106:Yes),則進(jìn)入步驟S107,如果不存在下一程序塊(步驟S106:No),則結(jié)束處理。在步驟S107中,程序解析部2讀取下一程序塊,進(jìn)入步驟S108。在步驟S108中,程序解析部2判斷是否為如果主軸轉(zhuǎn)速發(fā)生變化則出現(xiàn)問(wèn)題的指令,在是不出現(xiàn)問(wèn)題的指令的情況下(步驟S108:No),進(jìn)入步驟S109,在是出現(xiàn)問(wèn)題的指令的情況下(步驟S108:Yes),結(jié)束處理。在步驟S109中,程序解析部2基于后述的各程序塊的執(zhí)行時(shí)間的計(jì)算方法,計(jì)算讀取到的指令的執(zhí)行時(shí)間,進(jìn)入步驟S110。在步驟SllO中,程序解析部2對(duì)在步驟S109中計(jì)算出的執(zhí)行時(shí)間進(jìn)行累計(jì),計(jì)算自主軸控制指令起的時(shí)間T2,進(jìn)入步驟S111。在步驟Slll中,程序解析部2對(duì)主軸加減速時(shí)間Tl和自主軸控制指令起的時(shí)間T2進(jìn)行比較,在主軸加減速時(shí)間Tl更大的情況下(步驟Slll:No),返回到步驟S106,在自主軸控制指令起的時(shí)間T2更大的情況下(步驟Slll:Yes),結(jié)束處理。另外,程序解析部2所讀取到的程序塊的信息按順序存儲(chǔ)于預(yù)讀緩沖區(qū)7。
[0034]這里,對(duì)如果主軸轉(zhuǎn)速發(fā)生變化則出現(xiàn)問(wèn)題的指令的判斷方法進(jìn)行說(shuō)明。作為如果主軸轉(zhuǎn)速發(fā)生變化則出現(xiàn)問(wèn)題的指令,能夠列舉刀具更換指令、切削指令。刀具更換指令通常在主軸停止的狀態(tài)下執(zhí)行,無(wú)法使主軸旋轉(zhuǎn)。另外,切削指令處于對(duì)工件進(jìn)行加工的狀態(tài)中,如果主軸轉(zhuǎn)速發(fā)生變化,則加工精度會(huì)變差。即,作為主軸旋轉(zhuǎn)指令之后的指令,如果主軸轉(zhuǎn)速發(fā)生變化則出現(xiàn)問(wèn)題的指令為切削指令,作為主軸旋轉(zhuǎn)指令之前的指令,如果主軸轉(zhuǎn)速發(fā)生變化則出現(xiàn)問(wèn)題的指令為切削指令以及刀具更換指令。另外,作為主軸停止指令之后的指令,如果主軸轉(zhuǎn)速發(fā)生變化則出現(xiàn)問(wèn)題的指令為刀具更換指令,作為主軸停止指令之前的指令,如果主軸轉(zhuǎn)速發(fā)生變化則出現(xiàn)問(wèn)題的指令為切削指令。另外,在除了刀具更換指令以及切削指令以外的指令中,對(duì)于如果主軸轉(zhuǎn)速發(fā)生變化則出現(xiàn)問(wèn)題的指令,通過(guò)預(yù)先設(shè)定為參數(shù)等而進(jìn)行判斷。這里,對(duì)于如果主軸轉(zhuǎn)速發(fā)生變化則出現(xiàn)問(wèn)題的指令、即因在主軸轉(zhuǎn)速變化過(guò)程中執(zhí)行該指令而在加工方面產(chǎn)生某種問(wèn)題(例如,加工時(shí)間延長(zhǎng)、加工精度變差等)的指令,將其設(shè)為第一指令,對(duì)于即使主軸轉(zhuǎn)速發(fā)生變化也不出現(xiàn)問(wèn)題的指令、即在加工方面不產(chǎn)生任何問(wèn)題的除了第一指令以外的指令,將其設(shè)為第二指令。
[0035]接下來(lái),對(duì)程序解析部2中的各程序塊的執(zhí)行時(shí)間的計(jì)算方法進(jìn)行說(shuō)明。在定位指令的情況下,根據(jù)預(yù)先設(shè)定為參數(shù)的快進(jìn)速度、加減速時(shí)間常數(shù)、由加工程序6所指令出的移動(dòng)距離進(jìn)行計(jì)算(執(zhí)行時(shí)間=移動(dòng)距離/快進(jìn)速度+加減速時(shí)間常數(shù))。另外,在M代碼的情況下,預(yù)先將執(zhí)行時(shí)間設(shè)定為參數(shù)。在主軸控制指令12的情況下,根據(jù)預(yù)先設(shè)定的最高轉(zhuǎn)速、主軸的加減速時(shí)間常數(shù)、由加工程序6所指令出的主軸轉(zhuǎn)速、當(dāng)前的主軸轉(zhuǎn)速進(jìn)行計(jì)算(執(zhí)行時(shí)間=(I所指令出的主軸轉(zhuǎn)速一當(dāng)前的主軸轉(zhuǎn)速I) X主軸的加減速時(shí)間常數(shù)/最高轉(zhuǎn)速)。
[0036]圖3是表示本實(shí)施方式所涉及的數(shù)控裝置I的指令判定部3中的處理順序的流程圖。在指令判定部3中,基于由程序解析部2進(jìn)行解析并存儲(chǔ)于預(yù)讀緩沖區(qū)7的指令的信息,按順序進(jìn)行處理。在步驟S201中,指令判定部3從預(yù)讀緩沖區(qū)7讀取I個(gè)指令,進(jìn)入步驟S202。在步驟S202中,指令判定部3判斷讀取到的指令是否為主軸控制指令12,在是主軸控制指令12的情況下(步驟S202:Yes),進(jìn)入步驟S203,在不是主軸控制指令12的情況下(步驟S202:No),進(jìn)入步驟S207。在步驟S203中,指令判定部3將讀取到的指令即主軸控制指令12輸出,進(jìn)入步驟S204。在步驟S204中,指令判定部3將從預(yù)讀緩沖區(qū)7讀取到的指令即主軸控制指令12刪除,進(jìn)入步驟S205。在步驟S205中,指令判定部3判斷在預(yù)讀緩沖區(qū)7是否存儲(chǔ)有下一指令,如果存儲(chǔ)有下一指令(步驟S205:Yes),則進(jìn)入步驟S206,如果未存儲(chǔ)下一指令(步驟S205:No),則結(jié)束處理。在步驟S206中,指令判定部3從預(yù)讀緩沖區(qū)7讀取下一指令,進(jìn)入步驟S207。在步驟S207中,指令判定部3判斷讀取到的指令是否為如果主軸轉(zhuǎn)速發(fā)生變化則出現(xiàn)問(wèn)題的指令,在是出現(xiàn)問(wèn)題的指令的情況下(步驟S207:Yes),進(jìn)入步驟S208,在是不出現(xiàn)問(wèn)題的指令的情況下(步驟S207:No),進(jìn)入步驟S209。在步驟S208中,指令判定部3判斷實(shí)際的主軸轉(zhuǎn)速14是否達(dá)到所指令出的轉(zhuǎn)速,如果未達(dá)到所指令出的轉(zhuǎn)速(步驟S208:No),則進(jìn)行等待直至達(dá)到所指令出的轉(zhuǎn)速(步驟S208:Yes),而后進(jìn)入步驟S209。在步驟S209中,指令判定部3將讀取到的指令輸出,結(jié)束處理。
[0037]此外,在指令判定部3中,在讀取到的指令為切削指令或者定位指令之類的移動(dòng)指令10的情況下,將該指令向插補(bǔ)部4輸出,在插補(bǔ)部4求出每個(gè)插補(bǔ)周期的移動(dòng)量11,并向伺服放大器8輸出。另外,在指令判定部3中,在讀取到的指令為主軸旋轉(zhuǎn)指令或者主軸停止指令之類的主軸控制指令12的情況下,將該指令向主軸控制指令輸出部5輸出,利用主軸控制指令輸出部5將主軸轉(zhuǎn)速13向主軸放大器9輸出。另外,雖未圖不,但與以往的處理相同的是:即使在除了移動(dòng)指令10、主軸控制指令12以外的指令的情況下,也利用與各指令相對(duì)應(yīng)的處理部進(jìn)行處理。
[0038]接下來(lái),利用加工程序例并按照?qǐng)D2及圖3的流程圖,對(duì)數(shù)控裝置I中的處理流程進(jìn)行具體說(shuō)明。圖4是表示在本實(shí)施方式中數(shù)控裝置I所處理的加工程序例的圖。首先,在程序解析部2中,在步驟SlOl中確認(rèn)為在預(yù)讀緩沖區(qū)7中未存儲(chǔ)指令(步驟SlOl:No),在步驟S102中對(duì)主軸加減速時(shí)間Tl、以及自主軸控制指令起的時(shí)間T2進(jìn)行清零,在步驟S103中對(duì)NlOl的程序塊進(jìn)行讀取。由于NlOl的程序塊為切削指令(步驟S104:No),因此,程序解析部2結(jié)束處理。此時(shí),在預(yù)讀緩沖區(qū)7中存儲(chǔ)有NlOl的指令。
[0039]在指令判定部3中,在步驟S201中對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7的NlOl的指令進(jìn)行讀取。由于NlOl的指令為切削指令(步驟S202:No),因此,向步驟S207:Yes、步驟S208:Yes、步驟S209前進(jìn),指令判定部3將切削指令輸出,并結(jié)束處理。
[0040]如果NlOl的切削指令的動(dòng)作完畢,則程序解析部2在步驟SlOl中確認(rèn)為在預(yù)讀緩沖區(qū)7中未存儲(chǔ)指令(步驟SlOl:No),在步驟S102中對(duì)主軸加減速時(shí)間Tl、自主軸控制指令起的時(shí)間T2進(jìn)行清零,在步驟S103中對(duì)N102的程序塊進(jìn)行讀取。由于N102的程序塊為定位指令(步驟S104:No),因此,程序解析部2結(jié)束處理。此時(shí),在預(yù)讀緩沖區(qū)7中存儲(chǔ)有N102的指令。
[0041]指令判定部3在步驟S201中對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7的N102的指令進(jìn)行讀取。由于N102的指令為定位指令(步驟S202:No),因此,向步驟S207:No、步驟S209前進(jìn),指令判定部3將定位指令輸出,并結(jié)束處理。
[0042]如果N102的定位指令的動(dòng)作完畢,則程序解析部2在步驟SlOl中確認(rèn)為預(yù)讀緩沖區(qū)7中未存儲(chǔ)指令(步驟SlOl:No),在步驟S102中對(duì)主軸加減速時(shí)間Tl、自主軸控制指令起的時(shí)間T2進(jìn)行清零,在步驟S103中對(duì)N103的程序塊進(jìn)行讀取。由于N103的程序塊為主軸停止指令(步驟S104:Yes),因此,向步驟S105前進(jìn),程序解析部2對(duì)直至主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速為止的到達(dá)時(shí)間、即主軸加減速時(shí)間Tl進(jìn)行計(jì)算,進(jìn)入步驟S106。程序解析部2在步驟S106中確認(rèn)為存在下一程序塊(步驟S106:Yes),在步驟S107中對(duì)下一程序塊即N104的程序塊進(jìn)行讀取。由于N104的程序塊為返回刀具更換位置的定位指令(步驟S108:No),因此,向步驟S109前進(jìn),程序解析部2計(jì)算N104的程序塊的執(zhí)行時(shí)間,在步驟SllO中對(duì)自主軸控制指令起的時(shí)間T2進(jìn)行更新。程序解析部2在步驟Slll中對(duì)主軸加減速時(shí)間Tl和自主軸控制指令起的時(shí)間T2進(jìn)行比較。程序解析部2判斷為主軸加減速時(shí)間Tl更大(步驟Slll:No),返回到步驟S106。
[0043]程序解析部2在步驟S106中確認(rèn)為存在下一程序塊(步驟S106:Yes),在步驟S107中對(duì)下一程序塊即N105的程序塊進(jìn)行讀取。程序解析部2進(jìn)入步驟S108,由于N105的程序塊為刀具更換指令(步驟S108:Yes),因此結(jié)束處理。此時(shí),預(yù)讀緩沖區(qū)7中存儲(chǔ)有N103、N104、N105 的指令。
[0044]指令判定部3在步驟S201中對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7的N103的指令進(jìn)行讀取。由于N103的指令為主軸停止指令(步驟S202:Yes),因此,向步驟S203、步驟S204前進(jìn),指令判定部3將主軸停止指令輸出,從預(yù)讀緩沖區(qū)7將主軸停止指令刪除。指令判定部3在步驟S205中確認(rèn)為在預(yù)讀緩沖區(qū)7存在下一指令(步驟S205:Yes),在步驟S206中對(duì)N104的指令進(jìn)行讀取。由于N104的指令為返回刀具更換位置的定位指令(步驟S207:No),因此,向步驟S209前進(jìn),指令判定部3將返回刀具更換位置的定位指令輸出,并結(jié)束處理。
[0045]如果N104的返回刀具更換位置的定位指令的動(dòng)作完畢,則由于程序解析部2在步驟SlOl中判斷為在預(yù)讀緩沖區(qū)7中還存儲(chǔ)有指令(步驟SlOl:Yes),因此,結(jié)束處理。
[0046]指令判定部3在步驟S201中,對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7的N105的指令進(jìn)行讀取。由于N105的指令為刀具更換指令(步驟S202:No),因此,向步驟S207:Yes、步驟S208:Yes、步驟S209前進(jìn),指令判定部3等待實(shí)際的主軸轉(zhuǎn)速14達(dá)到所指令出的轉(zhuǎn)速即零速度,將刀具更換指令輸出,并結(jié)束處理。
[0047]如果N105的刀具更換指令的動(dòng)作完畢,則程序解析部2在步驟SlOl中確認(rèn)為在預(yù)讀緩沖區(qū)7中未存儲(chǔ)指令(步驟SlOl:No),在步驟S102中對(duì)主軸加減速時(shí)間Tl、自主軸控制指令起的時(shí)間T2進(jìn)行清零,在步驟S103中對(duì)N106的程序塊進(jìn)行讀取。由于N106的程序塊為定位指令(步驟S104:No),因此,程序解析部2結(jié)束處理。此時(shí),預(yù)讀緩沖區(qū)7中存儲(chǔ)有N106的指令。
[0048]指令判定部3在步驟S201中對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7的N106的指令進(jìn)行讀取。由于N106的指令為定位指令(步驟S202:No),因此,向步驟S207:No、步驟S209前進(jìn),指令判定部3將定位指令輸出,并結(jié)束處理。
[0049]由于下一個(gè)N107的程序塊也是定位指令,因此,程序解析部2以及指令判定部3進(jìn)行與N106的程序塊相同的處理。
[0050]如果N107的定位指令的動(dòng)作完畢,則程序解析部2在步驟SlOl中確認(rèn)為在預(yù)讀緩沖區(qū)7中未存儲(chǔ)指令(步驟SlOl:No),在步驟S102中對(duì)主軸加減速時(shí)間Tl、自主軸控制指令起的時(shí)間T2進(jìn)行清零,在步驟S103中對(duì)N108的程序塊進(jìn)行讀取。由于N108的程序塊為主軸旋轉(zhuǎn)指令(步驟S104:Yes),因此,向步驟S105前進(jìn),程序解析部2計(jì)算主軸加減速時(shí)間Tl,進(jìn)入步驟S106。程序解析部2在步驟S106中確認(rèn)為存在下一程序塊(步驟S106:Yes),在步驟S107中對(duì)下一程序塊即N109的程序塊進(jìn)行讀取。由于N109的程序塊為定位指令(步驟S108:No),因此,向步驟S109前進(jìn),程序解析部2計(jì)算N109的程序塊的執(zhí)行時(shí)間,在步驟SllO中對(duì)自主軸控制指令起的時(shí)間T2進(jìn)行更新。程序解析部2在步驟Slll中對(duì)主軸加減速時(shí)間Tl和自主軸控制指令起的時(shí)間T2進(jìn)行比較。程序解析部2判斷為主軸加減速時(shí)間Tl更大(步驟Slll:No),返回到步驟S106。
[0051]程序解析部2在步驟S106中確認(rèn)為存在下一程序塊(步驟S106:Yes),在步驟S107中,對(duì)下一程序塊即NllO的程序塊進(jìn)行讀取。由于NllO的程序塊為定位指令(步驟S108:No),因此,向步驟S109前進(jìn),程序解析部2計(jì)算NllO的程序塊的執(zhí)行時(shí)間,在步驟SllO中對(duì)自主軸控制指令起的時(shí)間T2進(jìn)行更新。程序解析部2在步驟Slll中對(duì)主軸加減速時(shí)間Tl和自主軸控制指令起的時(shí)間T2進(jìn)行比較。在自主軸控制指令起的時(shí)間T2更大的情況下(步驟Slll:Yes),程序解析部2結(jié)束處理。此時(shí),在預(yù)讀緩沖區(qū)7中存儲(chǔ)有N108、N109、N110 的指令。
[0052]指令判定部3在步驟S201中對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7的N108的指令進(jìn)行讀取。由于N108的指令為主軸旋轉(zhuǎn)指令(步驟S202:Yes),因此,向步驟S203、步驟S204前進(jìn),將主軸旋轉(zhuǎn)指令輸出,從預(yù)讀緩沖區(qū)7將主軸旋轉(zhuǎn)指令刪除。指令判定部3在步驟S205中確認(rèn)為在預(yù)讀緩沖區(qū)7中存在下一指令(步驟S205:Yes),在步驟S206中對(duì)N109的指令進(jìn)行讀取。由于N109的指令為定位指令(步驟S207:No),因此,向步驟S209前進(jìn),指令判定部3將定位指令輸出,結(jié)束處理。
[0053]如果N109的定位指令的動(dòng)作完畢,則程序解析部2在步驟SlOl中判斷為在預(yù)讀緩沖區(qū)7中還存儲(chǔ)有指令(步驟SlOl:Yes),因此,結(jié)束處理。
[0054]指令判定部3在步驟S201中對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7的NllO的指令進(jìn)行讀取。由于NllO的指令為定位指令(步驟S202:No),因此,向步驟S207:No、步驟S209前進(jìn),指令判定部3將定位指令輸出,結(jié)束處理。
[0055]如果NllO的定位指令的動(dòng)作完畢,則程序解析部2在步驟SlOl中確認(rèn)為在預(yù)讀緩沖區(qū)7中未存儲(chǔ)指令(步驟SlOl:No),在步驟S102中對(duì)主軸加減速時(shí)間Tl、自主軸控制指令起的時(shí)間T2進(jìn)行清零,在步驟S103中對(duì)Nlll的程序塊進(jìn)行讀取。由于Nlll的程序塊為切削指令(步驟S104:No),因此,程序解析部2結(jié)束處理。此時(shí),在預(yù)讀緩沖區(qū)7中存儲(chǔ)有Nlll的指令。
[0056]指令判定部3在步驟S201中對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7的Nlll的指令進(jìn)行讀取。由于Nlll的指令為切削指令(步驟S202:No),因此,向步驟S207:Yes、步驟S208:Yes、步驟S209前進(jìn),指令判定部3等待實(shí)際的主軸轉(zhuǎn)速14達(dá)到所指令出的轉(zhuǎn)速,將切削指令輸出,并結(jié)束處理。
[0057]圖5是圖4所示的加工程序例的時(shí)序圖。圖5(1)示出以往的動(dòng)作,圖5(2)示出本實(shí)施方式中的動(dòng)作。分別示出各步驟中的主軸轉(zhuǎn)速、軸移動(dòng)量、以及有無(wú)刀具更換動(dòng)作的關(guān)系。在以往的動(dòng)作中,是否主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速后進(jìn)入下一程序塊,取決于梯形圖。如果假設(shè)成為主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速后進(jìn)入下一程序塊,則如圖5(1)所示,在主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速以后執(zhí)行N104、N109、N110的定位指令。與其相對(duì),在本實(shí)施方式的動(dòng)作中,不取決于梯形圖,如圖5(2)那樣,即使主軸轉(zhuǎn)速未達(dá)到所指令出的轉(zhuǎn)速,仍執(zhí)行N104、N109、NllO的定位指令,另外,在主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速以后,執(zhí)行N105的刀具更換指令以及Nlll的切削指令。因此,即使不制作復(fù)雜的梯形圖,也能夠縮短加工時(shí)間。另外,如果出現(xiàn)當(dāng)主軸轉(zhuǎn)速發(fā)生變化時(shí)出現(xiàn)問(wèn)題的指令,或者從發(fā)出主軸控制指令起直至如果主軸轉(zhuǎn)速發(fā)生變化則出現(xiàn)問(wèn)題的指令為止的時(shí)間,比直至主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速為止的時(shí)間大,則程序解析部2的預(yù)讀結(jié)束,因此,能夠抑制數(shù)控裝置I中的處理負(fù)荷的增加。
[0058]如以上所述,根據(jù)本實(shí)施方式,數(shù)控裝置I中,在如果主軸轉(zhuǎn)速發(fā)生變化則出現(xiàn)問(wèn)題的指令的情況下,在主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速以后將該指令輸出,在除了如果主軸轉(zhuǎn)速發(fā)生變化則出現(xiàn)問(wèn)題的指令以外的情況下,即使主軸轉(zhuǎn)速未達(dá)到所指令出的轉(zhuǎn)速,仍將該指令輸出。由此,無(wú)需制作復(fù)雜的梯形圖,不會(huì)對(duì)加工精度以及機(jī)械造成影響,能夠縮短加工時(shí)間。
[0059]另外,在程序解析部2中,能夠適當(dāng)?shù)貨Q定進(jìn)行預(yù)讀的程序塊的數(shù)量,能夠抑制數(shù)控裝置處理負(fù)荷的增加。
[0060]實(shí)施方式2.
[0061]圖6是表示本實(shí)施方式所涉及的數(shù)控裝置I的程序解析部2中的處理順序的流程圖。圖6的流程圖與此前說(shuō)明的圖2的流程圖基本相同,因此,以它們的不同點(diǎn)為中心進(jìn)行說(shuō)明。步驟S101、步驟S102、步驟S103與圖2相同。程序解析部2在步驟S301中,判斷讀取到的指令是否為主軸旋轉(zhuǎn)指令,在是主軸旋轉(zhuǎn)指令的情況下(步驟S301:Yes),進(jìn)入步驟S105,在不是主軸旋轉(zhuǎn)指令的情況下(步驟S301:No),結(jié)束處理。步驟S105、步驟S106、步驟S107與圖2相同。程序解析部2在步驟S302中,判斷是否為切削指令,在不是切削指令的情況下(步驟S302:No),進(jìn)入步驟S109,在是切削指令的情況下(步驟S302:Yes),結(jié)束處理。步驟S109、步驟SllO與圖2相同。
[0062]圖7是表示本實(shí)施方式所涉及的數(shù)控裝置I的指令判定部3中的處理順序的流程圖。圖7的流程圖與此前說(shuō)明的圖3的流程圖基本相同,因此,以它們的不同之處為中心進(jìn)行說(shuō)明。步驟S201與圖3相同。指令判定部3在步驟S401中,判斷讀取到的指令是否為主軸旋轉(zhuǎn)指令,在是主軸旋轉(zhuǎn)指令的情況下(步驟S401:Yes),進(jìn)入步驟S402,在不是主軸旋轉(zhuǎn)指令的情況下(步驟S401:No),進(jìn)入步驟S404。指令判定部3在步驟S402中,對(duì)主軸加減速時(shí)間Tl和自主軸控制指令起的時(shí)間T2進(jìn)行比較,在主軸加減速時(shí)間Tl更大的情況下(步驟S402:No),進(jìn)入步驟S203,在自主軸控制指令起的時(shí)間T2更大的情況下(步驟S402:Yes),進(jìn)入步驟S403。指令判定部3在步驟S403中,對(duì)主軸的加減速時(shí)間常數(shù)進(jìn)行變更,以使得主軸加減速時(shí)間成為自主軸控制指令起的時(shí)間T2,進(jìn)入步驟S203。步驟S203、步驟S204、步驟S205、步驟S206與圖3相同。指令判定部3在步驟S404中,判斷是否為切削指令,在是切削指令的情況下(步驟S404:Yes),進(jìn)入步驟S208,在不是切削指令的情況下(步驟S404:No),進(jìn)入步驟S209。步驟S208、步驟S209與圖3相同。
[0063]接下來(lái),利用加工程序例并按照?qǐng)D6及圖7的流程圖對(duì)數(shù)控裝置I中的處理流程進(jìn)行具體說(shuō)明。圖8是表示在本實(shí)施方式中數(shù)控裝置I所處理的加工程序例的圖。首先,在程序解析部2中,在步驟SlOl中確認(rèn)為在預(yù)讀緩沖區(qū)7中未存儲(chǔ)指令(步驟SlOl:No),在步驟S102中對(duì)主軸加減速時(shí)間Tl、自主軸控制指令起的時(shí)間T2進(jìn)行清零,在步驟S103中對(duì)N201的程序塊進(jìn)行讀取。由于N201的程序塊為刀具更換指令(步驟S301:No),因此,程序解析部2結(jié)束處理。此時(shí),預(yù)讀緩沖區(qū)7中存儲(chǔ)有N201的指令。
[0064]指令判定部3在步驟S201中,對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7的N201的指令進(jìn)行讀取。由于N201的指令為刀具更換指令(步驟S401:No),因此,向步驟S404:No、步驟S209前進(jìn),指令判定部3將刀具更換指令輸出,并結(jié)束處理。
[0065]如果N201的刀具更換指令的動(dòng)作完畢,則程序解析部2在步驟SlOl中確認(rèn)為預(yù)讀緩沖區(qū)7中未存儲(chǔ)指令(步驟SlOl:No),在步驟S102中對(duì)主軸加減速時(shí)間Tl、自主軸控制指令起的時(shí)間T2進(jìn)行清零,在步驟S103中對(duì)N202的程序塊進(jìn)行讀取。由于N202的程序塊為定位指令(步驟S301:No),因此,程序解析部2結(jié)束處理。此時(shí),預(yù)讀緩沖區(qū)7中存儲(chǔ)有N202的指令。
[0066]指令判定部3在步驟S201中對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7的N202的指令進(jìn)行讀取。由于N202的指令為定位指令(步驟S401:No),因此,向步驟S404:No、步驟S209前進(jìn),指令判定部3將定位指令輸出,并結(jié)束處理。
[0067]由于下一個(gè)N203的程序塊也是定位指令,因此,程序解析部2以及指令判定部3進(jìn)行與N202的程序塊相同的處理。
[0068]如果N203的定位指令的動(dòng)作完畢,則程序解析部2在步驟SlOl中確認(rèn)為預(yù)讀緩沖區(qū)7中未存儲(chǔ)指令(步驟SlOl:No),在步驟S102中對(duì)主軸加減速時(shí)間Tl、自主軸控制指令起的時(shí)間T2進(jìn)行清零,在步驟S103中對(duì)N204的程序塊進(jìn)行讀取。由于N204的程序塊為主軸旋轉(zhuǎn)指令(步驟S301:Yes),因此,向步驟S105前進(jìn),程序解析部2計(jì)算主軸加減速時(shí)間Tl,進(jìn)入步驟S106。程序解析部2在步驟S106中確認(rèn)為存在下一程序塊(步驟S106:Yes),在步驟S107中對(duì)下一程序塊即N205的程序塊進(jìn)行讀取。由于N205的程序塊為定位指令(步驟S302:No),因此,向步驟S109前進(jìn),程序解析部2計(jì)算N205的程序塊的執(zhí)行時(shí)間,在步驟SllO中對(duì)自主軸控制指令起的時(shí)間T2進(jìn)行更新,返回到步驟S106。
[0069]程序解析部2在步驟S106中確認(rèn)為存在下一程序塊(步驟S106:Yes),在步驟S107中對(duì)下一程序塊即N206的程序塊進(jìn)行讀取。由于N206的程序塊也是定位指令,因此,程序解析部2對(duì)其進(jìn)行與N205的程序塊相同的處理。另外,由于N207的程序塊也是定位指令,因此,程序解析部2對(duì)其進(jìn)行同樣的處理。
[0070]程序解析部2在步驟S106中確認(rèn)為存在下一程序塊(步驟S106:Yes),在步驟S107中對(duì)下一程序塊即N208的程序塊進(jìn)行讀取。由于N208的程序塊為切削指令(步驟S302:Yes),因此,程序解析部2結(jié)束處理。此時(shí),預(yù)讀緩沖區(qū)7中存儲(chǔ)有N204、N205、N206、N207、N208 的指令。
[0071]指令判定部3在步驟S201中,對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7的N204的指令進(jìn)行讀取。由于N204的指令為主軸旋轉(zhuǎn)指令(步驟S401:Yes),因此,指令判定部3進(jìn)入步驟S402。指令判定部3在步驟S402中,對(duì)主軸加減速時(shí)間Tl和自主軸控制指令起的時(shí)間T2進(jìn)行比較,如果自主軸控制指令起的時(shí)間T2更大(步驟S402:Yes),則進(jìn)入步驟S403。指令判定部3在步驟S403中,對(duì)主軸的加減速時(shí)間常數(shù)進(jìn)行變更,向步驟S203、步驟S204前進(jìn),將主軸旋轉(zhuǎn)指令輸出,從預(yù)讀緩沖區(qū)7將主軸旋轉(zhuǎn)指令刪除。在步驟S205中確認(rèn)為在預(yù)讀緩沖區(qū)7中存在下一指令(步驟S205:Yes),在步驟S206中對(duì)N205的指令進(jìn)行讀取。由于N205的指令為定位指令(步驟S404:No),因此,向步驟S209前進(jìn),指令判定部3將定位指令輸出,并結(jié)束處理。
[0072]如果N205的定位指令的動(dòng)作完畢,由于程序解析部2在步驟SlOl中判斷為在預(yù)讀緩沖區(qū)7中還存儲(chǔ)有指令(步驟SlOl:Yes),因此,結(jié)束處理。
[0073]指令判定部3在步驟S201中,對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7的N206的指令進(jìn)行讀取。由于N206的指令為定位指令(步驟S401:No),因此,向步驟S404:No、步驟S209前進(jìn),將定位指令輸出,并結(jié)束處理結(jié)束。對(duì)N207的程序塊也進(jìn)行與N206的程序塊同樣的處理。
[0074]如果N207的定位指令的動(dòng)作完畢,則由于程序解析部2在步驟SlOl中判斷為在預(yù)讀緩沖區(qū)7中還存儲(chǔ)有指令(步驟SlOl:Yes),因此,結(jié)束處理。
[0075]指令判定部3在步驟S201中對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7的N208的指令進(jìn)行讀取。由于N208的指令為切削指令(步驟S401:No),因此,向步驟S404:Yes、步驟S208:Yes、步驟S209前進(jìn),確認(rèn)為實(shí)際的主軸轉(zhuǎn)速14達(dá)到所指令出的轉(zhuǎn)速,將切削指令輸出,并結(jié)束處理。
[0076]圖9是圖8所示的加工程序例的時(shí)序圖。圖9(1)示出以往的動(dòng)作,圖9(2)示出本實(shí)施方式中的動(dòng)作。在以往的動(dòng)作中,在達(dá)到從發(fā)出主軸旋轉(zhuǎn)指令起直至發(fā)出切削指令為止的時(shí)間(T2)之前,已經(jīng)使主軸轉(zhuǎn)速14達(dá)到所指令出的轉(zhuǎn)速,因此,與從發(fā)出主軸旋轉(zhuǎn)指令起直至發(fā)出切削指令為止的時(shí)間(T2)比較,在主軸加減速時(shí)間(Tl)極短的情況下,因無(wú)用的加速動(dòng)作而浪費(fèi)了消耗電力。在本實(shí)施方式中,在從發(fā)出主軸旋轉(zhuǎn)指令起直至發(fā)出切削指令為止的時(shí)間(T2)比主軸加減速時(shí)間(Tl)長(zhǎng)的情況下,以來(lái)得及發(fā)出切削指令的方式將主軸加減速時(shí)間(Tl)延長(zhǎng)。由此,加工時(shí)間不會(huì)改變,能夠削減消耗電力。
[0077]如以上說(shuō)明所述,根據(jù)本實(shí)施方式,在數(shù)控裝置I中,在直至主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速為止所需的時(shí)間存在富余的情況下,將主軸的加減速時(shí)間延長(zhǎng)。由此,在實(shí)施方式I的效果的基礎(chǔ)上,還能夠抑制消耗電力。
[0078]實(shí)施方式3.
[0079]圖10是表示本實(shí)施方式所涉及的數(shù)控裝置I的程序解析部2中的處理順序的流程圖。程序解析部2在步驟S501中判斷在預(yù)讀緩沖區(qū)7中是否存儲(chǔ)有指令,如果存儲(chǔ)有指令(步驟S501:Yes),則結(jié)束處理,如果未存儲(chǔ)指令(步驟S501:No),則進(jìn)入步驟S502。程序解析部2在步驟S502中,對(duì)加工程序6進(jìn)行讀取,進(jìn)入步驟S503。程序解析部2在步驟S503中,判斷讀取到的指令是否為主軸控制指令12,在是主軸控制指令12的情況下(步驟S503:Yes),進(jìn)入步驟S504,在不是主軸控制指令12的情況下(步驟S503:No),進(jìn)入步驟S505。程序解析部2在步驟S504中,將主軸控制指令12存儲(chǔ)于預(yù)讀緩沖區(qū)7的起始處。程序解析部2在步驟S505中,判斷是否為如果主軸轉(zhuǎn)速發(fā)生變化則出現(xiàn)問(wèn)題的指令,在是不出現(xiàn)問(wèn)題的指令的情況下(步驟S505:No),進(jìn)入步驟S506,在是出現(xiàn)問(wèn)題的指令的情況下(步驟S505:Yes),結(jié)束處理。程序解析部2在步驟S506中判斷是否存在下一程序塊,如果存在下一程序塊(步驟S506:Yes),則進(jìn)入步驟S507,如果不存在下一程序塊(步驟S506:No),則結(jié)束處理。程序解析部2在步驟S507中,對(duì)下一程序塊進(jìn)行讀取,返回到步驟S503。另外,程序解析部2所讀取到的程序塊的信息按順序存儲(chǔ)于預(yù)讀緩沖區(qū)7。
[0080]此外,表示本實(shí)施方式所涉及的數(shù)控裝置I的指令判定部3中的處理順序的流程圖與實(shí)施方式I (參照?qǐng)D3)相同。
[0081]接下來(lái),利用實(shí)施方式I所涉及的加工程序例(參照?qǐng)D4)并按照?qǐng)D10及圖3的流程圖,對(duì)數(shù)控裝置I中的處理流程進(jìn)行具體說(shuō)明。首先,在程序解析部2中,在步驟S501中確認(rèn)為在預(yù)讀緩沖區(qū)7中未存儲(chǔ)指令(步驟S501:No),在步驟S502中對(duì)NlOl的程序塊進(jìn)行讀取。由于程序解析部2判斷為NlOl的程序塊是切削指令(步驟S503:No),因此,向步驟S505 =Yes前進(jìn),結(jié)束處理。此時(shí),在預(yù)讀緩沖區(qū)7中存儲(chǔ)NlOl的指令。
[0082]指令判定部3在步驟S201中對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7的NlOl的指令進(jìn)行讀取。由于NlOl的指令為切削指令(步驟S202:No),因此,向步驟S207:Yes、步驟S208:Yes、步驟S209前進(jìn),指令判定部3將切削指令輸出,并結(jié)束處理。
[0083]如果NlOl的切削指令的動(dòng)作完畢,則程序解析部2在步驟S501中確認(rèn)為在預(yù)讀緩沖區(qū)7中未存儲(chǔ)指令(步驟S501:No),在步驟S502中對(duì)N102的程序塊進(jìn)行讀取。由于N102的程序塊為定位指令(步驟S503:No),因此,向步驟S505 =No前進(jìn),程序解析部2在步驟S506中確認(rèn)為存在下一程序塊(步驟S506:Yes),在步驟S507中對(duì)下一程序塊即N103的程序塊進(jìn)行讀取。由于N103的程序塊為主軸停止指令(步驟S503:Yes),因此,向步驟S504前進(jìn),程序解析部2將主軸停止指令插入至預(yù)讀緩沖區(qū)7的起始處,并結(jié)束處理。此時(shí),在預(yù)讀緩沖區(qū)7中按照N103、N102的順序存儲(chǔ)指令。
[0084]指令判定部3在步驟S201中對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7的N103的指令進(jìn)行讀取。由于N103的指令為主軸停止指令(步驟S202:Yes),因此,向步驟S203、步驟S204前進(jìn),將主軸停止指令輸出,從預(yù)讀緩沖區(qū)7將主軸停止指令刪除。指令判定部3在步驟S205中確認(rèn)為在預(yù)讀緩沖區(qū)7中存在下一指令(步驟S205:Yes),在步驟S206中對(duì)N102的指令進(jìn)行讀取。由于N102的指令為定位指令(步驟S207:No),因此,向步驟S209前進(jìn),指令判定部3將定位指令輸出,并結(jié)束處理。
[0085]如果N102的定位指令的動(dòng)作完畢,則程序解析部2在步驟S501中確認(rèn)為在預(yù)讀緩沖區(qū)7中未存儲(chǔ)指令(步驟S501:No),在步驟S502中對(duì)N104的程序塊進(jìn)行讀取。由于N104的程序塊為定位指令(步驟S503:No),因此,向步驟S505 =No前進(jìn),程序解析部2在步驟S506中確認(rèn)為存在下一程序塊(步驟S506:Yes),在步驟S507中對(duì)下一程序塊即N105的程序塊進(jìn)行讀取。由于N105的程序塊為刀具更換指令(步驟S503:No),因此,向步驟S505 =Yes前進(jìn),程序解析部2結(jié)束處理。此時(shí),在預(yù)讀緩沖區(qū)7中存儲(chǔ)有N104、N105的指令。
[0086]指令判定部3在步驟S201中對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7的N104的指令進(jìn)行讀取。由于N104的指令為定位指令(步驟S202:No),因此,向步驟S207:No、步驟S209前進(jìn),將定位指令輸出,并結(jié)束處理。如果N104的定位指令的動(dòng)作完畢,則指令判定部3在步驟S201中對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7的N105的指令進(jìn)行讀取。由于N105的指令為刀具更換指令(步驟S202:No),因此,向步驟S207:Yes、步驟S208:Yes、步驟S209前進(jìn),指令判定部3等待實(shí)際的主軸轉(zhuǎn)速14達(dá)到所指令出的轉(zhuǎn)速即零速度,將刀具更換指令輸出,并結(jié)束處理。
[0087]如果N105的刀具更換指令的動(dòng)作完畢,則程序解析部2在步驟S501中確認(rèn)為在預(yù)讀緩沖區(qū)7中未存儲(chǔ)指令(步驟S501:No),在步驟S502中對(duì)N106的程序塊進(jìn)行讀取。由于N106的程序塊為定位指令(步驟S503:No),因此,向步驟S505 =No前進(jìn),程序解析部2在步驟S506中確認(rèn)為存在下一程序塊(步驟S506:Yes),在步驟S507中對(duì)下一程序塊即N107的程序塊進(jìn)行讀取。由于N107的程序塊為定位指令(步驟S503:No),因此,向步驟S505 =No前進(jìn),程序解析部2在步驟S506中確認(rèn)為存在下一程序塊(步驟S506:Yes),在步驟S507中對(duì)下一程序塊即N108的程序塊進(jìn)行讀取。由于N108的程序塊為主軸旋轉(zhuǎn)指令,因此,向步驟S503(步驟S503:Yes)、步驟S504前進(jìn),程序解析部2將主軸旋轉(zhuǎn)指令插入至預(yù)讀緩沖區(qū)7的起始處,并結(jié)束處理。此時(shí),在預(yù)讀緩沖區(qū)7中按照N108、N106、N107的順序存儲(chǔ)指令。
[0088]指令判定部3在步驟S201中,對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7的N108的指令進(jìn)行讀取。由于N108的指令為主軸旋轉(zhuǎn)指令(步驟S202:Yes),因此,向步驟S203、步驟S204前進(jìn),指令判定部3將主軸旋轉(zhuǎn)指令輸出,從預(yù)讀緩沖區(qū)7將主軸旋轉(zhuǎn)指令刪除。指令判定部3在步驟S205中確認(rèn)為在預(yù)讀緩沖區(qū)7中存在下一指令(步驟S205:Yes),在步驟S206中對(duì)N106的指令進(jìn)行讀取。由于N106的指令為定位指令(步驟S207:No),因此,向步驟S209前進(jìn),指令判定部3將定位指令輸出,并結(jié)束處理。如果N106的定位指令的動(dòng)作完畢,則指令判定部3在步驟S201中對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7的N107的指令進(jìn)行讀取。由于N107的指令為定位指令(步驟S202:No),因此,向步驟S207:No、步驟S209前進(jìn),指令判定部3將定位指令輸出,并結(jié)束處理。
[0089]如果N107的定位指令的動(dòng)作完畢,則程序解析部2在步驟S501中確認(rèn)為在預(yù)讀緩沖區(qū)7中未存儲(chǔ)指令(步驟S501:No),在步驟S502中對(duì)N109的程序塊進(jìn)行讀取。由于N109的程序塊為定位指令(步驟S503:No),因此,向步驟S505 =No前進(jìn),程序解析部2在步驟S506中確認(rèn)為存在下一程序塊(步驟S506:Yes),在步驟S507中對(duì)下一程序塊即NllO的程序塊進(jìn)行讀取。由于NllO的程序塊為定位指令(步驟S503:No),因此,向步驟S505:No前進(jìn),程序解析部2在步驟S506中確認(rèn)為存在下一程序塊(步驟S506:Yes),在步驟S507中對(duì)下一程序塊即Nlll的程序塊進(jìn)行讀取。由于Nlll的程序塊為切削指令(步驟S503:No),因此,向步驟S505 =Yes前進(jìn),程序解析部2結(jié)束處理。此時(shí),在預(yù)讀緩沖區(qū)7中存儲(chǔ)有N109、N110、N111 的指令。
[0090]指令判定部3在步驟S201中對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7的N109的指令進(jìn)行讀取。由于N109的指令為定位指令(步驟S202:No),因此,向步驟S207:No、步驟S209前進(jìn),指令判定部3將定位指令輸出,并結(jié)束處理。如果N109的定位指令的動(dòng)作完畢,則指令判定部3在步驟S201中對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7的NllO的指令進(jìn)行讀取。由于NllO的指令為定位指令(步驟S202:No),因此,向步驟S207:No、步驟S209前進(jìn),指令判定部3將定位指令輸出,并結(jié)束處理。如果NllO的定位指令的動(dòng)作完畢,則指令判定部3在步驟S201中對(duì)存儲(chǔ)于預(yù)讀緩沖區(qū)7的Nlll的指令進(jìn)行讀取。由于Nlll的指令為切削指令(步驟S202:No),因此,向步驟S207:Yes、步驟S208:Yes、步驟S209前進(jìn),指令判定部3等待實(shí)際的主軸轉(zhuǎn)速14達(dá)到所指令出的轉(zhuǎn)速,將切削指令輸出,并結(jié)束處理。
[0091]圖11是圖4所示的加工程序例的時(shí)序圖。圖11(1)示出以往的動(dòng)作,圖11⑵示出本實(shí)施方式中的動(dòng)作。在以往的動(dòng)作中,是否主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速后進(jìn)入下一程序塊,取決于梯形圖。假設(shè)如果成為主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速后進(jìn)入下一程序塊,則如圖11(1)所示,在主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速以后執(zhí)行N104、N109的定位指令。與此相對(duì),在本實(shí)施方式的動(dòng)作中,并不取決于梯形圖,如圖11(2)所示,即使主軸轉(zhuǎn)速未達(dá)到所指令出的轉(zhuǎn)速,仍執(zhí)行N104、N109的定位指令,另外,在主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速以后執(zhí)行N105的刀具更換指令、Nlll的切削指令。因此,即使不制作復(fù)雜的梯形圖,也能夠縮短加工時(shí)間。進(jìn)而,如果NlOl的切削指令完畢,則將N103的主軸停止指令輸出,因此,能夠縮短直至執(zhí)行N105的刀具更換指令為止的等待時(shí)間。
[0092]此外,作為除了刀具更換指令以及切削指令以外的指令,對(duì)于主軸控制指令之前的指令,還能夠預(yù)先設(shè)定為提前輸出禁止指令。在該情況下,指令判定部3判斷主軸控制指令之前的指令是否為預(yù)先設(shè)定成提前輸出禁止指令的指令,在除了提前輸出禁止指令以外的情況下,與由加工程序6所指定出的定時(shí)相比,提前進(jìn)行輸出。
[0093]如以上說(shuō)明所述,根據(jù)本實(shí)施方式,在數(shù)控裝置I中,在除了如果主軸轉(zhuǎn)速發(fā)生變化則出現(xiàn)問(wèn)題的指令以外的情況下,與由加工程序所指定出的定時(shí)相比,提前將主軸控制指令輸出。由此,無(wú)需制作復(fù)雜的梯形圖,不會(huì)對(duì)加工及機(jī)械造成影響,能夠縮短加工時(shí)間。
[0094]實(shí)施方式4.
[0095]圖12是表示本實(shí)施方式所涉及的數(shù)控裝置I的程序解析部2中的處理順序的流程圖。程序解析部2在步驟S601中判斷在預(yù)讀緩沖區(qū)7中是否存儲(chǔ)有指令,如果存儲(chǔ)有指令,則結(jié)束處理(步驟S601:Yes),如果未存儲(chǔ)指令(步驟S601:No),則進(jìn)入步驟S602。程序解析部2在步驟S602中,對(duì)主軸加減速時(shí)間Tl、自主軸控制指令起的時(shí)間T2、直至主軸控制指令為止的時(shí)間T3、主軸控制指令輸出定時(shí)Ts進(jìn)行清零,將主軸控制指令標(biāo)志設(shè)為0FF,進(jìn)入步驟S603。程序解析部2在步驟S603中,對(duì)加工程序6進(jìn)行讀取,進(jìn)入步驟S604。程序解析部2在步驟S604中,判斷讀取到的指令是否為主軸旋轉(zhuǎn)指令,在不是主軸旋轉(zhuǎn)指令的情況下(步驟S604:No),進(jìn)入步驟S605,在是主軸旋轉(zhuǎn)指令的情況下(步驟S604:Yes),進(jìn)入步驟S610。程序解析部2在步驟S605中,判定讀取到的指令是否為如果主軸轉(zhuǎn)速發(fā)生變化則出現(xiàn)問(wèn)題的指令,在是出現(xiàn)問(wèn)題的指令的情況下(步驟S605:Yes),結(jié)束處理,在是不出現(xiàn)問(wèn)題的指令的情況下(步驟S605:No),進(jìn)入步驟S606。程序解析部2在步驟S606中計(jì)算讀取到的指令的執(zhí)行時(shí)間,進(jìn)入步驟S607。程序解析部2在步驟S607對(duì)步驟S606中計(jì)算出的執(zhí)行時(shí)間進(jìn)行累計(jì),計(jì)算直至主軸控制指令為止的時(shí)間T3,進(jìn)入步驟S608。程序解析部2在步驟S608中判斷是否存在下一程序塊,在存在下一程序塊的情況下(步驟S608:Yes),進(jìn)入步驟S609,在不存在下一程序塊的情況下(步驟S608:No),結(jié)束處理。程序解析部2在步驟S609中對(duì)下一程序塊進(jìn)行讀取,返回到步驟S604。
[0096]另外,程序解析部2在步驟S610中將主軸控制指令標(biāo)志設(shè)為0N,計(jì)算主軸加減速時(shí)間Tl,進(jìn)入步驟S611。程序解析部2在步驟S611中,判斷是否存在下一程序塊,如果存在下一程序塊(步驟S611:Yes),則進(jìn)入步驟S612,如果不存在下一程序塊(步驟S611:No),則結(jié)束處理。程序解析部2在步驟S612中,對(duì)下一程序塊進(jìn)行讀取,進(jìn)入步驟S613。程序解析部2在步驟S613中判斷讀取到的程序塊是否為如果主軸轉(zhuǎn)速發(fā)生變化則出現(xiàn)問(wèn)題的指令,在是出現(xiàn)問(wèn)題的指令的情況下(步驟S613:Yes),進(jìn)入步驟S616,在是不出現(xiàn)問(wèn)題的指令的情況下(步驟S613:No),進(jìn)入步驟S614。程序解析部2在步驟S614中計(jì)算讀取到的指令的執(zhí)行時(shí)間,進(jìn)入步驟S615。程序解析部2在步驟S615對(duì)步驟S614中計(jì)算出的執(zhí)行時(shí)間進(jìn)行累計(jì),計(jì)算自主軸控制指令起的時(shí)間T2,返回到步驟S611。程序解析部2在步驟S616中根據(jù)主軸加減速時(shí)間Tl、自主軸控制指令起的時(shí)間T2、直至主軸控制指令為止的時(shí)間T3而計(jì)算主軸控制指令輸出定時(shí)Ts (Ts = T3 - (Tl - T2)),結(jié)束處理。另外,程序解析部2讀取到的程序塊的信息以及計(jì)算出的執(zhí)行時(shí)間按順序存儲(chǔ)于預(yù)讀緩沖區(qū)7。
[0097]圖13是表示本實(shí)施方式所涉及的數(shù)控裝置I的指令判定部3中的處理順序的流程圖。在指令判定部3中,程序解析部2進(jìn)行解析,并基于存儲(chǔ)于預(yù)讀緩沖區(qū)7的指令的信息而按順序進(jìn)行處理。指令判定部3在步驟S701中,判斷主軸控制指令標(biāo)志是否為0N,在是ON的情況下(步驟S701:Yes),進(jìn)入步驟S702,在是OFF的情況下(步驟S701:No),進(jìn)入步驟S712。指令判定部3在步驟S702中,從預(yù)讀緩沖區(qū)7讀取I個(gè)指令,進(jìn)入步驟S703。指令判定部3在步驟S703中判斷讀取到的指令是否為主軸旋轉(zhuǎn)指令,在是主軸旋轉(zhuǎn)指令的情況下(步驟S703:Yes),進(jìn)入步驟S704,在不是主軸旋轉(zhuǎn)指令的情況下(步驟S703:No),進(jìn)入步驟S713。指令判定部3在步驟S704中,將主軸旋轉(zhuǎn)指令輸出,進(jìn)入步驟S705。指令判定部3在步驟S705中,從預(yù)讀緩沖區(qū)7將主軸旋轉(zhuǎn)指令刪除,進(jìn)入步驟S706。指令判定部3在步驟S706中將主軸控制指令標(biāo)志設(shè)為0FF,進(jìn)入步驟S707。指令判定部3在步驟S707中,判斷在預(yù)讀緩沖區(qū)7中是否存儲(chǔ)有下一指令,如果存儲(chǔ)有下一指令(步驟S707:Yes),則進(jìn)入步驟S708,如果未存儲(chǔ)下一指令(步驟S707:No),則結(jié)束處理。指令判定部3在步驟S708中從預(yù)讀緩沖區(qū)7讀取下一指令,進(jìn)入步驟S709。指令判定部3在步驟S709中判斷讀取到的指令是否為如果主軸轉(zhuǎn)速發(fā)生變化則出現(xiàn)問(wèn)題的指令,在是出現(xiàn)問(wèn)題的指令的情況下(步驟S709:Yes),進(jìn)入步驟S710,在是不出現(xiàn)問(wèn)題的指令的情況下(步驟S709:No),進(jìn)入步驟S711。指令判定部3在步驟S710中判斷實(shí)際的主軸轉(zhuǎn)速14是否達(dá)到所指令出的轉(zhuǎn)速,如果未達(dá)到所指令出的轉(zhuǎn)速(步驟S710:No),則進(jìn)行等待直至其達(dá)到所指令出的轉(zhuǎn)速(步驟S710:Yes),進(jìn)入步驟S711。指令判定部3在步驟S711中,將讀取到的指令輸出,并結(jié)束處理。指令判定部3在步驟S712中,從預(yù)讀緩沖區(qū)7讀取I個(gè)指令,進(jìn)入步驟S709。
[0098]另外,指令判定部3在步驟S713中,將讀取到的指令輸出,進(jìn)入步驟S714。指令判定部3在步驟S714中,從主軸控制指令輸出定時(shí)Ts減去讀取到的指令的執(zhí)行時(shí)間,進(jìn)入步驟S715。指令判定部3在步驟S715中確認(rèn)主軸控制指令輸出定時(shí)Ts是否小于或等于0,如果小于或等于O (步驟S715:Yes),則進(jìn)入步驟S716,如果不小于或等于O (步驟S715:No),則結(jié)束處理。指令判定部3在步驟S716中將主軸旋轉(zhuǎn)指令輸出,進(jìn)入步驟S717。指令判定部3在步驟S717中,從預(yù)讀緩沖區(qū)7將主軸旋轉(zhuǎn)指令刪除,進(jìn)入步驟S718。指令判定部3在步驟S718中,將主軸控制指令標(biāo)志設(shè)為0FF,并結(jié)束處理。
[0099]接下來(lái),利用加工程序例并按照?qǐng)D12及圖13的流程圖對(duì)數(shù)控裝置I中的處理流程進(jìn)行具體說(shuō)明。圖14是表示在本實(shí)施方式中數(shù)控裝置I所處理的加工程序例的圖。首先,在程序解析部2中,在步驟S601中確認(rèn)為在預(yù)讀緩沖區(qū)7中未存儲(chǔ)指令(步驟S601:No),在步驟S602中,對(duì)主軸加減速時(shí)間Tl、自主軸控制指令起的時(shí)間T2、直至主軸控制指令為止的時(shí)間T3、主軸控制指令輸出定時(shí)Ts進(jìn)行清零,將主軸控制指令標(biāo)志設(shè)為OFF。程序解析部2在步驟S603中,對(duì)N301的程序塊進(jìn)行讀取。由于N301的程序塊為刀具更換指令(步驟S604:No),因此,向步驟S605:No、步驟S606前進(jìn),程序解析部2計(jì)算程序塊執(zhí)行時(shí)間,在步驟S607中計(jì)算直至主軸控制指令為止的時(shí)間T3。程序解析部2在步驟S608中確認(rèn)為存在下一程序塊(步驟S608:Yes),在步驟S609中,對(duì)N302的程序塊進(jìn)行讀取。
[0100]由于N302的程序塊為定位指令(步驟S604:No),因此,與N301的程序塊相同地,向步驟S605:No、步驟S606、步驟S607前進(jìn),程序解析部2計(jì)算N302的程序塊的程序塊執(zhí)行時(shí)間,對(duì)直至主軸控制指令為止的時(shí)間T3進(jìn)行更新。向步驟S608:Yes、步驟S609前進(jìn),程序解析部2對(duì)N303的程序塊進(jìn)行讀取。
[0101]由于N303的程序塊也是定位指令(步驟S604:No),因此,與N302的程序塊相同地,向步驟S605:No、步驟S606、步驟S607前進(jìn),程序解析部2計(jì)算N303的程序塊的程序塊執(zhí)行時(shí)間,對(duì)直至主軸控制指令為止的時(shí)間T3進(jìn)行更新。向步驟S608:Yes、步驟S609前進(jìn),程序解析部2對(duì)N304的程序塊進(jìn)行讀取。
[0102]由于N304的程序塊為主軸旋轉(zhuǎn)指令(步驟S604:Yes),因此,向步驟S610前進(jìn),程序解析部2將主軸控制指令標(biāo)志設(shè)為0N,計(jì)算主軸加減速時(shí)間Tl。向步驟S611:Yes、步驟S612前進(jìn),程序解析部2對(duì)N305的程序塊進(jìn)行讀取。由于N305的程序塊為定位指令(步驟S613:No),因此,向步驟S614前進(jìn),程序解析部2計(jì)算程序塊執(zhí)行時(shí)間,在步驟S615中計(jì)算自主軸控制指令起的時(shí)間T2。
[0103]返回到步驟S611,向步驟S611:Yes、步驟S612前進(jìn),程序解析部2對(duì)N306的程序塊進(jìn)行讀取。由于N306的程序塊也是定位指令(步驟S613:No),因此,與N305的程序塊相同地,向步驟S614前進(jìn),程序解析部2計(jì)算程序塊執(zhí)行時(shí)間,在步驟S615中計(jì)算自主軸控制指令起的時(shí)間T2。
[0104]返回到步驟S611,向步驟S611:Yes、步驟S612前進(jìn),程序解析部2對(duì)N307的程序塊進(jìn)行讀取。由于N307的程序塊為切削指令(步驟S613:Yes),因此,向步驟S616前進(jìn),程序解析部2計(jì)算主軸控制指令輸出定時(shí)Ts,并結(jié)束處理。此時(shí),在預(yù)讀緩沖區(qū)7中存儲(chǔ)從N301至N307的指令,另外,對(duì)于從N301至N303、N305、N306的程序塊,還存儲(chǔ)程序塊執(zhí)行時(shí)間。
[0105]指令判定部3按順序處理在預(yù)讀緩沖區(qū)7中存儲(chǔ)的從N301至N307的指令。首先,指令判定部3在步驟S701中,確認(rèn)王軸控制指令標(biāo)志是否為0N,由于王軸控制指令標(biāo)志為ON(步驟S701:Yes),因此,進(jìn)入步驟S702。指令判定部3在步驟S702中,對(duì)N301的指令進(jìn)行讀取。由于N301的指令為刀具更換指令(步驟S703:No),因此,向步驟S713前進(jìn),指令判定部3將指令輸出。指令判定部3在步驟S714中,從主軸控制指令輸出定時(shí)Ts減去N301的程序塊執(zhí)行時(shí)間。指令判定部3在步驟S715中,判斷主軸控制指令輸出定時(shí)Ts是否小于或等于O。假設(shè)指令判定部3判斷為在當(dāng)前時(shí)刻主軸控制指令輸出定時(shí)Ts不小于或等于O (步驟S715:No),則結(jié)束處理。
[0106]如果N301的指令完畢,向步驟S701:Yes、步驟S702前進(jìn),指令判定部3對(duì)N302的指令進(jìn)行讀取。由于N302為定位指令(步驟S703:No),因此,向步驟S713前進(jìn),指令判定部3將指令輸出。指令判定部3在步驟S714中,從主軸控制指令輸出定時(shí)Ts減去N302的程序塊執(zhí)行時(shí)間。假設(shè)指令判定部3在步驟S715中,判斷為在當(dāng)前時(shí)刻主軸控制指令輸出定時(shí)Ts不小于或等于O (步驟S715:No),則結(jié)束處理。
[0107]如果N302的指令完畢,則向步驟S701:Yes、步驟S702前進(jìn),指令判定部3對(duì)N303的指令進(jìn)行讀取。由于N303為定位指令(步驟S703:No),因此,向步驟S713前進(jìn),指令判定部3將指令輸出。指令判定部3在步驟S714中從主軸控制指令輸出定時(shí)Ts減去N303的程序塊執(zhí)行時(shí)間。假設(shè)指令判定部3在步驟S715中,判斷為在當(dāng)前時(shí)刻主軸控制指令輸出定時(shí)Ts小于或等于0(步驟S715:Yes),則進(jìn)入步驟S716,將主軸旋轉(zhuǎn)指令(N304)輸出,進(jìn)入步驟S717,從預(yù)讀緩沖區(qū)7將主軸旋轉(zhuǎn)指令(N304)刪除,進(jìn)入步驟S718,將主軸控制指令標(biāo)志設(shè)為OFF,并結(jié)束處理。
[0108]如果N303的指令完畢,則向步驟S701:No、步驟S712前進(jìn),指令判定部3對(duì)N305的指令進(jìn)行讀取。由于N305的指令為定位指令(步驟S709:No),因此,進(jìn)入步驟S711,指令判定部3將指令輸出,并結(jié)束處理。
[0109]如果N305的指令完畢,則向步驟S701:No、步驟S712前進(jìn),指令判定部3對(duì)N306的指令進(jìn)行讀取。由于N306的指令為定位指令(步驟S709:No),因此,進(jìn)入步驟S711,指令判定部3將指令輸出,并結(jié)束處理。
[0110]如果N306的指令完畢,則向步驟S701:No、步驟S712前進(jìn),指令判定部3對(duì)N307的指令進(jìn)行讀取。由于N307的指令為切削指令,因此,向步驟S709:Yes、步驟S710前進(jìn),指令判定部3等待實(shí)際的主軸轉(zhuǎn)速14達(dá)到所指令出的轉(zhuǎn)速。如果實(shí)際的主軸轉(zhuǎn)速14達(dá)到所指令出的轉(zhuǎn)速,則進(jìn)入步驟S711,指令判定部3將指令輸出,并結(jié)束處理。
[0111]圖15是圖14所示的加工程序例的時(shí)序圖。圖15(1)示出以往的動(dòng)作,圖15⑵示出本實(shí)施方式中的動(dòng)作。在以往的動(dòng)作中,是否主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速后進(jìn)入下一程序塊,取決于梯形圖。假設(shè)如果成為主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速后進(jìn)入下一程序塊,則如圖15(1)所示,在主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速以后執(zhí)行N305、N306的定位指令。另外,N304的主軸旋轉(zhuǎn)指令也在N303的移動(dòng)完畢以后被輸出。與此相對(duì),在本實(shí)施方式的動(dòng)作中,不取決于梯形圖,如圖15(2)所示,即使主軸轉(zhuǎn)速未達(dá)到所指令出的轉(zhuǎn)速,仍執(zhí)行N305、N306的定位指令,另外,在主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速以后,執(zhí)行N307的切削指令。因此,即使不制作復(fù)雜的梯形圖,也能夠縮短加工時(shí)間。進(jìn)而,以使主軸旋轉(zhuǎn)速度與N307的切削指令開(kāi)始的定時(shí)匹配地達(dá)到所指令出的轉(zhuǎn)速的方式,輸出N304的主軸旋轉(zhuǎn)指令,因此,能夠縮短直至執(zhí)行N307的切削指令為止的等待時(shí)間。
[0112]如以上說(shuō)明所述,根據(jù)本實(shí)施方式,在數(shù)控裝置I中,成為先將主軸控制指令輸出,對(duì)于如果主軸轉(zhuǎn)速發(fā)生變化則出現(xiàn)問(wèn)題的指令,消除直至主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速為止的等待時(shí)間。由此,能夠縮短加工時(shí)間。
[0113]此外,可以在數(shù)控裝置I中具備顯示部,在顯示部的畫面上,將由加工程序所指定出的定時(shí)的變更信息向作業(yè)者輸出。圖16是表示數(shù)控裝置I所具備的顯示部的顯示畫面的例子的圖。
[0114]圖16(1)是表示以往的數(shù)控裝置的畫面的顯示例的圖。在畫面20中,顯示有機(jī)械位置等位置信息21、模態(tài)的狀態(tài)等模態(tài)信息22、切削速度及主軸轉(zhuǎn)速等加工信息23、加工程序信息24等。在從由加工程序所指定出的定時(shí)起對(duì)主軸控制指令12進(jìn)行變更并將其輸出的情況下,從畫面20進(jìn)行通知,以使得作業(yè)者知曉要輸出的定時(shí)的變更。
[0115]圖16(2)是表示本實(shí)施方式的數(shù)控裝置的畫面的顯示例的圖。示出對(duì)主軸控制指令的輸出定時(shí)進(jìn)行變更后的情形。在從由加工程序所指定出的定時(shí)起對(duì)主軸控制指令12進(jìn)行變更并將其輸出的情況下,將加工程序信息24分割為2部分,在一部分中顯示原加工程序。此時(shí),與原來(lái)的顯示相比,對(duì)要變更的主軸控制指令12與原顯示相比進(jìn)行淡化顯示。在另一部分中,與輸出的定時(shí)相對(duì)應(yīng)地對(duì)要變更的主軸控制指令12進(jìn)行顯示。這樣,通過(guò)從畫面對(duì)要變更的定時(shí)進(jìn)行通知,作業(yè)者能夠掌握機(jī)械的動(dòng)作,能夠安心地進(jìn)行作業(yè)。
[0116]標(biāo)號(hào)的說(shuō)明
[0117]I數(shù)控裝置
[0118]2程序解析部
[0119]3指令判定部
[0120]4插補(bǔ)部
[0121]5主軸控制指令輸出部
[0122]6加工程序
[0123]7預(yù)讀緩沖區(qū)
[0124]8伺服放大器
[0125]9主軸放大器
[0126]10移動(dòng)指令
[0127]11移動(dòng)量
[0128]12主軸控制指令
[0129]13主軸轉(zhuǎn)速
[0130]14實(shí)際的主軸轉(zhuǎn)速
[0131]20 畫面
[0132]21位置信息
[0133]22模態(tài)信息
[0134]23加工信息
[0135]24加工程序信息
【權(quán)利要求】
1.一種數(shù)控裝置,其是能夠控制主軸轉(zhuǎn)速的工作機(jī)械的數(shù)控裝置, 該數(shù)控裝置的特征在于,具備: 程序解析部,其預(yù)讀大于或等于I個(gè)程序塊的加工程序,進(jìn)行針對(duì)所述工作機(jī)械的指令的解析;以及 指令判定部,其基于所述程序解析部的解析結(jié)果,針對(duì)主軸控制指令之后的指令,判斷是否會(huì)因在主軸轉(zhuǎn)速變化過(guò)程中執(zhí)行該指令而在加工方面產(chǎn)生某種問(wèn)題,對(duì)于在加工方面產(chǎn)生某種問(wèn)題的第一指令,在所述主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速之后進(jìn)行輸出,對(duì)于除了所述第一指令以外的第二指令,在所述主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速之前進(jìn)行輸出。
2.根據(jù)權(quán)利要求1所述的數(shù)控裝置,其特征在于, 所述程序解析部計(jì)算第一指令開(kāi)始時(shí)間以及到達(dá)時(shí)間,基于所述第一指令開(kāi)始時(shí)間以及所述到達(dá)時(shí)間,決定所述主軸控制指令之后進(jìn)行預(yù)讀的程序塊數(shù)量,其中,所述第一指令開(kāi)始時(shí)間為從發(fā)出所述主軸控制指令起直至所述第一指令開(kāi)始為止的時(shí)間,所述到達(dá)時(shí)間為直至所述主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速為止的時(shí)間。
3.根據(jù)權(quán)利要求1及2所述的數(shù)控裝置,其特征在于, 所述指令判定部,對(duì)所述主軸旋轉(zhuǎn)指令之后的指令是否為切削指令進(jìn)行判斷,在為所述切削指令的情況下,在所述主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速以后,將該切削指令輸出,在除了所述切削指令以外的指令的情況下,在所述主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速以前,將除了該切削指令以外的指令輸出。
4.根據(jù)權(quán)利要求1及2所述的數(shù)控裝置,其特征在于, 所述指令判定部,對(duì)所述主軸停止指令之后的指令是否為刀具更換指令進(jìn)行判斷,在為所述刀具更換指令的情況下,在所述主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速以后,將該刀具更換指令輸出,在除了所述刀具更換指令以外的指令的情況下,在所述主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速以前,將除了該刀具更換指令以外的指令輸出。
5.根據(jù)權(quán)利要求1所述的數(shù)控裝置,其特征在于, 所述程序解析部,計(jì)算切削指令開(kāi)始時(shí)間以及到達(dá)時(shí)間,其中,所述切削指令開(kāi)始時(shí)間為從發(fā)出所述主軸控制指令起直至切削指令開(kāi)始為止的時(shí)間,所述到達(dá)時(shí)間為直至所述主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速為止的時(shí)間, 所述指令判定部,對(duì)所述切削指令開(kāi)始時(shí)間和所述到達(dá)時(shí)間進(jìn)行比較,在所述切削指令開(kāi)始時(shí)間更長(zhǎng)的情況下,進(jìn)行在所述切削指令開(kāi)始時(shí)間的范圍內(nèi)將所述到達(dá)時(shí)間延長(zhǎng)的控制。
6.一種數(shù)控裝置,其是能夠控制主軸轉(zhuǎn)速的工作機(jī)械的數(shù)控裝置, 該數(shù)控裝置的特征在于,具備: 程序解析部,其預(yù)讀大于或等于I個(gè)程序塊的加工程序,進(jìn)行針對(duì)所述工作機(jī)械的指令的解析;以及 指令判定部,其基于所述程序解析部的解析結(jié)果,針對(duì)主軸控制指令之前的指令,判斷是否會(huì)因在主軸轉(zhuǎn)速變化過(guò)程中執(zhí)行該指令而在加工方面產(chǎn)生某種問(wèn)題,在除了在加工方面產(chǎn)生某種問(wèn)題的指令以外的指令的情況下,與由所述加工程序所指定出的定時(shí)相比,提前將所述主軸控制指令輸出。
7.根據(jù)權(quán)利要求6所述的數(shù)控裝置,其特征在于, 所述指令判定部,對(duì)主軸旋轉(zhuǎn)指令之前的指令是否為切削指令或刀具更換指令進(jìn)行判斷,在是除了所述切削指令以外的指令、且是除了所述刀具更換指令以外的指令的情況下,與由所述加工程序所指定出的定時(shí)相比,提前將所述主軸旋轉(zhuǎn)指令輸出。
8.根據(jù)權(quán)利要求6所述的數(shù)控裝置,其特征在于, 所述指令判定部,對(duì)主軸停止指令之前的指令是否為切削指令進(jìn)行判斷,在除了所述切削指令以外的指令的情況下,與由所述加工程序所指定出的定時(shí)相比,提前將所述主軸停止指令輸出。
9.根據(jù)權(quán)利要求6所述的數(shù)控裝置,其特征在于, 所述指令判定部,對(duì)所述主軸控制指令之前的指令是否為預(yù)先設(shè)定為提前輸出禁止指令的指令進(jìn)行判斷,在除了所述提前輸出禁止指令以外的情況下,與由所述加工程序所指定出的定時(shí)相比,提前將所述主軸控制指令輸出。
10.一種數(shù)控裝置,其是能夠控制主軸轉(zhuǎn)速的工作機(jī)械的數(shù)控裝置, 該數(shù)控裝置的特征在于,具備: 程序解析部,其預(yù)讀大于或等于I個(gè)程序塊的加工程序,進(jìn)行針對(duì)所述工作機(jī)械的指令的解析,針對(duì)主軸控制指令之前以及之后的指令,判斷是否會(huì)因在主軸轉(zhuǎn)速變化過(guò)程中執(zhí)行該指令而在加工方面產(chǎn)生某種問(wèn)題,并計(jì)算主軸控制指令開(kāi)始時(shí)間、第一指令開(kāi)始時(shí)間以及到達(dá)時(shí)間,其中,所述主軸控制指令開(kāi)始時(shí)間為從在加工方面產(chǎn)生某種問(wèn)題的第一指令結(jié)束起直至所述主軸控制指令開(kāi)始為止的時(shí)間,所述第一指令開(kāi)始時(shí)間為從所述主軸控制指令起直至所述第一指令開(kāi)始為止的時(shí)間,所述到達(dá)時(shí)間為直至所述主軸轉(zhuǎn)速達(dá)到所指令出的轉(zhuǎn)速為止的時(shí)間;以及 指令判定部,其基于所述程序解析部的解析結(jié)果,對(duì)所述第一指令開(kāi)始時(shí)間和所述到達(dá)時(shí)間進(jìn)行比較,在所述到達(dá)時(shí)間更長(zhǎng)的情況下,在所述主軸控制指令開(kāi)始時(shí)間的范圍內(nèi),與由所述加工程序所指定出的定時(shí)相比,提前將所述主軸控制指令輸出。
11.根據(jù)權(quán)利要求10所述的數(shù)控裝置,其特征在于, 所述程序解析部,對(duì)主軸旋轉(zhuǎn)指令之前的指令是否為切削指令或刀具更換指令進(jìn)行判斷,對(duì)所述主軸旋轉(zhuǎn)指令之后的指令是否為所述切削指令進(jìn)行判斷,并計(jì)算所述主軸控制指令開(kāi)始時(shí)間、所述第一指令開(kāi)始時(shí)間以及所述到達(dá)時(shí)間,其中,所述主軸控制指令開(kāi)始時(shí)間為從所述切削指令或者所述刀具更換指令結(jié)束起直至所述主軸旋轉(zhuǎn)指令為止的時(shí)間,所述第一指令開(kāi)始時(shí)間為從所述主軸旋轉(zhuǎn)指令起直至所述切削指令開(kāi)始為止的時(shí)間, 所述指令判定部,對(duì)所述第一指令開(kāi)始時(shí)間和所述到達(dá)時(shí)間進(jìn)行比較,在所述到達(dá)時(shí)間更長(zhǎng)的情況下,在所述主軸控制指令開(kāi)始時(shí)間的范圍內(nèi),與由所述加工程序所指定出的定時(shí)相比,提前將所述主軸旋轉(zhuǎn)指令輸出。
12.根據(jù)權(quán)利要求10所述的數(shù)控裝置,其特征在于, 所述程序解析部,對(duì)主軸旋轉(zhuǎn)指令之前的指令是否為切削指令進(jìn)行判斷,對(duì)所述主軸旋轉(zhuǎn)指令之后的指令是否為刀具更換指令進(jìn)行判斷,并計(jì)算所述主軸控制指令開(kāi)始時(shí)間、所述第一指令開(kāi)始時(shí)間以及所述到達(dá)時(shí)間,其中,所述主軸控制指令開(kāi)始時(shí)間為從所述切削指令結(jié)束起直至所述主軸停止指令開(kāi)始為止的時(shí)間,所述第一指令開(kāi)始時(shí)間為從所述主軸停止指令起直至所述刀具更換指令開(kāi)始為止的時(shí)間, 所述指令判定部,對(duì)所述第一指令開(kāi)始時(shí)間和所述到達(dá)時(shí)間進(jìn)行比較,在所述到達(dá)時(shí)間更長(zhǎng)的情況下,在所述主軸控制指令開(kāi)始時(shí)間的范圍內(nèi),與由所述加工程序所指定出的定時(shí)相比,提前將所述主軸停止指令輸出。
13.根據(jù)權(quán)利要求6至12中任一項(xiàng)所述的數(shù)控裝置,其特征在于, 具備顯示部,在與由所述加工程序所指定出的定時(shí)相比提前將所述主軸控制指令輸出的情況下,該顯示部對(duì)將該主軸控制指令輸出的定時(shí)進(jìn)行顯示。
【文檔編號(hào)】G05B19/4155GK104303118SQ201280073213
【公開(kāi)日】2015年1月21日 申請(qǐng)日期:2012年5月15日 優(yōu)先權(quán)日:2012年5月15日
【發(fā)明者】井內(nèi)幸弘, 佐藤智典 申請(qǐng)人:三菱電機(jī)株式會(huì)社