西安東風(fēng)儀表廠 (陜西 710065) 劉一博 劉芳榮
數(shù)控程序,按照表述對(duì)象(指程序的內(nèi)容及含義)通??煞譃閮纱箢悾阂皇敲嫦蚣庸?duì)象,程序描述的是待加工零件的幾何要素、單元的信息數(shù)據(jù),控制系統(tǒng)依據(jù)這些數(shù)據(jù)和參數(shù)計(jì)算刀路,具體的計(jì)算過程均在系統(tǒng)內(nèi)部完成,編程者無法看到相關(guān)細(xì)節(jié),MAZATROL就是這種程序的典型代表,西門子的shopmill程序也屬于此類。第二種是面向運(yùn)動(dòng)過程,即程序語句由描述機(jī)床順序動(dòng)作的指令(如 G1、G2、G3、M3…每種指令對(duì)應(yīng)唯一的驅(qū)動(dòng)方式)組成,常見的有FANUC、HEIDENHAIN及SIEMENS等系統(tǒng)。
MAZATROL操作系統(tǒng)程序是一種高度智能、強(qiáng)導(dǎo)向的人機(jī)對(duì)話式編程,根據(jù)表頭內(nèi)容及每行提示可以快速地直接填寫,手動(dòng)完成程序編寫,過程中人工計(jì)算量很小。通過表格填寫即可描述出一份尺寸完整、邏輯清晰的平面圖,無需計(jì)算機(jī)輔助,且程序簡煉、高效、可讀性好,與傳統(tǒng)的控制系統(tǒng)完全不同,如附圖所示。
MAZATROL操作系統(tǒng)程序圖
圖1填寫表格方式的程序,導(dǎo)向性很強(qiáng),能清晰指導(dǎo)編程者下一步做什么、如何做,做錯(cuò)了會(huì)提示錯(cuò)在哪里。該系統(tǒng)自帶強(qiáng)大的CAD功能,只要邏輯條件充分,系統(tǒng)可以自動(dòng)計(jì)算出某個(gè)點(diǎn)位數(shù)據(jù)且用顏色加以區(qū)分。
FANUC、SIEMENS、華中數(shù)控等系統(tǒng)的程序在格式、含義、功能方面都很接近,都是在標(biāo)準(zhǔn)的通用指令(俗稱G代碼)的基礎(chǔ)上擴(kuò)展、變種發(fā)展而來,如常用的直線、圓弧等指令,大同小異,均以直角坐標(biāo)、極坐標(biāo)或者增量坐標(biāo)值表示終點(diǎn)。
以下為FANUC程序,表示一句直線指令,終點(diǎn)的直角坐標(biāo)值(X/Y/Z),再加上A/B軸的角度值。
至于HEIDENHAIN操作系統(tǒng),同樣表示的也是終點(diǎn)的坐標(biāo),這個(gè)坐標(biāo)可以是直角坐標(biāo)系、極坐標(biāo)系、增量直角坐標(biāo)系及增量極坐標(biāo)系。以下為為HEIDENHAIN程序,較FANUC程序而言,只是G1被L替代,其他指令大多也來源于英文縮寫或者單詞的首字母。標(biāo)準(zhǔn)G代碼則是G加上數(shù)字構(gòu)成,如G1、G2、G3等,及輔助其他代碼構(gòu)成輔助代碼,如M加上數(shù)字,構(gòu)成M代碼(如M0、M3等)。
(1)點(diǎn)位程序與樣條曲線程序 按照數(shù)據(jù)類型(插補(bǔ))可將程序分為點(diǎn)位(直線圓?。┏绦蚝蜆訔l曲線(樣條插補(bǔ))程序兩種。兩者在原理、特點(diǎn)及適用范圍等方面均有不同。點(diǎn)位程序如下:
上述語句是最常見的三軸點(diǎn)位程序格式,其含義為“驅(qū)動(dòng)刀具中心點(diǎn)產(chǎn)生相對(duì)運(yùn)動(dòng),以到達(dá)程序指定的坐標(biāo)點(diǎn)(不考慮刀補(bǔ)因素)”,表示刀具中心點(diǎn)從起點(diǎn)坐標(biāo)點(diǎn)以直線或圓弧運(yùn)動(dòng)且以某個(gè)運(yùn)動(dòng)方向(圓弧運(yùn)動(dòng)時(shí)有順圓弧或逆圓?。┻\(yùn)動(dòng)到終點(diǎn)坐標(biāo)點(diǎn)。
(2)點(diǎn)位程序的種類 上面例子采用的是直角坐標(biāo)系,也可用增量直角坐標(biāo)系表示(即,當(dāng)前點(diǎn)相對(duì)于上一個(gè)點(diǎn)坐標(biāo)值的增量,有正負(fù)之分)。HEIDENHAIN系統(tǒng)同時(shí)還兼容極坐標(biāo)系、增量極坐標(biāo)系,對(duì)于表達(dá)呈圓周分布的幾何單元的位置極為便捷,且更加符合設(shè)計(jì)圖樣 [一般圖樣對(duì)圓系位置多采用(r,θ)表示],很方便檢查正誤,系統(tǒng)內(nèi)部會(huì)自動(dòng)計(jì)算轉(zhuǎn)換數(shù)據(jù)。
直角坐標(biāo)系與極坐標(biāo)系及其衍生的增量坐標(biāo)系構(gòu)成的四種不同類型的數(shù)據(jù),可以在同一個(gè)程序中混和應(yīng)用。但由于直角坐標(biāo)系與極坐標(biāo)系原理不盡相同,在同一行指令中不可同時(shí)出現(xiàn),只能是直角坐標(biāo)+增量直角坐標(biāo),或者極坐標(biāo)+增量極坐標(biāo)。
(3)點(diǎn)位程序的優(yōu)劣 上面提到的四種坐標(biāo)值程序,都屬點(diǎn)位坐標(biāo)程序,多適合于直線、圓弧的表示與加工,在實(shí)際應(yīng)用過程中有一定的局限性。
當(dāng)前加工對(duì)象日趨復(fù)雜,含有規(guī)則曲面、異形曲面類的零部件已占到加工總量的60%左右(模具加工中曲面比例更高)。對(duì)于樣條曲線、不規(guī)則曲面的表述,點(diǎn)位程序是有缺陷的。因其表述原理是,將樣條曲線按照要求的精度,以某一算法截分成有限個(gè)直線段,點(diǎn)位程序描述的便是這些線段的端點(diǎn)的坐標(biāo)值。同理,對(duì)于不規(guī)則曲面,首先也是按照某種算法將其分解為有限的曲線,之后再將曲線分解成直線。因此生成的程序往往體積都相當(dāng)龐大,硬件(設(shè)備)每秒鐘要處理多條指令,但其計(jì)算能力是有限的(雖然現(xiàn)在設(shè)備的處理器功能很強(qiáng)大,但具體到某臺(tái)設(shè)備,該屬性是固有的),當(dāng)單位時(shí)間待處理的指令條數(shù)接近或達(dá)到其(機(jī)床計(jì)算機(jī)處理器)極限值時(shí),操作系統(tǒng)的反應(yīng)速度會(huì)明顯遲滯,具體表現(xiàn)就是機(jī)床運(yùn)動(dòng)速度降低,運(yùn)動(dòng)不流暢(通常所謂的“卡”);設(shè)備在執(zhí)行某一條指令時(shí),通常存在加減速度問題,起點(diǎn)加速達(dá)到要求的進(jìn)給(速度),當(dāng)接近終點(diǎn)瞬間時(shí)則會(huì)減速,以便對(duì)下一條指令作出準(zhǔn)備,并準(zhǔn)備執(zhí)行(可能同時(shí)還會(huì)改變方向)。以上兩點(diǎn)原因往往導(dǎo)致設(shè)備在運(yùn)行曲面程序時(shí),總體速度下降,走刀時(shí)間加長。更重要的則是刀路(運(yùn)動(dòng))不流暢,加工表面質(zhì)量明顯下降。對(duì)于高精度的光學(xué)器件的加工很難滿足要求,同時(shí)效率較低,因此派生出另外的一種插補(bǔ)方式。
當(dāng)前,新生代機(jī)床的操作系統(tǒng)擁有強(qiáng)大的前窺(預(yù)讀)功能,能提前規(guī)劃路徑,順暢刀路并減少遲滯,在一定程度上會(huì)彌補(bǔ)上述缺陷,但尚不能完全克服。
(4)樣條曲線程序 針對(duì)點(diǎn)位程序的上述缺陷,操作系統(tǒng)研制商及機(jī)床廠家開發(fā)出各種樣條(插補(bǔ))曲線程序,該程序描述樣條曲線的特征包括拐點(diǎn)等必要信息數(shù)據(jù)。機(jī)床在實(shí)際走刀過程中,系統(tǒng)內(nèi)部會(huì)自動(dòng)根據(jù)信息數(shù)據(jù)插補(bǔ)中間值,并預(yù)讀準(zhǔn)備后面的刀路,中間無需停頓且速度均衡,形成的刀路光滑流暢,而且程序短小精悍,表面質(zhì)量大幅提高。如下是HEIDENHAIN系統(tǒng)的B樣條曲線的三軸數(shù)控程序,這種程序完全不同于傳統(tǒng)點(diǎn)位程序,每行的數(shù)據(jù)信息更加豐富,緊跟SPL后的三個(gè)數(shù)據(jù)是坐標(biāo)值,K(n)則表示某軸的階數(shù)。這里不深究其插補(bǔ)原理。
這些高級(jí)功能需要設(shè)備操作系統(tǒng)強(qiáng)有力的支持,目前在高版本的FANUC、HEIDENHAIN、SIEMENS等系統(tǒng)中已有廣泛應(yīng)用。
國內(nèi)外專家學(xué)者研究開發(fā)出了各種樣條曲線的插補(bǔ),如A(AKIMA)樣條曲線插補(bǔ),C(CUBIC)樣條曲線插補(bǔ),貝奇爾(BEZIER)樣條曲線插補(bǔ),PH(PYTHAGOREAN-HODOGRAPH)曲線插補(bǔ),B 樣條曲線 NURBS(Non-Uniform.Rational B-Spline)曲線插補(bǔ)。由于NURBS曲線具有良好的直觀性,且在局部性及收斂、逼近性方面占有優(yōu)勢,已經(jīng)成為當(dāng)前最為通用的列表曲線擬合方法。利用NURBS在CAD/CAM系統(tǒng)中可以使所有的曲線具有統(tǒng)一的數(shù)學(xué)表達(dá)式,國際標(biāo)準(zhǔn)化組織(ISO)在其正式頒布的工業(yè)產(chǎn)品幾何定義STEP標(biāo)準(zhǔn)中,亦將NURBS作為產(chǎn)品交換的國際標(biāo)準(zhǔn)。
若按照控制軸數(shù)量來分類,程序一般分為三軸程序與五軸程序(四軸程序嚴(yán)格講是五軸程序的簡化版,可歸類于五軸程序范疇)。而五軸程序根據(jù)數(shù)據(jù)結(jié)構(gòu)又可分為點(diǎn)位五軸程序與矢量程序兩種。
(1)五軸點(diǎn)位程序 所謂五軸點(diǎn)位程序,就是在三軸點(diǎn)位程序的基礎(chǔ)上,增加兩個(gè)旋轉(zhuǎn)軸的坐標(biāo)值,其量值單位是(角)度,有正負(fù),以表示旋轉(zhuǎn)方向。如:
由于五軸數(shù)控設(shè)備結(jié)構(gòu)的多樣性,以及設(shè)備各旋轉(zhuǎn)軸軸線空間位置關(guān)系的復(fù)雜性,五軸點(diǎn)位程序通用性很差(三軸設(shè)備則因其三軸正交的結(jié)構(gòu)特點(diǎn),程序間彼此的兼容性良好,僅通過修改程序開頭、結(jié)尾及少量輔助指令即可)。依據(jù)某臺(tái)設(shè)備編寫的NC程序幾乎不可能直接在其他設(shè)備上運(yùn)行。換句話說就是,同樣一種零件,若更換機(jī)床加工,需要運(yùn)用不同的后置處理文件重新生成符合指定機(jī)床的程序,這些后置需要專業(yè)廠家定制或購買。
(2)五軸矢量程序(不含刀補(bǔ)) 基于五軸點(diǎn)位程序的缺陷,又衍生(開發(fā))出了一種通用的五軸程序,適合不同結(jié)構(gòu)的機(jī)床,就是五軸矢量程序。該程序完全不受機(jī)床的結(jié)構(gòu)限制,每行有六個(gè)數(shù)據(jù),由(X、Y、Z)三個(gè)坐標(biāo)值與該點(diǎn)刀軸矢量在三個(gè)軸上的投影矢量值構(gòu)成,格式如下所示,“LN”后的X、Y、Z數(shù)值表示坐標(biāo)值,TX、TY、TZ表示坐標(biāo)值的矢量方向,這個(gè)方向就是刀軸相對(duì)工件的方向。也可以形象理解成一條空間里的射線,刀具的中心就是射線端點(diǎn),刀具的軸線與射線重合;或者可更簡單理解為,這條射線就是刀具本身(將刀具簡化為一條射線)。程序如下:
設(shè)備執(zhí)行此類程序時(shí),操作系統(tǒng)會(huì)自動(dòng)將其分解、轉(zhuǎn)換為適用于本設(shè)備的五軸點(diǎn)位程序。也就是說,此程序相當(dāng)于一個(gè)中間(過渡)點(diǎn)位文件,需要被機(jī)床系統(tǒng)翻譯/轉(zhuǎn)換成本機(jī)床適用的數(shù)據(jù)類型和適用的兩個(gè)旋轉(zhuǎn)軸(或A/C、或A/B、或B/C)的旋轉(zhuǎn)角度。
每臺(tái)機(jī)床都對(duì)其旋轉(zhuǎn)軸的運(yùn)動(dòng)/加工范圍有具體規(guī)定,一般A/B軸運(yùn)動(dòng)范圍都會(huì)大于90°。如當(dāng)A軸的運(yùn)動(dòng)范圍是(-97°,+12°)時(shí),這樣在某個(gè)區(qū)域內(nèi)(±12°)就會(huì)有兩個(gè)解,在特殊情況下(當(dāng)矢量為(0,0,1)時(shí))有無窮多解。通常,遇到特殊情況會(huì)選擇旋轉(zhuǎn)軸不動(dòng)(路徑最短原則);當(dāng)有雙解時(shí),就需要機(jī)床操作系統(tǒng)擁有優(yōu)先選擇算法,一般由系統(tǒng)或者機(jī)床廠家設(shè)定。
矢量程序也存在一定的局限性。因?yàn)樗枰獙⑹噶哭D(zhuǎn)換為旋轉(zhuǎn)軸的度數(shù)值,增加了機(jī)床處理器的負(fù)擔(dān),需要功能強(qiáng)勁的設(shè)備處理器作為支持。曾經(jīng)做過試驗(yàn)對(duì)比,將一個(gè)刀路分別生成五軸點(diǎn)位程序和五軸矢量程序,同時(shí)設(shè)置相同的程序參數(shù),在同一臺(tái)設(shè)備(2005年出廠的HERMLEC1200U)上運(yùn)行。結(jié)果顯示,點(diǎn)位程序運(yùn)行非常流暢,而矢量程序有微微停頓及遲緩現(xiàn)象,進(jìn)給速度變慢。對(duì)于新生代的機(jī)床,處理器足夠強(qiáng)大,這種矢量程序應(yīng)用沒有任何問題。
(3)五軸插補(bǔ)矢量程序(3D插補(bǔ)矢量程序)鑒于五軸程序運(yùn)動(dòng)的復(fù)雜性,一般很少使用刀補(bǔ)(三軸程序大多有刀補(bǔ)),對(duì)于刀具磨損無法通過刀補(bǔ)來(精細(xì)補(bǔ)償)補(bǔ)償。那么究竟有沒有帶刀補(bǔ)的五軸矢量程序呢?答案是肯定的。3D插補(bǔ)就是矢量程序的擴(kuò)展,每行有九個(gè)數(shù)據(jù),如下所示,N后面三個(gè)數(shù)據(jù)是刀具接觸點(diǎn)的矢量。這種程序更復(fù)雜,但具有更好的兼容性與靈活性,且能提高加工精度,減少刀具復(fù)磨次數(shù),降低刀具成本。
當(dāng)然,這種3D插補(bǔ)的矢量程序,具有矢量程序的所有優(yōu)缺點(diǎn),而且對(duì)于處理器的功能要求更加苛刻,需要運(yùn)算更多的數(shù)據(jù)。
綜上所述,五軸點(diǎn)位程序不僅體積龐大,且不適用于曲面加工;樣條曲線程序擅長曲面加工,卻僅有三軸程序;五軸矢量程序,從嚴(yán)格意義上來講,仍然是點(diǎn)位程序。
能否集合各類數(shù)據(jù)程序的優(yōu)點(diǎn)呢?能否將五軸程序與樣條曲線程序相結(jié)合,產(chǎn)生五軸的樣條曲線程序?又或者將樣條曲線程序和五軸矢量程序相融合?甚至考慮將樣條曲線與帶刀補(bǔ)的矢量程序相嫁接……這些問題的解決,將會(huì)對(duì)五軸以上數(shù)控設(shè)備的進(jìn)一步推廣與應(yīng)用產(chǎn)生革命性的影響。
未來五軸點(diǎn)位程序+樣條曲線程序,依據(jù)三軸樣條曲線的原理,需要增加兩個(gè)旋轉(zhuǎn)軸的控制點(diǎn)及權(quán)重值等必要數(shù)據(jù),每行最少新增6個(gè)數(shù)據(jù),即每行需要不少于15個(gè)數(shù)據(jù)。
未來樣條曲線+五軸矢量程序,估計(jì)需要增加9個(gè)數(shù)據(jù),達(dá)到每行至少18個(gè)數(shù)據(jù)。
未來程序需要更多的信息數(shù)據(jù)做支撐,依據(jù)現(xiàn)有的程序格式做出的推測,試著分析一下其構(gòu)成,刀尖點(diǎn)的數(shù)據(jù)3個(gè),每個(gè)軸的權(quán)重點(diǎn)、階數(shù)9個(gè)數(shù)據(jù),3個(gè)矢量及3個(gè)矢量的權(quán)重階數(shù),再加上接觸點(diǎn)的矢量等等。若是樣條曲線與帶刀補(bǔ)的五軸矢量程序相結(jié)合,那信息量就更大了。
面向?qū)ο蟮募庸ぃ枋龅氖潜患庸卧囊?。而五軸矢量程序雖然描述的是加工過程,但卻同時(shí)含有面向加工對(duì)象的一些特征,甚至可以理解成工件表面的要素。五軸空間樣條曲線程序,也更像面向?qū)ο蟮某绦颉訔l曲線+五軸矢量程序,則更進(jìn)一步接近面向?qū)ο?,每行程序含有更多的零件信息,過程刀路則由機(jī)床依據(jù)算法插補(bǔ)。
對(duì)于高級(jí)的五軸程序,面向過程跟面向?qū)ο髢烧咚坪踝呦蛄巳诤?,不同于面向?qū)ο?,又不同于面向過程。對(duì)于如此復(fù)雜的程序,采用傳統(tǒng)的手工編程是無法實(shí)現(xiàn)的,現(xiàn)有的CAM軟件則需要加大數(shù)據(jù)量,或開發(fā)全新的CAM軟件,同時(shí)輔以強(qiáng)大的后處理系統(tǒng),方可實(shí)現(xiàn)生成、模擬及分析功能,并將面向加工對(duì)象與面向運(yùn)動(dòng)過程的優(yōu)勢完美結(jié)合。