国产精品乱码一区-性开放网站-少妇又紧又爽视频-西西大胆午夜人体视频-国产极品一区-欧美成人tv-四虎av在线-国产无遮挡无码视频免费软件-中文字幕亚洲乱码熟女一区二区-日产精品一区二区三区在线观看-亚洲国产亚综合在线区-五月婷婷综合色-亚洲日本视频在线观看-97精品人人妻人人-久久久久久一区二区三区四区别墅-www.免费av-波多野结衣绝顶大高潮-日本在线a一区视频高清视频-强美女免费网站在线视频-亚洲永久免费

 找回密碼
 注冊(cè)會(huì)員

QQ登錄

只需一步,快速開(kāi)始

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

宏程序個(gè)人理解.

[復(fù)制鏈接]
1#
發(fā)表于 2013-12-13 21:29:02 | 只看該作者 |倒序?yàn)g覽 |閱讀模式
本帖最后由 鄉(xiāng)村非主流 于 2013-12-13 21:34 編輯
. a" U  ^' c7 C: I$ S% U
& T  r+ W! o! D# V( O2 ^) P4 s   經(jīng)常會(huì)看到有人發(fā)與宏程序有關(guān)的帖子.不是難度太高就是講得不怎么靠譜.今天講講我自己對(duì)宏程序的理解..& s! `7 ]4 {/ [5 Q  {4 [* L
   宏程序一般分為A類(lèi)和B類(lèi).A類(lèi)宏調(diào)用比較麻煩.B類(lèi)宏用起來(lái)比較方便.類(lèi)似于C語(yǔ)言.現(xiàn)在的機(jī)床基本上都支持B類(lèi)宏.
) K( e6 f( J2 p: o/ I   本人只操作過(guò)廣數(shù)和Fanuc系統(tǒng).她們宏程序應(yīng)用基本都是一樣的.現(xiàn)在以Fanuc為例說(shuō)說(shuō).本帖目的只在于溝通與探討..9 m- }, O3 t1 O5 h, G4 H3 M
Fanuc系統(tǒng)的變量由符號(hào)#和變量序號(hào)組成.如:#I(I=1,2,3,...,例如#5, #500, #100等).將跟隨在地址符后的數(shù)值用變量來(lái)代替的過(guò)程稱為引用變量.例如:G01 X#100 Y-#101 F#102;.當(dāng) #100=100.  #101=50.  #102=80時(shí).上式即代表為:G01 X100. Y-50.  F80;.
, t; b- w* A1 V7 J   變量的種類(lèi).變量分為局部變量.公共變量.系統(tǒng)變量.局部變量(#1-#33)是在宏程序中局部使用的變量.當(dāng)1號(hào)宏程序調(diào)用2號(hào)宏程序且都有變量#1時(shí),由于變量#1服務(wù)于不同的局部.所以1號(hào)程序中的#1與2號(hào)程序中的#1不是同一個(gè)變量.因此可以賦予不同的值.互不影響.公共變量(#100-#149,#500-#549)貫穿于整個(gè)程序過(guò)程.當(dāng)宏程序1調(diào)用宏程序2時(shí).且都有#100變量時(shí).由于#100是公共變量.所以1中的#100與2中的#100都是同一個(gè)變量.系統(tǒng)變量是指有固定用途的變量.她的值決定系統(tǒng)的狀態(tài).包括刀具偏置變量.接口輸入.輸出信號(hào)變量.及位置信號(hào)變量等等..(系統(tǒng)變量這塊還搞不懂.有的是生產(chǎn)廠家定的.希望有人能夠指點(diǎn)指點(diǎn)).宏程序通常使用局部變量和公共變量.#500以上的變量斷電后不丟失.( ]' n" Z  z4 b( a' q% J5 M, u: ~5 A
  B類(lèi)宏賦值:直接賦值例如:#100=100.0
- P2 a7 Y% z4 R# h( ~' x9 e  ^5 h; h: I                                                #100=30.+20.
- `7 }: b) s1 c1 i; G3 l( h                    常用混合計(jì)算例如:#1=#2+#3*SIN[#4]
$ n/ o  a2 L$ T; E  t" J) z                                           運(yùn)算次序?yàn)椋?;函數(shù)SIN[#4]
! Q* H) n* `' O, c3 z3 M) k                                                               2;乘和除運(yùn)算#3*SIN[#4]: ?; B/ x2 ^% _; X  K, a
                                                                3:加減運(yùn)算#2+#3*SIN[#4]   5 s* q9 i% i# {0 D" h3 }
                                        也可以通過(guò)括號(hào)改變運(yùn)算順序例如:#1=SIN[ [ [ #2 = #3 ] * 4 + #5 ]  / #6 ]' B0 {. V, l! b! B! S5 u' y6 m
轉(zhuǎn)移指令GOTO的應(yīng)用;
3 |) J( e7 d$ x  m7 f6 R- V例如:GOTO1005 [6 R" q+ D/ d  ?) X; p' X
無(wú)條件轉(zhuǎn)移到N100程序段.用的較多.可以省去了跳段符號(hào).不過(guò)很多人習(xí)慣用跳段開(kāi)關(guān).我比較喜歡這個(gè)方便. & p2 g2 d4 C' B' j+ b
條件轉(zhuǎn)移例如:IF [ #1 GT #100 ] GOTO 100  
4 {. M" O- f5 f* C當(dāng)#1大于#100時(shí)轉(zhuǎn)移到N100程序段.至于什么大于小于這些自己看書(shū)去.打字累的慌.       , @6 s. W! [  W. C1 S0 Z
還有個(gè)循環(huán)指令WHILE[條件式]DOm(m=1.2.3.....)% j* r- E0 }/ Q9 \& I' O
                                            ......* |! d- \( U- z
                                            ENDm;這個(gè)比較少用.大概格式就這樣了
) d9 k$ e$ Z& x其實(shí)在實(shí)際加工中宏程序用的比較少.也許是現(xiàn)在很多人不會(huì)用的原因.& X% {5 Q! G1 `8 `. W
我現(xiàn)在舉個(gè)簡(jiǎn)單的例子:比如我們加工棒料是有時(shí)從直徑150車(chē)到100時(shí).如果用G90比較費(fèi)時(shí)間.當(dāng)然電腦編程全部用的是G01.走刀.速度比循環(huán)車(chē)要快.但是程序繁瑣.那我們就用宏程序來(lái)編個(gè)吧.比如我們每刀切削2MM.退刀1MM.
, [2 A8 J( y) }9 nO520 ;6 B+ I* [7 Q, I' F9 x
#501=151 ; 賦值
% ~& K; P5 v4 ]#502=100 ;賦值4 V: Y* E, i8 H' V4 [  [& e- r  W" T8 Q
M44 ;
0 G* l1 X8 H  F, I. |T0303 M8 ;
3 V1 Y9 h/ p3 j) a# oM3 S450 ;+ a$ i. `9 A% t/ t  V1 a
G0 Z5 ;
( S" [. j  J6 }" VN1 #501= #501-1. ;X定位點(diǎn)
4 g9 V6 U* U/ l9 J- `6 E) GX#501 ;
0 Y% g4 Q; v( B#501= #501-1. ;X切削點(diǎn)4 T" `8 F! [0 ]- G
G90 X#501 Z-50. F0.2 ;- d* S" T2 k. v# Q. V( j( m
IF [ #501 GE #502 ] GOTO 1當(dāng)#501大于或等于100時(shí)轉(zhuǎn)移到N1.這樣可以使她循環(huán)到我們需要的尺寸.這里我沒(méi)有經(jīng)過(guò)仔細(xì)的計(jì)算是不是剛好到100.這個(gè)可以自己計(jì)算給值.懶得算了.
; j: U3 v1 f# ]* tG0X200. M9 ;. M! s% n' ?! X: g
Z300. M5  ;! X" Y0 a: _7 |$ [1 s6 {9 S$ i' E
M30 ;
2 ~" p/ Q" b5 b%這個(gè)程序走刀基本與G01編程類(lèi)似了.退刀還可以給小點(diǎn).自己改吧' p: N, R/ w# h
小弟不才.以前是種地的.這里搞什么開(kāi)發(fā)區(qū).田被征用了.只有改行了.求指點(diǎn).求指教.$ ~# `6 ~$ C0 \" C
我還編了個(gè)螺紋左右借刀加工的宏程序.看了下資料.了解了下思路.自己整了個(gè).今天沒(méi)時(shí)間了.明天發(fā).個(gè)人覺(jué)得只要把這個(gè)程序看得懂.其他什么橢圓加工神馬的都大同小異了.( D. C; U8 ^7 I& E1 W

& ~8 i) }" m1 o+ E$ F
回復(fù)

使用道具 舉報(bào)

2#
發(fā)表于 2013-12-13 22:14:33 | 只看該作者
變量,循環(huán),極坐標(biāo)方程
3#
發(fā)表于 2013-12-14 01:29:07 | 只看該作者
O520 ;+ T' H. u+ y0 B3 D
#501=150 ; 賦值  ~; f/ C  r# r0 @+ |
#502=100 ;賦值. `; p) a6 e! N9 K" N8 M- ~
M44 ;5 V" o  t& S; O" E3 o
T0303 M8 ;1 x! W+ p: |- _3 K% c
M3 S450 ;
9 }/ R6 z7 [8 k5 e1 ~, V G0 Z5 ;4 p; v& k6 i& g
N1;- B7 O/ }* D; ^1 i  _2 I
#500= #501+1. ;X定位點(diǎn) $ C9 V9 ?& b- S$ t
#501= #501-1. ;X切削點(diǎn)4 c$ _) F6 y( V
G00 X#500 Z5.;
; U: F( k- t/ T+ XG00 X#501;
0 m" n' }4 U2 R& ?! L" } G01 X#501 Z-50. F0.2 ;' l2 f+ x) M6 }5 ~& |- z
IF [ #501 GT #502 ] GOTO 1;/ A2 _- P$ C) p' a7 {" p0 B8 O+ }
N2;1 h1 E$ A& Y- E# z/ |0 W
G0 X101.;
# w0 i' d* Z, L! T7 [( c. OM9;
% e$ Y8 w5 j& S2 x" H1 A% _1 \ G0X200. Z300. M5  ;3 Q$ ?# o; b- x! }' b- d) }
M30 ;
/ d+ v: a! \. c/ b/ w* S不做車(chē)床很多年,看到你的程序,試著編了一下

點(diǎn)評(píng)

N1,N2,差不多可以理解為只是個(gè)記號(hào),我這么寫(xiě)實(shí)為了看起來(lái)方便,因?yàn)槲疫@個(gè)程序N1,N2之間那部分是循環(huán)部分  發(fā)表于 2013-12-15 05:59
城主的程序就看明白了,不過(guò)n2是干嘛用的呢?n1n2單列一行跟放在程序行前面是一樣效果的吧?分號(hào)后面就是注釋?zhuān)坎挥绊懗绦蜻\(yùn)行的?  發(fā)表于 2013-12-14 23:37
謝謝分享.我一般不敢走斜線..  發(fā)表于 2013-12-14 18:49
4#
發(fā)表于 2013-12-14 09:59:07 | 只看該作者
樓主指點(diǎn)下,車(chē)進(jìn)去2mm退出來(lái)1mm,程序中的哪一行是退刀啊?
0 F: X( r/ P, O: _* Y. O- ?* [3 G! K
另外n1是行號(hào)嗎?可以放在任意行的前面,然后goto1就能跳轉(zhuǎn)到n1行?' O  ?  }" {1 @2 V$ t/ x2 z

1 d5 f- l+ n: M1 }: |. G/ n

點(diǎn)評(píng)

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

點(diǎn)評(píng)

雖然不知道你在說(shuō)什么.感覺(jué)貌似很厲害的樣子.西門(mén)子的機(jī)床只用過(guò)插齒機(jī).和五軸滾齒機(jī).都是參數(shù)編程.主要是生產(chǎn)恒隆轉(zhuǎn)向器上的臂軸的.沒(méi)什么技術(shù)含量.當(dāng)學(xué)徒時(shí)做了一年.  發(fā)表于 2013-12-14 19:11
哈哈,看來(lái)你是不懂FANUC了  發(fā)表于 2013-12-14 18:56
6#
發(fā)表于 2013-12-14 23:29:56 | 只看該作者
真心沒(méi)看懂啊,請(qǐng)教樓主. S' g7 i2 K9 W& }7 q
& _. T) S. T9 D: L5 V7 X
O520 ;  D0 Z) P9 o; V% d
#501=151 ; 賦值
9 p3 Q- h- @2 F! Y8 e" S#502=100 ;賦值: V2 v7 b3 Z7 A8 F
M44 ;# _! `$ ^$ a' `7 \% [  q6 s
T0303 M8 ;
+ ~, @) S$ s" J) uM3 S450 ;
# B8 v7 U( W$ h$ }G0 Z5 ;4 Z' f4 N. V  z# m$ [7 j9 G
N1 #501= #501-1. ;X定位點(diǎn)
3 C0 h( h) c( ]& dX#501 ;
+ B+ m  B- l2 i% O( y7 v9 ]#501= #501-1. ;X切削點(diǎn)
' M( S0 o$ Z, O  N1 h. w" vG90 X#501 Z-50. F0.2 ;4 z3 f! a( Y2 s' d: M% v  @
IF [ #501 GE #502 ] GOTO 1當(dāng)#501大于或等于100時(shí)轉(zhuǎn)移到N1.這樣可以使她循環(huán)到我們需要的尺寸.這里我沒(méi)有經(jīng)過(guò)仔細(xì)的計(jì)算是不是剛好到100.這個(gè)可以自己計(jì)算給值.懶得算了.
+ i8 g) \$ ~' ]7 T1 p3 ^. \. hG0X200. M9 ;* \& i( Z# ~- c' k' p
Z300. M5  ;
2 T5 z& c, Q, V; J" d7 X& p' fM30 ;
" u% C. o0 E2 s3 ^
+ C4 }2 f# N  ^* \/ ~( t你的這段程序里z運(yùn)動(dòng)只有一個(gè)z5一個(gè)z-50和最后一個(gè)z300,而且在循環(huán)段里只有一個(gè)z-50,這個(gè)z沒(méi)回0啊。
2 A; ?5 \# u% F1 `另外循環(huán)段里:, }* u+ a! f4 y* e, e, t
N1 #501= #501-1. ;X定位點(diǎn)    第一次循環(huán)#501的值是150
7 L- H; U  X  BX#501 ;                                 第一次循環(huán)x走到150
. H4 C8 r& a! c1 u: {" ]. z#501= #501-1. ;X切削點(diǎn)
# f4 P: R1 Q. dG90 X#501 Z-50. F0.2 ;          第一次循環(huán) 這個(gè)x的值是149,那不是走成錐度了嗎

點(diǎn)評(píng)

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

點(diǎn)評(píng)

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

點(diǎn)評(píng)

多實(shí)踐.沒(méi)事時(shí)自己試著做嘛.  發(fā)表于 2013-12-27 19:57

本版積分規(guī)則

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

GMT+8, 2025-9-12 07:26 , Processed in 0.104746 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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