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