張俊,趙旺,王奎章
(1.湖北文理學(xué)院機(jī)械工程學(xué)院, 湖北襄陽 441053;2.襄陽市智能制造與機(jī)器視覺重點實驗室,湖北襄陽 441053;3.湖北萬盟數(shù)控機(jī)床集團(tuán)有限公司,湖北襄陽 441800)
組合機(jī)床是以通用零部件為支撐,選配部分專用部件,按照預(yù)先擬訂好的多道工序?qū)σ环N或者多種工件實施半自動化或自動化加工的專用機(jī)床,其工作穩(wěn)定、操作方便、生產(chǎn)效率高,能夠有效保證工件的尺寸和形位精度,適合大規(guī)模批量化生產(chǎn)。隨著我國經(jīng)濟(jì)的快速發(fā)展和人們生活水平的提高,對水暖衛(wèi)浴產(chǎn)品的需求量越來越大,水龍頭被廣泛使用,在水龍頭出水口處通過螺紋連接有過濾嘴,以過濾水中的沉沙等雜質(zhì)。由于水龍頭出水口處的螺紋長度較短,為防止漏水滲水現(xiàn)象的發(fā)生,對出水口處螺紋形位精度要求較高。但是采用傳統(tǒng)的手工鉆孔與攻絲方式,不僅無法保證精度,而且生產(chǎn)效率較低。為此,本文作者以水龍頭出水口螺紋孔為加工對象,在華中8型數(shù)控系統(tǒng)的基礎(chǔ)上,開發(fā)一套具有示教功能的鉆攻專用數(shù)控系統(tǒng),可滿足水龍頭出水口鉆孔與攻絲工藝組合加工的需求。
用戶需求如下:(1)一次裝夾工件,完成鉆孔與攻絲兩道加工工序,減少產(chǎn)品的裝夾次數(shù)和重復(fù)定位誤差,提高生產(chǎn)效率和加工精度;(2)加工過程中不需對刀操作,以減少非切削時間;(3)無需操作者編寫數(shù)控加工程序,使操作流程簡捷、易于掌握,降低對操作人員技術(shù)水平的要求;(4)一名操作者負(fù)責(zé)兩個工位的工件裝卸,降低企業(yè)的人工成本。據(jù)此確定組合機(jī)床的功能要求,采用手搖示教方式,先自動生成G代碼,使用雙通道數(shù)控系統(tǒng)實現(xiàn)并行控制,兩個通道可以相互獨立工作,達(dá)到異步裝夾工件的目的。
對于單通道加工工件的工藝流程:機(jī)床上電后,將工件裝夾到治具滑臺上,按下循環(huán)啟動按鈕,治具滑臺帶動工件向上移動到鉆孔位置執(zhí)行鉆孔循環(huán)加工,然后治具滑臺繼續(xù)向上移動到攻絲位置執(zhí)行攻絲循環(huán)加工,攻絲結(jié)束后治具滑臺向下返回到初始工位,取出工件即可執(zhí)行下一個加工周期。
雙通道鉆攻組合機(jī)床的機(jī)械結(jié)構(gòu)采用左右對稱布局,各通道的攻絲和鉆孔工位按照豎直上下的形式設(shè)置,可以節(jié)省空間,其單側(cè)通道的機(jī)械結(jié)構(gòu)總體方案如圖1所示。軸是鉆孔工位的進(jìn)給軸,由伺服電機(jī)驅(qū)動,實現(xiàn)鉆孔操作時的軸向運動;軸是鉆孔工位的主軸,可選用普通變頻電機(jī)驅(qū)動;軸為攻絲工位的進(jìn)給軸,應(yīng)由伺服電機(jī)驅(qū)動;軸為攻絲工位的主軸,為保證剛性攻絲操作時軸向進(jìn)給量與主軸旋轉(zhuǎn)角度之間的同步協(xié)調(diào)關(guān)系,軸必需使用伺服電機(jī)驅(qū)動;軸豎直上下運動,是控制治具滑臺運動的移動軸,需由伺服電機(jī)驅(qū)動,實現(xiàn)工件在不同工位之間的上下運動和定位;產(chǎn)品在鉆攻組合加工時的定位由夾具和示教保證,故不必設(shè)置運動軸。
圖1 單側(cè)通道機(jī)械結(jié)構(gòu)示意
本文作者所開發(fā)的示教式鉆攻數(shù)控組合機(jī)床是在標(biāo)準(zhǔn)的華中8型數(shù)控系統(tǒng)(HNC8)上進(jìn)行二次開發(fā)實現(xiàn)的。HNC8采用的是模塊化、開放式的現(xiàn)場總線體系結(jié)構(gòu),方便用戶進(jìn)行定制開發(fā)。根據(jù)鉆攻組合機(jī)床的機(jī)械結(jié)構(gòu)分析其運動軸類型和控制方式,確定其配置需求和硬件連接關(guān)系。圖2所示為具有雙通道控制的鉆攻組合機(jī)床數(shù)控裝置硬件結(jié)構(gòu)。
圖2 雙通道鉆攻數(shù)控裝置的硬件結(jié)構(gòu)
在軟件二次開發(fā)方面,華中8型數(shù)控系統(tǒng)為用戶提供了人機(jī)交互界面層HMI和應(yīng)用程序編程接口層API。通過HMI層可以建立可視化的窗口界面,便于操作者直觀地查詢或修改機(jī)床的信息和參數(shù)值,實現(xiàn)人機(jī)交互中的事件響應(yīng),如文中的雙通道模式的顯示、示教參數(shù)的錄入、螺紋參數(shù)的設(shè)置等界面;API層提供大量的接口函數(shù),可以訪問數(shù)控系統(tǒng)的核心功能,實現(xiàn)對各種數(shù)據(jù)的保存與重裝、用戶宏變量與參數(shù)間的數(shù)據(jù)交換、示教程序的自動生成等功能。
華中8型數(shù)控系統(tǒng)的鉆孔和攻絲動作分別由G81和G84指令實現(xiàn),但它不具備示教功能。為滿足用戶的使用要求,通過示教方式代替人工編寫數(shù)控加工程序,利用華中8型數(shù)控系統(tǒng)提供的手搖控制器、G31跳步指令和宏變量等,二次開發(fā)手搖示教功能。示教的基本原理:按照被加工對象的工序規(guī)劃運動軸和刀具運動路徑,編制示教宏程序,通過手搖控制器的方式控制機(jī)床運動軸運動;由G31跳段指令記錄該運動軸的實際坐標(biāo)值,借助設(shè)置在數(shù)控系統(tǒng)操作面板上的按鍵將所記錄的運動軸位置信息(即坐標(biāo)值)賦給用戶宏變量,并生成被加工對象的G代碼程序,示教完成后可直接用于生產(chǎn)加工。
G31跳步指令是非模態(tài)的G代碼,用于實現(xiàn)G代碼的跳步,即在執(zhí)行當(dāng)前G31代碼過程中,一旦CNC系統(tǒng)接收到有外部跳步信號輸入,則終止當(dāng)前指令執(zhí)行的任務(wù),直接跳轉(zhuǎn)并執(zhí)行下一行的程序段,同時機(jī)床的各個運動軸坐標(biāo)值會自動存放到相應(yīng)軸的用戶宏變量中。
G31跳步指令的格式為:G31 L_IP。其中:L后面是外部跳步信號的觸發(fā)點編號,該編號要在PLC編程器里先設(shè)定好,與PLC觸發(fā)點保持統(tǒng)一;IP為需要跳過的示教G代碼段。
具體操作過程:在華中8型數(shù)控系統(tǒng)的操作面板上增設(shè)一個“位置錄入”的跳步按鈕,當(dāng)旋轉(zhuǎn)手搖脈沖發(fā)生器對某一運動軸進(jìn)行示教到達(dá)預(yù)定位置時,按下“位置錄入”按鈕,PLC動作并觸發(fā)G31跳步指令,程序跳轉(zhuǎn)至下一行繼續(xù)執(zhí)行。由于機(jī)床各個運動軸的坐標(biāo)值會存儲在固定的用戶宏軸變量中,要獲取該運動軸在示教過程中的實際坐標(biāo)值,只需從對應(yīng)軸的用戶宏變量中提取即可。華中8型數(shù)控系統(tǒng)約定:軸宏變量的起始序號為60000,每根軸分配100個宏變量,其中宏變量#60012、#60112、#60212分別存放邏輯軸軸(0號)、軸(1號)、軸(2號)在收到測量信號時的實際位置值,軸、軸、軸分別對應(yīng)于該機(jī)床的鉆孔進(jìn)給軸、攻絲進(jìn)給軸、滑臺移動軸,這些宏變量可以直接在宏程序中進(jìn)行賦值或引用。
以G81鉆孔指令的示教為例,其示教動作分解為快進(jìn)至初始位置→主軸正轉(zhuǎn)并快進(jìn)至點→工進(jìn)至點→退回至初始位置,主要G代碼示教程序段為
G31 L1 G01X[#54056]F[#54002];
#54006= #60012/100000 ;
M03S[#54010];
G31 L1 G00X[#54057];
#54007= #60012/100000 ;
#54001=0 ;
N80 #50002= #50001 ;
G31 L1 G01X[#54058]F[#54009];
#50001= #60012 ;
IF[INT[#50001/100]NE INT[#50002/100]]
GOTO N80 ;兩次錄入坐標(biāo)值不同時再示教
ENDIF
#54008= #60012/100000 ;
G00 X[#54006];鉆孔軸退至初始位置
其中:宏變量#54056、#54057、#54058分別存放示教過程中鉆孔軸的初始指令位置、點指令位置、工進(jìn)點指令位置;經(jīng)示教調(diào)試后按下“位置錄入”按鈕時,跳步信號接通,此時鉆孔軸的初始實際坐標(biāo)、點實際坐標(biāo)、工進(jìn)點實際坐標(biāo)分別存放到#54006、#54007、#54008,待后續(xù)生成加工G代碼時調(diào)用;100000為長度計算分辨率。
為減少示教過程中在運動軸還未達(dá)到預(yù)定位置時,因發(fā)生誤操作而觸發(fā)跳步指令,在示教宏程序段中加入IF語句,采用連續(xù)按下兩次“位置錄入”按鈕的雙擊方式,如果兩次之間沒有轉(zhuǎn)動手搖脈沖發(fā)生器,錄入的是同一坐標(biāo)值,則向下跳轉(zhuǎn),否則返回上段重新示教。
華中8型數(shù)控系統(tǒng)的攻絲指令G84包含多個點位,無法直接示教,同樣通過手搖控制器和示教G代碼共同完成。首先,對G84攻絲指令的動作按運動順序進(jìn)行拆解,分成多個單步示教程序段,具體分為:刀具快速移至初始位置→快速移至點→主軸正轉(zhuǎn)并工進(jìn)至點→主軸停止→主軸反轉(zhuǎn)并退回至點→主軸停止→快速退回至初始位置;然后,將運動軸的控制模式切換到手輪插補模式,這樣數(shù)控系統(tǒng)就會自動接收由手輪插補量變化而引起的移動指令,通過搖動脈沖發(fā)生器實現(xiàn)手輪的進(jìn)給,攻絲軸的運動方向和運動速度均通過手搖控制器控制。
為保證螺紋的加工精度,該系統(tǒng)中采用剛性攻絲的方式。由于軸向運動和旋轉(zhuǎn)運動分別由各自獨立的伺服電機(jī)驅(qū)動,必須保證軸向進(jìn)給速度和主軸轉(zhuǎn)速之間滿足關(guān)系式(1),以實現(xiàn)兩個軸的同步聯(lián)動。
=/
(1)
式中:為螺紋螺距,mm;為軸向進(jìn)給速度,mm/min;為主軸轉(zhuǎn)速,r/min。
在手搖示教G代碼中,需要確定螺紋加工深度即軸向進(jìn)給量為時,主軸的旋轉(zhuǎn)角度。它們應(yīng)滿足同步聯(lián)動關(guān)系,如式(2)所示:
(2)
該系統(tǒng)中攻絲進(jìn)給軸被定義為軸、攻絲主軸被定義為軸,故采用G01加工指令編寫示教G代碼的基本格式為
G01 G91 Yh Bα Fs
其中:h為軸的進(jìn)給量,mm;α為軸的旋轉(zhuǎn)角度,(°);s為攻絲主軸的轉(zhuǎn)速,(°)/min。
借助華中8型數(shù)控系統(tǒng)提供的接口函數(shù)及GUI界面庫進(jìn)行二次開發(fā),G代碼宏程序中螺紋加工參數(shù)通過創(chuàng)建的螺紋參數(shù)界面進(jìn)行輸入給定,其值會存放在指定的用戶宏變量中。通道1中宏變量#54015存放攻絲主軸轉(zhuǎn)速(r/min)、#54016存放螺紋螺距(mm)、#54017存放螺紋加工深度(mm),通過這些用戶宏變量完成G84攻絲指令的分步示教過程,其示教G代碼為
G31 L1 G01 Y[#54062]F[#54053];
#54012= #60112/100000 ;
S[#54015];
G31 L1 G00 Y[#54063];
#54013= #60112/100000 ;
#54067= #54064-#54063 ;
G31 L1 G01 G91 Y[-#54067]B[#54067*360/[#54016]]F[#54015*360]; 攻絲軸示教至點
#54014= #60112/100000 ;
#54017= #54013-#54014 ;
G01 G91 Y[#54107]B[-#54107*360/[#54066]]F[#54065*360]; 攻絲軸返回至實際點
G90 G00 Y[#54012]; 軸返回至實際初位
其中:宏變量#54062、#54063、#54064、#54067分別存放示教過程中攻絲軸的初始指令位置、點指令位置、攻絲點指令位置、示教螺紋加工深度;#54012、#54013、#54014、#54017分別存放跳步信號接通時攻絲軸的初始實際坐標(biāo)、點實際坐標(biāo)、攻絲點實際坐標(biāo)、螺紋實際加工深度。
用戶宏變量保存的人機(jī)界面中設(shè)置的鉆孔參數(shù)、螺紋參數(shù)、示教參數(shù)等數(shù)據(jù),可通過宏變量和寄存器傳遞到內(nèi)核程序,供PLC和加工G代碼程序使用,主要加工G代碼段如下:
G01 X[#54006]Y[#54012]F[#54002];
G01 Z[#54004]F[#54001];
G01 Z[#54005]F[#54001]M03 S[#54010];
G98G81G90 X[#54008]R[#54007]F[#54009]P2;
G01 Z[#54011]F[#54001]S[#54015];
G98G84G90 Y[#54014]R[#54013]P2F[#54016]J2;
G00 Z[#54004];
為有效降低人工費用、節(jié)約硬件成本,該機(jī)床中采用雙通道控制技術(shù),同時支持兩個加工工藝過程的控制,兩個通道均擁有完全獨立的CNC參數(shù)、通道軸、宏變量、G代碼加工程序等,且共用一個顯示器,采用分屏顯示模式。華中8型數(shù)控系統(tǒng)具有多通道控制功能,只需對與多通道有關(guān)的參數(shù)進(jìn)行合理配置,就能實現(xiàn)鉆攻組合加工的功能。
雙通道參數(shù)配置主要有機(jī)床用戶參數(shù)、通道參數(shù)和坐標(biāo)軸參數(shù),包括設(shè)置最大通道數(shù)、配置各通道每個進(jìn)給軸的軸號、設(shè)置軸類型。文中鉆攻組合機(jī)床采用雙通道結(jié)構(gòu)形式,通道數(shù)為2;每個通道配置4個伺服軸,分別對應(yīng)、、、運動軸,通道0的邏輯軸號依次定義為0、1、2、5,該軸號均置位為1,軸標(biāo)志表示為二進(jìn)制0000 100111或十六進(jìn)制0×27,通道1的邏輯軸號依次為6、7、8、9,軸標(biāo)志為1111 000000或十六進(jìn)制0×3C0;、、軸為直線軸,其軸類型均置1,軸是主軸,軸類型置10,從而建立通道進(jìn)給軸與邏輯軸之間的映射關(guān)系。
兩個通道的PLC配置也采用獨立控制方式,互不干擾。示教鉆攻時只能有一個通道處于激活狀態(tài),需對兩個通道分別執(zhí)行示教操作,通過在控制面板上設(shè)置的“通道1”、“通道2”按鍵來實現(xiàn)切換。加工時可以在數(shù)控系統(tǒng)內(nèi)通過菜單按鈕完成兩個通道的切換,既可實現(xiàn)各通道的獨立加工,也可同時激活兩通道,實現(xiàn)并行加工。
華中8型數(shù)控系統(tǒng)提供了API應(yīng)用接口及事件響應(yīng)機(jī)制,能夠通過定制菜單按鈕實現(xiàn)人機(jī)交互界面的二次開發(fā),主要包括菜單定義、參數(shù)列表定義、圖形顯示繪制、消息響應(yīng)、數(shù)據(jù)更新、界面刷新等內(nèi)容。
在華中8型數(shù)控系統(tǒng)提供的二次開發(fā)包中,通過程序bmppathdef.cpp添加菜單圖標(biāo)的存放路徑,在menu 818.cpp程序的結(jié)構(gòu)體enum MenuIndexDef{}里定義菜單變量和排列順序,并添加各菜單按鈕的響應(yīng)代碼,便可完成多級菜單的定義。參數(shù)列表定義包括參數(shù)名稱的命名、參數(shù)變量的定義、參數(shù)值的設(shè)置與獲取、列表的信息顯示與消息響應(yīng)等,如增加teach_chan1_para_redraw()、chan1_para_set_content()等函數(shù),在menu818.cpp程序中調(diào)用這些函數(shù),執(zhí)行相應(yīng)的功能。圖3所示為該鉆攻組合機(jī)床參數(shù)顯示的可視化界面。
圖3 鉆攻組合機(jī)床可視化界面
該機(jī)床主要完成鉆孔和攻絲工藝,在操作方面對華中8型系統(tǒng)標(biāo)準(zhǔn)面板進(jìn)行擴(kuò)展,增加了“通道1、通道2、手動攻絲、位置錄入”4個按鍵,為每個通道配備1個操控器,分別設(shè)置了工件夾緊、松開、啟動、暫停、急停按鈕5個按鈕。該組合機(jī)床在廈門某公司得到了應(yīng)用驗證,效果良好?,F(xiàn)場應(yīng)用情況如圖4所示。
圖4 現(xiàn)場應(yīng)用
(1)在華中8型數(shù)控系統(tǒng)上進(jìn)行二次開發(fā),采用G代碼用戶宏程序的方式,實現(xiàn)了鉆攻動作的示教功能,可以直接通過示教來獲取加工對象的工藝參數(shù),并借助宏變量將參數(shù)值傳遞給加工G代碼,能夠在示教操作完成后直接生成加工G代碼,操作便捷,省時高效。
(2)設(shè)計了雙通道控制的組合機(jī)床,加工過程互相獨立,既節(jié)省硬件成本,也減少了操作人員,降低了人工成本,適合大批量生產(chǎn)。
(3)采用雙擊方式錄入示教坐標(biāo)位置,有效克服了因誤操作需從頭重運行示教G代碼的不足,節(jié)省了示教時間。