久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 5400|回復: 14

宏程序個人理解.

[復制鏈接]
1#
發表于 2013-12-13 21:29:02 | 只看該作者 |倒序瀏覽 |閱讀模式
本帖最后由 鄉村非主流 于 2013-12-13 21:34 編輯 " z, {' O* v( B5 i- W. C

$ z( r, e# q; |7 O% V   經常會看到有人發與宏程序有關的帖子.不是難度太高就是講得不怎么靠譜.今天講講我自己對宏程序的理解..( m( U# c4 C8 }( O1 d8 `2 T
   宏程序一般分為A類和B類.A類宏調用比較麻煩.B類宏用起來比較方便.類似于C語言.現在的機床基本上都支持B類宏.: \1 r5 |8 a" S: s+ [; k) C$ x, K! q
   本人只操作過廣數和Fanuc系統.她們宏程序應用基本都是一樣的.現在以Fanuc為例說說.本帖目的只在于溝通與探討.., L' m$ L: a) o6 L; @
Fanuc系統的變量由符號#和變量序號組成.如:#I(I=1,2,3,...,例如#5, #500, #100等).將跟隨在地址符后的數值用變量來代替的過程稱為引用變量.例如:G01 X#100 Y-#101 F#102;.當 #100=100.  #101=50.  #102=80時.上式即代表為:G01 X100. Y-50.  F80;.
! H( c( L" `1 |( h9 U2 x' ~   變量的種類.變量分為局部變量.公共變量.系統變量.局部變量(#1-#33)是在宏程序中局部使用的變量.當1號宏程序調用2號宏程序且都有變量#1時,由于變量#1服務于不同的局部.所以1號程序中的#1與2號程序中的#1不是同一個變量.因此可以賦予不同的值.互不影響.公共變量(#100-#149,#500-#549)貫穿于整個程序過程.當宏程序1調用宏程序2時.且都有#100變量時.由于#100是公共變量.所以1中的#100與2中的#100都是同一個變量.系統變量是指有固定用途的變量.她的值決定系統的狀態.包括刀具偏置變量.接口輸入.輸出信號變量.及位置信號變量等等..(系統變量這塊還搞不懂.有的是生產廠家定的.希望有人能夠指點指點).宏程序通常使用局部變量和公共變量.#500以上的變量斷電后不丟失.8 `4 y* N5 P2 x" C0 e0 q
  B類宏賦值:直接賦值例如:#100=100.0! m! ?1 C! p3 q6 J; y6 M7 X3 E' K# Z
                                                #100=30.+20.
! n9 {1 |) v1 K/ M2 x" Z                    常用混合計算例如:#1=#2+#3*SIN[#4]8 m2 m" l: C1 o1 U$ v
                                           運算次序為:1;函數SIN[#4]1 {) }3 h# |9 a& b( M
                                                               2;乘和除運算#3*SIN[#4]
" s- e3 q6 Q0 a                                                                3:加減運算#2+#3*SIN[#4]   
; _2 [$ k. F; s5 k% _                                        也可以通過括號改變運算順序例如:#1=SIN[ [ [ #2 = #3 ] * 4 + #5 ]  / #6 ]& Q# f6 L3 e- f0 _5 m& }! o. x
轉移指令GOTO的應用;% J! u% {& H3 ?% o0 S* n2 }
例如:GOTO100: d2 D* }2 N0 B! `
無條件轉移到N100程序段.用的較多.可以省去了跳段符號.不過很多人習慣用跳段開關.我比較喜歡這個方便.
8 l6 V6 _! V5 f) Z# w條件轉移例如:IF [ #1 GT #100 ] GOTO 100  1 @1 I& _3 M5 l' K" F
當#1大于#100時轉移到N100程序段.至于什么大于小于這些自己看書去.打字累的慌.      
/ O# m+ T, |& P+ @+ f還有個循環指令WHILE[條件式]DOm(m=1.2.3.....)0 o8 J3 @4 v" {7 G) v: [7 |
                                            ......' Y3 n6 x# y5 [
                                            ENDm;這個比較少用.大概格式就這樣了
: @7 t) u4 A; P& X' \9 @! X8 M其實在實際加工中宏程序用的比較少.也許是現在很多人不會用的原因.
" y0 H9 y% R, t; u1 |7 v我現在舉個簡單的例子:比如我們加工棒料是有時從直徑150車到100時.如果用G90比較費時間.當然電腦編程全部用的是G01.走刀.速度比循環車要快.但是程序繁瑣.那我們就用宏程序來編個吧.比如我們每刀切削2MM.退刀1MM.! d3 u. Y" d, E% m- [/ k
O520 ;+ c7 ?  u1 I1 C% O% b2 L
#501=151 ; 賦值
) I( h' o# }2 S4 u! A! D5 g4 J#502=100 ;賦值
( C" w* z+ j$ o; qM44 ;* Q* A) l7 Y+ X5 x3 S5 y4 `3 D
T0303 M8 ;
/ z) W/ z' a0 P" `5 eM3 S450 ;
9 M( c, n4 z7 M* hG0 Z5 ;
) k* k* d, Z5 ~0 Z+ \; MN1 #501= #501-1. ;X定位點5 @) H6 a0 H3 S6 C1 A
X#501 ; 8 ^# e% A+ v2 h0 U
#501= #501-1. ;X切削點
4 o# Y5 W8 j' J; J' u7 j& TG90 X#501 Z-50. F0.2 ;
. A7 V& g. v5 B- f( X" c. |% sIF [ #501 GE #502 ] GOTO 1當#501大于或等于100時轉移到N1.這樣可以使她循環到我們需要的尺寸.這里我沒有經過仔細的計算是不是剛好到100.這個可以自己計算給值.懶得算了.
/ C  J  J: G* H" Y; c) sG0X200. M9 ;
) _5 k- h" X; Q# bZ300. M5  ;* K2 [* m8 U, Z+ ^0 m5 R
M30 ;" e3 r' M& w3 D4 a: X0 E
%這個程序走刀基本與G01編程類似了.退刀還可以給小點.自己改吧* O% S9 w* n: _3 {+ U7 U
小弟不才.以前是種地的.這里搞什么開發區.田被征用了.只有改行了.求指點.求指教.# x7 P/ B; d+ c9 M
我還編了個螺紋左右借刀加工的宏程序.看了下資料.了解了下思路.自己整了個.今天沒時間了.明天發.個人覺得只要把這個程序看得懂.其他什么橢圓加工神馬的都大同小異了.' A7 h5 S/ y, g" g5 r
7 a  ]2 X& I$ ~" G: p6 X
回復

使用道具 舉報

2#
發表于 2013-12-13 22:14:33 | 只看該作者
變量,循環,極坐標方程
3#
發表于 2013-12-14 01:29:07 | 只看該作者
O520 ;
5 r4 o* C/ j$ w  q7 [- m #501=150 ; 賦值( q% C. A% ~$ [6 a
#502=100 ;賦值
$ E6 _) _) A" h M44 ;
0 Z4 l3 i1 I7 R3 y# m, ]4 i T0303 M8 ;
2 R+ g% G& e% U' l+ W2 C* @' c M3 S450 ;
; F/ V9 r+ W7 F1 ^" b2 t G0 Z5 ;+ D4 \# N' \0 N) b  V  x
N1;
) s; H7 k) e  a' }- F  g #500= #501+1. ;X定位點 ! k- r6 ~) O1 H2 e
#501= #501-1. ;X切削點
- \3 O; h; ?; [G00 X#500 Z5.;5 m+ i. j2 _5 P- \, @7 v/ m) x
G00 X#501;4 r. A+ s  v) v1 P3 d
G01 X#501 Z-50. F0.2 ;* A- ~& g* l& I7 P% ~- K
IF [ #501 GT #502 ] GOTO 1;% V* @, u( j1 u
N2;" q4 U! ~0 ?3 t7 g8 X: ~* X
G0 X101.;
) x3 i5 e' c2 M( kM9;) L- n5 D- c( D6 L+ ~* s
G0X200. Z300. M5  ;( [0 V" C9 K1 q  ]
M30 ;
) D: b1 l3 K+ W) L不做車床很多年,看到你的程序,試著編了一下

點評

N1,N2,差不多可以理解為只是個記號,我這么寫實為了看起來方便,因為我這個程序N1,N2之間那部分是循環部分  發表于 2013-12-15 05:59
城主的程序就看明白了,不過n2是干嘛用的呢?n1n2單列一行跟放在程序行前面是一樣效果的吧?分號后面就是注釋?不影響程序運行的?  發表于 2013-12-14 23:37
謝謝分享.我一般不敢走斜線..  發表于 2013-12-14 18:49
4#
發表于 2013-12-14 09:59:07 | 只看該作者
樓主指點下,車進去2mm退出來1mm,程序中的哪一行是退刀啊?7 v# ~% c. a2 ]$ u$ ?* }
" J3 a! t2 \- c' ^* w
另外n1是行號嗎?可以放在任意行的前面,然后goto1就能跳轉到n1行?+ H, Z# M) `" U6 ~, i

: n9 S0 M1 b/ n7 X: `2 c$ ]

點評

GOTO1是這樣理解的..  發表于 2013-12-14 19:00
首先你要了解G90走刀路線.她是以GO1方式退刀到X定位點的.N1是程序段號.也可以說是行號吧.可以放在任意行.當以這程序為例就不行.因為N1行是條件判斷的一個循環起點.隨便放的話.程序無法循環.更有可能發生撞到什么...  發表于 2013-12-14 18:59
5#
發表于 2013-12-14 11:17:59 來自手機 | 只看該作者
FANUC的宏滾蛋,SINUMERIK的宏才是王道。

點評

雖然不知道你在說什么.感覺貌似很厲害的樣子.西門子的機床只用過插齒機.和五軸滾齒機.都是參數編程.主要是生產恒隆轉向器上的臂軸的.沒什么技術含量.當學徒時做了一年.  發表于 2013-12-14 19:11
哈哈,看來你是不懂FANUC了  發表于 2013-12-14 18:56
6#
發表于 2013-12-14 23:29:56 | 只看該作者
真心沒看懂啊,請教樓主
6 N- `- D7 v5 m% ?6 Y6 v+ B% ?  {  ?" i
O520 ;
* k5 }: x) A" \8 F/ s/ `' ]#501=151 ; 賦值, b% m7 d9 ?& x+ ~- F( J; ~
#502=100 ;賦值
& V# E  u/ s+ `% _- A8 u4 r, gM44 ;
  Q, o" e. e8 GT0303 M8 ;
: Y0 U( o; X4 _! n3 C; CM3 S450 ;% p/ Z( g) v8 O* ^& v$ c# z5 @* q
G0 Z5 ;% [3 A( b3 x8 ~9 \& c. e( [7 L
N1 #501= #501-1. ;X定位點- {$ _) ]; Z# x. O, L9 @) i( Q
X#501 ;1 o+ H6 `2 l. m
#501= #501-1. ;X切削點7 w- b2 `1 i  K6 @: c
G90 X#501 Z-50. F0.2 ;
- x4 m  O8 V+ y9 f2 c* a3 H, OIF [ #501 GE #502 ] GOTO 1當#501大于或等于100時轉移到N1.這樣可以使她循環到我們需要的尺寸.這里我沒有經過仔細的計算是不是剛好到100.這個可以自己計算給值.懶得算了.: J# u" L0 B3 c6 Z0 N; ^2 z
G0X200. M9 ;
- h! B4 o# V) d8 e& hZ300. M5  ;
( f, i: X) Q2 K- vM30 ;
8 M; e$ O! p/ e. F' [! z9 ^
$ k) A) W) X! z1 G; M你的這段程序里z運動只有一個z5一個z-50和最后一個z300,而且在循環段里只有一個z-50,這個z沒回0啊。
8 l: F; j4 o1 y5 Q8 K& ]另外循環段里:
( k% F' f: Q- }/ b/ j* L# qN1 #501= #501-1. ;X定位點    第一次循環#501的值是1505 Z- u% N5 F% ]
X#501 ;                                 第一次循環x走到150! a! j' ]$ E. n7 k. n6 g( ^; q
#501= #501-1. ;X切削點
4 }& \7 x" k* jG90 X#501 Z-50. F0.2 ;          第一次循環 這個x的值是149,那不是走成錐度了嗎

點評

這個G90是單一形固定循環.Z5就是起刀點.你把G90這個指令搞懂了就好理解了.看看書吧.  發表于 2013-12-15 14:43
7#
發表于 2013-12-15 12:42:42 | 只看該作者
8#
發表于 2013-12-15 17:27:15 | 只看該作者
你看人家城主的程序,每車完一刀循環時都有一行“G00 X#500 Z5.;”回刀的動作,你的程序根本就沒有,還叫我去看g90是什么意思,真無語了!

點評

這.......還是一句話多看書..  發表于 2013-12-16 20:40
樓主你不是吧?G90只是絕對值編程,怎么可能會退刀到起刀點呢?  發表于 2013-12-15 21:26
呃....G90會自動退到起刀點.比如Z5.X90.起點.加工完一刀后她會自動回到Z5.X90...  發表于 2013-12-15 17:31
9#
發表于 2013-12-15 17:50:03 | 只看該作者
好像都是很牛的樣子啊
10#
發表于 2013-12-26 10:50:18 | 只看該作者
即使搞懂了這些,還不夠啊,宏程序水很深,解決問題時就知道了

點評

多實踐.沒事時自己試著做嘛.  發表于 2013-12-27 19:57
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規則

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

GMT+8, 2025-8-21 15:26 , Processed in 0.073504 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表