肖 斌
(江鈴汽車股份有限公司,江西南昌 330001)
數(shù)控機床在運行加工程序前,首先調(diào)用指定的刀具防錯子程序,進行刀具基本幾何尺寸判別,滿足設定條件則繼續(xù)向下執(zhí)行,不符合設定條件程序?qū)⒁恢毖h(huán)運行,不斷從數(shù)控系統(tǒng)刀具列表中讀取刀具信息,并顯示報警信息,提醒操作人員該把刀具基本幾何尺寸輸入錯誤,需操作人員重新核對,直到輸入的刀具基本幾何尺寸正確為止,數(shù)控機床才能正常運行加工程序,防錯程序時序如圖1 所示。
圖1 防錯程序時序
西門子840D 數(shù)控系統(tǒng)要實現(xiàn)多品種、復雜內(nèi)容加工,可以編寫獨立的子程序并在主程序中調(diào)用該子程序,這樣完全相同的加工內(nèi)容只需要編寫一個子程序,刀補自動防錯功能就是這樣一個子程序。執(zhí)行該子程序時,需要進行4 個步驟:①子程序中的變量,能夠從數(shù)控系統(tǒng)中,讀取到當前刀具列表中有效的刀具基本幾何尺寸;②在子程序中進行刀具幾何尺寸的比較運算和邏輯運算;③子程序根據(jù)運算結(jié)果進行有條件程序跳轉(zhuǎn);④跳出子程序或顯示錯誤信息,如果存在尺寸錯誤,子程序無限循環(huán)判斷,直到運算結(jié)果為真,跳出子程序。
下面針對西門子840D 數(shù)控系統(tǒng),介紹編程時所必需的編程指令和系統(tǒng)參數(shù)。
(1)從刀庫列表中讀取當前有效的刀具參數(shù),主要通過讀取系統(tǒng)變量的途徑來實現(xiàn),在西門子數(shù)控系統(tǒng)中可以通過系統(tǒng)變量$TC_DP3~$TC_DP11 來表示刀具幾何變量,除了用于物理磨損量($TC_DP12~$TC_DP20)的參數(shù)外,每個幾何參數(shù)可以分配最多6 個磨損量($TC_SCP1y~$TC_SCP6y),和最多6 個設置值($TC_ECP1y~$TC_ECP6y)。其中通過“$TC_DP3[t,d]”讀取刀具的長度信息,“$TC_DP6[t,d]”讀取刀具的半徑信息。
(2)有條件程序跳轉(zhuǎn),在西門子840D 數(shù)控系統(tǒng)中,引導有條件判斷的指令通過條件關(guān)鍵詞IF,其完整指令有如下3 種形式:①IF(條件表達式)GOTOB 描述跳轉(zhuǎn)目標;②IF(條件表達式)GOTOF 描述跳轉(zhuǎn)目標;③IF(條件表達式)GOTO/GOTOC 描述跳轉(zhuǎn)目標。
如果判斷表達式的邏輯返回值為真,即滿足所限定的條件時,程序?qū)?zhí)行跳轉(zhuǎn)指令,GOTOB 程序向后跳轉(zhuǎn)至目標標簽,即指往加工程序開始方向跳轉(zhuǎn);GOTOF 程序向前跳轉(zhuǎn)至目標標簽即指往加工程序結(jié)束方向跳轉(zhuǎn);GOTO 程序帶目標查詢跳轉(zhuǎn)指令,先往前,然后向后,首先往程序結(jié)束方向,然后往程序開始方向;GOTOC 跳轉(zhuǎn)指令帶目標查找跳轉(zhuǎn),如果判斷邏輯返回值為假,即不滿足限定條件,則程序往下繼續(xù)執(zhí)行。
(3)比較運算、邏輯運算。等于為==,大于為>,小于為<,大于或者等于為>=,小于或者等于為<=,與為AND,或為OR,非為NOT,異或為XOR。
在算術(shù)表達式中,可以給變量賦值,不同類型的變量賦值不同,當變量名由字母或值由常數(shù)構(gòu)成時,變量名與值之間必須寫“=”,如果變量名是單個字母,并且值僅由一個常數(shù)構(gòu)成,則可以不寫“=”符號,允許使用符號,分割符在變量字母之后。常用的比較函數(shù)有:int、real、bool、char 型變量,char 型變量通常比較代碼的值;axis、string、frame 型變量,可以是等于或不等于,也可以在同步動作中,用作運算string 型變量,比較運算結(jié)果有true或false。
對于刀具補償值的判斷條件往往不止一項,為了能夠使限制值更加嚴謹和安全,一般需要限定最大值和最小值,所以通常采用運算符OR 來判斷連接條件判斷的表達式。每一個邏輯運算都有優(yōu)先等級,在運算表達式中,當一個運算表達式的優(yōu)先級相同時,則運算從左向右執(zhí)行,當運算表達式的優(yōu)先級不同時,高一級的運算,要優(yōu)先去被執(zhí)行。在算術(shù)表達式中,可以使用圓括號來區(qū)分表達式中的運算順序,就不用考慮原先普通的優(yōu)先運算規(guī)則。
(4)GETT 指令給刀具名確定T 號,這個指令提供了設置刀具參數(shù)必需的T 編號,數(shù)控系統(tǒng)中的刀具名稱通常是已知的,如果存在幾個刀具名稱,則數(shù)控系統(tǒng)傳回最有可能的刀具T 編號為-1,刀具名稱或第二編號也可以不分配。
(5)顯示錯誤報警信息,可以在PCU 屏幕上方顯示報警信息,顯示的可編程信息指令是“MSG(信息)”,信息模態(tài),在下一個信息排在隊列之前,信息都是有效的,不能顯示的字符,會以二進制或十六進制的常量接收到字符串中,程序結(jié)尾通過M00 指令來中斷程序執(zhí)行。
刀具補償防錯程序示例如下:
(1)外置對刀儀與數(shù)控系統(tǒng)直接交換數(shù)據(jù)。操作人員在外置對刀儀上檢測,測量出刀具的基本尺寸參數(shù)直接傳入到數(shù)控系統(tǒng)中,但該方案需對刀儀與數(shù)控系統(tǒng)進行總線通信,外置對刀儀需進行設備改造,需使用中間存儲單元當做媒介,一般采用DNC 作為中間存儲單元,因此該方案改造投資成本大。
(2)物理性防錯。在數(shù)控機床的夾具上找一個固定位置,加一個對刀樣塊,操作人員每次更換完刀具后,將刀調(diào)到主軸上,然后走程序?qū)⒌毒唛_到到對刀樣塊位置,操作人員用塞尺測量刀具與對刀樣塊中間的間隙,從而計算出刀具的基本尺寸是否符合要求,該方案同樣存在主軸或夾具被撞的風險,如果輸入錯誤的刀具尺寸,主軸上的刀具將直接撞擊對刀樣塊或夾具,造成設備故障、主軸精度降低等。
(3)數(shù)控設備內(nèi)置對刀儀與外置對刀儀進行數(shù)據(jù)比對。操作人員首先利用外置對刀儀檢測刀具,測量出刀具的尺寸參數(shù),然后將尺寸參數(shù)輸入到數(shù)控系統(tǒng)刀具列表中,數(shù)控系統(tǒng)給機床發(fā)指令,激活機床內(nèi)置對刀儀,對主軸上的刀具進行二次校驗,測量參數(shù)反饋給數(shù)控系統(tǒng),由數(shù)控系統(tǒng)程序?qū)蓚€尺寸參數(shù)進行數(shù)據(jù)比對,如果兩個尺寸參數(shù)在標準公差范圍內(nèi),加工程序往下繼續(xù)執(zhí)行,否則報錯,加工程序停止,該方案同樣需要投入高昂的數(shù)控機床改造費用,經(jīng)濟效益低。
通過對西門子840D 數(shù)控系統(tǒng)刀具防錯子程序的開發(fā)應用,降低了生產(chǎn)現(xiàn)場操作人員壓力,減少刀具尺寸參數(shù)輸入錯誤造成的工件尺寸超差、工件報廢,間接提高產(chǎn)品質(zhì)量,避免人為錯誤的輸入刀具參數(shù)造成的撞機床事故,提高生產(chǎn)效率,給工廠創(chuàng)造更大經(jīng)濟效益。