王佳偉,秦貴忠,朱平,歐虎,趙信強
中車資陽機車有限公司 四川資陽 641300
臥式加工中心(數(shù)控操作系統(tǒng):西門子840D,機床:西班牙鏜銑加工中心)作為發(fā)動機部件加工的一種常用設(shè)備,在部件加工過程中有著不可替代的作用。由于臥式加工中心使用過程中刀具種類多,刀具庫用于存儲刀具的位置不夠,所以在加工不同種類曲軸時,需手動更換刀具庫中的刀具,刀具更換后就要重新輸入刀具參數(shù)。人工輸入刀具參數(shù)不可避免地會出錯,在實際使用時,也會因刀具參數(shù)輸錯、沒有及時發(fā)現(xiàn)而導(dǎo)致發(fā)生質(zhì)量問題。
要避免出現(xiàn)刀具參數(shù)錯誤導(dǎo)致的質(zhì)量問題,最妥當?shù)姆椒ň褪悄軐Φ毒邊?shù)進行自動輸入和自動檢查。而刀具參數(shù)的自動讀入會造成原本正確的刀具磨損參數(shù)被覆蓋掉,如若沒有及時發(fā)現(xiàn),也有可能造成質(zhì)量事故。另一種解決方案為由計算機對操作人員手動輸入的刀具參數(shù)進行分析對比,對刀具的參數(shù)差異進行輸出和提示,此方案更符合現(xiàn)場的實際使用需求。
要想對刀具參數(shù)的修改分析對比,則需要由計算機對正確的刀具參數(shù)進行備份,以及對正確刀具參數(shù)和機床中現(xiàn)有的刀具參數(shù)進行比對檢查,當有問題時及時報警或停止,并提示操作人員。
機床中的刀具參數(shù)作為實數(shù)類型數(shù)據(jù),如果存儲于R參數(shù)表中,則需要大量的R參數(shù)用于數(shù)據(jù)存儲,而西班牙鏜銑加工中心可使用的R參數(shù)只有99個,要想用于存儲刀具參數(shù),則只能存儲3~4把刀具的參數(shù),是遠遠不夠的,所以需要找尋其他的數(shù)據(jù)存儲位置。
為了實現(xiàn)刀具參數(shù)的自動檢查及對檢查差異數(shù)據(jù)輸出,需要開發(fā)刀具參數(shù)備份程序、現(xiàn)有刀具參數(shù)與之前備份刀具參數(shù)比對檢查這兩大核心程序。
刀具參數(shù)不能全部存儲于R參數(shù)表中,而數(shù)控加工程序中有大量的數(shù)據(jù)及其他字符。如果能將刀具參數(shù)存儲于特定的數(shù)控程序中,則存儲的數(shù)據(jù)量將大幅增加[1],因此需要通過字符串進行數(shù)據(jù)的中間轉(zhuǎn)換??梢酝ㄟ^定義“string”類型數(shù)據(jù),作為中間轉(zhuǎn)換數(shù)據(jù)的臨時存儲位置,將數(shù)據(jù)轉(zhuǎn)換為字符串[2]。數(shù)據(jù)轉(zhuǎn)換為字符串后,只是臨時存儲于NC中,一旦重啟機床,數(shù)據(jù)將全部丟失。為了將數(shù)據(jù)永久存儲,需要將數(shù)據(jù)存儲于程序中,以文本文檔存放在硬盤中,這樣才可以保證數(shù)據(jù)不丟失。引入“WRITE”指令,將字符串數(shù)據(jù)寫入到自己命名的存儲位置。此時寫入的數(shù)據(jù)為一堆數(shù)值,查看很不方便。為了方便數(shù)據(jù)查看,將刀具參數(shù)與R參數(shù)順序一一對應(yīng)輸出,例如R3與$TC_DP3一一對應(yīng),代表刀具長度參數(shù),將<<"R3="<<$TC_DP3[r1,r2]整體作為字符串進行輸出,通過定義ZK1為字符串,即ZK1=<<"R3="<<$TC_DP3[r1,r2],將長度刀具參數(shù)輸出為字符串ZK1。此時再通過WRITE指令,將ZK1字符串寫入到編程目錄文件JC1子程序中,即WRITE(ERROR,”/_N_WKS_DIR/_N_8320_TXX_QZ_WPD/_N_JC1_spf”,zk1)。
參數(shù)備份傳遞原理如圖1所示。
圖1 刀具參數(shù)備份原理
由于刀具參數(shù)的備份是為了以后程序自動調(diào)用,因此將程序參數(shù)文檔輸出為spf子程序類型,同時在程序中添加備份時間,以方便后期查看。在備份程序末尾添加M17結(jié)束指令,用于子程序結(jié)束和后期對該子程序的調(diào)用。為了程序使用簡單方便,將刀具參數(shù)備份核心程序設(shè)計為專門的子程序DJCSBF。為了實現(xiàn)一個子程序備份所有刀具,引入?yún)?shù)化編程理念,將刀具號用R1表示,刀補號用R2表示。這樣通過R1和R2參數(shù)的變化,可實現(xiàn)所有刀具的參數(shù)讀取和調(diào)用。
針對T53D1刀具的長度參數(shù)和半徑參數(shù),進行刀具參數(shù)備份主程序設(shè)計如下(其他參數(shù)備份使用相同方法進行)。
刀具參數(shù)進行備份,最終目的是為了實現(xiàn)機床自動提取數(shù)據(jù)與判斷數(shù)據(jù)。要想實現(xiàn)對備份刀具參數(shù)的提取,在刀具參數(shù)備份時就需要對參數(shù)進行區(qū)分。此時可以引入R90用于和R1代表的刀具號進行比對,引入R91用于與R2代表的刀補號進行比對,只有當兩個都滿足時,才可以提取相應(yīng)的刀具參數(shù)到R參數(shù)表中。為此在刀具參數(shù)備份子程序中,通過“WRITE”命令將“IF”指令以字符串的形式備份到刀具參數(shù)中,用于對刀具參數(shù)數(shù)據(jù)的提取判斷?!?TC_DP3[r1,r2]”代表刀具長度參數(shù),“$TC_DP6[r1,r2]”代表刀具半徑參數(shù),其他參數(shù)使用此相同方法進行,此處不再贅述。最終將所有刀具參數(shù)備份到子程序“JC1”中。
以下是DJCSBF子程序中具體內(nèi)容。
備份好的參數(shù)存儲在子程序JC1中,打開后如下所示。
在將刀具參數(shù)備份到子程序JC1中后,參數(shù)的備份就結(jié)束了。當某一刀位,操作人員進行換刀并輸入刀具參數(shù)后,對于刀具參數(shù)的正確性需運行刀具參數(shù)檢查主程序進行自動檢查。檢查過程需將備份子程序中的刀具號和刀補號對應(yīng)的刀具參數(shù)進行輸出,此時檢查主程序中引入R90用于和JC1刀具參數(shù)中R90參數(shù)進行比對,引入R91用于和JC1刀具參數(shù)中R91參數(shù)進行比對,只有當兩個都相同時,將此段的參數(shù)全部輸出到R參數(shù)表中(原理見圖2),例如T53D1刀具,當R90=53、R91=1時,R3參數(shù)被賦予193.225,R6參數(shù)賦予5。
圖2 刀具參數(shù)檢查原理
以下為刀具參數(shù)檢查主程序內(nèi)容。
當?shù)毒邆浞輩?shù)與實際機床中刀具參數(shù)相同時,什么動作也不執(zhí)行;當備份刀具參數(shù)與實際機床中刀具參數(shù)不相同時,此時機床顯示屏幕上顯示MSG提示信息,同時程序停止執(zhí)行,提示操作人員檢查刀具參數(shù)的正確性[3]。
以下為刀具參數(shù)檢查子程序內(nèi)容。
通過以上刀具參數(shù)備份程序和刀具參數(shù)檢查程序的使用,大大減少了操作人員因刀具參數(shù)輸錯而導(dǎo)致的質(zhì)量事故,提前將錯誤暴露出來,避免重大安全、質(zhì)量事故的發(fā)生。