張俊,趙旺,王奎章
(1.湖北文理學院機械工程學院, 湖北襄陽 441053;2.襄陽市智能制造與機器視覺重點實驗室,湖北襄陽 441053;3.湖北萬盟數控機床集團有限公司,湖北襄陽 441800)
組合機床是以通用零部件為支撐,選配部分專用部件,按照預先擬訂好的多道工序對一種或者多種工件實施半自動化或自動化加工的專用機床,其工作穩定、操作方便、生產效率高,能夠有效保證工件的尺寸和形位精度,適合大規模批量化生產。隨著我國經濟的快速發展和人們生活水平的提高,對水暖衛浴產品的需求量越來越大,水龍頭被廣泛使用,在水龍頭出水口處通過螺紋連接有過濾嘴,以過濾水中的沉沙等雜質。由于水龍頭出水口處的螺紋長度較短,為防止漏水滲水現象的發生,對出水口處螺紋形位精度要求較高。但是采用傳統的手工鉆孔與攻絲方式,不僅無法保證精度,而且生產效率較低。為此,本文作者以水龍頭出水口螺紋孔為加工對象,在華中8型數控系統的基礎上,開發一套具有示教功能的鉆攻專用數控系統,可滿足水龍頭出水口鉆孔與攻絲工藝組合加工的需求。
用戶需求如下:(1)一次裝夾工件,完成鉆孔與攻絲兩道加工工序,減少產品的裝夾次數和重復定位誤差,提高生產效率和加工精度;(2)加工過程中不需對刀操作,以減少非切削時間;(3)無需操作者編寫數控加工程序,使操作流程簡捷、易于掌握,降低對操作人員技術水平的要求;(4)一名操作者負責兩個工位的工件裝卸,降低企業的人工成本。據此確定組合機床的功能要求,采用手搖示教方式,先自動生成G代碼,使用雙通道數控系統實現并行控制,兩個通道可以相互獨立工作,達到異步裝夾工件的目的。
對于單通道加工工件的工藝流程:機床上電后,將工件裝夾到治具滑臺上,按下循環啟動按鈕,治具滑臺帶動工件向上移動到鉆孔位置執行鉆孔循環加工,然后治具滑臺繼續向上移動到攻絲位置執行攻絲循環加工,攻絲結束后治具滑臺向下返回到初始工位,取出工件即可執行下一個加工周期。
雙通道鉆攻組合機床的機械結構采用左右對稱布局,各通道的攻絲和鉆孔工位按照豎直上下的形式設置,可以節省空間,其單側通道的機械結構總體方案如圖1所示。軸是鉆孔工位的進給軸,由伺服電機驅動,實現鉆孔操作時的軸向運動;軸是鉆孔工位的主軸,可選用普通變頻電機驅動;軸為攻絲工位的進給軸,應由伺服電機驅動;軸為攻絲工位的主軸,為保證剛性攻絲操作時軸向進給量與主軸旋轉角度之間的同步協調關系,軸必需使用伺服電機驅動;軸豎直上下運動,是控制治具滑臺運動的移動軸,需由伺服電機驅動,實現工件在不同工位之間的上下運動和定位;產品在鉆攻組合加工時的定位由夾具和示教保證,故不必設置運動軸。

圖1 單側通道機械結構示意
本文作者所開發的示教式鉆攻數控組合機床是在標準的華中8型數控系統(HNC8)上進行二次開發實現的。HNC8采用的是模塊化、開放式的現場總線體系結構,方便用戶進行定制開發。根據鉆攻組合機床的機械結構分析其運動軸類型和控制方式,確定其配置需求和硬件連接關系。圖2所示為具有雙通道控制的鉆攻組合機床數控裝置硬件結構。

圖2 雙通道鉆攻數控裝置的硬件結構
在軟件二次開發方面,華中8型數控系統為用戶提供了人機交互界面層HMI和應用程序編程接口層API。通過HMI層可以建立可視化的窗口界面,便于操作者直觀地查詢或修改機床的信息和參數值,實現人機交互中的事件響應,如文中的雙通道模式的顯示、示教參數的錄入、螺紋參數的設置等界面;API層提供大量的接口函數,可以訪問數控系統的核心功能,實現對各種數據的保存與重裝、用戶宏變量與參數間的數據交換、示教程序的自動生成等功能。
華中8型數控系統的鉆孔和攻絲動作分別由G81和G84指令實現,但它不具備示教功能。為滿足用戶的使用要求,通過示教方式代替人工編寫數控加工程序,利用華中8型數控系統提供的手搖控制器、G31跳步指令和宏變量等,二次開發手搖示教功能。示教的基本原理:按照被加工對象的工序規劃運動軸和刀具運動路徑,編制示教宏程序,通過手搖控制器的方式控制機床運動軸運動;由G31跳段指令記錄該運動軸的實際坐標值,借助設置在數控系統操作面板上的按鍵將所記錄的運動軸位置信息(即坐標值)賦給用戶宏變量,并生成被加工對象的G代碼程序,示教完成后可直接用于生產加工。
G31跳步指令是非模態的G代碼,用于實現G代碼的跳步,即在執行當前G31代碼過程中,一旦CNC系統接收到有外部跳步信號輸入,則終止當前指令執行的任務,直接跳轉并執行下一行的程序段,同時機床的各個運動軸坐標值會自動存放到相應軸的用戶宏變量中。
G31跳步指令的格式為:G31 L_IP。其中:L后面是外部跳步信號的觸發點編號,該編號要在PLC編程器里先設定好,與PLC觸發點保持統一;IP為需要跳過的示教G代碼段。
具體操作過程:在華中8型數控系統的操作面板上增設一個“位置錄入”的跳步按鈕,當旋轉手搖脈沖發生器對某一運動軸進行示教到達預定位置時,按下“位置錄入”按鈕,PLC動作并觸發G31跳步指令,程序跳轉至下一行繼續執行。由于機床各個運動軸的坐標值會存儲在固定的用戶宏軸變量中,要獲取該運動軸在示教過程中的實際坐標值,只需從對應軸的用戶宏變量中提取即可。華中8型數控系統約定:軸宏變量的起始序號為60000,每根軸分配100個宏變量,其中宏變量#60012、#60112、#60212分別存放邏輯軸軸(0號)、軸(1號)、軸(2號)在收到測量信號時的實際位置值,軸、軸、軸分別對應于該機床的鉆孔進給軸、攻絲進給軸、滑臺移動軸,這些宏變量可以直接在宏程序中進行賦值或引用。
以G81鉆孔指令的示教為例,其示教動作分解為快進至初始位置→主軸正轉并快進至點→工進至點→退回至初始位置,主要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 ;兩次錄入坐標值不同時再示教
ENDIF
#54008= #60012/100000 ;
G00 X[#54006];鉆孔軸退至初始位置
其中:宏變量#54056、#54057、#54058分別存放示教過程中鉆孔軸的初始指令位置、點指令位置、工進點指令位置;經示教調試后按下“位置錄入”按鈕時,跳步信號接通,此時鉆孔軸的初始實際坐標、點實際坐標、工進點實際坐標分別存放到#54006、#54007、#54008,待后續生成加工G代碼時調用;100000為長度計算分辨率。
為減少示教過程中在運動軸還未達到預定位置時,因發生誤操作而觸發跳步指令,在示教宏程序段中加入IF語句,采用連續按下兩次“位置錄入”按鈕的雙擊方式,如果兩次之間沒有轉動手搖脈沖發生器,錄入的是同一坐標值,則向下跳轉,否則返回上段重新示教。
華中8型數控系統的攻絲指令G84包含多個點位,無法直接示教,同樣通過手搖控制器和示教G代碼共同完成。首先,對G84攻絲指令的動作按運動順序進行拆解,分成多個單步示教程序段,具體分為:刀具快速移至初始位置→快速移至點→主軸正轉并工進至點→主軸停止→主軸反轉并退回至點→主軸停止→快速退回至初始位置;然后,將運動軸的控制模式切換到手輪插補模式,這樣數控系統就會自動接收由手輪插補量變化而引起的移動指令,通過搖動脈沖發生器實現手輪的進給,攻絲軸的運動方向和運動速度均通過手搖控制器控制。
為保證螺紋的加工精度,該系統中采用剛性攻絲的方式。由于軸向運動和旋轉運動分別由各自獨立的伺服電機驅動,必須保證軸向進給速度和主軸轉速之間滿足關系式(1),以實現兩個軸的同步聯動。
=/
(1)
式中:為螺紋螺距,mm;為軸向進給速度,mm/min;為主軸轉速,r/min。
在手搖示教G代碼中,需要確定螺紋加工深度即軸向進給量為時,主軸的旋轉角度。它們應滿足同步聯動關系,如式(2)所示:

(2)
該系統中攻絲進給軸被定義為軸、攻絲主軸被定義為軸,故采用G01加工指令編寫示教G代碼的基本格式為
G01 G91 Yh Bα Fs
其中:h為軸的進給量,mm;α為軸的旋轉角度,(°);s為攻絲主軸的轉速,(°)/min。
借助華中8型數控系統提供的接口函數及GUI界面庫進行二次開發,G代碼宏程序中螺紋加工參數通過創建的螺紋參數界面進行輸入給定,其值會存放在指定的用戶宏變量中。通道1中宏變量#54015存放攻絲主軸轉速(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分別存放跳步信號接通時攻絲軸的初始實際坐標、點實際坐標、攻絲點實際坐標、螺紋實際加工深度。
用戶宏變量保存的人機界面中設置的鉆孔參數、螺紋參數、示教參數等數據,可通過宏變量和寄存器傳遞到內核程序,供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];
為有效降低人工費用、節約硬件成本,該機床中采用雙通道控制技術,同時支持兩個加工工藝過程的控制,兩個通道均擁有完全獨立的CNC參數、通道軸、宏變量、G代碼加工程序等,且共用一個顯示器,采用分屏顯示模式。華中8型數控系統具有多通道控制功能,只需對與多通道有關的參數進行合理配置,就能實現鉆攻組合加工的功能。
雙通道參數配置主要有機床用戶參數、通道參數和坐標軸參數,包括設置最大通道數、配置各通道每個進給軸的軸號、設置軸類型。文中鉆攻組合機床采用雙通道結構形式,通道數為2;每個通道配置4個伺服軸,分別對應、、、運動軸,通道0的邏輯軸號依次定義為0、1、2、5,該軸號均置位為1,軸標志表示為二進制0000 100111或十六進制0×27,通道1的邏輯軸號依次為6、7、8、9,軸標志為1111 000000或十六進制0×3C0;、、軸為直線軸,其軸類型均置1,軸是主軸,軸類型置10,從而建立通道進給軸與邏輯軸之間的映射關系。
兩個通道的PLC配置也采用獨立控制方式,互不干擾。示教鉆攻時只能有一個通道處于激活狀態,需對兩個通道分別執行示教操作,通過在控制面板上設置的“通道1”、“通道2”按鍵來實現切換。加工時可以在數控系統內通過菜單按鈕完成兩個通道的切換,既可實現各通道的獨立加工,也可同時激活兩通道,實現并行加工。
華中8型數控系統提供了API應用接口及事件響應機制,能夠通過定制菜單按鈕實現人機交互界面的二次開發,主要包括菜單定義、參數列表定義、圖形顯示繪制、消息響應、數據更新、界面刷新等內容。
在華中8型數控系統提供的二次開發包中,通過程序bmppathdef.cpp添加菜單圖標的存放路徑,在menu 818.cpp程序的結構體enum MenuIndexDef{}里定義菜單變量和排列順序,并添加各菜單按鈕的響應代碼,便可完成多級菜單的定義。參數列表定義包括參數名稱的命名、參數變量的定義、參數值的設置與獲取、列表的信息顯示與消息響應等,如增加teach_chan1_para_redraw()、chan1_para_set_content()等函數,在menu818.cpp程序中調用這些函數,執行相應的功能。圖3所示為該鉆攻組合機床參數顯示的可視化界面。

圖3 鉆攻組合機床可視化界面
該機床主要完成鉆孔和攻絲工藝,在操作方面對華中8型系統標準面板進行擴展,增加了“通道1、通道2、手動攻絲、位置錄入”4個按鍵,為每個通道配備1個操控器,分別設置了工件夾緊、松開、啟動、暫停、急停按鈕5個按鈕。該組合機床在廈門某公司得到了應用驗證,效果良好。現場應用情況如圖4所示。

圖4 現場應用
(1)在華中8型數控系統上進行二次開發,采用G代碼用戶宏程序的方式,實現了鉆攻動作的示教功能,可以直接通過示教來獲取加工對象的工藝參數,并借助宏變量將參數值傳遞給加工G代碼,能夠在示教操作完成后直接生成加工G代碼,操作便捷,省時高效。
(2)設計了雙通道控制的組合機床,加工過程互相獨立,既節省硬件成本,也減少了操作人員,降低了人工成本,適合大批量生產。
(3)采用雙擊方式錄入示教坐標位置,有效克服了因誤操作需從頭重運行示教G代碼的不足,節省了示教時間。