專利名稱:數(shù)字控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于控制機床的數(shù)字控制器,更特別的是涉及用于根據(jù)以表格形式存儲的數(shù)據(jù)控制機床的單個軸的操作的數(shù)字控制器。
背景技術(shù):
在本領(lǐng)域中已知的某些數(shù)字控制器中,機床的單個軸的操作不是由NC程序的塊指令控制,而是根據(jù)其中預(yù)先設(shè)定了移動量和位置的以表格形式存儲的數(shù)據(jù)來控制。使用這種數(shù)字控制器,可以使得工具自由移動而不受到傳統(tǒng)使用的塊中的指令的限制,從而減少了加工時間并實現(xiàn)高精度加工。
例如,已知一種數(shù)字控制技術(shù),其中存儲相對于時間或旋轉(zhuǎn)角度的可移動軸的位置作為數(shù)字控制數(shù)據(jù),監(jiān)控時間或者旋轉(zhuǎn)角度,并在每次達到存儲的時間或者旋轉(zhuǎn)角度的時候輸出對應(yīng)的可移動軸的數(shù)字控制數(shù)據(jù)(參考JP59-177604A)。
已知一種數(shù)字控制器,其具有為X軸和Z軸存儲相對于參考位置的指令位置的數(shù)據(jù)表格,并且通過將用于計數(shù)參考脈沖的計數(shù)器的值乘以置換值來獲得參考位置,并且基于獲得的參考位置,輸出存儲在數(shù)據(jù)表格中的指令位置來執(zhí)行X軸和Z軸的同步控制。使用該數(shù)字控制器,即使當(dāng)操作根據(jù)存儲在數(shù)據(jù)表格中的數(shù)據(jù)控制時,也可以施加置換。進一步地,能夠指示是否要通過使用線形函數(shù),二次函數(shù)連接,三次函數(shù)連接指令位置,以及指令輔助函數(shù)(參考JP 2003-303005A)。
圖13到15示意性地示例說明了JP 2003-303005A中揭示的根據(jù)表格數(shù)據(jù)的操作。
在圖13所示的例子中,提供了X軸路徑表格Tx和Z軸路徑表格Tz。圖14示例說明了對于X軸存儲了相對于參考位置的位置的X軸路徑表格Tx。圖15的曲線圖顯示了根據(jù)圖14所示的X軸路徑表格Tx移動的X軸的位置。
Z軸路徑表格相似地對于Z軸存儲了相對于參考位置的位置。來自提供在主軸上的位置編碼器的脈沖(主軸位置)或者來自外部脈沖發(fā)生器的基于時間的脈沖輸入到計數(shù)器1中并在其中計數(shù)。乘法器2將置換裝置中設(shè)定的置換值乘以計數(shù)器1的計數(shù)值,并且結(jié)果輸入到參考位置計數(shù)器3。當(dāng)指令了路徑表格操作函數(shù)的時候,將參考位置計數(shù)器3復(fù)位。參考位置計數(shù)器3的值作為參考位置輸入到X軸和Y軸路徑表格內(nèi)插器4x和4z。X軸和Y軸路徑表格內(nèi)插器4x和4z查找X軸和Z軸各自的路徑表格Tx和Tz,獲取相對于參考位置的X軸和Z軸指令位置,并獲取對于處理周期的各移動量,并作為指令輸出獲得的移動量到各控制軸馬達5x和5z來根據(jù)參考位置同步地操作X軸和Z軸。
在機床中,加工路徑需要校正,以補償工具的磨損或安裝誤差,并且通常,工具補償是為該目的執(zhí)行的。這種工具補償還在上面提到的基于數(shù)據(jù)表格的操作(從這以后稱為路徑表格操作)的情況中執(zhí)行。特別是,在上面提到的JP 2003-303005A,對于每個軸準備基于主軸位置或時間存儲了要指令的工具補償號碼的工具補償表格,并且基于該表格,在指令的主軸位置或參考時間,將對應(yīng)于偏移號碼的補償量和前補償量之差輸出到對應(yīng)的軸。圖16示例說明了JP 2003-303005A中揭示的對于X軸的工具補償。每個補償表格將工具補償號碼與主軸位置或時間相聯(lián)系地存儲,工具補償基于該主軸位置或時間執(zhí)行;基于工具補償號碼獲取對于對應(yīng)軸的工具補償量,并且在指令的主軸位置或者時間,在一塊中輸出工具補償量之間的差異。如果工具補償量之間的差異很小,沒有問題發(fā)生。然而,如果工具補償量之間的差異很大,一次輸出很大的偏移量,結(jié)果是工具速度在指令的位置突然變化,由于機械震動之類,可能在加工上引起負面影響。
發(fā)明內(nèi)容
本發(fā)明提供一種數(shù)字控制器,能夠在機床根據(jù)表格數(shù)據(jù)來操作的時候減輕機械震動。
本發(fā)明的數(shù)字控制器,根據(jù)數(shù)據(jù)表格控制用于驅(qū)動機床軸的馬達,其中數(shù)據(jù)表格根據(jù)作為參考變量的時間或者主軸位置來指令軸的位置。根據(jù)本發(fā)明的一個方面,數(shù)字控制器包括存儲裝置,用于存儲工具補償號碼,并存儲對于工具補償號碼分別設(shè)定的工具補償量,該工具補償號碼分別為要實現(xiàn)工具補償?shù)膮⒖甲兞康闹噶钪刀O(shè)定;以及內(nèi)插裝置,用于在每個預(yù)定周期,利用設(shè)定的補償速度,對存儲在所述存儲裝置中的參考變量的每個指令值內(nèi)插工具補償量,并將內(nèi)插了的工具補償量輸出到馬達。
根據(jù)本發(fā)明的另一個方面,數(shù)字控制器包括存儲裝置,用于存儲工具補償號碼、分別為所述工具補償號碼設(shè)定的指令工具補償量、和設(shè)定的補償速度,該工具補償號碼分別為要實現(xiàn)工具補償?shù)膮⒖甲兞康闹噶钪刀O(shè)定;計算裝置,用于計算對最接近于并大于參考變量的當(dāng)前值的參考變量的下一個指令值設(shè)定的工具補償號碼的指令工具補償量和對參考變量的前一指令值設(shè)定的工具補償號碼的指令工具補償量之間的差值;以及輸出裝置,用于輸出工具補償量,該工具補償量通過所述計算裝置計算的指令工具補償量和設(shè)定的補償速度的差值來變化,從而工具補償量的變化在參考變量的下一個指令值開始,或者要在參考變量的下一個指令值完成。
存儲器裝置可以存儲關(guān)于每個要開始或完成工具補償?shù)膮⒖甲兞康闹噶钪档膶傩孕畔ⅰ?br>
根據(jù)本發(fā)明的還有的另一個方面,數(shù)字控制器包括第一存儲裝置,存儲對于要開始工具補償?shù)膮⒖甲兞康闹噶钪捣謩e設(shè)定的存儲工具補償號碼,和對于要終止工具補償?shù)膮⒖甲兞康闹噶钪捣謩e設(shè)定的存儲工具補償號碼;第二存儲裝置,存儲分別為所述工具補償號碼設(shè)定的指令工具補償量;以及輸出裝置,用于輸出工具補償量,該工具補償量在指令工具補償量的相鄰的一些之間逐漸變化,同時參考變量從要開始工具補償?shù)闹噶钪抵械拿恳粋€變化到要終止工具補償?shù)南噜彽闹噶钪怠?br>
數(shù)字控制器可以進一步包括用于調(diào)節(jié)工具補償量,使得通過工具補償量補償?shù)拿總€軸的移動量不超過設(shè)定的界限值的裝置。
根據(jù)本發(fā)明,由于工具補償量逐漸變化,不會發(fā)生歸因于工具補償量的機械震動。
圖1示意性地示例說明了由本發(fā)明的實施例執(zhí)行的基于表格數(shù)據(jù)的操作的功能;圖2示例說明了根據(jù)本發(fā)明的第一實施例的工具補償表格的實例;
圖3示例說明了在本發(fā)明的實施例中使用的補償量表格的實例;圖4示例說明了根據(jù)本發(fā)明第一實施例的工具補償?shù)腦軸移動;圖5是說明本發(fā)明第一和第二實施例的數(shù)字控制器的主要部分的框圖;圖6是示例說明用于在本發(fā)明的實施例中執(zhí)行的路徑表格操作的處理的流程圖;圖7是示例說明根據(jù)本發(fā)明的第一實施例的工具補償表格讀取處理的流程圖;圖8是示例說明根據(jù)本發(fā)明的第一實施例的工具補償處理的流程圖;圖9示例說明了根據(jù)本發(fā)明的第二實施例的工具補償表格的例子;圖10示例說明了根據(jù)第二實施例的工具補償?shù)腦軸移動;圖11是示例說明根據(jù)本發(fā)明的第二實施例的工具補償表格讀取處理的流程圖;圖12是示例說明根據(jù)本發(fā)明的第二實施例的工具補償處理的流程圖;圖13示意性地示例說明了傳統(tǒng)的基于表格數(shù)據(jù)的操作的功能;圖14示例說明了在傳統(tǒng)的基于表格數(shù)據(jù)的操作中使用的X軸路徑表格的實例;圖15示例說明了根據(jù)傳統(tǒng)的基于表格數(shù)據(jù)的操作的X軸移動;以及圖16示例說明了根據(jù)傳統(tǒng)的基于表格數(shù)據(jù)的操作的工具補償。
具體實施例方式
圖1示意性地示例說明了由本發(fā)明的實施例執(zhí)行的基于表格數(shù)據(jù)的操作的功能。顯示的功能不同于圖13中顯示的傳統(tǒng)的功能,不同之處在于,其具有工具補償表格Tt,X和Z軸工具補償內(nèi)插器7xt和7zt,以及加法器6x和6z。
來自提供在機床的主軸上的位置編碼器的指示主軸位置的脈沖,或者來自外部脈沖發(fā)生器的代表時間的脈沖輸入到計數(shù)器1中并在其中計數(shù)。從而,諸如主軸位置或者時間的參考變量值存儲在計數(shù)器1中。主軸位置可以替代地基于對于主軸的指令值來計數(shù)。
乘法器將計數(shù)器1的計數(shù)乘以在置換裝置中設(shè)定的乘法因子,并將結(jié)果增加到參考變量計數(shù)器3的計數(shù)上。當(dāng)指令路徑表格操作功能的時候復(fù)位參考變量計數(shù)器3。參考變量計數(shù)器3的值輸入到X和Z軸路徑表格操作內(nèi)插器4x和4z以及工具補償內(nèi)插器7xt和7zt。X軸和Y軸路徑表格內(nèi)插器4x和4z查找X軸和Z軸各自的路徑表格Tx和Tz,獲取相對于參考位置的X軸和Z軸指令位置,導(dǎo)出對于處理周期的各移動量。到現(xiàn)在為止說明的處理與傳統(tǒng)的路徑表格操作相同,而實施例與傳統(tǒng)設(shè)備的不同之處在于由X軸和Z軸路徑表格操作內(nèi)插器4x和4z獲得的,對于每個處理周期的移動指令分別輸出到加法器6x和6z。
還有,在每個處理周期,工具補償內(nèi)插器7xt和7zt參考工具補償表格Tt并插入工具補償量,并分別輸出獲得的補償移動量到加法器6x和6z。加法器6x和6z分別將從X軸和Y軸路徑表格操作內(nèi)插器4x和4z輸出的指令移動量和來自工具補償內(nèi)插器7xt和7zt的各補償移動量相加,并分別輸出結(jié)果到控制軸馬達5x和5z。本發(fā)明特征在于將指令移動量和各工具補償移動量加在一起,并且將該和輸出到各控制軸馬達5x和5z。
圖2是示例說明了工具補償表格Tt的實例。如同所示例說明的,與每個指令參考位置Lcmd相聯(lián)系地,基于哪個工具執(zhí)行補償來設(shè)置并存儲工具補償號碼Tcmd和屬性信息Mcmd。指令參考位置對應(yīng)于作為參考變量計數(shù)器3的輸出的參考位置Lcur。進一步地,提供圖3所示的補償量表格TOFS,其與各工具補償號碼Tcmd相聯(lián)系地存儲了X軸和Y軸補償量XOFScmd和ZOFScmd。即,對于每個補償號碼Tcmd,存儲了對應(yīng)的X軸和Y軸補償量XOFScmd和ZOFScmd。
根據(jù)該實施例,使用工具補償表格Tt和補償量表格TOFS獲取對應(yīng)于指令參考位置的工具補償量,并通過指令補償速度的方式內(nèi)插,并且獲得的結(jié)果累加在各指令移動量上用于路徑表格操作,以驅(qū)動各軸馬達5x和5z。
圖4示例說明了根據(jù)第一實施例的X軸工具補償,其基于圖2和圖3所示的表格Tt和TOFS。在圖2所示的工具補償表格Tt中,屬性信息“1”是工具補償應(yīng)該在對應(yīng)的指令參考位置Lcmd完成的指示,而屬性信息“0”是工具補償應(yīng)該在對應(yīng)的指令參考位置Lcmd開始的指示。
對于指令參考位置L0,設(shè)定“1”作為屬性信息,這意味著工具補償已經(jīng)完成(在路徑表格操作之前的加工之類過程中完成了工具補償)。特別是,如圖3的補償量表格TOFS所示,對應(yīng)于由指令參考位置L0確定的工具補償號碼T1的X軸補償量XOFScmd為“XOFS1”,并且在指令參考位置L0,基于X軸補償量XOFS1的工具補償已經(jīng)完成。對于下一個指令參考位置L1,設(shè)定“0”作為屬性信息Mcmd,因此,當(dāng)參考位置Lcur達到指令位置L1時,對應(yīng)于由指令參考位置L1確定的工具補償號碼T2的X軸補償量XOFS2,開始通過設(shè)定的補償速度內(nèi)插。進一步地,對于下一個指令參考位置L2,設(shè)定“1”作為屬性信息。從而,在參考位置即將到達指令參考位置L2的時候,開始內(nèi)插,使得基于對應(yīng)于確定的工具補償號碼T3的X軸補償量XOFS3的工具補償可以在當(dāng)達到指令位置L2的時候完成。這同樣適用于Z軸。
如上所述,在第一實施例中,工具補償量由設(shè)定的補償速度內(nèi)插,使得工具補償可以在多個處理周期內(nèi)完成,由此可以防止歸因于工具補償?shù)臋C械震動。
圖5說明本發(fā)明實施例中使用的數(shù)字控制器的主要部分的框圖,由此機床在路徑表格操作模式工作。CPU 11是全局地控制數(shù)字控制器10的處理器。CPU 11通過總線20讀取存儲在ROM 12中的系統(tǒng)程序,并根據(jù)系統(tǒng)程序控制整個數(shù)字控制器。RAM 13臨時存儲計算數(shù)據(jù)和顯示器數(shù)據(jù),以及由操作者通過顯示器/MDI單元70輸入的各種數(shù)據(jù)。CMOS存儲器14由未顯示的電池支持,并包括非易失性存儲器,從而即使切斷到數(shù)字控制器的電源時候也可以保持其中存儲的內(nèi)容。存儲在CMOS存儲器14中的是通過接口15讀取的加工程序,以及通過顯示器/MDI單元70輸入的加工程序。進一步地,在CMOS存儲器14中預(yù)先存儲前述的X軸和Z軸路徑表格Tx和Tz,工具補償表格Tt和補償量表格TOFS。
接口15允許數(shù)字控制器10和外部設(shè)備的連接。PC(可編程控制器)16根據(jù)數(shù)字控制器10的內(nèi)建的順序程序,通過I/O單元17輸出信號到機床的輔助設(shè)備,以控制輔助設(shè)備。PMC還從提供在機床的主體上的操作面板的各種開關(guān)之類接收信號,在信號上執(zhí)行必要的信號處理,并發(fā)送經(jīng)過處理的信號到CPU 11。
顯示器/MDI單元70是手動數(shù)據(jù)輸入裝置,包括由CRT,液晶顯示器之類組成的顯示器,鍵盤等等。接口18發(fā)送通過顯示器/MDI單元70輸入的指令和數(shù)據(jù)到CPU 11。接口19連接到操作面板71來接收來自操作面板71的各種指令。
軸控制電路30和31從CPU 11接收對于各軸的移動指令,并輸出指令到各伺服放大器40和41。當(dāng)接收到指令,伺服放大器40和41驅(qū)動與各軸相聯(lián)系的伺服馬達5x和5z。每個伺服馬達具有具有內(nèi)建的位置和速度檢測器,從位置/速度檢測器反饋的位置/速度信號反饋到軸控制電路30,31,來執(zhí)行位置/速度反饋控制。在圖5中,略去了與位置/速度反饋控制相關(guān)的元件。
將主軸旋轉(zhuǎn)指令提供給主軸控制電路60,并且其輸出主軸速度信號到主軸放大器61。當(dāng)接收到主軸速度信號,主軸放大器61引起主軸馬達旋轉(zhuǎn)主軸以在指令的速度上旋轉(zhuǎn)。位置編碼器63與主軸的旋轉(zhuǎn)同步地反饋反饋脈沖(參考脈沖)和一次旋轉(zhuǎn)信號到主軸控制電路。反饋脈沖和一次旋轉(zhuǎn)信號由CPU 11通過主軸控制電路60讀取。反饋脈沖(參考脈沖)由提供在RAM 13中的計數(shù)器(圖1中的計數(shù)器1)計數(shù)。對于主軸的指令脈沖可以替代地用作參考脈沖。
圖6到8是示例說明根據(jù)第一實施例由數(shù)字控制器的CPU 11執(zhí)行的處理的算法的流程圖。
數(shù)字控制器的CPU 11在每個預(yù)定周期執(zhí)行圖6所示的處理。
首先,更新參考變量Lcur(對應(yīng)于圖1所示的參考變量計數(shù)器3的處理)。特別地,將計數(shù)從位置編碼器63供給的、并指示了主軸位置的反饋脈沖,或者計數(shù)基于時間的參考脈沖的計數(shù)器1的計數(shù),乘以設(shè)置的置換值,并將得到的乘積加到存儲在寄存器中的參考位置Lcur上,從而更新了參考位置Lcur(步驟S1)。在主軸位置用作參考位置的地方,由位置編碼器63生成的、并指示了主軸位置的反饋脈沖已經(jīng)乘以了置換值,并且在該情況中,置換值設(shè)定為“1”。參考位置可以替代地基于對于主軸的指令脈沖來獲得。
接著,基于參考位置Lcur和X軸和Z軸路徑表格Tx和Tz,獲得對于當(dāng)前處理周期的指令移動量ΔXINT和ΔZINT(步驟S2)。在未審查日本專利公開號2003-303005中揭示了導(dǎo)出指令移動量ΔXINT和ΔZINT的方法并且在本領(lǐng)域是公知的,因此,略去其中的詳細描述。
接著,執(zhí)行基于工具表格Tt的工具補償預(yù)處理(步驟S3)和路徑表格工具補償處理(步驟S4)來獲取工具補償移動量ΔXOFS和ΔZOFS。
將指令移動量ΔXINT和ΔZINT分別添加到工具補償移動量ΔXOFS和ΔZOFS上,并將得到的和輸出到各軸控制電路30和31(步驟S5),由此對于當(dāng)前處理周期的處理結(jié)束。圖6所示的處理在后面的每個預(yù)定周期重復(fù)地執(zhí)行。
圖7是示例說明在圖6的步驟S3執(zhí)行的工具補償預(yù)處理的細節(jié)的流程圖。
首先,確定路徑表格工具補償標(biāo)志是否為“開”(步驟S31)。路徑表格工具補償標(biāo)志通過電源供應(yīng)開始時的初始化設(shè)定為“關(guān)”。還有,當(dāng)要終止路徑表格操作的時候?qū)⒙窂奖砀窆ぞ哐a償標(biāo)志設(shè)定為“關(guān)”,即,當(dāng)在圖6的步驟S2執(zhí)行路徑表格內(nèi)插處理的過程中讀入路徑表格操作終止指令的時候。因此,當(dāng)首次執(zhí)行處理時,路徑表格工具補償標(biāo)志為“關(guān)”,從而流程前進到步驟S32,其中讀出工具補償表格Tt的報頭數(shù)據(jù),并且讀出對應(yīng)于由工具補償表格Tt的報頭數(shù)據(jù)確定的工具補償號碼Tcmd(=T1)的X軸和Z軸補償量XOFScmd(=XOFS1)和ZOFScmd(=ZOFS1),并作為當(dāng)前X軸和Z軸補償量XOFScur和ZOFScur存儲在寄存器中。接著,將路徑表格工具補償標(biāo)志設(shè)定為“開”(步驟S32)。
接著,確定是否X軸和Z軸路徑表格/工具補償就緒標(biāo)志中的至少一個為“開”(步驟S33)。首先,兩個標(biāo)志都為“關(guān)”,因此,流程進行到步驟S34,其中將在步驟S32獲得(第一次)的當(dāng)前X軸和Z軸補償量XOFScur和ZOFScur存儲在寄存器中作為前X軸和Z軸指令補償量XOFSold和ZOFSold。
接著,從工具補償表格Tt讀出接近并且同時大于當(dāng)前參考位置Lcur的指令參考位置Lcmd(=L1),以及與指令參考位置Lcmd(=L1)相聯(lián)系地存儲的工具補償號碼Tcmd(=T2)以及屬性信息Mcmd(=0)。同時,從補償量表格TOFS讀出對應(yīng)于工具補償號碼Tcmd(=T2)的X軸和Z軸補償量XOFScmd(=XOFS2)和ZOFScmd(=ZOFS2)。在使用主軸位置作為參考位置Lcur的地方,主軸在路徑表格操作期間以一個方向移動(參考位置在該方向上遞增)。
獲取X軸補償量XOFScmd和前指令補償量XOFSold之間的差異XOFdef,以及Z軸補償量ZOFScmd和前指令補償量ZOFSold之間的差異ZOFdef。進一步地,獲取的補償差異XOFSdef和ZOFdef分別由設(shè)定的補償速度XOFSvel和ZOFSvel來除,以導(dǎo)出補償間隔(從補償?shù)拈_始到結(jié)束)XLdef和Zldef(步驟S35)。
XOFSdef=XOFScmd-XOFSoldZOFSdef=ZOFScmd-ZOFSoldXLdef=XOFSdef/XOFSvelZLdef=ZOFSdef/ZOFSvel檢查在步驟S35讀取的屬性信息Mcmd(步驟S36),并且如果屬性信息Mcmd為“0”,將在步驟S35讀取的指令參考位置Lcmd設(shè)定為補償開始位置XLsta和Zlsta(步驟S37)。另一方面,如果屬性信息Mcmd為“1”,將單獨地從指令參考位置Lcmd中減去在步驟S35獲得的補償間隔XLdef和Zldef,并將獲取的差值設(shè)定為補償開始位置XLSta(=Lcmd-XLdef)和ZLsta(=Lcmd-ZLDef)(步驟S38)。最初,屬性信息Mcmd=0并且Lcmd=L1,因此,L1被設(shè)定為補償開始位置Xlsta和ZLsta。
接著,將X軸和Z軸路徑表格/工具補償就緒標(biāo)志XOFSrdy和ZOFSrdy設(shè)定為“1”(步驟S39),由此對于當(dāng)前處理周期的工具補償表格讀取處理結(jié)束并且流程進行到步驟S4。
圖8示例說明了要在步驟S4執(zhí)行的路徑表格工具補償處理,其中單獨顯示了對于X軸的處理。對于Z軸也執(zhí)行相同的處理。對于Z軸的處理與圖8所示的處理相同,除了X軸相關(guān)的值由對應(yīng)的Z軸相關(guān)的值替換之外;因此,下面的討論僅僅針對于X軸處理。
首先,將當(dāng)前補償量XOFScur(首先在步驟S32獲得,并且其后在步驟S44,S46和S48中獲得)存儲在寄存器中作為前補償量XOFSbef(步驟S41)。接著,確定X軸路徑表格/工具補償就緒標(biāo)志XOFSrdy是否為“開”(“1”)(步驟S42)。如果標(biāo)志XOFSrdy沒有設(shè)定為“開”,流程進行到步驟S49,其中從當(dāng)前補償量XOFScur中減去前補償量XOFSbef來獲取用于當(dāng)前處理周期的工具補償移動量ΔXOFS。然而,在此階段,由于步驟S41的執(zhí)行,XOFSbef=XOFScur;因此,工具補償移動量ΔXOFS被設(shè)定為“0”,由此結(jié)束對于當(dāng)前處理周期的路徑表格/工具補償處理。另一方面,如果X軸路徑表格/工具補償就緒標(biāo)志XOFSrdy已經(jīng)在圖7所示的處理的步驟S39中設(shè)定為“開”(“1”),流程從步驟S42前進到步驟S43,其中確定在步驟S1中獲得的當(dāng)前參考位置Lcur是否已經(jīng)達到了在步驟S37或S38中獲得的補償開始位置XLsta。如果每有達到補償開始位置,流程前進到步驟S49。在步驟S49中,由于如同在前面提到的情況中那樣XOFSbef=XOFScur,對于當(dāng)前處理周期的工具補償移動量ΔXOFS被設(shè)定為“0”,由此結(jié)束對于當(dāng)前處理周期的工具補償處理。
即,當(dāng)剛剛開始路徑表格操作的時候,已經(jīng)執(zhí)行了工具補償,如圖4所示。因此,在初始階段,工具補償量XOFS如圖4所示保持不變,并且輸出“0”作為工具補償移動量ΔXOFS。其后在每個預(yù)定的周期重復(fù)地執(zhí)行步驟S1,S2,S3(S31和S33)以及步驟S4(S41,S42,S43和S49),并且如果在步驟S43判斷在步驟S1讀取的參考位置Lcur已經(jīng)達到在步驟S37或者S38中獲取的補償開始位置XLsta,流程進行到步驟S44,其中根據(jù)下面的方程(1)獲得工具補償量XOFScurXOFScur=XOFSdef×((Lcur-XLsta)/XLdef)+XOFSold...(1)接著,如果施加了獲得的工具補償量XOFScur,確定是否超過對于一個處理周期可允許的允許行進量(步驟S45)。特別地,將從步驟S44中獲得的工具補償量XOFScur減去前補償量XOFSbef獲得的差(當(dāng)前處理周期的工具補償量)加到步驟S2中獲得的用于路徑表格操作的指令移動量ΔXINT,并確定得到的和是否大于可允許的值XCLPvel(步驟S45)。如果沒有超過可允許的值,流程前進到步驟S47;如果超過了可允許的值,設(shè)定工具補償量XOFScur使得可以不超過可允許的值XCLPvel(步驟S46),并且流程前進到步驟S47。
XOFScur=XCLPvel-ΔXINT+XOFSbef ...(2)在步驟S47,確定在步驟S44或S46得到的工具補償量XOFScur是否達到了(大于)在步驟S35讀取的指令補償量XOFScmd。如果沒有達到指令補償量,流程前進到上面說明的步驟S49。其后在每個預(yù)定的周期重復(fù)地執(zhí)行步驟S1,S2,S3(S31和S33)以及步驟S4(S41,S42通過S47和S49)和S5,直到完成補償。
當(dāng)指令參考位置Lcmd處于圖4所示的位置L1時,如表格Tt所示,對此設(shè)定了“0”作為屬性信息,在步驟S37中將在步驟S35中讀入的下一個指令參考位置Lcmd(=L1)設(shè)定為補償開始位置XLsta。因此,如圖4所示,工具補償從位置L1開始,并在單個處理周期執(zhí)行補償直到補償量XOFScur達到與在步驟S35中讀取的位置Lcmd(=L1)相聯(lián)系地存儲的工具補償號碼T2的X軸補償量XOFScmd(=XOFS2)。如果工具補償量XOFScur達到XOFScmd(=XOFS2),設(shè)定XOFScmd(=XOFS2)作為當(dāng)前工具補償量XOFScur,并且將路徑表格/工具補償就緒標(biāo)志XOFSrdy設(shè)定為“關(guān)”(“0”)(步驟S48),由此流程前進到步驟S49。
從而,路徑表格/工具補償就緒標(biāo)志XOFSrdy被設(shè)定為“關(guān)”(“0”),并且在下面的處理周期中,按順序執(zhí)行步驟S1,S2,S3(S31和S33)以及步驟S4(S41和S42)。由于路徑表格/工具補償就緒標(biāo)志XOFSrdy為“關(guān)”(“0”),流程從步驟S42前進到步驟S49,其中獲得工具補償移動量ΔXOFS。然而,在此情況下,由于步驟S41的執(zhí)行而XOFSbef=XOFScur,工具補償移動量ΔXOFS為“0”,并且不執(zhí)行工具補償。
對于Z軸也執(zhí)行相似的處理。特別地,如果路徑表格/工具補償就緒標(biāo)志ZOFSrdy被設(shè)定為“關(guān)”(“0”),在接著的處理周期中,流程從步驟S33(S3)前進到步驟S34,使得執(zhí)行上述的從步驟S34到S39的步驟。在步驟S35,從表格Tt中讀取參考位置Lcmd(=L2),工具補償號碼Tcmd(=T3),與工具補償號碼Tcmd(=T3)相聯(lián)系的工具補償量XOFS3和ZOFS3和屬性信息Mcmd(=1)。在此情況中,由于設(shè)定了“1”作為屬性信息Mcmd,執(zhí)行步驟S38,其中將超過指令參考位置Lcmd(=L2)在步驟S35中獲得的補償間隔XLdef和ZLdef的位置設(shè)定為補償開始位置XLsta和ZLsta。
如果此后在步驟S43判斷達到了補償開始位置XLsta,在上面所述的步驟S44到S47中執(zhí)行對于工具補償?shù)膬?nèi)插。即,如圖4所示,工具補償在參考位置Lcur達到指令參考位置Lcmd(=L2)之前開始,使得在達到指令參考位置Lcmd(=L2)的時候可以達到指令工具補償量XOFScmd(=XOFS3)。
前述處理此后在每個預(yù)定周期重復(fù)執(zhí)行直到路徑操作結(jié)束。
在上面所述的第一實施例中,通過使用屬性信息確定工具補償開始位置,使得補償可以在指令參考位置Lcmd處開始或者完成。下面說明的第二實施例使用工具補償表格Tt’,從而補償間隔也由參考位置確定。
在第二實施例中使用的數(shù)字控制器的硬件配置與圖5所示的相同,圖9所示的工具補償表格Tt’用于第二實施例。在工具補償表格Tt’中,相對于參考位置L0和L1來設(shè)定工具補償號碼T1,并且以圖10所示的方式來使用基于工具補償號碼T1從圖3的補償量表格TOFS獲得X軸補償量XOFS1。圖10示例說明了X軸補償量如何改變的方式。Z軸補償量的改變沒有在圖中示例說明出來。
隨著指令參考位置從L1變化到L2,工具補償號碼從T1變化到T2并且X軸補償量從XOFS1漸變到XOFS2。在指令參考位置L2和L3之間的間隔期間,補償量固定在XOFS2。隨著指令參考位置從L3變化到L4,工具補償號碼從T1變化到T2并且X軸補償量從XOFS2漸變到XOFS3。在指令參考位置L4和L5之間的間隔期間,其中工具補償號碼T3保持不變,補償量固定在XOFS3。
以這種方式,由指令參考位置Lcmd確定工具補償量要根據(jù)工具補償表格Tt’改變的所有點。
圖11和12是分別示例說明根據(jù)本發(fā)明的第二實施例的工具補償表格讀處理和工具補償處理(對于X軸)的流程圖。在第二實施例中執(zhí)行的路徑表格操作的整體處理與圖6種所示的相似,并且第二實施例僅在以下方面不同于第一實施例,即圖6中的步驟S3和S4分別由圖11和12所示的處理代替。
在前述的步驟S1和S2執(zhí)行以后,執(zhí)行圖11所示的工具補償預(yù)處理作為步驟S3。首先,確定路徑表格工具補償標(biāo)志是否為“開”(步驟S301)。如上所述,路徑表格工具補償標(biāo)志通過電源供應(yīng)開始時的初始化設(shè)定為“關(guān)”,因此,流程前進到步驟S302,其中讀出工具補償表格Tt’的報頭數(shù)據(jù),以提取指令參考位置Lcmd(=L0)和與其關(guān)聯(lián)的工具補償號碼Tcmd(=T1),并且從補償量表格TOFS讀出對應(yīng)于工具補償號碼Tcmd(=T1)的X軸和Z軸補償量XOFScmd(=XOFS1)和ZOFScmd(=ZOFS1),并作為當(dāng)前X軸和Z軸補償量XOFScur和ZOFScur存儲在寄存器中。接著,將路徑表格工具補償標(biāo)志設(shè)定為“開”(步驟S302)。
接著,確定是否X軸和Z軸路徑表格/工具補償就緒標(biāo)志中的至少一個為“開”(步驟S303)。最初,兩個標(biāo)志都為“關(guān)”,因此,流程進行到步驟S304,其中讀出前指令參考位置Lcmd(=L0)以及與其聯(lián)系地設(shè)定的工具補償號碼Tcmd(=T1),從補償量表格TOFS讀出對應(yīng)于工具補償號碼Tcmd(=T1)的X軸和Z軸補償量XOFScmd(=XOFS1)和ZOFScmd(=ZOFS1),存儲這樣讀取的XOFScmd,ZOFScmd和Lcmd,分別作為前X軸指令補償量XOFSold,前Z軸指令補償量ZOFSold以及前指令參考位置Lold。
接著,從工具補償表格Tt’讀出接近并且同時大于當(dāng)前參考位置Lcur的指令參考位置Lcmd(=L1),以及對應(yīng)于指令參考位置Lcmd的工具補償號碼Tcmd(=T1)。同時,從補償量表格TOFS讀出對應(yīng)于工具補償號碼Tcmd的X軸和Z軸補償量XOFScmd(=XOFS1)和ZOFScmd(=ZOFS1)。
將讀取的X軸補償量XOFScmd(=XOFS1)和前X軸指令補償量XOFSold(=XOFS1)之間的差值以及Z軸補償量ZOFScmd(=ZOFS1)和前指令補償量ZOFSold(=ZOFS1)之間的差值中的每個除以前指令參考位置Lcmd(=L0)和當(dāng)前指令參考位置L1之間的差值,以獲得X軸和Z軸比例乘數(shù)XOFSpro和ZOFSpro(步驟S305)。最初,前補償量和當(dāng)前補償量彼此相同,因此,比例乘數(shù)XOFSpro和ZOFSpro都是“0”。
接著,將X軸和Z軸路徑表格/工具補償就緒標(biāo)志XOFSrdy和ZOFSrdy設(shè)定為“1”(步驟S306)。這完成了對于當(dāng)前處理周期的工具補償表格的讀取處理,并且流程接著進行到步驟S4。
圖12示例說明了在步驟S4執(zhí)行的對于X軸的路徑表格工具補償處理。首先,將當(dāng)前補償量XOFScur存儲在寄存器中來存儲前處理周期的補償量XOFSbef(步驟S401),接著,確定X軸路徑表格/工具補償就緒標(biāo)志XOFSrdy是否為“開”(“1”)(步驟S402)。如果標(biāo)志XOFSrdy沒有設(shè)定為“開”,流程進行到步驟S408,其中從當(dāng)前補償量XOFScur中減去前補償量XOFSbef來獲取用于當(dāng)前處理周期的工具補償移動量ΔXOFS。然而,在初始階段,由于步驟S401的執(zhí)行,XOFSbef=XOFScur;因此,工具補償移動量ΔXOFS被設(shè)定為“0”,由此結(jié)束對于當(dāng)前處理周期的路徑表格/工具補償處理。
另一方面,如果X軸路徑表格/工具補償就緒標(biāo)志XOFSrdy已經(jīng)在圖11所示的處理的步驟S306中設(shè)定為“開”(“1”),流程從步驟S402前進到步驟S403,其中根據(jù)下面的方程(3)獲取工具補償量XOFScurXOFScur=XOFSpro×(Lcur-Lold)+XOFSold ...(3)特別地,從步驟S1中獲得的當(dāng)前參考位置Lcur中減去步驟S304中設(shè)定的前指令參考位置Lold,接著將獲得的差乘以在步驟S305中獲得的比例乘數(shù)XOFSpro,并將乘積加到在步驟S304中獲得的前補償量XOFSold上,以導(dǎo)出工具補償量XOFScur。然而,最初,比例乘數(shù)XOFSpro為“0”,因此導(dǎo)出的工具補償量保持與前補償量相同,即,XOFScur=XOFSold=XOFS1。因此,X軸補償量保持不變,并保持XOFS1,如圖10所示。
接著,執(zhí)行分別與前述的第一實施例的步驟S45和S46相同步驟S404和S405。特別地,如果施加了獲得得工具補償量的話,確定工具移動量是否超過可允許的值XCLPvel,并且如果判斷將超過可允許的值,設(shè)定工具補償量XOFScur使得可以不超過可允許的值XCLPvel,由此流程前進到步驟S406。
在步驟S406,確定在步驟S1中獲得的當(dāng)前參考位置Lcur是否達到了作為補償切換點的、在步驟S305中獲得的指令參考位置Lcmd(=L1)。如果沒有達到指令參考位置,流程前進到步驟S408。然而,在這個時間點上(參考位置Lcur在L0和L1之間),XOFScur=XOFSold=XOFS1,因此工具補償移動量ΔXOFS為“0”。
其后在每個預(yù)定的周期重復(fù)地執(zhí)行步驟S1,S2,S3(S301和S303),步驟S4(S401,S402,S403到S406和S408)以及步驟S5,并且如果在步驟S406判斷當(dāng)前參考位置Lcur已經(jīng)達到補償切換點,即步驟S305中獲取的指令參考位置(=L1),將指令補償量XOFScmd(=XOFS1)設(shè)定為當(dāng)前工具補償量XOFScur,并將路徑表格/工具補償就緒標(biāo)志XOFSrdy設(shè)定為“關(guān)”(“0”)(步驟S407),由此流程前進到步驟S408。
在接著的處理周期中,流程從步驟303前進到步驟304,其中讀取前工具補償號碼Tcmd(=T1),并從補償量表格TOFS讀取對應(yīng)于工具補償號碼Tcmd(=T1)的X軸和Z軸補償量XOFScmd(=XOFS1)和ZOFScmd(=ZOFS1)并分別存儲作為前指令補償量XOFSold和ZOFSold。同時,讀取前指令參考位置Lcmd(=L1)并存儲作為前參考位置Lold(=L1)。
接著,從工具補償表格Tt’讀出接近并且同時大于當(dāng)前參考位置Lcur的指令參考位置Lcmd(=L2),以及對應(yīng)于指令參考位置Lcmd(=L2)的工具補償號碼Tcmd(=T2)。同時,從補償量表格TOFS讀出對應(yīng)于工具補償號碼Tcmd(=T2)的X軸和Z軸補償量XOFScmd(=XOFS2)和ZOFScmd(=ZOFS2)。
將讀取的X軸補償量XOFScmd(=XOFS2)和前X軸指令補償量XOFSold(=XOFS1)之間的差值以及Z軸補償量ZOFScmd(=ZOFS2)和前指令補償量ZOFSold(=ZOFS1)之間的差值中的每個除以前指令參考位置Lcmd(=L1)和當(dāng)前指令參考位置L2之間的差值,以獲得X軸和Z軸比例乘數(shù)XOFSpro和ZOFSpro(步驟S305)。
接著,將X軸和Z軸路徑表格/工具補償就緒標(biāo)志XOFSrdy和ZOFSrdy設(shè)定為“1”(步驟S306)。這完成了對于當(dāng)前處理周期的工具補償表格的讀取處理,并且流程接著進行到步驟S4。
在圖12所示的步驟S4中,流程從步驟S402前進到步驟S403,其中使用在步驟S305獲得的比例乘數(shù)XOFSpro,當(dāng)前和前參考參考位置Lcur和Lold,以及前補償量XOFSold計算工具補償值XOFScur。接著,如果施加了計算的工具補償量的話,確定是否超過可允許的值(步驟S404),并且如果判斷超過了可允許的值,調(diào)節(jié)補償量使得可以不超過可允許的值(步驟S405)。接著,確定當(dāng)前參考位置Lcur是否達到了在步驟S305中讀取的下一個指令參考位置Lcmd(=L2)。并且如果沒有達到指令參考位置,流程前進到步驟S408。
作為結(jié)果,在圖10所示的參考位置L1和L2之間的間隔中,工具補償量逐漸的變化(在圖10的例子中,逐漸增加)。
如果當(dāng)前參考位置Lcur達到了下一個指令參考位置Lcmd(=L2),將指令補償量XOFScmd(=XOFS2)設(shè)定為當(dāng)前工具補償量XOFScur,并將路徑表格/工具補償就緒標(biāo)志XOFSrdy設(shè)定為“關(guān)”(“0”)(步驟S407),由此流程前進到步驟S408。
如果X軸和Z軸路徑表格/工具補償就緒標(biāo)志XOFSrdy和ZOFSrdy都設(shè)定為“關(guān)”(“0”),在接著的處理周期中流程從步驟S303前進到S304。因此,更新了存儲前參考位置的寄存器,讀取下一指令參考位置Lcmd(=L3)以及與其聯(lián)系的工具補償號碼Tcmd,獲取新比例乘數(shù)XOFSpro和ZOFSpro(在此情況中獲取的比例乘數(shù)為“0”),并將X軸和Z軸路徑表格/工具補償就緒標(biāo)志XOFSrdy和ZOFSrdy都設(shè)定為“開”(“1”)(步驟S304,S305和S306)。
在步驟S4的工具補償處理中,流程從步驟S402前進到S403,并且步驟S401和S402到S406在此后重復(fù)地執(zhí)行直到當(dāng)前位置Lcur達到下一指令參考位置Lcmd(=L3)。對于參考位置L2和L3,設(shè)定相同的工具補償號碼T2,從而補償量相同;因此,補償量在參考位置L2和L3之間的間隔中保持不變。之后,在每個預(yù)定周期執(zhí)行前述的處理,這里不給出進一步的說明,由此補償量溫和地變化,如圖10所示。
權(quán)利要求
1.一種數(shù)字控制器,用于根據(jù)數(shù)據(jù)表格控制用于驅(qū)動機床軸的馬達,其中數(shù)據(jù)表格根據(jù)作為參考變量的時間或者主軸位置來指令軸的位置,該數(shù)字控制器包括存儲裝置,用于存儲工具補償號碼,并存儲對于工具補償號碼分別設(shè)定的工具補償量,該工具補償號碼分別為要實現(xiàn)工具補償?shù)膮⒖甲兞康闹噶钪刀O(shè)定;以及內(nèi)插裝置,用于在每個預(yù)定周期,利用設(shè)定的補償速度,對存儲在所述存儲裝置中的參考變量的每個指令值內(nèi)插工具補償量,并將內(nèi)插了的工具補償量輸出到馬達。
2.根據(jù)權(quán)利要求1所述的數(shù)字控制器,其中,所述存儲器裝置存儲與每個要開始或完成工具補償?shù)膮⒖甲兞康闹噶钪涤嘘P(guān)的屬性信息。
3.根據(jù)權(quán)利要求1所述的數(shù)字控制器,進一步包括用于調(diào)節(jié)工具補償量,使得通過工具補償量補償?shù)拿總€軸的移動量不超過設(shè)定的界限值的裝置。
4.一種數(shù)字控制器,用于根據(jù)數(shù)據(jù)表格控制用于驅(qū)動機床軸的馬達,其中數(shù)據(jù)表格根據(jù)作為參考變量的時間或者主軸位置來指令軸的位置,該數(shù)字控制器包括存儲裝置,用于存儲工具補償號碼、分別為所述工具補償號碼設(shè)定的指令工具補償量、和設(shè)定的補償速度,該工具補償號碼分別為要實現(xiàn)工具補償?shù)膮⒖甲兞康闹噶钪刀O(shè)定;計算裝置,用于計算對最接近于并大于參考變量的當(dāng)前值的參考變量的下一個指令值設(shè)定的工具補償號碼的指令工具補償量和對參考變量的前一指令值設(shè)定的工具補償號碼的指令工具補償量之間的差值;以及輸出裝置,用于輸出工具補償量,該工具補償量通過所述計算裝置計算的指令工具補償量和設(shè)定的補償速度的差值來變化,從而工具補償量的變化在參考變量的下一個指令值開始,或者要在參考變量的下一個指令值完成。
5.根據(jù)權(quán)利要求4所述的數(shù)字控制器,其中,所述存儲器裝置存儲關(guān)于每個要開始或完成工具補償?shù)膮⒖甲兞康闹噶钪档膶傩孕畔ⅰ?br>
6.根據(jù)權(quán)利要求4所述的數(shù)字控制器,進一步包括用于調(diào)節(jié)工具補償量,使得通過工具補償量補償?shù)拿總€軸的移動量不超過設(shè)定的界限值的裝置。
7.一種數(shù)字控制器,用于根據(jù)數(shù)據(jù)表格控制用于驅(qū)動機床軸的馬達,其中數(shù)據(jù)表格根據(jù)作為參考變量的時間或者主軸位置來指令軸的位置,該數(shù)字控制器包括第一存儲裝置,存儲對于要開始工具補償?shù)膮⒖甲兞康闹噶钪捣謩e設(shè)定的存儲工具補償號碼,和對于要終止工具補償?shù)膮⒖甲兞康闹噶钪捣謩e設(shè)定的存儲工具補償號碼;第二存儲裝置,存儲分別為所述工具補償號碼設(shè)定的指令工具補償量;以及輸出裝置,用于輸出工具補償量,該工具補償量在指令工具補償量的相鄰的一些之間逐漸變化,同時參考變量從要開始工具補償?shù)闹噶钪抵械拿恳粋€變化到要終止工具補償?shù)南噜彽闹噶钪怠?br>
8.根據(jù)權(quán)利要求7所述的數(shù)字控制器,進一步包括用于調(diào)節(jié)工具補償量,使得通過工具補償量補償?shù)拿總€軸的移動量不超過設(shè)定的界限值的裝置。
全文摘要
一種數(shù)字控制器,能夠在機床根據(jù)表格數(shù)據(jù)來操作的時候減輕由于工具補償引起的機械震動。X軸和Z軸路徑表格Tx,Tz存儲對應(yīng)于參考位置(時間或者主軸位置)的X軸和Z軸位置。工具補償表格Tt存儲與各參考位置相聯(lián)系的X軸和Y軸補償量(工具補償號碼)。在每個預(yù)定周期,X軸和Z軸路徑表格內(nèi)插器基于參考位置的從路徑表格Tx,Tz讀取指令位置,并通過內(nèi)插獲得指令移動量。X軸和Z軸路徑表格內(nèi)插器基于參考位置從工具補償表格讀取補償量,并通過內(nèi)插獲取補償移動量。加法器將指令移動量與各補償移動量相加以驅(qū)動各馬達。工具補償量逐漸變化,由此不會發(fā)生機械震動。
文檔編號G05B19/414GK1854952SQ200610074989
公開日2006年11月1日 申請日期2006年4月25日 優(yōu)先權(quán)日2005年4月25日
發(fā)明者竹內(nèi)靖, 遠藤貴彥 申請人:發(fā)那科株式會社