|
2#
樓主 |
發表于 2008-4-22 13:14:08
|
只看該作者
加工中心加工標準〈接上面〉
加工中心的坐標設置與子程序調用
& H& r0 V' V6 [本文通過實例,剖析了加工中心機床坐標設置與子程序的應用問題,說明了自動編程與手工編程相結合,利用G92位置設置功能與子程序調用相配合,簡化編程,優化程序的方法。在實際工作中,取到事半功倍的作用。 * |' [6 a' k/ E$ K
+ X' J5 |; Y* z$ w1 f' }" N2 y隨著數控技術的快速發展及CAD/CAM技術的廣泛應用,數控加工越來越多地依賴于軟件的自動編程,手工編程逐漸處于次要的地位。但在實際加工中如果將自動編程與手工編程相結合,利用G92位置設置功能與子程序調用相配合,則可以更加簡化編程,優化程序,有利于程序的修改和重復調用。 + K% C$ S9 m( o& y4 ]
& X3 [; r% l! T1 Y# A" @1 L
下面以美國SABRE-1000 Acramatic 850SX系統立式加工中心機床為例,就坐標設置(位置設置)與子程序調用問題進行探討。
! S% w( r( q5 |) H; w1 b1 f5 l" o) Q7 P8 u
機床坐標系為機床上固有的坐標系,是由機床生產廠家設定的。工件坐標系是編程人員在編制加工程序時,根據零件圖紙上的某一固定點為原點確定的坐標系。兩坐標系之間的統一通過準備功能代碼G92的位置設置功能實現。 + b9 ~4 z0 H6 Z5 V: b
; S3 T, z' H; A# w P% u8 o8 zG92位置設置功能允許操作人員或編程人員為當前坐標軸賦予新的坐標值而工作臺并不移動。 G92偏移機床坐標系,使NC程序中的工件坐標系的坐標值與之相匹配。 9 Y5 }) v2 J4 I- [* \
8 z5 t& ]- v7 z5 t( I1 x工件原點(NC程序的零點)是由操作人員在安裝工件的過程中進行定位的。編程人員在編制程序時可以不考慮工件在機床上安裝的物理位置和安裝精度,而利用數控系統的原點偏置功能,通過工件原點偏置來補償工件的裝夾誤差。在加工前將該偏置值輸入到數控裝置,加工時該偏置值便能自動加到工件坐標系上,使數控系統按機床坐標系確定的工件的坐標值進行加工。但是,如果將G92直接編入程序中,而不采用將偏置值輸入到數控裝置的方法,則會更加方便。
) S5 I( E1 {: e: m* ~( ~) E; _) P
$ u1 m+ j h7 R例如,模具有6個相同的型芯,如果僅采用自動編程而不進行人工編輯,就需要對每一個型芯都完全繪制和進行編程,工作量較大,程序量更大,也不便于檢查程序。 1 w4 ]0 {! H1 ~/ m3 Q
# `: m/ W$ I/ ?/ c; i# ^
如果將手動編程與自動編程相結合,利用CAD/CAM軟件自動編程,只需要繪制一個型芯,生成加工一個型芯的程序。再根據各型芯之間的位置關系,通過G92設置和子程序調用,即可得到簡潔、清晰的程序。而且,如果在加工的過程中刀具已經磨損,更換刀具后,也可以很方便地修改程序,繼續下一個型芯的加工。
# Y2 H( Z0 M# ?- q( J0 @
" i2 s2 e. V' T' X! y7 {:G71G90 “:”為程序開始標識符 . ~/ Y* L; C# U) ]! f
T16M6 裝第16號刀位上的刀具
! X4 X8 w* _, x+ I( y1 lG00X519.8Y254.4Z77.929 機床坐標系中工件中心位置(也是型芯1的工件原點)
9 t. ~4 H$ [; f0 B+ k. S" p+ l+ M1 ?(CLS,L10) 調用加工一個型芯的子程序
7 V P- B$ K g* Q0 J# iG00X664.8Y254.4Z77.929 到達機床坐標系中型芯2的工件原點位置
$ o( x4 V) p2 ?3 o6 m(CLS,L10) 調用同一個子程序 7 F. w1 M( {( z, f/ W
G00X809.8Y254.4Z77.929到達機床坐標系中型芯3的工件原點位置 % Z! }/ j5 I# j
(CLS,L10) * {( m3 g5 a1 J9 P5 T2 n
G00X809.8Y484.4Z77.929到達機床坐標系中型芯4的工件原點位置
+ `# z K% S* c( _(CLS,L10)
1 [0 e; o' z, [% R2 Q# }" s7 WG00X664.8Y484.4Z77.929到達機床坐標系中型芯5的工件原點位置
. ~; p/ b# d2 e7 Y7 P(CLS,L10) ' |5 K1 u0 q$ m5 Z1 W
G00X519.8Y484.4Z77.929到達機床坐標系中型芯6的工件原點位置
8 o9 Y- F" e/ W, K, J) O u$ w(CLS,L10) 4 m# |. b# T: G+ B4 T
(DFS,L10) 定義加工一個型芯的子程序 6 m+ H' D& E9 N5 {4 k! y
G92X0Y0Z0 將子程序前面的,當前坐標軸賦予新的坐標值(0,0,0)
1 ~' A' I& h9 w* H/ E* M# X: _" M1 J2 S" bG01X-145.Y-115.M03S350M08F2000 * o& s3 {$ g9 {! z
Z-38F100 7 j: b6 o* m! Q4 n7 f1 v! q0 T
...... 加工一個型芯的程序
% S% `6 w( q5 w8 {Y-115. ! X8 n" n, q; `. b) j
G00Z100 將主軸快速地提升到工件坐標系中Z為100的位置
1 q& N5 c5 t+ u& A+ ~; P9 [X0Y0 回到工件坐標系X-Y平面零點 % S' R) J2 K# _+ o8 w. |! W+ U6 l
G99 取消G92位置設置,讓工件坐標系回復到機床坐標系中
+ p) L+ |, a5 {/ k3 g(ENS) 子程序結束 : Y1 R' p6 O0 y) i
M30 程序結束
H# Z5 N* ^" _4 q0 E& L; E# P9 n$ @ h/ t
實際工作中,工件坐標系的Z方向以工件表面(甚至低于工件表面)作為零點。如果讓刀具真正到達工件原點,勢必與工件相碰。為了提高安全性,,在讓刀具準確到達工件原點時,刀具并不真實與工件接觸,應將工件原點在機床坐標系中的Z值抬高一定距離(如距離a),相應地,在G92設置Z高度值時,Z值也加上相同距離a。
3 E9 t1 s% y* K7 ?" |9 l" ], V
1 u( x3 A* v9 t5 ~9 uG00X__Y__Z__+a
1 f* ]: J$ S1 F- j2 jG92X0Y0Z0+a
% Y6 U$ `; v6 f0 I& y! A" j例如,對下面的G92設置程序: . q Z0 U1 q! ^ N0 r, e
G00X519.8Y254.4Z77.929 , w1 d* L& s$ D8 f
G92X0Y0Z0
" h8 o+ O! d5 w1 H6 D如:將刀具抬高100mm,可改成: ' V) j L: M4 H) f
G00X519.8Y254.4Z77.929+100 ) ]8 S+ Y- X( I/ v; j9 @ Z" r8 K
G92X0Y0Z0+100 / k; c, Y* D5 c8 O5 \/ y) Q; c
% z5 W$ S- n( I& C, u刀具端面距離工件表面高100mm,而工件原點實際上仍在工件表面未變。這樣,在進行程序加工過程中就安全、靈活多了。
7 p/ F7 d1 p* ^) g J6 }: u1 A; ~# y/ P& W
如果裝夾好工件后需要調試程序,我們必須抬高刀具遠離工件表面運行,這時只需要將G92中的Z值減去a(a為Z向所需抬高的高度值),就使刀具端面距離工件表面(工件原點)高了a距離。 . ~* y/ f0 b$ F, O5 n$ }
7 J- @7 X2 ~3 P3 I0 F3 v在加工過程中需要臨時增加深度,這時就只需要將G92中的Z值加上a(a為Z向所需下降的深度值),就使刀具端面距離工件表面(工件原點)低了a距離。
7 B2 \' H) T3 j# A& Y# ^ n5 @# b% R* \1 C# l
如此,就可以在不更改程序其它部分的情況下,只通過更改G92中Z坐標的設置就可以快速、安全地達到目的。 - Z0 g, {% k2 T6 o4 G
; e1 z2 X z; a9 _G00X__Y__Z__
" O. u. F$ K+ B9 UG92X0Y0Z0+a (或G92X0Y0Z0-a) * I0 |1 \& L& _& n
例如: ! m2 M; v/ @! \. E& \' R" d
對下面的程序要求Z方向下降5mm: 8 _, Y6 G* F# {" _
G00X519.8Y254.4Z77.929+100 / y$ y- D3 k$ L, o/ c4 I2 Z
G92X0Y0Z0+100 5 f' Z4 S2 G( ?4 R$ x2 V- B
可改成: 6 \9 q% Z; e) M. E- k0 N+ d
G00X519.8Y254.4Z77.929+100
7 e$ V/ e9 p/ o3 P7 @G92X0Y0Z0+100+5
( y5 k G1 @/ b+ F* o. I% |* T, C+ J7 U' z8 R3 f. R1 j
如果將機床坐標系中工件原點所在的Z值加上a,而G92程序段中的Z值不變,也可使刀具端面距離工件表面(工件原點)提高a距離。或者,將機床坐標系中工件原點所在的Z值減去a,而G92程序段中的Z值不變,就使刀具端面距離工件表面(工件原點)降低a距離。效果與更改G92中Z坐標的設置相同。 * t4 g) c5 L' z- S7 E# M$ K
8 v, e" i) y1 ?4 x7 g3 uG00X__Y__Z__-a (或G00X__Y__Z__+a)
9 D9 c$ P/ \- ]) F% F+ D9 {" R9 u5 r7 ZG92X0Y0Z0
* T5 L8 ]1 _, g& W例如,對下面的程序要求Z方向下降5mm:
! R8 L, M, \4 P3 }' hG00X519.8Y254.4Z77.929 ; S& s. v- d' Y+ o# R4 X& Z& q
G92X0Y0Z0
! u' q* n G- J8 n4 }可改成: 4 V B. D9 j: y( r
G00X519.8Y254.4Z77.929+100-5
1 ?1 K% y. ] E# r9 f, xG92X0Y0Z0+100
, e1 K' g9 Y1 V1 G6 [1 X' F0 q7 L3 p# ~. D
利用以上原理,在利用加工中心機床刃磨工件時,由于砂輪損耗大,需要執行一次刃磨程序,就修磨一次砂輪(Z值必須下降),如果分別編程,加工時就需要反復更換程序,十分不便。下面的實例程序,可以方便地實現通過G92的設置,調用砂輪修磨程序,在加工過程中方便地修改程序,進行砂輪修磨和工件刃磨,以提高加工效率。
2 o9 n$ W- {* `4 g
3 }' J9 K0 W J/ W/ a:G71 ( ~$ u9 V! m$ W& p. Q
T12M6 , k( V3 _5 B0 v
G00X541.52Y254.8Z170+100S3000M03M08 到達機床坐標系中工件原點位置
# S4 R2 X2 S9 B: `/ XX60.0Y302.3 砂輪原點在機床坐標系中(X—Y平面內)的位置 : I1 ?2 ?8 G% O+ q
Z167.0+100F50 砂輪Z方向零點在機床坐標系中的位置,更改該值可以修磨砂輪 0 A$ K/ J6 {) @- f, p( X1 P
(CLS,L10) 調用砂輪修磨子程序
& _) _1 T+ [. M- x: rG92X0Y0Z0+100 當前坐標軸賦予新的坐標值(0,0,100) # u" E ]0 b' o1 f
G01X43.677Y4F2000S5000 : B( t) H3 |/ w6 I9 \6 Y# ^; J
Z79.4F1000 * ~; o9 J6 Z" A. Z( f; a
Z73.5F100 工件坐標系中的Z值,與砂輪修磨時下降的高度對應修改
) s* [! p5 J, L7 R: L+ ]...... 磨削工件程序 1 H2 [% y+ u9 F+ p& C
G00Z150 將主軸快速地提升到工件坐標系中Z為150的位置 & {0 c2 Q1 {. j" t4 ^* q( i4 I
X0Y0
5 H8 U! ~# z7 lG99 取消位置設置,讓工件坐標系回復到機床坐標系中
. K6 D( q5 @* F1 |+ P2 `+ A9 D(DFS,L10) 定義修磨砂輪子程序 , _- I/ t- b: A& u. r9 H) u# }
G92X0Y0Z0+100 將子程序前面的,軸的當前位置設置為(0,0,100) 3 L1 j" t* M/ p
G01X10Z-10F100
; d" v' ]6 h% \5 P% KX0Z0
. A+ E* X1 W* bG99 取消位置設置,讓砂輪的工件坐標系回復到機床坐標系中 $ t9 S) ]" P4 Y6 }2 L! s
G00Z270 將主軸快速地提升到機床坐標系中Z為270的位置 8 ~+ M0 w1 ^% a7 b
X541.52Y254.8 機床坐標系中工件中心位置
. u8 c, \! S* P2 G% F7 X4 S; p3 n+ b1 b(ENS) 砂輪修磨子程序結束
, D5 Z! |& X. k U. Q+ LM30
' ~0 `- `7 c+ @+ c: D4 B. g! r: Z$ ?! r- m7 f- l( P6 D7 Z) M
在 G92的位置設置時應注意:當G92包含在程序中時,如果不再需要G92位置設置,一定要使用位置設置取消指令(如G99,不同的機床有不同的指令),否則就可能導致工件、刀具、機床被損壞甚至產生人身傷害事故。 |
|