弧齒錐齒輪和準(zhǔn)雙曲面齒輪是現(xiàn)有齒輪傳動副中最為復(fù)雜的一種,其切齒加工工藝及機(jī)床的結(jié)構(gòu)與調(diào)整都十分復(fù)雜。隨著數(shù)控技術(shù)的發(fā)展及新技術(shù)的采用,該類齒輪的切齒加工機(jī)床由傳統(tǒng)的機(jī)械式機(jī)床發(fā)展到目前最先進(jìn)的全數(shù)控機(jī)床,機(jī)床結(jié)構(gòu)得到大大簡化,但是其加工過程的復(fù)雜性(包括加工工藝及齒面形狀的控制因素)并沒有改變。因此,先進(jìn)的全數(shù)控錐齒輪銑齒機(jī)必需配備專用的數(shù)控切齒數(shù)控軟件系統(tǒng)才能發(fā)揮其切齒加工的高效率。
1 全數(shù)控錐齒輪銑齒機(jī)的加工原理
全數(shù)控錐齒輪銑齒機(jī)也稱Free Form銑齒機(jī)。該類機(jī)床(圖1)通過6個軸的聯(lián)動來實現(xiàn)傳統(tǒng)搖臺式銑齒機(jī)床刀盤與工件的相對運動,從而實現(xiàn)各種傳統(tǒng)的切齒加工方法。其采用x軸與y軸兩個直線軸聯(lián)動插補運動實現(xiàn)刀盤在搖臺上的圓周運動;傳統(tǒng)機(jī)床(圖2)的水平輪位、垂直輪位、床位調(diào)整也相應(yīng)的被分配到3個線性軸的運動中;機(jī)床安裝根錐角則表現(xiàn)為數(shù)控機(jī)床的B軸,當(dāng)采用刀傾法加工時,刀盤軸線的傾角被補償?shù)紹軸中。傳統(tǒng)機(jī)床的工件與產(chǎn)形輪的展成運動表現(xiàn)為全數(shù)控機(jī)床的A軸與驅(qū)動刀盤運動的兩個直線軸之間的運動。由于此類機(jī)床可以實現(xiàn)空間任何相對運動,因此可實現(xiàn)在傳統(tǒng)結(jié)構(gòu)銑齒機(jī)中不能實現(xiàn)的齒面修形。
圖1全數(shù)控錐齒輪銑齒機(jī)模型圖2搖臺式錐齒輪銑齒機(jī)模型
錐齒輪銑齒過程是給定刀盤和工件的相對運動,由刀具曲面包絡(luò)齒面的過程。因此,在刀盤形狀一致的情況下,在全數(shù)控銑齒機(jī)的切齒加工過程中,只要保證刀具和工件的相對運動關(guān)系與傳統(tǒng)結(jié)構(gòu)機(jī)床一致,就能保證加工出相同的齒面形狀。錐齒輪的銑齒加工過程一般分為粗切和精切兩個階段。粗切一般是為了開出齒槽,通常雙面法加工,大輪采用成形法或普通滾切法,小輪采用普通滾切法;精切時大輪仍采用雙面法加工,小輪采用單面法加工,除了采用普通滾切法外,還通常采用滾切修正法或刀傾法對齒面進(jìn)行修正。
2 數(shù)控軟件的總體設(shè)計
根據(jù)全數(shù)控銑齒機(jī)的加工特點,按照功能將整個數(shù)控軟件系統(tǒng)劃分為文件管理、狀態(tài)監(jiān)控、輔助功能、報警幫助四大功能模塊以及一個運動控制算法庫,各個模塊之間的聯(lián)系如圖3所示。文件管理模塊主要完成機(jī)床加工數(shù)據(jù)文件的導(dǎo)入導(dǎo)出,實現(xiàn)數(shù)據(jù)文件中各項參數(shù)(機(jī)床調(diào)整參數(shù)、加工工藝參數(shù)等)的查看、編輯等功能;狀態(tài)監(jiān)控模塊主要實現(xiàn)機(jī)床坐標(biāo)軸、搖臺角及加工齒深監(jiān)控,以及其他加工信息(循環(huán)時間、加工齒數(shù)、進(jìn)給率等)的顯示;輔助功能模塊實現(xiàn)對工裝槽,分齒,精切余量分配等切齒輔助功能;報警及幫助模塊用來對數(shù)控軟件系統(tǒng)的操作步驟進(jìn)行提示,以及對數(shù)據(jù)文件中各項參數(shù)的輸人數(shù)值進(jìn)行提示,同時對輸入數(shù)據(jù)進(jìn)行合理性檢查。運動算法庫包含全數(shù)控錐齒輪銑齒機(jī)運動控制模型算法程序、NC程序自動生成程序及加工過程的齒深監(jiān)控算法程序等數(shù)控軟件所需的各種核心算法程序。各個模塊之間以錐齒輪切齒加工參數(shù)、機(jī)床狀態(tài)參數(shù)以及機(jī)床系統(tǒng)變量等數(shù)據(jù)為紐帶,通過動態(tài)數(shù)據(jù)交換實現(xiàn)機(jī)床的自動控制。
圖3數(shù)控軟件功能模塊之間的聯(lián)系
3 數(shù)控軟件的開發(fā)
本文基于西門子840D系統(tǒng),采用西門子人機(jī)界面開發(fā)工具HMI Programming Package開發(fā)。HMI Programming Package提供兩種數(shù)控軟件開發(fā)方式:第一種是通過HMI Advanced標(biāo)準(zhǔn)數(shù)控軟件開發(fā)基于西門子標(biāo)準(zhǔn)應(yīng)用程序Regie及Sequence Control的嵌入式應(yīng)用數(shù)控軟件;第二種是開發(fā)標(biāo)準(zhǔn)的Windows數(shù)控軟件??紤]數(shù)控軟件開發(fā)的簡便性及數(shù)控軟件與西門子標(biāo)準(zhǔn)人機(jī)界面數(shù)控軟件的兼容性,我們選擇了第一種開發(fā)方式。
3.1 數(shù)控軟件的開發(fā)步驟
(1)首先準(zhǔn)備數(shù)控軟件的開發(fā)環(huán)境。數(shù)控軟件的基礎(chǔ)部分使用VB語言設(shè)計,為了獲得系統(tǒng)順序控制的相關(guān)功能支持,需要在工程中添加相應(yīng)的標(biāo)準(zhǔn)類模板及窗體,這些類模板及窗體是不允許更改的。同時,需要添加程序自己的模板(AMIAN.BAS、PRIVATE.BAS、SHUTDOWN.BAS),這些模板需要根據(jù)程序的不同情況進(jìn)行相應(yīng)設(shè)置。
(2)根據(jù)規(guī)劃的數(shù)控軟件總體結(jié)構(gòu)構(gòu)建數(shù)控軟件框架。根據(jù)數(shù)控軟件結(jié)構(gòu)的規(guī)劃與各個模塊的功能區(qū)分,設(shè)計整個數(shù)控軟件的總體框架。圖4所示為數(shù)控軟件的框架圖,圖中顯示了數(shù)控軟件中各窗口的調(diào)用關(guān)系及界面中各軟鍵與窗口狀態(tài)的聯(lián)系。根據(jù)數(shù)控軟件的框架圖對模板AMIAN.BAS進(jìn)行相應(yīng)設(shè)置,將程序添加的窗體名稱賦給數(shù)組gfrmFormName。對模板PRIVATE.BAS的全局變量進(jìn)行設(shè)置,指定程序的初始界面為mainfrm,臨時的信息存儲文件為GCutter.$$$,整個HMI數(shù)控軟件的初始化信息文件為MMC.INI,本程序的初始化信息文件為GCutter.INI。編輯信息文件GCutter.INI,指定程序的MDI窗口列表文件為GCutter.MDI及順序控制矩陣文件為GCutter.ZUS,再根據(jù)數(shù)控軟件框架圖編輯文件GCutter.MDI及GCuner.ZUS。
圖4軟件系統(tǒng)框架
(3)制作系統(tǒng)語言動態(tài)鏈接庫。為了使得數(shù)控系統(tǒng)上的水平及豎直軟鍵與順序控制矩陣文件發(fā)生聯(lián)系,需要制作系統(tǒng)語言動態(tài)鏈接庫。語言動態(tài)鏈接庫主要是實現(xiàn)HMI界面上水平及豎直軟鍵的文字顯示及對不同語言的支持。首先按照順序控制矩陣文件中規(guī)定的軟鍵順序編輯一個各按鍵名稱的資源文件,再將資源文件加入到MFC的普通動態(tài)鏈接庫工程中進(jìn)行編譯,便可得到語言動態(tài)鏈接庫GCutter_CH.dll。
(4)根據(jù)實際要求編輯數(shù)控軟件各窗體的界面并編寫相應(yīng)程序,同時在模板PRIVATE.BAS中編寫各軟鍵的響應(yīng)函數(shù)。
(5)程序設(shè)計完畢后編譯成可執(zhí)行文件GCutter.exe,將其拷貝到HMl一Advanced的OEM文件夾下。同時將GCutter.INI、GCutter.MDI、GCutter.ZUS及語言動態(tài)鏈接庫GCutter_CH.dll拷貝到OEM對應(yīng)目錄下。
(6)修改HMI—Advanced\mmc2下regie.ini文件的[TaskConfiguration]段:Task6=name:=GCutter,Timeout:=60 000。同時在HMI—Advanced\mmc2\lan—guage\下的語言文件RE—CH.ini中的[HSoftkeyTexts]段添加一行:HSK6=“銑齒機(jī)”。這樣在啟動西門子HMI系統(tǒng)后按F10,在系統(tǒng)主界面的第六水平軟鍵上出現(xiàn)“銑齒機(jī)”字樣,按下該鍵將加載全數(shù)控銑齒機(jī)數(shù)控數(shù)控軟件系統(tǒng)。設(shè)計完成后的數(shù)控軟件系統(tǒng)界面如圖5、6所示。
3.2 數(shù)控軟件的NC代碼自動生成算法流程
數(shù)控軟件的關(guān)鍵作用是讀入調(diào)整卡文件,根據(jù)調(diào)整參數(shù)及工藝參數(shù),通過運動控制算法庫將供傳統(tǒng)機(jī)床基本模型使用的調(diào)整卡文件轉(zhuǎn)化為全數(shù)控機(jī)床模型,進(jìn)而計算出加工刀位點。再通過數(shù)控代碼自動牛成算法庫的后置處理,將刀位點轉(zhuǎn)化為數(shù)控系統(tǒng)能夠執(zhí)行的NC程序。本文設(shè)計數(shù)控代碼時,采用了西門子數(shù)控系統(tǒng)的尺參數(shù)編程模式,使用同一個數(shù)控程序來實現(xiàn)主體切齒循環(huán)及其他輔助功能等所有加工過程控制。通過DDE動態(tài)數(shù)據(jù)交換,由主控程序給尺1賦值,再用尺1參數(shù)對當(dāng)前任務(wù)判斷,使得數(shù)控系統(tǒng)能夠執(zhí)行正確的功能循環(huán)。以小輪精切為例,切齒加工時要進(jìn)行如下操作:
(1)進(jìn)入“數(shù)據(jù)文件“界面,導(dǎo)人該工步的齒輪精切調(diào)整卡文件,并對相關(guān)工藝參數(shù)進(jìn)行設(shè)置;
(2)參數(shù)設(shè)置完畢,保存數(shù)據(jù)并按HMI界面上的“生成代碼”數(shù)控軟件,生成加工NC代碼,并使其生效。
(3)待工件安裝完畢,進(jìn)入“輔助功能”界面,按下“回滾切中心”軟鍵,此時HMI主控數(shù)控軟件將給尺1賦值為3。
(4)此時執(zhí)行數(shù)控程序,程序?qū)⒖刂茩C(jī)床回到滾切中心位置。再切換到手動模式,調(diào)整機(jī)床z軸及A軸進(jìn)行對刀操作。
(5)對刀完成后按下“余量分配”軟鍵,HMI數(shù)控軟件將給尺1賦值為-1,同時將當(dāng)前A軸對刀位置記錄并進(jìn)行處理計算出加工過程中A軸坐標(biāo)的偏置值存入R2,余量分配任務(wù)完成。此時執(zhí)行數(shù)控程序,機(jī)床僅切削對刀的這顆輪齒。用戶可以通過觀察齒面是否切光,判斷精切切削鼙是否合理。
(6)精切對刀完成后,回到狀態(tài)監(jiān)控主界面,HMI將給尺1賦值為10。此時執(zhí)行加工程序,機(jī)床將執(zhí)行切齒加工循環(huán)。在執(zhí)行切齒循環(huán)時輔助功能界面將被鎖定,防止用戶誤操作改變尺1的值,影響切齒加工。另外數(shù)控程序中用R9存儲齒數(shù),用R10存儲當(dāng)前加工齒數(shù),并通過R10判斷輪齒是否加工完畢。分齒動作也是通過A軸的偏置來實現(xiàn),加工過程中A軸坐標(biāo)的最終偏置值等于對刀的A軸偏置值及跳齒的A軸偏置值之和。
4 切齒實驗
將所開發(fā)的數(shù)控軟件系統(tǒng)嵌入到天津第一機(jī)床廠制造的YKD2275全數(shù)控錐齒輪銑齒機(jī)上,進(jìn)行了切齒加工實驗。YKD2275為六軸五聯(lián)動機(jī)床。
實驗過程中,采用了多種切齒方法對這對齒輪進(jìn)行加工,齒輪副的粗精切均在YKD2275上完成,由于調(diào)整參數(shù)較多,這里未將其列出。右旋大輪粗精切均采用普通滾切法,左旋小輪粗切采用普通滾切法,精切分別采用了刀傾法及滾切修正兩種方法。
5 結(jié)語
本文采用兩門子人機(jī)界面開發(fā)工具HMI Programming Package開發(fā)了基于西門子840D系統(tǒng)的錐齒輪數(shù)控切齒數(shù)控軟件,并將該數(shù)控軟件系統(tǒng)嵌入到天津第一機(jī)床總廠制造的YKD2275全數(shù)控錐齒輪銑齒機(jī)上采用多種切齒加工方法進(jìn)行了切齒實驗,表明應(yīng)用該數(shù)控軟件系統(tǒng)全數(shù)控錐齒輪銑齒機(jī)能夠?qū)崿F(xiàn)全功能切削。
(審核編輯: 智匯胡妮)
分享