孫玉松
摘 要:介紹了使用臥式加工中心時(shí)為防止人為操作失誤,運(yùn)用FANUC 宏程序編寫(xiě)防錯(cuò)程序的方法及相關(guān)思路
關(guān)鍵詞:臥式加工中心;程序;防錯(cuò)
1 背景
隨著生產(chǎn)成本的壓力越來(lái)越大,生產(chǎn)車(chē)間對(duì)于效率的要求越來(lái)越高,而在機(jī)加工車(chē)間會(huì)發(fā)生因?yàn)椴僮魅藛T的疏忽造成‘撞車(chē)的現(xiàn)像。嚴(yán)重的情況會(huì)造成機(jī)床損壞,生產(chǎn)停止數(shù)周、后續(xù)品質(zhì)不穩(wěn)定,輕則造成生產(chǎn)中斷、刀具損壞。在工藝設(shè)計(jì)時(shí)充分考慮防錯(cuò)的應(yīng)用,不但能夠有效的減少發(fā)生事故的風(fēng)險(xiǎn),而且對(duì)于操作人員的技術(shù)要求也相應(yīng)的降低。然而,在實(shí)際工作中,由于工藝人員的經(jīng)驗(yàn)和水平參差不齊,設(shè)計(jì)出來(lái)的程序也經(jīng)常存在不足。將以往的經(jīng)驗(yàn)利用宏程序設(shè)計(jì)一個(gè)通用模板,可以有效的預(yù)防錯(cuò)誤的發(fā)生。
2 程序邏輯機(jī)構(gòu)的設(shè)計(jì)
臥式加工中心在程序設(shè)計(jì)時(shí),要基于以下幾方面考慮。1、工件加工過(guò)程中,由于某種原因造成程序中止,或者加工完工件時(shí),由于尺寸不合格需要返修,程序啟動(dòng)時(shí)程序的設(shè)定參數(shù)可能錯(cuò)誤。2,生產(chǎn)車(chē)間是一個(gè)多品種小批量的生產(chǎn)線,日常生產(chǎn)中需要經(jīng)常換型,操作人員可能會(huì)調(diào)錯(cuò)程序。3、刀具安裝時(shí),操作員可能會(huì)忽略機(jī)床的允許刀具長(zhǎng)度和直徑,會(huì)造成刀庫(kù)損壞或刀具干涉事件。4、刀具尺寸輸入時(shí),操作員需要根據(jù)對(duì)刀儀的測(cè)量值將刀具的尺寸輸入到機(jī)床中,這一過(guò)程中作業(yè)員可能會(huì)把刀具參數(shù)輸錯(cuò),會(huì)造成碰撞事故。5、由于臥式加工中心有兩個(gè)工作臺(tái)分別安裝不同的工件,每一個(gè)工作臺(tái)對(duì)應(yīng)一個(gè)程序,操作人員在操作時(shí)可能會(huì)發(fā)生調(diào)用的工作臺(tái)與程序不對(duì)應(yīng)?;谝陨蠋c(diǎn),邏輯結(jié)構(gòu)圖設(shè)計(jì)如下:
程序初始化→選定程序是否與加工程序相符→刀具的長(zhǎng)度和直徑是否超出規(guī)范→刀具的補(bǔ)償數(shù)值是否輸錯(cuò)→根據(jù)當(dāng)前工作臺(tái)的編號(hào)調(diào)用對(duì)應(yīng)的程序→切削加工
3 主程序的設(shè)計(jì)
FANUC宏程序在設(shè)計(jì)時(shí)要將相應(yīng)的技術(shù)信息包括在內(nèi),如機(jī)器編號(hào)、圖紙?zhí)?、程序版本、程序編?xiě)者以及日期,以便后續(xù)的維護(hù)和管理。程序的初始化分為模態(tài)初始化,刀具回到安全位置和應(yīng)用參數(shù)初始化。#120需要操作員在換型時(shí)將要加工的產(chǎn)品型號(hào)輸入機(jī)床,程序運(yùn)行時(shí)會(huì)檢查當(dāng)前的程序是否是操作員要調(diào)用的程序。如果正確就繼續(xù)加工,否則就會(huì)在屏幕出現(xiàn)請(qǐng)更換主程序的報(bào)警。刀具參數(shù)的檢查是通過(guò)指令M98調(diào)用程序8803完成的。機(jī)床參數(shù)的設(shè)置是通過(guò)指令M98調(diào)用程序10完成的。機(jī)床在運(yùn)行時(shí),會(huì)將當(dāng)前的工作臺(tái)編號(hào)返回給#147,程序會(huì)檢查#147,如果#147=1,就調(diào)用1號(hào)工作臺(tái)的程序,如果#147=2,就調(diào)用2號(hào)臺(tái)的程序。完成通用程序的設(shè)計(jì)后,工藝人員可以根據(jù)工件的尺寸完成后續(xù)工步程序軌跡的設(shè)計(jì)。
IF[#120 EQ 8000]GOTO1159
#3006=1(PLS CHANGE MAIN PROGRAM)
N1159
M98P8803
M98P10
IF[#147EQ1]GOTO18000(PALETTE 1)
IF[#147EQ2]GOTO28000(PALETTE 2)
4 設(shè)定參數(shù)的初始化程序
數(shù)控編程時(shí),必須先建立工件坐標(biāo)系,用來(lái)確定刀具刀位點(diǎn)在坐標(biāo)系中的坐標(biāo)值。工件坐標(biāo)系一旦設(shè)定錯(cuò)誤,往往會(huì)發(fā)生嚴(yán)重的事故。利用變量可以改變G54等坐標(biāo)數(shù)據(jù),從而達(dá)到用程序來(lái)設(shè)定零件坐標(biāo)原點(diǎn)的各軸的機(jī)械數(shù)值。#5221、#5222、#5223和#5224分別用來(lái)記錄G54坐標(biāo)的X軸、Y軸、Z軸和B軸的坐標(biāo)。#5241、#5242、#5243和#5244分別用來(lái)記錄G55坐標(biāo)的X軸、Y軸、Z軸和B軸的坐標(biāo)。在程序10中 ,N50和N60語(yǔ)句通過(guò)#147參數(shù)判斷當(dāng)前工作臺(tái)為1號(hào)還是2號(hào),如果是1號(hào)工作臺(tái)就繼續(xù)執(zhí)行N1000號(hào)語(yǔ)句,將工件的坐標(biāo)中心賦予G54坐標(biāo)系,賦值結(jié)束后執(zhí)行GOTO999跳轉(zhuǎn)到N99語(yǔ)句,如果是2號(hào)工作臺(tái)就繼續(xù)執(zhí)行N1000號(hào)語(yǔ)句,將工件的坐標(biāo)中心賦予G55坐標(biāo)系。#1、#2和#3分別用于調(diào)整G54坐標(biāo)的偏差值,#11、#12和#13分別用于調(diào)整G55坐標(biāo)的偏差值,當(dāng)加工完的工件有位置偏差時(shí),只需調(diào)整#1、#2和#3來(lái)調(diào)整G54的X、Y、Z的偏差值,只需調(diào)整#11、#12和#13來(lái)調(diào)整G55的X、Y、Z的偏差值。
O0010(ORIGIN)
N10
N50IF[#147 EQ 1]GOTO1000(PALETTE 1)
N60IF[#147 EQ 2]GOTO2000(PALETTE 2)
N1000
(##### PALLET 1 #####)
#1=0(PALLET 1 G54 X OFFSET)
#2=0(PALLET 1 G54 Y OFFSET)
#3=0(PALLET 1 G54 Z OFFSET)
…
N999
M99
5 刀具尺寸和補(bǔ)償?shù)臋z查程序
刀具參數(shù)包括半徑尺寸和半徑補(bǔ)償,以及長(zhǎng)度尺寸和長(zhǎng)度補(bǔ)償。長(zhǎng)度尺寸和半徑尺寸是在刀具安裝到機(jī)床時(shí),將刀具的長(zhǎng)度尺寸和半徑尺寸輸入到機(jī)床中。半徑補(bǔ)償和長(zhǎng)度補(bǔ)償是根據(jù)加工完的工件尺寸偏差,做出的調(diào)整值。宏程序的作用是當(dāng)認(rèn)為輸入的尺寸超過(guò)安全規(guī)范時(shí),機(jī)床會(huì)報(bào)警。刀具各項(xiàng)數(shù)據(jù)也可以程序控制,如#11001為1號(hào)刀長(zhǎng)度補(bǔ)償(H1),#11002為2號(hào)刀長(zhǎng)度補(bǔ)償(H2),各數(shù)值分別對(duì)應(yīng)如下:刀具長(zhǎng)度#11XXX 刀具長(zhǎng)度磨損#13XXX 刀具半徑#13XXX 刀具半徑磨損#12XXX(其中XXX為刀號(hào),3號(hào)刀則為#11003,123號(hào)刀則為#11123)利用程序控制刀具數(shù)據(jù)可以方便管理,同時(shí)也能方便編程加工,例如在一把刀分粗精加工時(shí),只要更該刀具數(shù)據(jù)就可以用同一程序同一把刀來(lái)完成了。#1用來(lái)設(shè)定允許刀具長(zhǎng)度的最小值,#2用來(lái)設(shè)定允許刀具長(zhǎng)度的最大值,#3用來(lái)設(shè)定允許刀具半徑的最小值,#4用來(lái)設(shè)定允許刀具半徑的最大值,#10用來(lái)設(shè)定刀具的編號(hào)。#10001到#10400用來(lái)記錄刀具長(zhǎng)度的1到400的磨損補(bǔ)償,#11001到#11400用來(lái)記錄刀具長(zhǎng)度的1到400的外形補(bǔ)償。當(dāng)#10=1時(shí),#[#10+10000]+#[#10+11000]的返回值為1號(hào)補(bǔ)償號(hào)的刀具長(zhǎng)度值與刀具長(zhǎng)度補(bǔ)償值的和。如果#[#10+10000]+#[#10+11000]的返回值大于#2設(shè)定的允許刀具長(zhǎng)度的最大值,跳轉(zhuǎn)到N910語(yǔ)句,顯示刀具長(zhǎng)度大于最大值報(bào)警。如#[#10+10000]+#[#10+11000]的返回值小于#1用來(lái)設(shè)定允許刀具長(zhǎng)度的最小值,跳轉(zhuǎn)到N920語(yǔ)句,顯示刀具長(zhǎng)度小于最小值報(bào)警。#12001到#12400用來(lái)記錄刀具半徑的1到400的磨損補(bǔ)償,#13001到#13400用來(lái)記錄刀具半徑的1到400的外形補(bǔ)償。當(dāng)#10=1時(shí),#[#10+10000]+#[#10+11000]的返回值為1號(hào)補(bǔ)償號(hào)的刀具半徑與刀具半徑補(bǔ)償值的和。如果#[#10+10000]+#[#10+11000]的返回值大于#4設(shè)定的允許刀具半徑的最大值,跳轉(zhuǎn)到N930語(yǔ)句,顯示刀具半徑大于最大值報(bào)警。如果#[#10+10000]+#[#10+11000]的返回值小于31用來(lái)設(shè)定允許刀具半徑的最小值,跳轉(zhuǎn)到N940語(yǔ)句,顯示刀具半徑小于最小值報(bào)警。如果有多把刀具,按照上述方法依此類(lèi)推。
6 總結(jié)
此程序已經(jīng)使用多次,使用效果良好,使用此程序后未發(fā)現(xiàn)有漏洞,程序穩(wěn)定可靠,大大的減少了因?yàn)槿藛T疏忽而造成的“撞車(chē)”事故,而且編程的時(shí)間大大縮短。
參考文獻(xiàn)
[1]FANUC Series 16i/160i/160is-MB OPERATORS MANUAL OCT.,2001/Edition 02 作者:FANUC LTD