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

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 5397|回復(fù): 14

宏程序個人理解.

[復(fù)制鏈接]
1#
發(fā)表于 2013-12-13 21:29:02 | 只看該作者 |倒序瀏覽 |閱讀模式
本帖最后由 鄉(xiāng)村非主流 于 2013-12-13 21:34 編輯 # q1 ~" D7 ^. G* M2 L
4 ~1 \1 M& O  b% {  F5 {( w
   經(jīng)常會看到有人發(fā)與宏程序有關(guān)的帖子.不是難度太高就是講得不怎么靠譜.今天講講我自己對宏程序的理解..2 F9 J6 F5 u  P
   宏程序一般分為A類和B類.A類宏調(diào)用比較麻煩.B類宏用起來比較方便.類似于C語言.現(xiàn)在的機床基本上都支持B類宏.6 `4 V7 f9 r* F1 A
   本人只操作過廣數(shù)和Fanuc系統(tǒng).她們宏程序應(yīng)用基本都是一樣的.現(xiàn)在以Fanuc為例說說.本帖目的只在于溝通與探討..4 E& k% n) i9 D9 [/ `
Fanuc系統(tǒng)的變量由符號#和變量序號組成.如:#I(I=1,2,3,...,例如#5, #500, #100等).將跟隨在地址符后的數(shù)值用變量來代替的過程稱為引用變量.例如:G01 X#100 Y-#101 F#102;.當(dāng) #100=100.  #101=50.  #102=80時.上式即代表為:G01 X100. Y-50.  F80;.  }2 M8 H& c* A$ S2 H$ ?
   變量的種類.變量分為局部變量.公共變量.系統(tǒng)變量.局部變量(#1-#33)是在宏程序中局部使用的變量.當(dāng)1號宏程序調(diào)用2號宏程序且都有變量#1時,由于變量#1服務(wù)于不同的局部.所以1號程序中的#1與2號程序中的#1不是同一個變量.因此可以賦予不同的值.互不影響.公共變量(#100-#149,#500-#549)貫穿于整個程序過程.當(dāng)宏程序1調(diào)用宏程序2時.且都有#100變量時.由于#100是公共變量.所以1中的#100與2中的#100都是同一個變量.系統(tǒng)變量是指有固定用途的變量.她的值決定系統(tǒng)的狀態(tài).包括刀具偏置變量.接口輸入.輸出信號變量.及位置信號變量等等..(系統(tǒng)變量這塊還搞不懂.有的是生產(chǎn)廠家定的.希望有人能夠指點指點).宏程序通常使用局部變量和公共變量.#500以上的變量斷電后不丟失.2 V  Q) f" l2 @
  B類宏賦值:直接賦值例如:#100=100.0
( S& |9 a% r! f* P" b                                                #100=30.+20.
! c9 Y* Z+ k3 W& U& o" t                    常用混合計算例如:#1=#2+#3*SIN[#4]
5 E  C$ P8 T! m2 T: e+ V. d! r5 ^                                           運算次序為:1;函數(shù)SIN[#4]4 w' O, A% M: Z5 S+ B  ]! k" {
                                                               2;乘和除運算#3*SIN[#4]
& F+ x/ Q9 Z' ~# `( B) x/ r8 Y                                                                3:加減運算#2+#3*SIN[#4]   8 u" W3 b& A" D; h0 A
                                        也可以通過括號改變運算順序例如:#1=SIN[ [ [ #2 = #3 ] * 4 + #5 ]  / #6 ]$ e5 |& g5 i  |& d& \
轉(zhuǎn)移指令GOTO的應(yīng)用;
4 O8 F) o# @3 }5 ]. v% f例如:GOTO100
' Z% ^( w4 t6 c6 h3 D* ^( J無條件轉(zhuǎn)移到N100程序段.用的較多.可以省去了跳段符號.不過很多人習(xí)慣用跳段開關(guān).我比較喜歡這個方便.
1 f/ h, a& s6 x) _5 d3 F3 ~條件轉(zhuǎn)移例如:IF [ #1 GT #100 ] GOTO 100  0 {& J+ {  O& U- F. r/ i- Z
當(dāng)#1大于#100時轉(zhuǎn)移到N100程序段.至于什么大于小于這些自己看書去.打字累的慌.       * E# o& ~' v6 [3 s* N/ \
還有個循環(huán)指令WHILE[條件式]DOm(m=1.2.3.....)
/ L' B5 k  E4 r/ J8 _                                            ......! O: Z: k7 {0 b, e, ~' Y$ m5 c
                                            ENDm;這個比較少用.大概格式就這樣了- L, n# e( T, i
其實在實際加工中宏程序用的比較少.也許是現(xiàn)在很多人不會用的原因.
5 B. b$ W# \% |" e, b" O我現(xiàn)在舉個簡單的例子:比如我們加工棒料是有時從直徑150車到100時.如果用G90比較費時間.當(dāng)然電腦編程全部用的是G01.走刀.速度比循環(huán)車要快.但是程序繁瑣.那我們就用宏程序來編個吧.比如我們每刀切削2MM.退刀1MM.
$ `/ j* K* D) D* lO520 ;
5 J% f. G2 j% v#501=151 ; 賦值' D& H' K' E6 r3 P, U
#502=100 ;賦值
3 k# B! ]& |) g6 U6 Y* f- u4 RM44 ;
2 c8 Z' p2 a/ ]T0303 M8 ;
1 Z6 H; [( V* MM3 S450 ;
8 a  g1 T6 N7 m  M5 l$ h$ MG0 Z5 ;
$ \& V: s* T1 ]: h, h$ d) H4 AN1 #501= #501-1. ;X定位點; S* E4 U% A8 I$ N
X#501 ;
9 f8 c# b0 `/ B' F) _3 v5 A#501= #501-1. ;X切削點7 v7 D$ c5 X! O4 x* X4 r& H
G90 X#501 Z-50. F0.2 ;! i- _5 T$ L+ U! I
IF [ #501 GE #502 ] GOTO 1當(dāng)#501大于或等于100時轉(zhuǎn)移到N1.這樣可以使她循環(huán)到我們需要的尺寸.這里我沒有經(jīng)過仔細的計算是不是剛好到100.這個可以自己計算給值.懶得算了.
. X! N8 i6 i2 V/ H3 uG0X200. M9 ;
8 e7 i9 h5 G2 p! U) m% [! j; KZ300. M5  ;
8 k+ Z6 z( X2 [M30 ;8 A: k- q$ O* G3 b# {" S" }
%這個程序走刀基本與G01編程類似了.退刀還可以給小點.自己改吧
5 L7 R, |/ Y: H' h: S小弟不才.以前是種地的.這里搞什么開發(fā)區(qū).田被征用了.只有改行了.求指點.求指教.
( Z) k: q/ q7 a7 a5 a0 I* r% t8 F/ K/ D我還編了個螺紋左右借刀加工的宏程序.看了下資料.了解了下思路.自己整了個.今天沒時間了.明天發(fā).個人覺得只要把這個程序看得懂.其他什么橢圓加工神馬的都大同小異了.0 \' g# }- _& }9 i) R

) J& ?" B5 W, @/ z. ?3 u3 x7 A. A
回復(fù)

使用道具 舉報

2#
發(fā)表于 2013-12-13 22:14:33 | 只看該作者
變量,循環(huán),極坐標方程
3#
發(fā)表于 2013-12-14 01:29:07 | 只看該作者
O520 ;1 h  }+ t$ _4 L4 F
#501=150 ; 賦值
0 L% N4 y2 L! D3 `- p$ ` #502=100 ;賦值
, r6 ^% Y& S& Z% G0 g M44 ;. ?  B' k/ S) m
T0303 M8 ;' a. ~5 a: E! k; N+ X8 R* i8 Q
M3 S450 ;
# z. S- ]1 ?$ Z# Q+ V3 p, m G0 Z5 ;/ M, M  a- L, e4 {  ~
N1;# P: R/ ^8 {3 A4 i7 h3 Q/ P4 i/ i
#500= #501+1. ;X定位點 / s9 g: C3 X3 j( X5 V& ~9 U" ^7 {; Q4 @6 r
#501= #501-1. ;X切削點3 g* k8 m  ]: k. c
G00 X#500 Z5.;7 B5 n, N1 c6 {9 B: G4 t! D  r
G00 X#501;/ p6 g% O) ]  a1 n- O& i0 y
G01 X#501 Z-50. F0.2 ;
) v; n* U7 m) S3 T" C IF [ #501 GT #502 ] GOTO 1;
8 L5 R5 B) C0 E) s! UN2;+ T0 ~  R1 h  V* z
G0 X101.;
1 Q+ o; u/ U0 Z# Q7 uM9;) _3 E! M1 y7 d! Z2 q
G0X200. Z300. M5  ;8 B' _4 K4 e6 n
M30 ;* J) t( \- I- I) ~. v4 G
不做車床很多年,看到你的程序,試著編了一下

點評

N1,N2,差不多可以理解為只是個記號,我這么寫實為了看起來方便,因為我這個程序N1,N2之間那部分是循環(huán)部分  發(fā)表于 2013-12-15 05:59
城主的程序就看明白了,不過n2是干嘛用的呢?n1n2單列一行跟放在程序行前面是一樣效果的吧?分號后面就是注釋?不影響程序運行的?  發(fā)表于 2013-12-14 23:37
謝謝分享.我一般不敢走斜線..  發(fā)表于 2013-12-14 18:49
4#
發(fā)表于 2013-12-14 09:59:07 | 只看該作者
樓主指點下,車進去2mm退出來1mm,程序中的哪一行是退刀?。?font class="jammer">, Q: ?! p: l* j4 P: k+ [8 s) G: E

- y0 u' P' q. M* Q5 R, H" g( y另外n1是行號嗎?可以放在任意行的前面,然后goto1就能跳轉(zhuǎn)到n1行?
- L" w1 y. C3 O" l7 |4 D2 @
0 R! T4 A6 g. C2 Q- x4 n& k

點評

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

點評

雖然不知道你在說什么.感覺貌似很厲害的樣子.西門子的機床只用過插齒機.和五軸滾齒機.都是參數(shù)編程.主要是生產(chǎn)恒隆轉(zhuǎn)向器上的臂軸的.沒什么技術(shù)含量.當(dāng)學(xué)徒時做了一年.  發(fā)表于 2013-12-14 19:11
哈哈,看來你是不懂FANUC了  發(fā)表于 2013-12-14 18:56
6#
發(fā)表于 2013-12-14 23:29:56 | 只看該作者
真心沒看懂啊,請教樓主
2 m% `: r8 I' {, _) D4 \
5 U% N2 \% g- I- U7 F  L9 cO520 ;' C5 W1 {2 [# w$ E8 E
#501=151 ; 賦值
# A- Y' Z, w# z5 b- z#502=100 ;賦值
% v0 w. J: ^- DM44 ;  c7 T( i$ U3 g' ?) L. o
T0303 M8 ;, N6 W& q8 ]$ F5 }8 @6 V
M3 S450 ;# U- M. V; ]* F2 T% }' E$ k; k$ P
G0 Z5 ;
3 t' N$ q5 s- ^, qN1 #501= #501-1. ;X定位點
, b( d& y. B+ |6 [2 h- U' ~9 IX#501 ;
1 b* Z+ l1 y; p$ V% ~#501= #501-1. ;X切削點  s0 g* p, Z6 z3 D) E& ~4 T
G90 X#501 Z-50. F0.2 ;6 h/ f1 L0 r) Q& S. v
IF [ #501 GE #502 ] GOTO 1當(dāng)#501大于或等于100時轉(zhuǎn)移到N1.這樣可以使她循環(huán)到我們需要的尺寸.這里我沒有經(jīng)過仔細的計算是不是剛好到100.這個可以自己計算給值.懶得算了.
( T3 T; G2 O9 {7 R7 h! T& Z6 l& @G0X200. M9 ;& ]* Y6 @9 Q& C, k
Z300. M5  ;5 e1 U0 k+ R" \
M30 ;6 E3 J+ g  ~: F( O5 A# v

! X* f/ a6 H/ E5 \; i0 \你的這段程序里z運動只有一個z5一個z-50和最后一個z300,而且在循環(huán)段里只有一個z-50,這個z沒回0啊。
9 w7 W, j1 g1 ]4 B  m另外循環(huán)段里:
  j5 x% H' ^3 @9 uN1 #501= #501-1. ;X定位點    第一次循環(huán)#501的值是1504 _& f; g/ B* h7 C0 r1 t
X#501 ;                                 第一次循環(huán)x走到150' g* l6 l* K0 A: D* }9 G
#501= #501-1. ;X切削點8 M& c# d# m* ^  L
G90 X#501 Z-50. F0.2 ;          第一次循環(huán) 這個x的值是149,那不是走成錐度了嗎

點評

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

點評

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

點評

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

本版積分規(guī)則

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

GMT+8, 2025-8-21 08:13 , Processed in 0.095453 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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