|
如果你是機械專業(yè),那么肯定知道有門學(xué)科叫數(shù)控技術(shù),;如果你是數(shù)控技術(shù)專業(yè),,那么有門課程叫數(shù)控編程。所以本文章的說明對象就是數(shù)控技術(shù)的重點——編程,!! \8 J- P3 o# s+ K' Q$ O
7 t+ W5 f' W+ Q- @# \0 l: m2 p
學(xué)習(xí)數(shù)控的人都知道編程的重要性,,一個零件從毛坯到最終成型都需要編程。但不論是手工編程或者軟件編程都必須要有很好的加工思路特,,特別是手工編程,! 這里加工思路就不詳細(xì)贅述了,相信做的時間久了自然會有感悟,。但是,,有一種數(shù)控編程技術(shù)不是做的久就可以學(xué)會的,那就是宏程序,!如果說數(shù)控編程技術(shù)是這個領(lǐng)域的座金字塔,,那么宏程序無疑是金字塔的塔尖!很多人領(lǐng)略過宏程序的魅力,,各大市,、省乃至國家級技能競賽都少不了它。所以很多人為之努力,,但往往都不戰(zhàn)而退,。。,。,。。,。! a. ^9 c; v+ e
4 R6 I2 l/ x/ O4 s& G+ X1 c) g 我們走到每一個書店,,走到數(shù)控技術(shù)專欄面前,都會有關(guān)于宏程序?qū)W習(xí)的書刊,。但絕大多數(shù)是照本宣科,、大同小異,,都沒有講到宏程序?qū)W習(xí)的核心。那么什么是它的核心,?我個人認(rèn)為,,通俗易懂、最簡單的理解方法就是核心,。接下來我將會為學(xué)習(xí)數(shù)控編程技術(shù)的人講講我學(xué)習(xí)的思路,,以及是如何理解的。那么至于我懂多少,,這并不重要,;重要的是你看了我的理解方法,是不是學(xué)會了宏程序,。當(dāng)然,,如果你還沒到學(xué)習(xí)宏程序的時候,請繼續(xù)努力學(xué)好基礎(chǔ),。
5 i0 D3 O0 M( ~; ?
4 y2 H, r' p4 f" [0 ]6 s) w 首先宏程序分兩種——A類和B類,。坦白的說,A類我從來不看,,同時我也相信99.99%是用不到的,。如果你鉆這個牛角尖去看A類宏程序,用網(wǎng)絡(luò)流行語來說,,你就是閑的蛋疼,! B類宏程序就是我們常見到的一種,我相信用到它的幾率是99.99%,。如果你學(xué)宏程序,,卻不學(xué)B類,那真是大熱天穿棉襖——病的不輕,。我們直接進(jìn)入正題吧,。& Y; c" d: }3 s0 F1 i& C
1 {' ^2 Z6 R* i
先看一個最常見的宏程序應(yīng)用實例:(車床——FANUC系統(tǒng))
" E9 a9 `7 H& w% P
. L; ~8 o5 g4 @9 l" I1 G. f 其實數(shù)控系統(tǒng)中,除了西門子的宏程序格式不大眾化,,其他系統(tǒng)都差不多的,。就個人來看發(fā)那科系統(tǒng)的宏指令做的比西門子好,但西門子的其他功能指令卻獨占鰲頭,。在講之前,,先說幾個基本概念:
5 I# Z6 n. A6 t 1,符號
( c6 u; s/ y: s1 H3 }" x) t$ ]0 W “#1” 這個符號很常見,,因為是要被賦值的對象,。那個“1”沒別的意思,你可以理解為1號代表。所以也會有2號,,寫作“#2” 如此而已,!5 C+ C) V# S' d7 P& e; b, v1 K2 \ {
2,,賦值1 Y( c2 R9 i5 i3 T
“#1=10” 這是什么意思,? 其實就是把“10”這個數(shù)賦值給了“#1”。只要你賦了值,,那么“#1”就等于10了,。比如某段程序“G01 X10"我用
: i; f3 N3 H, }" u8 e 宏指令表示”G01 X#1" 他的意思和G01 X10“是一樣的。
' Y* p4 S& R/ V% r p 3,,運算: K! R: ?: }" a/ D
假設(shè)我給#1賦值為10,,#2賦值為20,那么#1+#2等于多少,?很簡單嘛,,等于30。這個如果不理解,,騎車去找你小學(xué)老師吧,。記得要/ n2 L2 z* K# T
邊騎邊哭!后面有稍微復(fù)雜的宏程序會用到乘法,,除法或者分?jǐn)?shù)等等,,他們的運算順序不要搞錯!如果這個不懂,,同樣的也哭著
# x/ y D0 ]) h- y 去找你小學(xué)老師吧,。
7 `2 L! h' z( o) {/ o l
V+ O# A$ P s7 Q 4 g/ N+ V4 A3 E A: C
言歸正傳!介紹下我對宏程序的理解:描述刀具在工件坐標(biāo)系的位置,!通俗的說就是自己要清楚刀具是怎么走才能做出零件,。例如“G0 X20 ” 這程序段表示什么?表示當(dāng)前刀具在直徑20MM的地方,,宏程序也是一樣的,。: L$ M. N) P8 }: G* C" {4 i: L+ |
3 o) t! h$ a- @3 @. t& _ i4 ~; k 如圖,這是最基本的車床類非圓曲線零件——橢圓,。它的標(biāo)準(zhǔn)方程是:Z^2/60^2+X^2/20^2=1 (這里要說明的是,,學(xué)宏程序需要有一定的數(shù)學(xué)功底,但也并不需要多么的高深,,高二水平就可以了,。如果達(dá)不到那么最基本的三角函數(shù)要知道)。這個方程是描述的什么意思我就不說了,,沒多大意義,。但你要知道橢圓的基本參數(shù):長半軸和短半軸!(如果這不知道,那去翻書吧),。此圖中的長,、短半軸分別是60和20。這就是在方程中我們看到的兩個分母,。Z,、X分別代表什么呢?他們代表橢圓上的某一個點,。當(dāng)你的Z取60,,那么對應(yīng)的X值就是0。
, |+ ?! ~* }1 C6 c- b1 Q- @! v+ Q( S' x' @! Y' O
說到這,,要介紹兩個“點”的概念:橢圓中心點和零件原點,。零件原點一般取在零件的右端面中心,這樣就構(gòu)成了一個直角坐標(biāo)系,。那么圖中的任何長度方向數(shù)值,,都是帶負(fù)號的!這個是基礎(chǔ)不再贅述,。橢圓中心點在X0 Z-60處,。區(qū)別橢圓中心和零件原點是很重要的,很多學(xué)習(xí)宏程序的人會把這兩個點弄混淆,!' l( ?) L& P( T, ]/ r/ _5 L) r8 a
# i% C& x3 k @# h6 _( W" n% ?4 L 下面我們做零件切削刀路分析,;首先這個零件我們加工順序是從右向左,那么刀具當(dāng)是從零件右端面起切,,至最左端結(jié)束(這里不考慮裝夾),。那么我們怎么做才能讓刀具“聽話”的按照我們的思路切削呢?怎么樣把我們的加工思路體現(xiàn)在數(shù)控程序里呢,?還是直接看程序吧(只寫精加工),!
* M3 u! x' t0 b+ \' u
# k, a* t- }9 n1 }1 v" b1 h FANUC
# J. M9 b: x, }" J- }T0101 (FANUC系統(tǒng)宏程序格式自己看書)* R+ I* L! Q4 G% J
S500M03" F! y* C6 V( j, D
G0X0Z2 刀具初始定位" I; m* q& @# X, s, a- t
G01Z0F150 慢慢走到零件右端中心
1 J6 I* G9 y8 N#1=60
# W- S, [! n+ b0 j
* n$ ?) s8 e, \/ r我們以橢圓長半軸為自變量(什么是自變量?可以理解為自己是不斷變化的數(shù)值,,并且會因方程關(guān)系而影響其他數(shù)值,;
$ @ `( R7 a% E; _& L; u這個值有正負(fù)之分。取決于需要加工的部分是在橢圓中心點的哪邊,。這里取60,,是因為圖中橢圓要從最右端加工,而最
/ K8 \, e$ x8 [" ?* @, a, Y右端的坐標(biāo)值相對于橢圓中心是60,。因此長半軸,、短半軸的取值不是由零件原點決定,而是根據(jù)橢圓中心決定的,,需格7 ^4 d; X& g. ^4 n/ z( D3 B" a
外注意�,。�3 _' A6 W9 q' L, J1 P
% w- z2 V+ n) a" X) J; bWHILE [#1 GE 0] DO1 這句話的意思是:如果#1的值大于等于60,那么就一直執(zhí)行DO1、END1里的程序段,,直到不符合條件,!9 q, N0 u4 F2 ^/ p& J! b% I! ?: L
3 |0 ]7 G: E: f1 A$ C
#2=20×SQRT[1-#1*#1/60/60] 此程#2表示橢圓短半軸,跟著長半軸變化而變化,。"SQRT“表示根號,。具體符號意思看書吧。
" W4 L1 \# g- a# S, k' g2 C. N& Y( ]3 n7 f! H3 m$ @( p
G01X[#2*2] Z[#1-60] " Q$ B! C- \0 o; t- I
0 `+ h1 Y; ]2 {1 H( e- K這里是重點,!我認(rèn)為這是宏程序的核心,!前面說過,,宏程序其實就是描述刀具軌跡且具有邏輯運算的程序,。這一; B/ X4 g8 b! S; K: n2 U) L4 g' \9 j
步直接關(guān)系到程序的正確與否!首先說明為什么#2要乘以2,。因為這里的#2表示短半軸,,可以理解為零件X方向單: D4 K' A/ Q& @3 g
邊值。那么在實際零件里,,是雙邊的值才對,,所以要乘以2!重點是Z值�,。,。。,。,。�,!* E+ t2 E( {/ |. _- ~4 h
& h! z) `) ~& e% e! q我們先想想,,做這個零件,刀具肯定是從右向左加工的,。也就是說Z值是從“-1到-2再到-3一直到-60”的順序變化的,。如果這個Z段改為”Z#1”那么會怎么樣? 我們發(fā)現(xiàn)他的第一刀在Z60處,!因為#1=60,!而我們加工時第一刀應(yīng)該在Z0!如果#1一直減小" T; M7 N" b5 U* Z5 L. @3 F
那么Z加工方向是對了,,但值卻不對,。他是從60一直加工到0。加工完我們就會發(fā)現(xiàn)根本沒做零件,,走了空刀而
/ A3 `7 _* u4 t5 R: g已,!那我們需要的是從0加工到-60。所以重點是怎么樣才能把他的第一刀定位在Z0!其實很簡單,,我們給他點“障: J$ H% s* o3 O- G% W
礙”,,在#1后面減去60。那么第一刀就會在Z0了,。因為60-60=0,。。,。好,,我們看看對不對。第一刀Z0,第二刀Z-1(
1 n) J5 q' v+ A, w( c這里假設(shè)#1每次運算后,,減1)第三刀Z-2(程序Z[58-60]的緣故),,我們就發(fā)現(xiàn)Z值和他的方向都是對的!總而言之, l5 f7 Z: z! {7 q
Z向的第一刀在你選擇加工的初始點上就可以了,!如果把零件原點和橢圓中心原點設(shè)置在一起,。那么Z段程序就應(yīng). ]6 L( ] [' m% n, s r
該是“Z#1.這里面的奧妙自己摸索,已經(jīng)講的詳細(xì)了,。- R1 _+ `" Y- N6 _% M* y
& r0 k0 R* K: M9 L( B/ x
' B" f- h1 E* U* ?1 v#1=#1-1
% [" U. P& K3 d+ F; v+ \6 q, X+ w# v8 T/ G
這程序段意思是#1每經(jīng)過一次運算后遞減1,。(一般遞減值不會這么大,0.1就可以了,。只是這里取1是為配合上面
1 R* d4 H7 b+ ?; c的講解)
* ?* [2 O# K9 N
) @5 Q* r, j% ? w: O% @END1( x( y' X# s5 K, F0 f
G0X100$ K& }. Z7 H- J5 T
Z100
! ~3 W7 u! E+ V) r; y: eM30! s! H+ B2 e+ A, P, P; q4 F8 g. l
,。。,。,。。,。9 G# i5 I; |/ q5 p( T
這里用橢圓的加工做了宏程序的基礎(chǔ)講解,。其實宏程序的編制就是控制刀具的,只不過多了點運算,,加減乘除等等,。當(dāng)然,復(fù)雜的也有,,而且相當(dāng)復(fù)雜,,比如,如何在三爪卡盤上不加墊片的方式車偏心零件,。加工中心機床中,,如何用宏編制立體五角星或者空間曲面等等。
9 X# z8 w: D. h7 _9 H( o
/ F. k5 l- [9 U( x8 `# K 以上文字沒有使用半點“文學(xué)方面”的文采,,全是白話文,。華而不實,、咬文嚼字的資料,已經(jīng)很多我就不寫了,,通俗就是最好的,。/ Q- e: o* T+ G# ` l
. [9 {8 `3 R' _ 由于是分兩天寫的資料,可能銜接的不太好,;或者有什么錯誤還望指出,。 |
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有帳號,?注冊會員
x
評分
-
查看全部評分
|