耿文劍
(科德數控股份有限公司,遼寧 大連 116600)
通用數控加工設備日漸同質化,具備專用或特殊功能的加工設備需求逐漸迫切。目前,市面常用的數控系統自動加工編程方式通常采用G代碼編程方式;高端數控系統支持圖形化編程,以基本特征為程序單元,對工序特征參數進行編輯后生成一行循環程序,如孔、螺紋、矩形槽、圓形槽、矩形凸臺和圓形凸臺等。以上為大部分數控系統常規功能,本文不再贅述。
對于制造同一類型、不同尺寸型號零件的應用場景,手動編程時工作量巨大,軟件編程又繁瑣,稍有修改就需要全盤重新操作,且無法保證每道工序參數設置的正確性及與上下關聯工序的邏輯合理性[1],對編程及操作人員的技能、經驗要求必然很高,人力成本及時間成本沒有優勢,因此,需要簡單化、直觀化這些編程過程,將若干工序甚至一類零件的完整加工封裝成一個循環功能,并集成到數控系統中,編程人員僅需輸入或設置所需的尺寸、角度、邏輯等參數即可自動生成一行加工程序[2],快捷高效且不易出錯。
此方案必須基于開放式數控系統進行開發,開放式數控系統提供相應的開發工具和環境,用戶可把自己的或任何第三方的思想或需求融入到系統中去[3],本文以科德數控GNC62五軸聯動數控系統(以下簡稱“GNC62系統”)為實施平臺進行論述。GNC62系統對于操作者是開放的:可以采用先進的圖形交互方式支持下的建議編程方法,使得數控機床的操作更加容易;對于機床制造商是開放的:允許機床制造商在系統軟件的基礎上開發專用的功能模塊及用戶操作界面[4]。
GNC62系統已內置了本文論述方法所需的全部API接口,專用功能開發可分3步:修改配置文件、繪制釋義圖片和編輯宏程序,機床廠應用人員或制造廠有一定宏程序編程經驗的工藝人員可直接在系統廠家提供的demo功能基礎上進行編輯、修改,快速封裝專用功能。
1.1.1 存放位置
“GNC62Hmi ceditor_cfg”,該目錄下的文件夾目錄即為HMI顯示時的功能目錄,文件夾中的配置文件,即為該目錄下的所有循環功能,如圖1所示;此規則操作簡單且靈活,不需要專業人員對系統界面進行繁瑣的配置。

圖 1 文件夾目錄與數控系統界面功能目錄同步
1.1.2 配置文件說明:
文件頭說明
type=“CDEF“ --輸出程序的關鍵字
subtype=“600“ --循環功能序號
endmark=“END “ --程序行結束標志
title=“鉆孔“ --循環功能的名稱
控件配置格式說明
…
{createEditLine(“A“,{“H“,“5“,“深度“},“ FunA “)}
…
生成一個編輯框控件,“A”代表此控件參數的地址符(GNC62系統以A、B、C…ES、ET作為參數地址符,A、B、C依次代表#800、#801、#802,以此類推);“H”代表該參數的符號;“5”代表參數默認值;“深度”為該參數的文字說明;“FunA”代表該參數變動時觸發的函數名,可在該函數中檢查參數的正確性、設置參數的釋義圖片等。
1.2.1 存放位置
“GNC62Hmiimages ceditor_cfgCDEF” ,文件名稱默認為每個參數的索引字母,例如“A.jpg”,當光標移動到A參數的編輯框時,會自動顯示該圖片。
1.2.2 繪圖要點
能夠直觀地說明參數的含義,可搭配文字進行圖文說明,必要時可使用動態圖進行說明,要說明的參數需在圖片中高亮顯示(例如加粗、加亮字體),如圖2所示。

圖 2 光標焦點位于Y0編輯框時顯示的圖片
1.3.1 宏程序概念
宏程序是一種可進行表達式計算和條件跳轉的NC程序語言,包括宏變量、指令及內建函數。通常可以與G代碼混合編程,用來實現有計算和人機交互需求的加工循環和程序測量相關的功能操作。
1.3.2 存放位置
“GNC62CycPrgs”,文件名為“C**.nc”,“**”為該功能的系統索引號。
1.3.3 主程序格式
在主程序中插入定制的專用功能,經過編輯、設置參數后輸出的專用循環程序格式為“CDEF99 A3 B4 C5 D6 … END”,且在系統程序編輯器中,禁止以文本形式編輯,防止誤操作,只能通過“編輯工序”按鈕進入該功能的圖形化編程界面進行編輯、設置。
1.3.4 數據傳遞
如主程序為“CDEF99 A3 B4 C5 D6 … END”,根據上文說明,在專用宏程序中得到的數據為#800=3、#801=4、#802=5、#803=6…,根據所封裝的工序,使用這些數據進行編程即可。
1.3.5 注意事項
專用宏程序開始執行前,必須加入保存當前模態信息的指令,模態信息主要包括當前的編程方式(絕對方式/相對方式)、進給方式(切削G1/快進G0)、工件坐標系等,專用宏程序執行完畢后必須還原模態信息,以保證主程序上下文的連貫性;在編輯宏程序過程中,大部分變量均使用#變量進行索引,同一#變量在整個宏程序中會參與多次實時運算或賦值并多次被引用,由于變量值的變化具有實時性的特點,與數控系統多段預讀并預處理功能矛盾,因此我們需要在#變量的實時運算或賦值之前停止預讀及預處理,待實時運算或賦值執行完成后再恢復預讀及預處理,保證#變量參數值的正確且有效[5]。
本文所述的將復雜工藝或多道工序封裝為系統專用功能的方法適用于如下特點的加工場景:
(1)相同類型但不同尺寸、特征(加工工藝路線)相似的產品,如汽車輪轂、增壓器殼體和鉆頭銑刀等。
(2)多個相同特征且每個特征工藝復雜,如航空發動機多級轉子葉輪加工及修磨等。
(3)多個相同特征按一定規律(圓周、框架和矩陣等)排列的工件,主要用于維修使用,例如多刃刀具修磨、螺旋槳修復等。
筆者以一種典型的汽車零部件沖壓滑臺模具為例,說明本方法的優勢。假設該類型模具有3個典型特征:基座長度L(尺寸)、滑臺傾角α(角度)和滑軌類型(邏輯)。如圖3所示,“→”左側是我們根據零件工藝及工序特征快速設計的專用圖形化編程界面,將3個參數按需求設置不同的數值,可以得到完全不同的兩種零件加工程序(程序格式:“CDEF991 /*沖壓模具-A型*/ A100 B30 C0 D2 E2500 F3 H6000 I4 J8000 END”),如圖中“→”右側程序模擬加工后的仿真結果。
本例中僅集成了3個典型的加工特征,還可以集成更多的尺寸、角度和邏輯特征,每道工序使用的刀具編號、主軸轉速以及進給速度等等,當然集成的特征越多,后臺的宏程序會越復雜,但是在加工編程或操作者角度是完全感知不到的。
為了驗證本方法的可行性及效果,以某用戶滑塊類零件進行測試,該類零件共7種型號,且隨時可能改型或增加型號,原工藝方案為每種零件一個加工程序,由工藝人員通過UG加工模塊進行刀路設計并利用后處理文件生成,該后處理文件會將部分圓弧、輪廓等特征打散為微小線段[6],每個加工程序約1 900~2 400行代碼,代碼維護量非常大,而且修改程序時必須從編程軟件上執行,生成代碼后再復制程序到數控系統存儲空間中,操作繁瑣、不靈活。
由于這一類工件的大部分形狀特征是相似的,因此其使用的刀具、切削用量基本一致,在我們統計、分析該類零件所有型號圖紙之后,總結出8個特征參數,包括尺寸、角度和槽孔類型等[7],其中有2個特征需額外附帶兩個切削用量參數,總計14個參數。

圖 3 同一功能,不同參數加工出尺寸及形狀不同的零件。
該功能的設計、開發及實施均由制造工廠工藝編程人員完成,數控系統廠家僅對其進行了簡單的培訓,如功能圖片及配置文件等存放位置、配置文件格式、圖形化編程界面參數傳遞規則等,提供了典型應用功能的demo,工藝編程人員僅在1天之內就完成了該類零件的專用加工功能封裝,并無縫集成到GNC62系統中。用戶操作工在5種型號中任選其一,經過向導式的圖形化編程,幾乎是在2 min之內就完成了該工件的專用加工程序,因為僅需按圖紙要求輸入幾個參數而已,經首件試加工檢測合格,此程序已開始在用戶多臺設備上應用并批產,如圖4所示。

圖 4 客戶產品應用
本文所論述的基于開放式數控系統,利用二次開發功能及宏編程將同一類型不同規格零件的加工過程封裝并集成到數控系統中的思路及方法有兩方面優勢,首先,在開放式數控系統平臺上,不必動用系統廠家的研發人員開發、修改系統核心代碼,僅需有數控系統宏程序編程經驗的工程師,即可輕松完成,數控系統廠家不必單兵作戰,可有效利用社會資源來豐富、完善數控系統功能;其次,對制造工廠的操作者能力要求大幅降低,只要認字識圖,即可完成復雜工藝或工序的加工,解決了一部分無技術或無經驗的普通人員找工作難、數控加工廠招工難的問題,具備一定的社會效益,一定會被市場廣泛認可并接受。