|
如果你是機(jī)械專業(yè),那么肯定知道有門學(xué)科叫數(shù)控技術(shù);如果你是數(shù)控技術(shù)專業(yè),那么有門課程叫數(shù)控編程。所以本文章的說明對象就是數(shù)控技術(shù)的重點(diǎn)——編程!: V: {+ R- l7 w7 C. i
* l# s- @. ]! M" f
學(xué)習(xí)數(shù)控的人都知道編程的重要性,一個(gè)零件從毛坯到最終成型都需要編程。但不論是手工編程或者軟件編程都必須要有很好的加工思路特,特別是手工編程! 這里加工思路就不詳細(xì)贅述了,相信做的時(shí)間久了自然會(huì)有感悟。但是,有一種數(shù)控編程技術(shù)不是做的久就可以學(xué)會(huì)的,那就是宏程序!如果說數(shù)控編程技術(shù)是這個(gè)領(lǐng)域的座金字塔,那么宏程序無疑是金字塔的塔尖!很多人領(lǐng)略過宏程序的魅力,各大市、省乃至國家級(jí)技能競賽都少不了它。所以很多人為之努力,但往往都不戰(zhàn)而退。。。。。。, k2 H" }* r# R R2 B3 Y
6 _& q* m; t3 }1 \ D% [6 V
我們走到每一個(gè)書店,走到數(shù)控技術(shù)專欄面前,都會(huì)有關(guān)于宏程序?qū)W習(xí)的書刊。但絕大多數(shù)是照本宣科、大同小異,都沒有講到宏程序?qū)W習(xí)的核心。那么什么是它的核心?我個(gè)人認(rèn)為,通俗易懂、最簡單的理解方法就是核心。接下來我將會(huì)為學(xué)習(xí)數(shù)控編程技術(shù)的人講講我學(xué)習(xí)的思路,以及是如何理解的。那么至于我懂多少,這并不重要;重要的是你看了我的理解方法,是不是學(xué)會(huì)了宏程序。當(dāng)然,如果你還沒到學(xué)習(xí)宏程序的時(shí)候,請繼續(xù)努力學(xué)好基礎(chǔ)。; K y: C5 s4 o% ?
8 i4 B M- E( l* F
首先宏程序分兩種——A類和B類。坦白的說,A類我從來不看,同時(shí)我也相信99.99%是用不到的。如果你鉆這個(gè)牛角尖去看A類宏程序,用網(wǎng)絡(luò)流行語來說,你就是閑的蛋疼! B類宏程序就是我們常見到的一種,我相信用到它的幾率是99.99%。如果你學(xué)宏程序,卻不學(xué)B類,那真是大熱天穿棉襖——病的不輕。我們直接進(jìn)入正題吧。7 K P8 p, |) Q: b- {3 c
8 }1 l' w$ B# w1 L0 P 先看一個(gè)最常見的宏程序應(yīng)用實(shí)例:(車床——FANUC系統(tǒng))2 Z+ [& i8 |! m; j9 s
4 S" I9 c u2 n
其實(shí)數(shù)控系統(tǒng)中,除了西門子的宏程序格式不大眾化,其他系統(tǒng)都差不多的。就個(gè)人來看發(fā)那科系統(tǒng)的宏指令做的比西門子好,但西門子的其他功能指令卻獨(dú)占鰲頭。在講之前,先說幾個(gè)基本概念:; } X' H) k9 ~& {: ^% ~$ S4 E3 A4 ^
1,符號(hào). X$ s( o. `% x
“#1” 這個(gè)符號(hào)很常見,因?yàn)槭且毁x值的對象。那個(gè)“1”沒別的意思,你可以理解為1號(hào)代表。所以也會(huì)有2號(hào),寫作“#2” 如此而已!
1 ]) P) ^6 J! A7 S; ^7 c 2,賦值
2 @6 e# q# f5 z0 U8 V* } N+ o “#1=10” 這是什么意思? 其實(shí)就是把“10”這個(gè)數(shù)賦值給了“#1”。只要你賦了值,那么“#1”就等于10了。比如某段程序“G01 X10"我用 . e% k, F6 J6 H
宏指令表示”G01 X#1" 他的意思和G01 X10“是一樣的。
6 z! t; p4 v2 C; {2 M/ d/ Y 3,運(yùn)算
% {& H P2 ?5 E9 Y* d% ` 假設(shè)我給#1賦值為10,#2賦值為20,那么#1+#2等于多少?很簡單嘛,等于30。這個(gè)如果不理解,騎車去找你小學(xué)老師吧。記得要+ H3 u( Y% E* ~- h. K
邊騎邊哭!后面有稍微復(fù)雜的宏程序會(huì)用到乘法,除法或者分?jǐn)?shù)等等,他們的運(yùn)算順序不要搞錯(cuò)!如果這個(gè)不懂,同樣的也哭著
8 E* R; v! z; f8 K% i 去找你小學(xué)老師吧。3 L+ h# K8 j0 P1 b
. H8 I$ n2 s" m) C c; H
. z# a) G# E6 T& }6 J9 G9 O言歸正傳!介紹下我對宏程序的理解:描述刀具在工件坐標(biāo)系的位置!通俗的說就是自己要清楚刀具是怎么走才能做出零件。例如“G0 X20 ” 這程序段表示什么?表示當(dāng)前刀具在直徑20MM的地方,宏程序也是一樣的。
8 ]" B6 S' ^- @4 [8 k1 ]) y
6 ?8 X: u% ?6 N$ c/ j# } 如圖,這是最基本的車床類非圓曲線零件——橢圓。它的標(biāo)準(zhǔn)方程是:Z^2/60^2+X^2/20^2=1 (這里要說明的是,學(xué)宏程序需要有一定的數(shù)學(xué)功底,但也并不需要多么的高深,高二水平就可以了。如果達(dá)不到那么最基本的三角函數(shù)要知道)。這個(gè)方程是描述的什么意思我就不說了,沒多大意義。但你要知道橢圓的基本參數(shù):長半軸和短半軸!(如果這不知道,那去翻書吧)。此圖中的長、短半軸分別是60和20。這就是在方程中我們看到的兩個(gè)分母。Z、X分別代表什么呢?他們代表橢圓上的某一個(gè)點(diǎn)。當(dāng)你的Z取60,那么對應(yīng)的X值就是0。3 E o5 Q, F& b7 L1 v+ Z9 b3 s4 T
. c* |/ R3 {; u
說到這,要介紹兩個(gè)“點(diǎn)”的概念:橢圓中心點(diǎn)和零件原點(diǎn)。零件原點(diǎn)一般取在零件的右端面中心,這樣就構(gòu)成了一個(gè)直角坐標(biāo)系。那么圖中的任何長度方向數(shù)值,都是帶負(fù)號(hào)的!這個(gè)是基礎(chǔ)不再贅述。橢圓中心點(diǎn)在X0 Z-60處。區(qū)別橢圓中心和零件原點(diǎn)是很重要的,很多學(xué)習(xí)宏程序的人會(huì)把這兩個(gè)點(diǎn)弄混淆!
8 j2 z7 h# W5 w( v, Y$ N6 x7 l* V+ }( m9 \
下面我們做零件切削刀路分析;首先這個(gè)零件我們加工順序是從右向左,那么刀具當(dāng)是從零件右端面起切,至最左端結(jié)束(這里不考慮裝夾)。那么我們怎么做才能讓刀具“聽話”的按照我們的思路切削呢?怎么樣把我們的加工思路體現(xiàn)在數(shù)控程序里呢?還是直接看程序吧(只寫精加工)!( [* Q( _4 d: n
Z" ^" l' K" k% _" u FANUC
- B" H+ l, B! T% O1 AT0101 (FANUC系統(tǒng)宏程序格式自己看書)
: G9 a' L- D; Q. oS500M03
2 G. E4 }4 P. b% V' _* FG0X0Z2 刀具初始定位
+ ^; Z, C5 {6 A. b, R8 k1 aG01Z0F150 慢慢走到零件右端中心
+ J2 v! _+ }: v, U, ~" ?, v5 T#1=60 3 J* y. H% Q0 d( n
4 h/ g# W. _/ Y$ i! j5 N/ k; B/ H我們以橢圓長半軸為自變量(什么是自變量?可以理解為自己是不斷變化的數(shù)值,并且會(huì)因方程關(guān)系而影響其他數(shù)值;& r! n/ u {- l- c( J1 G. Y
這個(gè)值有正負(fù)之分。取決于需要加工的部分是在橢圓中心點(diǎn)的哪邊。這里取60,是因?yàn)閳D中橢圓要從最右端加工,而最
! w- a2 Y8 U/ ^" X右端的坐標(biāo)值相對于橢圓中心是60。因此長半軸、短半軸的取值不是由零件原點(diǎn)決定,而是根據(jù)橢圓中心決定的,需格( J6 r( Y# ?0 O/ g% \( R& i
外注意。
: v4 u8 G& d) P' \( E M9 D3 l! @* ? W ) N0 ?0 L# p: H* {" v' l- Z
WHILE [#1 GE 0] DO1 這句話的意思是:如果#1的值大于等于60,那么就一直執(zhí)行DO1、END1里的程序段,直到不符合條件!9 p* u3 u9 D4 n, @
1 q x0 L4 x) t
#2=20×SQRT[1-#1*#1/60/60] 此程#2表示橢圓短半軸,跟著長半軸變化而變化。"SQRT“表示根號(hào)。具體符號(hào)意思看書吧。# w' u1 H$ {" h& b
; R0 B$ _4 b7 S0 V5 V7 t) @G01X[#2*2] Z[#1-60]
* C9 B# o9 F7 q% i ]+ p1 N
( S. O, Y8 d7 |. W0 a' v. e( t; U ^這里是重點(diǎn)!我認(rèn)為這是宏程序的核心!前面說過,宏程序其實(shí)就是描述刀具軌跡且具有邏輯運(yùn)算的程序。這一4 T+ o6 `/ S) s% L; ]2 u2 e
步直接關(guān)系到程序的正確與否!首先說明為什么#2要乘以2。因?yàn)檫@里的#2表示短半軸,可以理解為零件X方向單
" |& u- w1 |/ E4 ]邊值。那么在實(shí)際零件里,是雙邊的值才對,所以要乘以2!重點(diǎn)是Z值!。。。。。
4 ?- w5 q+ Z6 I4 W+ \7 |" }3 i) ? c7 l: ]
我們先想想,做這個(gè)零件,刀具肯定是從右向左加工的。也就是說Z值是從“-1到-2再到-3一直到-60”的順序變化的。如果這個(gè)Z段改為”Z#1”那么會(huì)怎么樣? 我們發(fā)現(xiàn)他的第一刀在Z60處!因?yàn)?1=60!而我們加工時(shí)第一刀應(yīng)該在Z0!如果#1一直減小" Y- K6 ?, B0 T3 ~" G9 _
那么Z加工方向是對了,但值卻不對。他是從60一直加工到0。加工完我們就會(huì)發(fā)現(xiàn)根本沒做零件,走了空刀而
0 |7 N& t Z% W' b已!那我們需要的是從0加工到-60。所以重點(diǎn)是怎么樣才能把他的第一刀定位在Z0!其實(shí)很簡單,我們給他點(diǎn)“障) S& Q, K* V- H: y
礙”,在#1后面減去60。那么第一刀就會(huì)在Z0了。因?yàn)?0-60=0。。。好,我們看看對不對。第一刀Z0,第二刀Z-1(5 j( L0 \; U; Q, r% R& U0 {
這里假設(shè)#1每次運(yùn)算后,減1)第三刀Z-2(程序Z[58-60]的緣故),我們就發(fā)現(xiàn)Z值和他的方向都是對的!總而言之/ h" G A1 O0 L+ q
Z向的第一刀在你選擇加工的初始點(diǎn)上就可以了!如果把零件原點(diǎn)和橢圓中心原點(diǎn)設(shè)置在一起。那么Z段程序就應(yīng)
+ K0 X) ]8 y" n, X8 t+ l% |該是“Z#1.這里面的奧妙自己摸索,已經(jīng)講的詳細(xì)了。
! d* k/ Y+ t5 W4 I% x3 @
$ u. t. `7 v. x/ ?' u& C5 ^1 g+ M9 d$ D
#1=#1-1
+ C+ S" {' r$ g6 j4 D7 n2 @
8 t9 A" t" R1 C1 ~, q這程序段意思是#1每經(jīng)過一次運(yùn)算后遞減1。(一般遞減值不會(huì)這么大,0.1就可以了。只是這里取1是為配合上面# g- {7 a% |4 `# U
的講解)
% U) a7 X, l- w( Z1 h- C
4 l8 O9 H7 c$ T! V) H: nEND1& T/ I0 l! M4 p! t
G0X100
2 k, _2 v# f8 H3 s/ z0 JZ100# {2 G: x e$ b/ \( T; u4 a" D
M30
8 q* d7 _7 h9 |3 U。。。。。。7 e Z3 f; g" C* ]) p# Q
這里用橢圓的加工做了宏程序的基礎(chǔ)講解。其實(shí)宏程序的編制就是控制刀具的,只不過多了點(diǎn)運(yùn)算,加減乘除等等。當(dāng)然,復(fù)雜的也有,而且相當(dāng)復(fù)雜,比如,如何在三爪卡盤上不加墊片的方式車偏心零件。加工中心機(jī)床中,如何用宏編制立體五角星或者空間曲面等等。
) \( P) f6 J! V% x8 z4 J+ H7 L0 E
以上文字沒有使用半點(diǎn)“文學(xué)方面”的文采,全是白話文。華而不實(shí)、咬文嚼字的資料,已經(jīng)很多我就不寫了,通俗就是最好的。
5 [9 w4 h) J% c% J
' h( g8 M! Q1 b' z6 a A# e 由于是分兩天寫的資料,可能銜接的不太好;或者有什么錯(cuò)誤還望指出。 |
評分
-
查看全部評分
|