|
如果你是機械專業,那么肯定知道有門學科叫數控技術;如果你是數控技術專業,那么有門課程叫數控編程。所以本文章的說明對象就是數控技術的重點——編程! ?: w1 k# @3 k7 G8 S0 A; C e. b0 t
! Y; { H& k n8 _ v9 K
學習數控的人都知道編程的重要性,一個零件從毛坯到最終成型都需要編程。但不論是手工編程或者軟件編程都必須要有很好的加工思路特,特別是手工編程! 這里加工思路就不詳細贅述了,相信做的時間久了自然會有感悟。但是,有一種數控編程技術不是做的久就可以學會的,那就是宏程序!如果說數控編程技術是這個領域的座金字塔,那么宏程序無疑是金字塔的塔尖!很多人領略過宏程序的魅力,各大市、省乃至國家級技能競賽都少不了它。所以很多人為之努力,但往往都不戰而退。。。。。。8 f+ w' o% S$ |. L; _0 M# W
% R* t2 u+ u2 G0 Y7 G% Z5 m
我們走到每一個書店,走到數控技術專欄面前,都會有關于宏程序學習的書刊。但絕大多數是照本宣科、大同小異,都沒有講到宏程序學習的核心。那么什么是它的核心?我個人認為,通俗易懂、最簡單的理解方法就是核心。接下來我將會為學習數控編程技術的人講講我學習的思路,以及是如何理解的。那么至于我懂多少,這并不重要;重要的是你看了我的理解方法,是不是學會了宏程序。當然,如果你還沒到學習宏程序的時候,請繼續努力學好基礎。
" g! t+ x* K# |! S, W2 [
3 F* ^; H+ l2 U/ s( V; K 首先宏程序分兩種——A類和B類。坦白的說,A類我從來不看,同時我也相信99.99%是用不到的。如果你鉆這個牛角尖去看A類宏程序,用網絡流行語來說,你就是閑的蛋疼! B類宏程序就是我們常見到的一種,我相信用到它的幾率是99.99%。如果你學宏程序,卻不學B類,那真是大熱天穿棉襖——病的不輕。我們直接進入正題吧。
$ L1 m9 x" ~9 u4 i" F, o8 L/ }* i. k7 ]* k
先看一個最常見的宏程序應用實例:(車床——FANUC系統)
/ X( y, N0 c6 a5 d( D) B; G9 o9 X
) B5 f- S- |' r8 x: C# n 其實數控系統中,除了西門子的宏程序格式不大眾化,其他系統都差不多的。就個人來看發那科系統的宏指令做的比西門子好,但西門子的其他功能指令卻獨占鰲頭。在講之前,先說幾個基本概念:- R$ P# h4 g6 P. ~: P# I+ x6 s* r
1,符號
8 C1 L, V% Z- K( F: r7 J5 V; P, X “#1” 這個符號很常見,因為是要被賦值的對象。那個“1”沒別的意思,你可以理解為1號代表。所以也會有2號,寫作“#2” 如此而已!
7 _' A3 l8 q" }4 _+ Q( O 2,賦值
! ~( {8 N0 {8 C( z “#1=10” 這是什么意思? 其實就是把“10”這個數賦值給了“#1”。只要你賦了值,那么“#1”就等于10了。比如某段程序“G01 X10"我用 9 I. U" y, z& ?- F6 \7 ^2 F7 J0 K [
宏指令表示”G01 X#1" 他的意思和G01 X10“是一樣的。 ) }( B- j& A. h. _" R4 A v& q# G
3,運算
1 y1 e) ^/ |$ S 假設我給#1賦值為10,#2賦值為20,那么#1+#2等于多少?很簡單嘛,等于30。這個如果不理解,騎車去找你小學老師吧。記得要
i6 m2 e% X, M& P& U 邊騎邊哭!后面有稍微復雜的宏程序會用到乘法,除法或者分數等等,他們的運算順序不要搞錯!如果這個不懂,同樣的也哭著# a: O' a& z& [9 d1 ]2 u
去找你小學老師吧。
$ f1 F/ A( [' \1 r' ?0 L3 z' S8 j3 G8 F; ^
- o5 K! E1 Q* S: {
言歸正傳!介紹下我對宏程序的理解:描述刀具在工件坐標系的位置!通俗的說就是自己要清楚刀具是怎么走才能做出零件。例如“G0 X20 ” 這程序段表示什么?表示當前刀具在直徑20MM的地方,宏程序也是一樣的。
. Q& {! ~. c4 O& ]
: b8 @! @0 B6 t8 |8 A5 \ 如圖,這是最基本的車床類非圓曲線零件——橢圓。它的標準方程是:Z^2/60^2+X^2/20^2=1 (這里要說明的是,學宏程序需要有一定的數學功底,但也并不需要多么的高深,高二水平就可以了。如果達不到那么最基本的三角函數要知道)。這個方程是描述的什么意思我就不說了,沒多大意義。但你要知道橢圓的基本參數:長半軸和短半軸?。ㄈ绻@不知道,那去翻書吧)。此圖中的長、短半軸分別是60和20。這就是在方程中我們看到的兩個分母。Z、X分別代表什么呢?他們代表橢圓上的某一個點。當你的Z取60,那么對應的X值就是0。2 L4 G: x$ B: P: C' s+ o5 Z
& j& X& R) A) E$ y- B7 @) c
說到這,要介紹兩個“點”的概念:橢圓中心點和零件原點。零件原點一般取在零件的右端面中心,這樣就構成了一個直角坐標系。那么圖中的任何長度方向數值,都是帶負號的!這個是基礎不再贅述。橢圓中心點在X0 Z-60處。區別橢圓中心和零件原點是很重要的,很多學習宏程序的人會把這兩個點弄混淆!
E( H, c3 }+ d! \/ [# a+ _* F
$ h* [" q/ g( O; U0 a. \ 下面我們做零件切削刀路分析;首先這個零件我們加工順序是從右向左,那么刀具當是從零件右端面起切,至最左端結束(這里不考慮裝夾)。那么我們怎么做才能讓刀具“聽話”的按照我們的思路切削呢?怎么樣把我們的加工思路體現在數控程序里呢?還是直接看程序吧(只寫精加工)!1 w4 M% }5 E1 ?: l( q H4 G7 F
- ]3 {# A8 C( I FANUC / a: N7 \5 S2 ~; G- k* p8 R
T0101 (FANUC系統宏程序格式自己看書)* c: Y" }' a$ l
S500M03, G7 s% k/ s$ R1 A8 _
G0X0Z2 刀具初始定位- c+ t! ?! q2 R3 B" F
G01Z0F150 慢慢走到零件右端中心
( [6 s, J* B+ |: G8 Z- b! r#1=60 / O$ t, F* E$ }! i
# W$ W: f; Z. [, o6 O我們以橢圓長半軸為自變量(什么是自變量?可以理解為自己是不斷變化的數值,并且會因方程關系而影響其他數值;
! l* S) ~3 ^' C這個值有正負之分。取決于需要加工的部分是在橢圓中心點的哪邊。這里取60,是因為圖中橢圓要從最右端加工,而最
1 _0 m# N4 H1 p: T! Z* C3 _" j右端的坐標值相對于橢圓中心是60。因此長半軸、短半軸的取值不是由零件原點決定,而是根據橢圓中心決定的,需格6 g* a0 n5 e* z4 F, a7 x
外注意?。?font class="jammer">" j/ k+ n. E4 k. F ?3 m0 ]! d3 Q
: B" `/ ~3 h5 G) uWHILE [#1 GE 0] DO1 這句話的意思是:如果#1的值大于等于60,那么就一直執行DO1、END1里的程序段,直到不符合條件!( a/ C, b" d$ J d) b
3 i$ E3 ] d6 w$ F; ?6 I
#2=20×SQRT[1-#1*#1/60/60] 此程#2表示橢圓短半軸,跟著長半軸變化而變化。"SQRT“表示根號。具體符號意思看書吧。
0 l' i0 u1 j4 t9 L% P+ F! k$ }9 C3 ^0 j9 W
G01X[#2*2] Z[#1-60] 7 C4 d3 G/ l5 l
6 I: |+ `! L! `- x& ^$ x. g5 D這里是重點!我認為這是宏程序的核心!前面說過,宏程序其實就是描述刀具軌跡且具有邏輯運算的程序。這一/ R( x3 R+ n/ o+ b
步直接關系到程序的正確與否!首先說明為什么#2要乘以2。因為這里的#2表示短半軸,可以理解為零件X方向單
3 ]' z6 h0 L0 d4 M邊值。那么在實際零件里,是雙邊的值才對,所以要乘以2!重點是Z值?。。。。。。?/font>
# Y; L3 z: S7 S
* T3 B1 U3 ?9 D& \/ G4 \" Z; I+ ?; l我們先想想,做這個零件,刀具肯定是從右向左加工的。也就是說Z值是從“-1到-2再到-3一直到-60”的順序變化的。如果這個Z段改為”Z#1”那么會怎么樣? 我們發現他的第一刀在Z60處!因為#1=60!而我們加工時第一刀應該在Z0!如果#1一直減小
0 i" o, U5 U+ q/ J. e) M/ |+ A那么Z加工方向是對了,但值卻不對。他是從60一直加工到0。加工完我們就會發現根本沒做零件,走了空刀而
. a, X7 J7 _& {已!那我們需要的是從0加工到-60。所以重點是怎么樣才能把他的第一刀定位在Z0!其實很簡單,我們給他點“障
+ f7 X, R$ y% _& g礙”,在#1后面減去60。那么第一刀就會在Z0了。因為60-60=0。。。好,我們看看對不對。第一刀Z0,第二刀Z-1(
; |) m+ S9 y! w5 {4 o8 Z這里假設#1每次運算后,減1)第三刀Z-2(程序Z[58-60]的緣故),我們就發現Z值和他的方向都是對的!總而言之
! S8 ^& X# B8 wZ向的第一刀在你選擇加工的初始點上就可以了!如果把零件原點和橢圓中心原點設置在一起。那么Z段程序就應' D: D' w( F+ [: u0 E
該是“Z#1.這里面的奧妙自己摸索,已經講的詳細了。9 R9 v- u: Y- \9 z) I4 W2 e
+ Z5 P; Z4 o; U4 d" ?; ^ Y; r" F- f4 x0 h3 B1 Y, n/ |) v
#1=#1-1
4 I+ C1 o6 n. G! }4 [' {) Z- y5 n+ s3 p
這程序段意思是#1每經過一次運算后遞減1。(一般遞減值不會這么大,0.1就可以了。只是這里取1是為配合上面
6 E! [: s2 \3 w+ ~的講解)
5 y5 {: v$ o- S+ q5 m
4 l) g B: K. O5 N2 XEND1
+ N9 f* n* f- k. ^G0X1007 q* G4 u. q M( I& U2 Q8 A
Z100
5 ? u0 I' x1 ]7 t1 vM30
) f3 h' ?: u8 H+ ?/ t。。。。。。% S5 n0 t8 @# J) c4 g' V
這里用橢圓的加工做了宏程序的基礎講解。其實宏程序的編制就是控制刀具的,只不過多了點運算,加減乘除等等。當然,復雜的也有,而且相當復雜,比如,如何在三爪卡盤上不加墊片的方式車偏心零件。加工中心機床中,如何用宏編制立體五角星或者空間曲面等等。
' D2 H. p$ G- F- S% ^
& \" y8 E+ \+ U 以上文字沒有使用半點“文學方面”的文采,全是白話文。華而不實、咬文嚼字的資料,已經很多我就不寫了,通俗就是最好的。
6 j9 j3 h# L5 m6 }5 U; u/ K
$ P* [) x& }" t 由于是分兩天寫的資料,可能銜接的不太好;或者有什么錯誤還望指出。 |
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有賬號?注冊會員
×
評分
-
查看全部評分
|