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