毛文亮,楊小平
(1.甘肅機(jī)電職業(yè)技術(shù)學(xué)院,甘肅 天水 741001; 2.甘肅農(nóng)業(yè)大學(xué)科學(xué) 技術(shù)處,甘肅 蘭州 730000)
精密復(fù)雜零件制造是一個國家制造業(yè)水平的集中體現(xiàn)。隨著我國數(shù)控加工技術(shù)的飛速發(fā)展,對在線檢測技術(shù)提出了更高要求。當(dāng)前國內(nèi)的大量在線檢測軟件受機(jī)床系統(tǒng)、測頭品牌等的限制,編程繁瑣,價格昂貴,無法通用,開發(fā)一套宏程序在線檢測庫,引入到數(shù)控機(jī)床系統(tǒng)中,通過調(diào)用宏程序并賦值,生成所需要的在線檢測程序,控制加工中心自動完成檢測任務(wù),不但可以有效提高產(chǎn)品檢測精度、效率,還可以大大降低檢測成本。
復(fù)雜零件通常由圓孔、圓柱、圓錐、凸臺、凹槽、橢圓等幾種基本體組合而成,將一個復(fù)雜零件按照不同特征分解為不同的基本體,在計(jì)算機(jī)上生成基本體在線檢測宏程序,將基本體在線檢測宏程序由RS-232通訊接口傳輸給數(shù)控機(jī)床,通過調(diào)用基本體在線檢測宏程庫中的在線檢測宏程序并賦值,生成所需要的在線檢測程序[1],機(jī)床伺服系統(tǒng)驅(qū)動測頭對被測件上的點(diǎn)、線、面、圓孔、圓柱、圓錐、凸臺、凹槽、球、橢圓等基本體進(jìn)行測量,測頭測量時發(fā)出的觸發(fā)信號,通過測頭與數(shù)控系統(tǒng)的專用接口轉(zhuǎn)變?yōu)閿?shù)控系統(tǒng)可識別的信號,數(shù)控系統(tǒng)接收信號后,記錄下測量點(diǎn)坐標(biāo),最后對各測量點(diǎn)坐標(biāo)進(jìn)行處理,便可獲得組合體的測量結(jié)果。
檢測路徑的規(guī)劃對工件檢測精度影響很大,檢測路徑規(guī)劃時既要避免測頭碰撞工件,又要避免測頭超程。測量曲面時,測頭接觸測點(diǎn)的方向有沿著軸線方向接觸和沿著法線方向接觸兩種方式[2]。測頭沿著軸線方向接觸測點(diǎn)如圖1所示,這種方式中,測頭以測點(diǎn)A的Z軸方向接觸工件時,測頭與實(shí)際工件表面接觸的是B點(diǎn),檢測系統(tǒng)返回的是點(diǎn)C的坐標(biāo)值,由于測點(diǎn)B的法矢方向未知,難以通過C點(diǎn)求出測點(diǎn)B坐標(biāo)值,一般不采用。測頭沿著法線方向接觸零件表面測點(diǎn)如圖2所示,這種方法被廣泛應(yīng)用,測量時,測頭與實(shí)際工件表面B點(diǎn)接觸,檢測系統(tǒng)返回的是點(diǎn)C的坐標(biāo)值,可沿法矢方向測頭半徑補(bǔ)償測量值方便地計(jì)算出A點(diǎn)的加工誤差,具體檢測時,測頭以Z軸方向接近某測點(diǎn),到達(dá)預(yù)設(shè)高度點(diǎn)時停止,停留片刻后沿工件曲面模型法線方向接觸測點(diǎn),檢測完畢后沿原法矢方向返回到預(yù)設(shè)高度,往復(fù)重復(fù)以上動作,直到所有測點(diǎn)檢測完畢。
圖1 測頭軸向接近測點(diǎn) 圖2 測頭法向接近測點(diǎn)
G31 是在線檢測程序中最常用的基本檢測指令,它是FANUC Oi數(shù)控系統(tǒng)自定義的帶有續(xù)效性的跳步指令。指令格式為: G31 IP_ F_ ;IP 為X、Y、Z中一個軸的移動。當(dāng)測頭碰觸工件表面時,接觸信號發(fā)生,控制系統(tǒng)接收此信號,將X、Y、Z坐標(biāo)值儲存起來并保持不變,僅當(dāng)下一個跳越信號發(fā)出后才能改變,然后立即停止執(zhí)行該程序段的剩余部分,轉(zhuǎn)向下一個程序段[3]。
G92 是工件坐標(biāo)系設(shè)定指令,功能是設(shè)定工件坐標(biāo)系原點(diǎn)。
M02 為程序結(jié)束指令,功能是在完成程序段的所有指令后,使主軸進(jìn)給停止。
G65為宏程序調(diào)用指令,指令格式為:G65 P(程序號)L(重復(fù)次數(shù))<宏變量傳遞值>。
外部輸出指令是加工中心在線測量系統(tǒng)與外部處理器進(jìn)行通訊的重要指令,主要包括開通指令 POPEN;關(guān)閉指令 PCLOS;數(shù)據(jù)輸出指令BPRNT 和 DPRNT。
FANUC Oi數(shù)控系統(tǒng)中,宏變量用地址符#和后面的數(shù)字來表示,分為空變量(#0)、局部變量(#1-#33)、公共變量(#100- 149和#500-#531)和系統(tǒng)變量(#1000-)??兆兞康闹悼偸荖ULL,若沒有值可置成這種類型;局部變量在一個宏程序中用來保存數(shù)據(jù),系統(tǒng)掉電時局部變量成NULL,被調(diào)用時參數(shù)賦值給變量;公共變量可被不同宏程序分享,系統(tǒng)掉電時,#100-#149成NULL,#500-#531可保持[3];系統(tǒng)變量是用來讀寫CNC系統(tǒng)指令或數(shù)據(jù)的變量。
編制點(diǎn)、線、面、圓孔、圓柱、圓錐、凸臺、凹槽、球、橢圓等基本體的在線檢測宏程序組成在線檢測宏程序庫,測量時,通過調(diào)用宏程庫中的宏程序并賦值,生成所需要的實(shí)際測量程序,就可以對工件進(jìn)行測量了,下面以凸臺在線檢測宏程序編制來具體說明。
(1) 調(diào)用格式
G65 P9661 X Y Z U V B M F C E Q D H;
(2) 變量定義
變量的定義如表1所示。
表1 變量的定義
O9661
IF [#21 EQ #0] GOTO 991 (X未賦值,報警)
IF [#22 EQ #0] GOTO 991 (Y未賦值,報警)
IF [#23 EQ #0] GOTO 991 (Z未賦值,報警)
IF [#11 EQ #0] GOTO 991 (H未賦值,報警)
IF [#24 EQ #0] GOTO 991 (U未賦值,報警)
IF [#25 EQ #0] GOTO 991 (V未賦值,報警)
#31=#5002 (保存G指令模態(tài)值)
#32=#5003
G00 G43 H45 Z70.0
IF [#2 NE #0] GOTO 110(若障礙物高度沒賦值,以0處理)
#2=0
N110 G90 G00 X#21 Y#22
Z[#23+20.0]
G91 G31 Z-[#8+#17+20.0] F#9(測頭對第一點(diǎn)測量)
G01 Z#8 F#9
G31 Z-[#8+#17] F#3
#105=#6063(保存Z向坐標(biāo)值)
G91 G00 Z[30.0+#2] (測頭抬起越過障礙物)
G90 X#23 Y#24
G91 G31 Z-[#11+#8+#17+#2+30.0] F#9(測頭對第二點(diǎn)二次測量)
G01 Z#8 G31 Z-[#8+#17] F#3
#106=#5063(保存Z向坐標(biāo)值)
DPRNT[Z#105[35] Z#106[35]](輸出測量結(jié)果)
G91 G28 Z0.0(測頭返回原點(diǎn))
G#31 G#32 (恢復(fù)G指令模態(tài)值)
GOTO 999
N991#3001=160 (ARGUMENT X Y Z H U V NOT ASSIGNED產(chǎn)生報警信息)
N999 M99 (宏程序結(jié)束返回主程序)
為驗(yàn)證有效性,本文采用 FANUC 0i VMC-850B三軸立式加工中心,雷尼紹TP20型觸發(fā)式測頭,通過調(diào)用在線檢測宏程序庫中點(diǎn)、線、面、圓孔、凸臺等基本體在線檢測宏程序(見圖3),并賦值。
圖3 在線檢測宏程序測量
對精密復(fù)雜零件的點(diǎn)、線、面、圓孔、凸臺進(jìn)行了在線檢測,并將檢測結(jié)果與三坐標(biāo)測量機(jī)的測量結(jié)果進(jìn)行了對比,結(jié)果顯示,檢測零件各項(xiàng)數(shù)據(jù)符合技術(shù)要求,與三坐標(biāo)測量機(jī)測量結(jié)果基本一致。檢測零件上選取的5個測量點(diǎn)的檢測結(jié)果與三坐標(biāo)測量機(jī)檢測結(jié)果的比較如表2所示。
表2 宏程序檢測數(shù)據(jù)與CMM檢測數(shù)據(jù)比較 /mm
在數(shù)控機(jī)床中引入圓孔、圓柱、圓錐、凸臺、凹槽、球等基本體在線檢測宏程序庫,通過調(diào)用賦值,對精密復(fù)雜零件進(jìn)行在線檢測,不但精準(zhǔn)、高效,而且非常簡捷、低廉,通過不斷完善在線檢測宏程序庫,在線檢測宏程序可以完成部分三坐標(biāo)測量機(jī)的功能,在以后的研究中,將不斷完善,使這項(xiàng)技術(shù)被廣泛推廣應(yīng)用。