機(jī)械社區(qū)

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 7216|回復(fù): 18
打印 上一主題 下一主題

數(shù)控宏程序基礎(chǔ)的應(yīng)用

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2014-11-18 16:05:13 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
如果你是機(jī)械專業(yè),那么肯定知道有門學(xué)科叫數(shù)控技術(shù);如果你是數(shù)控技術(shù)專業(yè),那么有門課程叫數(shù)控編程。所以本文章的說明對象就是數(shù)控技術(shù)的重點(diǎn)——編程!
9 d7 p& j) P0 h% u# u' a% F# y2 w* t7 n. l
     學(xué)習(xí)數(shù)控的人都知道編程的重要性,一個零件從毛坯到最終成型都需要編程。但不論是手工編程或者軟件編程都必須要有很好的加工思路特,特別是手工編程! 這里加工思路就不詳細(xì)贅述了,相信做的時間久了自然會有感悟。但是,有一種數(shù)控編程技術(shù)不是做的久就可以學(xué)會的,那就是宏程序!如果說數(shù)控編程技術(shù)是這個領(lǐng)域的座金字塔,那么宏程序無疑是金字塔的塔尖!很多人領(lǐng)略過宏程序的魅力,各大市、省乃至國家級技能競賽都少不了它。所以很多人為之努力,但往往都不戰(zhàn)而退。。。。。。9 }3 S$ T3 W: O9 |

8 e8 ^- U9 j: T     我們走到每一個書店,走到數(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ǔ)。
9 z1 T; m% P1 ~4 a; t

! S. g# b% l# g1 t- J* t    首先宏程序分兩種——A類和B類。坦白的說,A類我從來不看,同時我也相信99.99%是用不到的。如果你鉆這個牛角尖去看A類宏程序,用網(wǎng)絡(luò)流行語來說,你就是閑的蛋疼! B類宏程序就是我們常見到的一種,我相信用到它的幾率是99.99%。如果你學(xué)宏程序,卻不學(xué)B類,那真是大熱天穿棉襖——病的不輕。我們直接進(jìn)入正題吧。
# h; e/ I# k, D3 C
  v! W" ]8 V/ t- X7 l# O' v
    先看一個最常見的宏程序應(yīng)用實(shí)例:(車床——FANUC系統(tǒng))
% }  g0 X, x" y: }7 p
1 P7 i. s1 |' g3 `
    其實(shí)數(shù)控系統(tǒng)中,除了西門子的宏程序格式不大眾化,其他系統(tǒng)都差不多的。就個人來看發(fā)那科系統(tǒng)的宏指令做的比西門子好,但西門子的其他功能指令卻獨(dú)占鰲頭。在講之前,先說幾個基本概念:
; k. W6 l: O6 _9 Y; q7 D    1,符號8 C" |7 h' w( C7 \+ z; O  `
         “#1”  這個符號很常見,因?yàn)槭且毁x值的對象。那個“1”沒別的意思,你可以理解為1號代表。所以也會有2號,寫作“#2” 如此而已!; q' @6 P+ V! D6 Z2 T4 Z/ x  r
    2,賦值2 V, J  |0 a* R+ j' Z% d8 Y( ^/ O
         “#1=10” 這是什么意思? 其實(shí)就是把“10”這個數(shù)賦值給了“#1”。只要你賦了值,那么“#1”就等于10了。比如某段程序“G01 X10"我用  0 H2 N5 x! a. ?. k1 G+ V
          宏指令表示”G01 X#1" 他的意思和G01 X10“是一樣的。
+ I4 o5 r! Q, }+ U+ S) |    3,運(yùn)算3 \( D) W6 J; D+ z' t; B
          假設(shè)我給#1賦值為10,#2賦值為20,那么#1+#2等于多少?很簡單嘛,等于30。這個如果不理解,騎車去找你小學(xué)老師吧。記得要
' _4 }) z, S4 o9 U0 {! W  C+ B          邊騎邊哭!后面有稍微復(fù)雜的宏程序會用到乘法,除法或者分?jǐn)?shù)等等,他們的運(yùn)算順序不要搞錯!如果這個不懂,同樣的也哭著
) b4 _/ Y3 j5 j$ g          去找你小學(xué)老師吧。' N! c& F. W$ Y) w) t

  |2 p  }( w. C9 e% J6 u0 m, E0 ?   

/ n2 ?+ G) J" q- f* C$ m6 m8 d4 X言歸正傳!介紹下我對宏程序的理解:描述刀具在工件坐標(biāo)系的位置!通俗的說就是自己要清楚刀具是怎么走才能做出零件。例如“G0 X20 ” 這程序段表示什么?表示當(dāng)前刀具在直徑20MM的地方,宏程序也是一樣的。
5 S. U! Q& r# V5 [3 I' {& W5 S6 U' Z; f  x) x$ u: ~4 X& I
    如圖,這是最基本的車床類非圓曲線零件——橢圓。它的標(biāo)準(zhǔn)方程是:Z^2/60^2+X^2/20^2=1  (這里要說明的是,學(xué)宏程序需要有一定的數(shù)學(xué)功底,但也并不需要多么的高深,高二水平就可以了。如果達(dá)不到那么最基本的三角函數(shù)要知道)。這個方程是描述的什么意思我就不說了,沒多大意義。但你要知道橢圓的基本參數(shù):長半軸和短半軸。ㄈ绻@不知道,那去翻書吧)。此圖中的長、短半軸分別是60和20。這就是在方程中我們看到的兩個分母。Z、X分別代表什么呢?他們代表橢圓上的某一個點(diǎn)。當(dāng)你的Z取60,那么對應(yīng)的X值就是0。
* V! y+ M# h; B+ j7 u* X

" j$ G$ M4 p- l: p" s8 r) x# g; E2 k     說到這,要介紹兩個“點(diǎn)”的概念:橢圓中心點(diǎn)和零件原點(diǎn)。零件原點(diǎn)一般取在零件的右端面中心,這樣就構(gòu)成了一個直角坐標(biāo)系。那么圖中的任何長度方向數(shù)值,都是帶負(fù)號的!這個是基礎(chǔ)不再贅述。橢圓中心點(diǎn)在X0 Z-60處。區(qū)別橢圓中心和零件原點(diǎn)是很重要的,很多學(xué)習(xí)宏程序的人會把這兩個點(diǎn)弄混淆!

" @3 L$ l8 N. x1 |7 g% l) _$ @  Y
    下面我們做零件切削刀路分析;首先這個零件我們加工順序是從右向左,那么刀具當(dāng)是從零件右端面起切,至最左端結(jié)束(這里不考慮裝夾)。那么我們怎么做才能讓刀具“聽話”的按照我們的思路切削呢?怎么樣把我們的加工思路體現(xiàn)在數(shù)控程序里呢?還是直接看程序吧(只寫精加工)!
3 B4 I. _; G. j- V
8 k! x# z# w* C' y/ ?
    FANUC
2 @( n: ~6 X- O) y1 d: |  a/ ~T0101                    (FANUC系統(tǒng)宏程序格式自己看書)
% r# K' w+ M& K8 }( ?S500M03
$ z' w" j  @* }. \, N$ l8 I8 XG0X0Z2               刀具初始定位" q$ \$ y6 j6 `$ j7 Z
G01Z0F150         慢慢走到零件右端中心
: R1 o8 ?) r; r( Y; _* Q#1=60                 
# F/ H! b$ _) E9 k) D9 Z; [5 j9 c+ {- Y% g3 R' r
我們以橢圓長半軸為自變量(什么是自變量?可以理解為自己是不斷變化的數(shù)值,并且會因方程關(guān)系而影響其他數(shù)值;5 s" `* [, I6 w# `" n6 J+ B6 E
這個值有正負(fù)之分。取決于需要加工的部分是在橢圓中心點(diǎn)的哪邊。這里取60,是因?yàn)閳D中橢圓要從最右端加工,而最
+ m. F! l% H$ c+ u" X8 E8 Z右端的坐標(biāo)值相對于橢圓中心是60。因此長半軸、短半軸的取值不是由零件原點(diǎn)決定,而是根據(jù)橢圓中心決定的,需格. v) Z0 u/ \( H% J( n6 p/ u
外注意。
& ]5 U2 K4 D+ R5 b4 U/ e                             8 x7 ]" _9 x6 f8 d8 Y$ Y5 K
WHILE [#1 GE 0] DO1    這句話的意思是:如果#1的值大于等于60,那么就一直執(zhí)行DO1、END1里的程序段,直到不符合條件!
; N  g8 ^/ i) d# x( @5 {
8 t* L) `( k5 N' D8 N; Z$ {2 y. d* h#2=20×SQRT[1-#1*#1/60/60]     此程#2表示橢圓短半軸,跟著長半軸變化而變化。"SQRT“表示根號。具體符號意思看書吧。0 B4 O; c, i1 ]1 b1 J
9 g/ x4 ]8 z# |) @, S5 |' M* g" Q
G01X[#2*2] Z[#1-60]     
! q6 P, y0 V, N7 a  T9 ?4 j7 P1 F2 Q' n. _) x( J
這里是重點(diǎn)!我認(rèn)為這是宏程序的核心!前面說過,宏程序其實(shí)就是描述刀具軌跡且具有邏輯運(yùn)算的程序。這一/ K) [! E+ ?" L5 B' Q( E; t
步直接關(guān)系到程序的正確與否!首先說明為什么#2要乘以2。因?yàn)檫@里的#2表示短半軸,可以理解為零件X方向單
# K+ h/ R% `3 `! }$ \  Q邊值。那么在實(shí)際零件里,是雙邊的值才對,所以要乘以2!重點(diǎn)是Z值!。。。。!

! G1 y. i7 `3 s" `9 @
9 `: U% X0 U4 d5 v$ {* N我們先想想,做這個零件,刀具肯定是從右向左加工的。也就是說Z值是從“-1到-2再到-3一直到-60”的順序變化的。如果這個Z段改為”Z#1”那么會怎么樣? 我們發(fā)現(xiàn)他的第一刀在Z60處!因?yàn)?1=60!而我們加工時第一刀應(yīng)該在Z0!如果#1一直減小
& {7 E& Z. v9 k1 v' p8 R: n* v9 y$ {那么Z加工方向是對了,但值卻不對。他是從60一直加工到0。加工完我們就會發(fā)現(xiàn)根本沒做零件,走了空刀而3 I5 F, h* i: M6 C. F
已!那我們需要的是從0加工到-60。所以重點(diǎn)是怎么樣才能把他的第一刀定位在Z0!其實(shí)很簡單,我們給他點(diǎn)“障
- q6 q% i" R5 g# A2 z; s! o  U礙”,在#1后面減去60。那么第一刀就會在Z0了。因?yàn)?0-60=0。。。好,我們看看對不對。第一刀Z0,第二刀Z-1(
) V( T1 w4 g' a7 _這里假設(shè)#1每次運(yùn)算后,減1)第三刀Z-2(程序Z[58-60]的緣故),我們就發(fā)現(xiàn)Z值和他的方向都是對的!總而言之
0 V" h( W+ `( \" Y9 MZ向的第一刀在你選擇加工的初始點(diǎn)上就可以了!如果把零件原點(diǎn)和橢圓中心原點(diǎn)設(shè)置在一起。那么Z段程序就應(yīng)
* j9 Q8 c* m/ j/ Q1 Z6 }該是“Z#1.這里面的奧妙自己摸索,已經(jīng)講的詳細(xì)了。9 M2 C/ k/ j- g, i' [

1 F6 x2 r0 H8 t: I% d- a( v& c! u& j# P' f: X& U0 |
#1=#1-1                        3 X) `" k+ y: l3 Z
9 w! V( ?! p: D# v8 h
這程序段意思是#1每經(jīng)過一次運(yùn)算后遞減1。(一般遞減值不會這么大,0.1就可以了。只是這里取1是為配合上面. R8 |1 j/ Z  O0 e& U
的講解)8 E7 j- n6 c1 p

  Z& x# i) b9 I! K9 G# REND1
! l+ d  C, c) T/ Z% Z: YG0X100
3 I: k$ z: G0 w6 f0 ]# G1 q0 g# W6 KZ100
$ U3 k/ q- C" w$ x5 u- \1 fM30+ A' Z! y1 G7 J% ^0 c( Q3 t
。。。。。。
0 o; K  T% r( S% w2 r這里用橢圓的加工做了宏程序的基礎(chǔ)講解。其實(shí)宏程序的編制就是控制刀具的,只不過多了點(diǎn)運(yùn)算,加減乘除等等。當(dāng)然,復(fù)雜的也有,而且相當(dāng)復(fù)雜,比如,如何在三爪卡盤上不加墊片的方式車偏心零件。加工中心機(jī)床中,如何用宏編制立體五角星或者空間曲面等等。
: A2 R& I6 s7 o3 I' B4 u9 w2 L2 j! B9 C! u0 \! @' b3 G  w3 ~6 p( x3 W! |
            以上文字沒有使用半點(diǎn)“文學(xué)方面”的文采,全是白話文。華而不實(shí)、咬文嚼字的資料,已經(jīng)很多我就不寫了,通俗就是最好的。
& I9 a8 Z& b% N+ L5 I6 T  
( ?, `7 i6 J5 D" X. Z           由于是分兩天寫的資料,可能銜接的不太好;或者有什么錯誤還望指出。

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊會員

x

評分

參與人數(shù) 1威望 +30 收起 理由
老鷹 + 30

查看全部評分

回復(fù)

使用道具 舉報

2#
發(fā)表于 2014-11-18 16:38:33 | 只看該作者
非常好,我初中畢業(yè)的都看懂了,但實(shí)際是用要難的多吧?
回復(fù) 支持 反對

使用道具 舉報

3#
發(fā)表于 2014-11-18 16:42:44 | 只看該作者
是原創(chuàng)嗎?

點(diǎn)評

應(yīng)該是  發(fā)表于 2014-11-18 18:12
回復(fù) 支持 反對

使用道具 舉報

4#
發(fā)表于 2014-11-18 19:51:44 | 只看該作者
謝謝分享,學(xué)習(xí)
回復(fù) 支持 反對

使用道具 舉報

5#
發(fā)表于 2014-11-18 19:55:42 | 只看該作者
廣數(shù)用的是宏A。# F6 H! s, o- N. {/ C
其實(shí),A和B,是表達(dá)方式不同。

點(diǎn)評

近幾年出的系統(tǒng)都支持B類宏  發(fā)表于 2014-11-18 22:32
回復(fù) 支持 反對

使用道具 舉報

6#
發(fā)表于 2014-11-18 21:04:38 | 只看該作者
應(yīng)該是樓主原創(chuàng)的,幸苦了。7 ^  }$ j( x8 u5 A0 f+ o
但需要更指一點(diǎn):A類我從來不看,同時我也相信99.99%是用不到的。如果你鉆這個牛角尖去看A類宏程序,用網(wǎng)絡(luò)流行語來說,你就是閑的蛋疼!。在邏輯語言橫行的今天,B類用著確實(shí)比A類宏方便的多,但是在早起的數(shù)控系統(tǒng)(早期的凱恩帝和廣數(shù))并不支持B類宏的輸入,它們只能用A類宏
2 m2 O' K0 U7 l% U有機(jī)會可以多多探討宏程序也是不錯的,貌似樓主傾向于數(shù)控車
回復(fù) 支持 反對

使用道具 舉報

7#
發(fā)表于 2014-11-18 21:08:15 | 只看該作者
學(xué)習(xí)了,學(xué)習(xí)了…………并感謝樓主的通篇平實(shí)易懂的講解…………
回復(fù) 支持 反對

使用道具 舉報

8#
發(fā)表于 2014-11-18 21:10:29 | 只看該作者
應(yīng)該是原創(chuàng)吧  挺好的  主要佩服你這么有耐心些這些東西
回復(fù) 支持 反對

使用道具 舉報

9#
發(fā)表于 2014-11-19 19:46:13 來自手機(jī) | 只看該作者
只講了些皮毛,真的不能在皮毛了。不過我還是喜歡西門子的系統(tǒng),F(xiàn)ANUC的簡直廢到渣。
回復(fù) 支持 反對

使用道具 舉報

10#
發(fā)表于 2014-11-22 10:06:43 | 只看該作者
誰有數(shù)控仿真軟件,   我想校驗(yàn)宏程序yong。謝謝了大俠。   Q453657396
回復(fù) 支持 反對

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規(guī)則

小黑屋|手機(jī)版|Archiver|機(jī)械社區(qū) ( 京ICP備10217105號-1,京ICP證050210號,浙公網(wǎng)安備33038202004372號 )

GMT+8, 2024-11-20 21:26 , Processed in 0.060964 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表