耿文劍
(科德數(shù)控股份有限公司,遼寧 大連 116600)
通用數(shù)控加工設(shè)備日漸同質(zhì)化,具備專(zhuān)用或特殊功能的加工設(shè)備需求逐漸迫切。目前,市面常用的數(shù)控系統(tǒng)自動(dòng)加工編程方式通常采用G代碼編程方式;高端數(shù)控系統(tǒng)支持圖形化編程,以基本特征為程序單元,對(duì)工序特征參數(shù)進(jìn)行編輯后生成一行循環(huán)程序,如孔、螺紋、矩形槽、圓形槽、矩形凸臺(tái)和圓形凸臺(tái)等。以上為大部分?jǐn)?shù)控系統(tǒng)常規(guī)功能,本文不再贅述。
對(duì)于制造同一類(lèi)型、不同尺寸型號(hào)零件的應(yīng)用場(chǎng)景,手動(dòng)編程時(shí)工作量巨大,軟件編程又繁瑣,稍有修改就需要全盤(pán)重新操作,且無(wú)法保證每道工序參數(shù)設(shè)置的正確性及與上下關(guān)聯(lián)工序的邏輯合理性[1],對(duì)編程及操作人員的技能、經(jīng)驗(yàn)要求必然很高,人力成本及時(shí)間成本沒(méi)有優(yōu)勢(shì),因此,需要簡(jiǎn)單化、直觀(guān)化這些編程過(guò)程,將若干工序甚至一類(lèi)零件的完整加工封裝成一個(gè)循環(huán)功能,并集成到數(shù)控系統(tǒng)中,編程人員僅需輸入或設(shè)置所需的尺寸、角度、邏輯等參數(shù)即可自動(dòng)生成一行加工程序[2],快捷高效且不易出錯(cuò)。
此方案必須基于開(kāi)放式數(shù)控系統(tǒng)進(jìn)行開(kāi)發(fā),開(kāi)放式數(shù)控系統(tǒng)提供相應(yīng)的開(kāi)發(fā)工具和環(huán)境,用戶(hù)可把自己的或任何第三方的思想或需求融入到系統(tǒng)中去[3],本文以科德數(shù)控GNC62五軸聯(lián)動(dòng)數(shù)控系統(tǒng)(以下簡(jiǎn)稱(chēng)“GNC62系統(tǒng)”)為實(shí)施平臺(tái)進(jìn)行論述。GNC62系統(tǒng)對(duì)于操作者是開(kāi)放的:可以采用先進(jìn)的圖形交互方式支持下的建議編程方法,使得數(shù)控機(jī)床的操作更加容易;對(duì)于機(jī)床制造商是開(kāi)放的:允許機(jī)床制造商在系統(tǒng)軟件的基礎(chǔ)上開(kāi)發(fā)專(zhuān)用的功能模塊及用戶(hù)操作界面[4]。
GNC62系統(tǒng)已內(nèi)置了本文論述方法所需的全部API接口,專(zhuān)用功能開(kāi)發(fā)可分3步:修改配置文件、繪制釋義圖片和編輯宏程序,機(jī)床廠(chǎng)應(yīng)用人員或制造廠(chǎng)有一定宏程序編程經(jīng)驗(yàn)的工藝人員可直接在系統(tǒng)廠(chǎng)家提供的demo功能基礎(chǔ)上進(jìn)行編輯、修改,快速封裝專(zhuān)用功能。
1.1.1 存放位置
“GNC62Hmi ceditor_cfg”,該目錄下的文件夾目錄即為HMI顯示時(shí)的功能目錄,文件夾中的配置文件,即為該目錄下的所有循環(huán)功能,如圖1所示;此規(guī)則操作簡(jiǎn)單且靈活,不需要專(zhuān)業(yè)人員對(duì)系統(tǒng)界面進(jìn)行繁瑣的配置。
圖 1 文件夾目錄與數(shù)控系統(tǒng)界面功能目錄同步
1.1.2 配置文件說(shuō)明:
文件頭說(shuō)明
type=“CDEF“ --輸出程序的關(guān)鍵字
subtype=“600“ --循環(huán)功能序號(hào)
endmark=“END “ --程序行結(jié)束標(biāo)志
title=“鉆孔“ --循環(huán)功能的名稱(chēng)
控件配置格式說(shuō)明
…
{createEditLine(“A“,{“H“,“5“,“深度“},“ FunA “)}
…
生成一個(gè)編輯框控件,“A”代表此控件參數(shù)的地址符(GNC62系統(tǒng)以A、B、C…ES、ET作為參數(shù)地址符,A、B、C依次代表#800、#801、#802,以此類(lèi)推);“H”代表該參數(shù)的符號(hào);“5”代表參數(shù)默認(rèn)值;“深度”為該參數(shù)的文字說(shuō)明;“FunA”代表該參數(shù)變動(dòng)時(shí)觸發(fā)的函數(shù)名,可在該函數(shù)中檢查參數(shù)的正確性、設(shè)置參數(shù)的釋義圖片等。
1.2.1 存放位置
“GNC62Hmiimages ceditor_cfgCDEF” ,文件名稱(chēng)默認(rèn)為每個(gè)參數(shù)的索引字母,例如“A.jpg”,當(dāng)光標(biāo)移動(dòng)到A參數(shù)的編輯框時(shí),會(huì)自動(dòng)顯示該圖片。
1.2.2 繪圖要點(diǎn)
能夠直觀(guān)地說(shuō)明參數(shù)的含義,可搭配文字進(jìn)行圖文說(shuō)明,必要時(shí)可使用動(dòng)態(tài)圖進(jìn)行說(shuō)明,要說(shuō)明的參數(shù)需在圖片中高亮顯示(例如加粗、加亮字體),如圖2所示。
圖 2 光標(biāo)焦點(diǎn)位于Y0編輯框時(shí)顯示的圖片
1.3.1 宏程序概念
宏程序是一種可進(jìn)行表達(dá)式計(jì)算和條件跳轉(zhuǎn)的NC程序語(yǔ)言,包括宏變量、指令及內(nèi)建函數(shù)。通常可以與G代碼混合編程,用來(lái)實(shí)現(xiàn)有計(jì)算和人機(jī)交互需求的加工循環(huán)和程序測(cè)量相關(guān)的功能操作。
1.3.2 存放位置
“GNC62CycPrgs”,文件名為“C**.nc”,“**”為該功能的系統(tǒng)索引號(hào)。
1.3.3 主程序格式
在主程序中插入定制的專(zhuān)用功能,經(jīng)過(guò)編輯、設(shè)置參數(shù)后輸出的專(zhuān)用循環(huán)程序格式為“CDEF99 A3 B4 C5 D6 … END”,且在系統(tǒng)程序編輯器中,禁止以文本形式編輯,防止誤操作,只能通過(guò)“編輯工序”按鈕進(jìn)入該功能的圖形化編程界面進(jìn)行編輯、設(shè)置。
1.3.4 數(shù)據(jù)傳遞
如主程序?yàn)椤癈DEF99 A3 B4 C5 D6 … END”,根據(jù)上文說(shuō)明,在專(zhuān)用宏程序中得到的數(shù)據(jù)為#800=3、#801=4、#802=5、#803=6…,根據(jù)所封裝的工序,使用這些數(shù)據(jù)進(jìn)行編程即可。
1.3.5 注意事項(xiàng)
專(zhuān)用宏程序開(kāi)始執(zhí)行前,必須加入保存當(dāng)前模態(tài)信息的指令,模態(tài)信息主要包括當(dāng)前的編程方式(絕對(duì)方式/相對(duì)方式)、進(jìn)給方式(切削G1/快進(jìn)G0)、工件坐標(biāo)系等,專(zhuān)用宏程序執(zhí)行完畢后必須還原模態(tài)信息,以保證主程序上下文的連貫性;在編輯宏程序過(guò)程中,大部分變量均使用#變量進(jìn)行索引,同一#變量在整個(gè)宏程序中會(huì)參與多次實(shí)時(shí)運(yùn)算或賦值并多次被引用,由于變量值的變化具有實(shí)時(shí)性的特點(diǎn),與數(shù)控系統(tǒng)多段預(yù)讀并預(yù)處理功能矛盾,因此我們需要在#變量的實(shí)時(shí)運(yùn)算或賦值之前停止預(yù)讀及預(yù)處理,待實(shí)時(shí)運(yùn)算或賦值執(zhí)行完成后再恢復(fù)預(yù)讀及預(yù)處理,保證#變量參數(shù)值的正確且有效[5]。
本文所述的將復(fù)雜工藝或多道工序封裝為系統(tǒng)專(zhuān)用功能的方法適用于如下特點(diǎn)的加工場(chǎng)景:
(1)相同類(lèi)型但不同尺寸、特征(加工工藝路線(xiàn))相似的產(chǎn)品,如汽車(chē)輪轂、增壓器殼體和鉆頭銑刀等。
(2)多個(gè)相同特征且每個(gè)特征工藝復(fù)雜,如航空發(fā)動(dòng)機(jī)多級(jí)轉(zhuǎn)子葉輪加工及修磨等。
(3)多個(gè)相同特征按一定規(guī)律(圓周、框架和矩陣等)排列的工件,主要用于維修使用,例如多刃刀具修磨、螺旋槳修復(fù)等。
筆者以一種典型的汽車(chē)零部件沖壓滑臺(tái)模具為例,說(shuō)明本方法的優(yōu)勢(shì)。假設(shè)該類(lèi)型模具有3個(gè)典型特征:基座長(zhǎng)度L(尺寸)、滑臺(tái)傾角α(角度)和滑軌類(lèi)型(邏輯)。如圖3所示,“→”左側(cè)是我們根據(jù)零件工藝及工序特征快速設(shè)計(jì)的專(zhuān)用圖形化編程界面,將3個(gè)參數(shù)按需求設(shè)置不同的數(shù)值,可以得到完全不同的兩種零件加工程序(程序格式:“CDEF991 /*沖壓模具-A型*/ A100 B30 C0 D2 E2500 F3 H6000 I4 J8000 END”),如圖中“→”右側(cè)程序模擬加工后的仿真結(jié)果。
本例中僅集成了3個(gè)典型的加工特征,還可以集成更多的尺寸、角度和邏輯特征,每道工序使用的刀具編號(hào)、主軸轉(zhuǎn)速以及進(jìn)給速度等等,當(dāng)然集成的特征越多,后臺(tái)的宏程序會(huì)越復(fù)雜,但是在加工編程或操作者角度是完全感知不到的。
為了驗(yàn)證本方法的可行性及效果,以某用戶(hù)滑塊類(lèi)零件進(jìn)行測(cè)試,該類(lèi)零件共7種型號(hào),且隨時(shí)可能改型或增加型號(hào),原工藝方案為每種零件一個(gè)加工程序,由工藝人員通過(guò)UG加工模塊進(jìn)行刀路設(shè)計(jì)并利用后處理文件生成,該后處理文件會(huì)將部分圓弧、輪廓等特征打散為微小線(xiàn)段[6],每個(gè)加工程序約1 900~2 400行代碼,代碼維護(hù)量非常大,而且修改程序時(shí)必須從編程軟件上執(zhí)行,生成代碼后再?gòu)?fù)制程序到數(shù)控系統(tǒng)存儲(chǔ)空間中,操作繁瑣、不靈活。
由于這一類(lèi)工件的大部分形狀特征是相似的,因此其使用的刀具、切削用量基本一致,在我們統(tǒng)計(jì)、分析該類(lèi)零件所有型號(hào)圖紙之后,總結(jié)出8個(gè)特征參數(shù),包括尺寸、角度和槽孔類(lèi)型等[7],其中有2個(gè)特征需額外附帶兩個(gè)切削用量參數(shù),總計(jì)14個(gè)參數(shù)。
圖 3 同一功能,不同參數(shù)加工出尺寸及形狀不同的零件。
該功能的設(shè)計(jì)、開(kāi)發(fā)及實(shí)施均由制造工廠(chǎng)工藝編程人員完成,數(shù)控系統(tǒng)廠(chǎng)家僅對(duì)其進(jìn)行了簡(jiǎn)單的培訓(xùn),如功能圖片及配置文件等存放位置、配置文件格式、圖形化編程界面參數(shù)傳遞規(guī)則等,提供了典型應(yīng)用功能的demo,工藝編程人員僅在1天之內(nèi)就完成了該類(lèi)零件的專(zhuān)用加工功能封裝,并無(wú)縫集成到GNC62系統(tǒng)中。用戶(hù)操作工在5種型號(hào)中任選其一,經(jīng)過(guò)向?qū)降膱D形化編程,幾乎是在2 min之內(nèi)就完成了該工件的專(zhuān)用加工程序,因?yàn)閮H需按圖紙要求輸入幾個(gè)參數(shù)而已,經(jīng)首件試加工檢測(cè)合格,此程序已開(kāi)始在用戶(hù)多臺(tái)設(shè)備上應(yīng)用并批產(chǎn),如圖4所示。
圖 4 客戶(hù)產(chǎn)品應(yīng)用
本文所論述的基于開(kāi)放式數(shù)控系統(tǒng),利用二次開(kāi)發(fā)功能及宏編程將同一類(lèi)型不同規(guī)格零件的加工過(guò)程封裝并集成到數(shù)控系統(tǒng)中的思路及方法有兩方面優(yōu)勢(shì),首先,在開(kāi)放式數(shù)控系統(tǒng)平臺(tái)上,不必動(dòng)用系統(tǒng)廠(chǎng)家的研發(fā)人員開(kāi)發(fā)、修改系統(tǒng)核心代碼,僅需有數(shù)控系統(tǒng)宏程序編程經(jīng)驗(yàn)的工程師,即可輕松完成,數(shù)控系統(tǒng)廠(chǎng)家不必單兵作戰(zhàn),可有效利用社會(huì)資源來(lái)豐富、完善數(shù)控系統(tǒng)功能;其次,對(duì)制造工廠(chǎng)的操作者能力要求大幅降低,只要認(rèn)字識(shí)圖,即可完成復(fù)雜工藝或工序的加工,解決了一部分無(wú)技術(shù)或無(wú)經(jīng)驗(yàn)的普通人員找工作難、數(shù)控加工廠(chǎng)招工難的問(wèn)題,具備一定的社會(huì)效益,一定會(huì)被市場(chǎng)廣泛認(rèn)可并接受。