機械社區
標題: 車床虛擬加工系統實現方法研究 [打印本頁]
作者: 老鷹 時間: 2006-4-28 09:29
標題: 車床虛擬加工系統實現方法研究
引言 ffice
ffice" />
. y, e7 S2 V n i! r" N( |
虛擬制造(Virtual Manufacturing VM)技術是虛擬
1 U* m4 ?2 m6 \2 h: v' K' {( ^
顯示技術與計算機仿真技術在制造領域的綜合發展和
9 \# \8 O2 E2 s* P5 A/ {應用。VM 的實質是“計算中的制造”,即在計算機中
8 j: ~: z4 V2 ~1 F8 H
借助建模與仿真技術及時地完成制造全過程的模擬和
4 {' I# x9 ]* ?# D, `示范,并預測評價產品性能和產品的可制造性。數控
( @% C4 C- L2 `( c
(NC)車削程序的編制過程與工藝過程相似,都具有經
# U9 M4 Y" h- z) Z" A
驗性和動態性,在程序編制過程中經常發生錯誤。為
; x C. W5 @/ p. u+ A0 s5 v此,在數控機床上加工零件之前一般要進行數控程序
5 b! c( ]. a. r( a(NC 代碼)校驗,并進行首件試切。但這種傳統的試切
' Y) T; [0 q/ [8 G. l% [4 {2 x方法來檢驗刀具路徑既費時又費力。隨著數控編程技
2 D5 H7 B! w' k1 W4 G) l+ L# F術的發展,人們采用視覺檢查 NC 刀具軌跡的二維線
1 x* ~ ~: l5 h. {: Q* y, G框圖,這種方法主要依賴于程序員對易錯區選擇的判
$ ]' D* B, A7 Y2 b3 b' O9 M0 Q
斷和對該區域復雜的刀具軌跡線框圖的理解程度,一
1 J% L8 e/ H# S I) J1 _( n( `般的用戶無法判斷其正確性。通過數控加工三維幾何
2 k' S( K( A+ N% c. k: ^$ p# i
仿真能夠使 NC 編程人員和機床操作者通過圖形顯示
* }/ A* F* e: T進行干涉和碰撞檢查,校驗數控程序,故可以大大減
% \2 d$ @6 `& H& x/ U. M9 C: u少上述情況的發生,提高數控編程效率和質量。
L- [+ m% V f3 F- v" p; q1 系統總體結構
' v% ?- r6 |# ]! A+ {
由于OpenGL適用于多種硬件平臺及操作系統,其
4 T& w8 Z: p2 C6 l6 b2 @) z9 @9 Z
圖形庫能夠制作出高質量的三維圖形和高質量的動畫
3 k' H, l- e7 _ n5 S' H/ M
效果。因而整個虛擬加工的3D顯示引擎選用OpenGL來
) _' V: l8 g8 m( F5 K實現。考慮到Visual C++功能強大,開發出的系統執
0 c' r# B, H9 Z6 [4 S行效率高,且便于控制OpenGL,因而選用Visual C++
& M" }* e4 D$ ^. {! G3 k6 K6 @+ K作為整個虛擬加工系統的開發工具。通過對數控車床
: U) ~2 I' W: z+ M) T2 O' Q及其加工過程進行仿真,動態顯示產品加工過程和結
) D: D/ k7 s+ t! g$ a3 ?3 o
果,以實現產品零件的虛擬加工,并驗證NC程序的正
5 s+ @+ H1 X% ]確性。
) J! P/ ?0 \( F8 o ^4 T0 [
. y* x$ M" I/ [. j. H$ }& ^ ?圖1為系統的設計流程圖。
! n- x7 s0 w3 G# B8 M( ` C0 E
2 系統功能實現
* U, k* a1 R' O0 ]* N
2.1 NC程序編譯
6 M! n/ U. S' K9 s9 X1 V& j8 l
由于虛擬加工系統主要用于工業培訓及NC代碼的
. v( }( | b$ d0 r: @0 d3 M/ R
正確性檢查,故要求系統能夠在加工之前通知操作人
Q. H, _- @2 a9 y0 M
員NC程序中是否存在語法錯誤,上下程序段間的邏輯
4 c) b; Y. B/ Q- R/ p: j* ^! F* O; f關系是否正確等,故選用編譯方式而不是解釋方式來
+ v" \) W% o9 k; Z
對NC程序進行編碼。根據編譯原理的思想[1,2],構造出
5 s: ]- m0 n; p4 I
NC程序編譯模塊,對NC程序進行語法和詞法檢查。
" k) D0 N7 ?# R$ s5 ?8 u6 ]
比如檢查地址符字母是否大寫,上下程序段之間的邏
: |+ z/ O" i9 D; _* X
輯關系是否正確,圓弧的終點、圓心、半徑值等是否
- B! s G3 F2 [1 G
匹配,子程序調用時子程序號是否正確,程序開始字
- x6 {8 U) t4 ~# f6 T
符,程序號,程序主體,程序結束代碼和程序結束字
8 c3 `2 T2 N7 W o) N
符等是否完整等等。通過詞法和語法檢查指出錯誤發
# b" k* z' i6 L) f* \6 _* P
生的位置,給出錯誤的原因。使得虛擬加工系統能夠
( Y/ I2 ~) u5 u7 O* O
輔助用戶學習NC程序的編制。
; D% A8 k" n4 H) @8 m
2.2虛擬車床本體的搭建
/ X' p5 f8 M0 r: a
在數控加工幾何仿真系統中,首先要建立虛擬加
4 K0 e* P) y2 j0 L) S3 u6 A2 z工環境,實現虛擬數控機床。由于機床是由許多零部
4 u9 S0 \: F- p" {# R! T件組成,結構較為復雜,用OpenGL函數進行造型工作
) ]# p0 E F4 v5 G- F+ z ^
量太大,故先在CAD軟件Pro/E中造型出數控機床各個
9 N) T& e( r7 w/ S0 k0 f2 t零部件,將其導出成標準的三維數據格式STL,在程序
" h+ q& A+ Q3 Q; N
中直接讀取STL文件,并將其裝配起來。在繪制機床時
M/ [4 r3 f$ M& P( T
利用了OpenGL顯示列表技術,將每個零部件都生成一
: J. o3 a" p0 c' l# W
個OpenGL的顯示列表,這樣可以大幅度提高重繪效率,
4 E3 c1 b1 i$ o6 |4 C7 G
滿足實時繪制的要求。圖2為虛擬車床的效果圖。
( D/ W5 [: a; T" p
" c% k' D. f5 T8 }/ C* m2.3 數控加工過程仿真實現
; {6 ^. s$ a2 ?4 d( T/ C
數控車床的毛坯常用棒料或鑄鍛件,加工余量較
7 b, p3 q( i; b4 I" A% o6 `
大,但加工的零件形狀較為簡單,一般都是回轉體零
) N! ]4 ` J) p9 |( a+ c
件。為了避免材料切除過程中毛坯與刀具運動形成掃
5 c5 N% e" Q K. Q' |0 \1 y- T
掠體之間耗時的布爾運算,將毛坯沿 Z 向進行離散,
: g5 U. F% \$ f$ j' [2 l6 T將毛坯離散成單位高度的小圓柱,每個小圓柱稱為一
6 u0 U' ^3 T8 M( D5 ?; N/ O+ f個薄片,每個薄片的厚度根據精度和顯示效果的要求
, l$ z& Q/ \# _$ k. [# D. B u來確定,精度越高,切的越薄。每個薄片的數據結構
8 N$ P4 r) W2 w! m! k7 @如下:
& F1 s, f% [0 K2 `3 P/ ^0 G
struct PieceCylinder
4 g8 @* Z2 k! {- y4 j* t& E. s
{
! O! R7 F" R7 W1 ^1 Q
double m_dZSt;///////起始 Z 坐標
, L2 p0 Z! D2 R; K1 X! ^. X& F$ l
double m_dZEd;//////結束 Z 坐標
# j7 t( |( V$ z* v) ]3 b" D4 P
double m_dROutSt;////外圓起點半徑值
- e& t' P7 ~7 r/ u7 L2 L/ n' rdouble m_dROutEd;///外圓終點半徑值
4 `+ o+ ]( d" F' ~9 N" j# U' N# ^double m_dInSt;///內圓起點半徑值
7 l; t8 F F. Y; wdouble m_dInEd;////內圓終點半徑值
! ]3 S( h/ S; y# d1 P& }8 ~BOOL m_bIsDelete;//////該部分薄片是否被切除
1 a' \. o" u, A( ^PiesCylinder* m_pNext;/////下一個薄片數據
( y& U8 t& E) a7 F* O% g9 ]# d};
3 t" t) p3 M. n4 F! c" C8 S8 `- W 由于車削加工的回轉體常常有內孔,車削時也可
" N. |4 Y+ n# I3 }8 t能進行鏜孔和鉆孔操作,因而每個薄片不但要記錄所
4 a! G1 ^9 b! r6 \& `# i# ?在位置的外圓半徑,還要記錄內孔的半徑。為了光滑
! C+ Y- L" f h2 s+ `# s/ V8 G. I的顯示加工的復雜回轉面,如圓弧面、雙曲面等,每
5 @- \0 h j @+ C, z% M個薄片在 Z 軸方向分為起點和終點。其起點和終點處
. G, `5 G) F; B1 _ c/ H! W1 {外圓、內孔的半徑根據加工中的刀路軌跡單獨計算和
5 j2 s! ]' e7 e$ z
存儲。
0 @* J: s" J, M' K: j6 J z 在車削加工過程中,一方面工件繞其自身的回轉
) B* l7 d/ P. X5 F. g
軸高速旋轉,另一方面刀具在工件的軸平面內沿 X 軸、
) J7 X$ `: t# @" L8 |( @) U* rZ 軸運動,并逐漸從工件上切除多元的材料,加工出
8 j. I* Q5 `3 }
所需的外形,每一步刀具所掃掠出的均是一個多邊形。
- \5 [" a, V: ^6 g; T+ N& B$ ?
根據每一步的插補指令,求解出該步刀具所掃掠出的
* r6 w1 K" e/ Z( J5 V7 U4 g
多邊形。將刀具掃掠出的多邊形和離散后的工件模型
% i- h) Z. x* F; O& o( C求交,并相應修改工件上所有和刀具掃掠多邊形相交
3 l1 t% G% S/ {$ U0 w$ H5 U |8 |部分的半徑值。將修改半徑后的工件重新繪制出來,
( e2 T% ?; `8 m3 O0 ~' A
即可完成仿真過程的實時繪制。
. V7 S. G, l! B/ i( I; ]; h3 運行實例
: }* { P5 A8 J# y 為了驗證系統的仿真效果,進行了兩個加工實例
& K8 {7 j) e" I0 `! g
研究。由于固定循環的實現比較有代表性,故這里選
6 t) t8 h) B" h& }7 q
用固定循環來進行研究。程序O1234是G71外圓粗車固
" e" m5 `3 E% i9 w3 M, w定循環里面包含G70的精車循環,程序O1235是G72端
2 C- Z, [2 ~, C5 r U: `面車削固定循環,圖3為G71精車后的效果圖。圖4為
: B. k- g3 C h4 }- W8 Q" N; RG72粗車過程中截圖。
$ l8 m1 l* |5 ]# M9 }! TO1234
( [- ]- d4 t) DSffice:smarttags" />1200M3
+ u' ^+ `* K8 `! y* L0 N; VT0101
7 A: f1 { n, L6 u7 R5 {; E7 d/ {
G50X100Z50
' ~% W- B; y4 X- L8 x2 XG0X80Z5
; t$ P/ k( O; F
G71U3R0.2
0 m: F _6 C u5 ^3 R7 W0 n* D2 C
G71P00Q60U0.2W0.1F200
4 a6 T! I; r. ~5 @7 U; C
N00G0X6Z1
! R2 c' t- t+ l% H7 ~6 N/ VN10G1X10Z-3
8 F" I7 a/ _4 ~4 l
N20G1W-15
/ {$ z7 V6 d0 ^' \8 f
N30G2U30W-15R15
+ o7 B' n" K' K) J$ A" c$ k1 kN40G1W-30
" W2 R/ f$ r: |
N50G3U30W-15R15
$ J+ P3 r5 K3 _2 C* |. B0 }; \
N50G1U10W-10
, `( D% G, ~ V5 HN60G1W-70
/ h$ |! W; \4 O" `% S) {N70G0X100Z50
: u, }, ]/ M; O4 G/ o5 c( `+ g @G0X30Z5
( ~1 }) z! B7 yG70P10Q60
- R. G% `& m$ _. n4 `( m. OG0X120Z20
}! W9 X% u* h- P# `M30
b: g' \, r6 D6 w: U
7 [' Z: T; z0 R3 [( `; P7 W/ P+ {O1235;G72橫向切削復合循環
+ k% N, @- ]7 X, u+ z7 [4 H
S1200M3
) S) q) U5 N* Z y& P2 r
T0101
1 C/ W. E# A) \1 |9 N5 KG50X50Z50
* W: N% T7 j& N7 jG0X32Z5
* w y7 }1 k$ Z4 P% S) HG72U2R0.2
7 P$ ~: G/ F( M2 K8 I) W; ZG72P10Q50U0.2W0.1F200;呼叫子程序
+ o5 i# H4 l( V
N10G0X80Z-80
3 G" O4 T$ u9 S% d7 {
N20G1X60Z-70F100
+ c* P- n. b7 f* x7 t
N30W8
F2 {; K! s7 q7 o# O, Z u, n
N40G3X30W15R15
2 u% H+ d* K# u" q# K- I
N50G1X18Z2
) ]' r2 q6 X7 v
N60G0X100Z50
# r/ w+ @) j' U% j
G0X30Z5
$ O8 ?) X- |$ X1 nG70P10Q50
* w$ |/ K( L$ B4 f" h5 ]G0X100Z50
2 L+ ?# \! `9 b! k9 x1 k' T M
M30
/ t( p& _) b( O; Q5 r/ ~/ }
: S9 J. ^5 L2 n
4 結論
0 F5 m5 ]0 v9 a% [+ k: @1 P 詳細介紹了車床虛擬加工系統的一種實現方法,
. Y8 t; S* G+ o/ |% w/ ]# W1 p
并采用這種方法實現了車床虛擬加工系統。該虛擬加
* i! P7 I$ O. W7 x. c2 F& U3 T
工系統可廣泛應用于真實加工前進行仿真試切,在工
; ?2 S- v+ B3 E, `4 w0 _業培訓、數控教學等行業中,具有廣泛的應用前景。
; f( c8 t. u# o
歡迎光臨 機械社區 (http://www.ytsybjq.com/) |
Powered by Discuz! X3.5 |