七七影院色七七_免费观看欧美a一级黄片_亚洲综合久久久久久中文字幕_国产999999在线视频免费观看,国产小视频无码,国产精品亚洲日日摸夜夜添,女人高潮潮叫免费网站,久久影院国产精品,日韩成人在线影院,欧美囗交XX×BBB视频,色在线综合高清

機械社區(qū)

 找回密碼
 注冊會員

QQ登錄

只需一步,,快速開始

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

宏程序個人理解.

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2013-12-13 21:29:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 鄉(xiāng)村非主流 于 2013-12-13 21:34 編輯 # Q  P7 K) h6 d" W" W

/ u5 ]1 G5 q# K/ I   經(jīng)常會看到有人發(fā)與宏程序有關(guān)的帖子.不是難度太高就是講得不怎么靠譜.今天講講我自己對宏程序的理解..! h0 q( n. z% z3 @
   宏程序一般分為A類和B類.A類宏調(diào)用比較麻煩.B類宏用起來比較方便.類似于C語言.現(xiàn)在的機床基本上都支持B類宏.. k( o/ H+ D) N5 O1 I
   本人只操作過廣數(shù)和Fanuc系統(tǒng).她們宏程序應(yīng)用基本都是一樣的.現(xiàn)在以Fanuc為例說說.本帖目的只在于溝通與探討..
% |5 r0 }! r" TFanuc系統(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;.& v3 I5 V# l% h5 N1 L/ }, s
   變量的種類.變量分為局部變量.公共變量.系統(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以上的變量斷電后不丟失.3 P6 f3 d0 `/ i! y. R! j
  B類宏賦值:直接賦值例如:#100=100.0
$ g" x/ I* `" @% ?* S& v, P                                                #100=30.+20." `: c) `$ [# d; z2 k$ h) k+ y
                    常用混合計算例如:#1=#2+#3*SIN[#4]
, q7 y# \1 E, z* W2 e+ p                                           運算次序為:1,;函數(shù)SIN[#4]
" h7 k3 ~% W9 e! s- B                                                               2,;乘和除運算#3*SIN[#4]' Y8 ^% |& `( s7 y5 U; d
                                                                3:加減運算#2+#3*SIN[#4]   
+ b9 m4 Y7 V; o( Y& d                                        也可以通過括號改變運算順序例如:#1=SIN[ [ [ #2 = #3 ] * 4 + #5 ]  / #6 ]# n+ q: ~+ F: X; x0 e
轉(zhuǎn)移指令GOTO的應(yīng)用,;
  h1 H! Q( s: u# p9 Y1 u$ k例如:GOTO100
2 H0 r  l# J$ D+ p9 m1 C# C) Y無條件轉(zhuǎn)移到N100程序段.用的較多.可以省去了跳段符號.不過很多人習(xí)慣用跳段開關(guān).我比較喜歡這個方便. 1 o  @+ V. l; @; D! S  y
條件轉(zhuǎn)移例如:IF [ #1 GT #100 ] GOTO 100  
7 Y+ \) Y3 r0 U* b% H當(dāng)#1大于#100時轉(zhuǎn)移到N100程序段.至于什么大于小于這些自己看書去.打字累的慌.      
( U, [5 L. u( W# \3 I& S還有個循環(huán)指令WHILE[條件式]DOm(m=1.2.3.....)& h8 n# K7 r6 L5 D  n9 n& ]
                                            ......4 r2 k5 o! r5 V% |, }2 J3 I
                                            ENDm;這個比較少用.大概格式就這樣了
: T" @! s6 u' L1 }其實在實際加工中宏程序用的比較少.也許是現(xiàn)在很多人不會用的原因.( M+ h" w' m$ D5 Z/ A/ `- H
我現(xiàn)在舉個簡單的例子:比如我們加工棒料是有時從直徑150車到100時.如果用G90比較費時間.當(dāng)然電腦編程全部用的是G01.走刀.速度比循環(huán)車要快.但是程序繁瑣.那我們就用宏程序來編個吧.比如我們每刀切削2MM.退刀1MM., X6 ^. a, j0 x' _
O520 ;
! \/ q! Q# `, b8 m, A2 ?& u& S; y#501=151 ; 賦值* U0 S# p* |, @
#502=100 ;賦值# B) g0 E3 Y9 c
M44 ;( ^  h: F% y# b( Z2 b
T0303 M8 ;
4 ~5 p6 Z- B1 H( q  d' \M3 S450 ;
/ t1 n1 G- Z- {& dG0 Z5 ;$ h( w/ z3 @1 w( ^/ m4 `
N1 #501= #501-1. ;X定位點
7 M( F: B6 D/ }, D# ^X#501 ;
. A7 T: _; f1 P! h) _#501= #501-1. ;X切削點
: j% g& L2 j6 h4 J7 GG90 X#501 Z-50. F0.2 ;' h, n6 v0 c: k; r3 E
IF [ #501 GE #502 ] GOTO 1當(dāng)#501大于或等于100時轉(zhuǎn)移到N1.這樣可以使她循環(huán)到我們需要的尺寸.這里我沒有經(jīng)過仔細的計算是不是剛好到100.這個可以自己計算給值.懶得算了.; B: E' I1 e2 i
G0X200. M9 ;6 q$ k# L- B1 \( E6 H; ~
Z300. M5  ;
% a  b3 r: V2 \, x$ \! ^2 u% J) `5 rM30 ;
! p& ]2 ^/ l$ }7 e%這個程序走刀基本與G01編程類似了.退刀還可以給小點.自己改吧
& W6 X# D& I- u& G3 [. `" ~; C小弟不才.以前是種地的.這里搞什么開發(fā)區(qū).田被征用了.只有改行了.求指點.求指教.) X' i3 M( R  s( R
我還編了個螺紋左右借刀加工的宏程序.看了下資料.了解了下思路.自己整了個.今天沒時間了.明天發(fā).個人覺得只要把這個程序看得懂.其他什么橢圓加工神馬的都大同小異了.
7 c# e+ x, Q; ~0 E# b- `3 a6 m/ ^2 n/ M5 r; d+ ]4 A& O' l
2#
發(fā)表于 2013-12-13 22:14:33 | 只看該作者
變量,循環(huán),,極坐標(biāo)方程
3#
發(fā)表于 2013-12-14 01:29:07 | 只看該作者
O520 ;5 u) a' ]) f) j6 k7 B  O* o, f
#501=150 ; 賦值7 w3 W* Z( Z& U5 ~! W8 Y9 \  D7 V) ?
#502=100 ;賦值# B$ m4 t! j6 C  t
M44 ;
* z" F4 X7 B" ~, B T0303 M8 ;
# W% a" @1 f' C. k4 O, Q3 e M3 S450 ;
9 D+ G# F$ v9 D6 q# B6 ] G0 Z5 ;1 w, o6 e  F" G8 c3 H
N1,;
0 O; W* v2 b% k; @0 [( i #500= #501+1. ;X定位點
' v+ d" R& g/ i# c#501= #501-1. ;X切削點; v& d3 b( ]7 i: R
G00 X#500 Z5.;
5 ~1 t1 t6 S: r8 R% \& sG00 X#501;- G; k) W# T/ m
G01 X#501 Z-50. F0.2 ;# @8 ~1 q+ @0 v0 ]+ ?' s2 z
IF [ #501 GT #502 ] GOTO 1;4 Y7 P7 e, ]" D3 r
N2;
5 z7 a4 o; x' k7 v7 jG0 X101.;
4 ~* L& k3 T- m( q9 AM9;
4 H: v6 g: u: n! h G0X200. Z300. M5  ;8 }5 U9 _' R$ K
M30 ;
* J9 W& E. ^: Y! ^& [不做車床很多年,看到你的程序,,試著編了一下

點評

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,,程序中的哪一行是退刀啊,?% U5 N) A( y* z4 `
) I1 B' d8 ]& p& H: T! H" G
另外n1是行號嗎,?可以放在任意行的前面,然后goto1就能跳轉(zhuǎn)到n1行,?& q* i* B& o9 m5 c
' V8 [* T) G; x) C5 E  I/ [

點評

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 | 只看該作者
真心沒看懂啊,,請教樓主' z# S+ R) l- q; |( I/ p, B1 f
) u- a  r7 {8 u
O520 ;9 {# y1 m6 a+ M5 {: `+ J- w7 a$ `
#501=151 ; 賦值
3 m3 Z$ d" V5 P/ v( R1 D#502=100 ;賦值' Q9 g4 y  t* Y# i
M44 ;* W$ H7 E% Y! n8 ^1 t; O! U/ i2 T
T0303 M8 ;5 F+ M0 |2 I3 C1 N3 u' V3 Y
M3 S450 ;7 G/ ?4 j4 b/ U. h, x
G0 Z5 ;- l7 ?1 f9 W5 h/ Q+ H
N1 #501= #501-1. ;X定位點1 B; r1 A1 F( N! ?; a7 G* _
X#501 ;
: R  q# k. E$ b6 j  o% l#501= #501-1. ;X切削點
0 x% k1 f# O5 L* ^4 oG90 X#501 Z-50. F0.2 ;
9 P  C( n* g' ?9 v' W! g3 AIF [ #501 GE #502 ] GOTO 1當(dāng)#501大于或等于100時轉(zhuǎn)移到N1.這樣可以使她循環(huán)到我們需要的尺寸.這里我沒有經(jīng)過仔細的計算是不是剛好到100.這個可以自己計算給值.懶得算了.
8 }. q9 K2 E- {% |. k* g6 NG0X200. M9 ;
( e; e) m6 t' ^6 J1 P3 S: D& tZ300. M5  ;
# q! y! o, U4 N$ ^7 j6 E# NM30 ;! c7 y# Z; }8 d& ^7 _! f! |. a

9 O1 F2 `8 a$ U5 V( Y你的這段程序里z運動只有一個z5一個z-50和最后一個z300,而且在循環(huán)段里只有一個z-50,,這個z沒回0啊,。: z: @5 g  o  L- `# l6 k8 ]: F
另外循環(huán)段里:7 J! r$ m9 k0 }$ L3 _8 l
N1 #501= #501-1. ;X定位點    第一次循環(huán)#501的值是150
2 h; f1 E# h, t0 tX#501 ;                                 第一次循環(huán)x走到1505 X5 X! o% u+ n* T
#501= #501-1. ;X切削點; f& A: Z  ~, P' x
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-2-25 09:05 , Processed in 0.070996 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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