久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱
機械社區
標題:
宏程序個人理解.
[打印本頁]
作者:
鄉村非主流
時間:
2013-12-13 21:29
標題:
宏程序個人理解.
本帖最后由 鄉村非主流 于 2013-12-13 21:34 編輯
' l" H+ H7 x6 c( b
* H0 k6 S4 c% P+ |) w( r
經常會看到有人發與宏程序有關的帖子.不是難度太高就是講得不怎么靠譜.今天講講我自己對宏程序的理解..
8 H0 Q% V* W1 q
宏程序一般分為A類和B類.A類宏調用比較麻煩.B類宏用起來比較方便.類似于C語言.現在的機床基本上都支持B類宏.
% J/ p' b" @* j _4 k
本人只操作過廣數和Fanuc系統.她們宏程序應用基本都是一樣的.現在以Fanuc為例說說.本帖目的只在于溝通與探討..
, f+ c% N: |9 w8 f) n; A1 q
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;.
9 f# q# [. ^ `4 U3 V
變量的種類.變量分為局部變量.公共變量.系統變量.局部變量(#1-#33)是在宏程序中局部使用的變量.當1號宏程序調用2號宏程序且都有變量#1時,由于變量#1服務于不同的局部.所以1號程序中的#1與2號程序中的#1不是同一個變量.因此可以賦予不同的值.互不影響.公共變量(#100-#149,#500-#549)貫穿于整個程序過程.當宏程序1調用宏程序2時.且都有#100變量時.由于#100是公共變量.所以1中的#100與2中的#100都是同一個變量.系統變量是指有固定用途的變量.她的值決定系統的狀態.包括刀具偏置變量.接口輸入.輸出信號變量.及位置信號變量等等..(系統變量這塊還搞不懂.有的是生產廠家定的.希望有人能夠指點指點).宏程序通常使用局部變量和公共變量.#500以上的變量斷電后不丟失.
+ Z* X4 n1 b7 p
B類宏賦值:直接賦值例如:#100=100.0
) c8 i& q5 }" W5 W/ |# E
#100=30.+20.
9 V% A3 Q' o. I2 i
常用混合計算例如:#1=#2+#3*SIN[#4]
. K) {* |$ V1 ~7 ]
運算次序為:1;函數SIN[#4]
- t+ B& `. d9 X& y7 i8 y+ u! t, S
2;乘和除運算#3*SIN[#4]
, b% |) X4 z1 E
3:加減運算#2+#3*SIN[#4]
0 B/ s8 J) `. E3 z! K1 d
也可以通過括號改變運算順序例如:#1=SIN[ [ [ #2 = #3 ] * 4 + #5 ] / #6 ]
2 f$ g( ?: R9 E: ?- S/ V' d
轉移指令GOTO的應用;
% M( L1 Y. w: e8 s3 c- j
例如:GOTO100
! h4 W" M6 s1 X4 O& q# [: {( S% r
無條件轉移到N100程序段.用的較多.可以省去了跳段符號.不過很多人習慣用跳段開關.我比較喜歡這個方便.
( u- G" B$ c# \( L1 q+ x! o4 z
條件轉移例如:IF [ #1 GT #100 ] GOTO 100
/ N h- g. g, |& E+ y
當#1大于#100時轉移到N100程序段.至于什么大于小于這些自己看書去.打字累的慌.
( i6 Y3 i5 f& d H2 h2 [
還有個循環指令WHILE[條件式]DOm(m=1.2.3.....)
$ m* x: n$ x, E: l. H
......
3 s, J% ?9 n4 s/ ^5 E
ENDm;這個比較少用.大概格式就這樣了
) H0 t* @( C) R s
其實在實際加工中宏程序用的比較少.也許是現在很多人不會用的原因.
6 O, J3 K; [. l9 p, a( g
我現在舉個簡單的例子:比如我們加工棒料是有時從直徑150車到100時.如果用G90比較費時間.當然電腦編程全部用的是G01.走刀.速度比循環車要快.但是程序繁瑣.那我們就用宏程序來編個吧.比如我們每刀切削2MM.退刀1MM.
2 O, Y& y4 V4 C+ C& F9 E% X6 o
O520 ;
$ b8 `# y- W, K
#501=151 ; 賦值
; a" j3 C! B% h' q' V3 k$ ?0 b& ?
#502=100 ;賦值
$ H7 Q, W4 J- Y- i
M44 ;
0 p$ ?* E v: F) X6 }4 C: h c
T0303 M8 ;
) D5 j/ L/ R, J0 m y- v0 X
M3 S450 ;
# e& a- }8 Y+ s0 r
G0 Z5 ;
; s( p! T, q; |) X) I3 q1 _
N1 #501= #501-1. ;X定位點
- |/ \9 R: S$ X4 b3 r! }
X#501 ;
3 [! y/ V' n* U0 I9 Y
#501= #501-1. ;X切削點
G3 A/ \ I% H
G90 X#501 Z-50. F0.2 ;
S( Q- Q' d8 F+ l
IF [ #501 GE #502 ] GOTO 1當#501大于或等于100時轉移到N1.這樣可以使她循環到我們需要的尺寸.這里我沒有經過仔細的計算是不是剛好到100.這個可以自己計算給值.懶得算了.
$ Q' P! t+ V" R# f9 }2 T- i' N
G0X200. M9 ;
6 ?) i$ r, U, t$ F
Z300. M5 ;
- ^, c6 \: l$ `) L) P
M30 ;
+ w1 ^- H% N7 J [5 K- t
%這個程序走刀基本與G01編程類似了.退刀還可以給小點.自己改吧
. r# \$ s' t3 X/ L' I
小弟不才.以前是種地的.這里搞什么開發區.田被征用了.只有改行了.求指點.求指教.
4 ?" C, X* G3 S5 X% c+ d. f1 H
我還編了個螺紋左右借刀加工的宏程序.看了下資料.了解了下思路.自己整了個.今天沒時間了.明天發.個人覺得只要把這個程序看得懂.其他什么橢圓加工神馬的都大同小異了.
# b) R# h" \% a2 h' r
/ e' g$ i& E" A8 b1 o+ Y" G1 l
作者:
xuzhihui871029
時間:
2013-12-13 22:14
變量,循環,極坐標方程
作者:
孤城領主領主
時間:
2013-12-14 01:29
O520 ;
* O' A) t2 F4 j9 J" C
#501=150 ; 賦值
+ P8 P2 a: c4 m5 f! ?5 ?; @) x
#502=100 ;賦值
' K# m# Y# n( G. g3 N) [% N
M44 ;
" {2 M2 x. S/ G i2 J
T0303 M8 ;
! s6 @8 h, M6 D% N
M3 S450 ;
' @- ]+ c: o3 R/ q5 H
G0 Z5 ;
6 e, P" H. f$ U4 ~
N1;
* E/ U z' ~9 T9 i! o& ]
#500= #501+1. ;X定位點
4 P! h% N$ y, G7 s
#501= #501-1. ;X切削點
2 t+ Q* U/ M, e$ S( ?; o- j
G00 X#500 Z5.;
- M9 l# S6 `! \3 G; s7 d1 Q
G00 X#501;
1 d3 e7 |) H% w$ O8 e
G01 X#501 Z-50. F0.2 ;
6 e0 w8 o$ s4 i& W; h- T5 |0 K
IF [ #501 GT #502 ] GOTO 1;
/ a* v9 L) _, Q+ B1 d
N2;
5 y1 P1 q2 Z) \9 K6 E
G0 X101.;
5 L+ f2 U( J+ D3 A5 a6 Q
M9;
$ ^; q, x0 @! j$ M9 V8 ?; e
G0X200. Z300. M5 ;
0 b7 ?0 T8 E e: Q+ R% h& ?
M30 ;
2 o- w, @% @% t0 f& c( @2 z8 T$ X
不做車床很多年,看到你的程序,試著編了一下
作者:
duanyz
時間:
2013-12-14 09:59
樓主指點下,車進去2mm退出來1mm,程序中的哪一行是退刀啊?
: ^" x/ E& `2 ]3 k
: [' u; v. N9 b; s
另外n1是行號嗎?可以放在任意行的前面,然后goto1就能跳轉到n1行?
0 i7 h! E" {- Q( n o0 h
9 H+ w ]/ g3 l3 ~( f; Q" ]; T7 H
作者:
wangice
時間:
2013-12-14 11:17
FANUC的宏滾蛋,SINUMERIK的宏才是王道。
作者:
duanyz
時間:
2013-12-14 23:29
真心沒看懂啊,請教樓主
+ \! J6 g+ \6 o
3 r. w4 z; `# U
O520 ;
, o# j2 L9 l- F1 {7 U" d, \
#501=151 ; 賦值
, a2 H0 ^4 j( o( p% g0 R e/ x% M [
#502=100 ;賦值
5 j4 ~; T3 N, J1 W3 ]' v
M44 ;
: H/ f$ N6 y; s
T0303 M8 ;
1 S8 C2 e; c7 v
M3 S450 ;
. Z* g- g8 Q( C; a f
G0 Z5 ;
0 I' i, V, _8 u) q/ |! h6 ~- E" S
N1 #501= #501-1. ;X定位點
! y) ]! d2 @1 N& ~: h
X#501 ;
& p" w: p3 L) \+ ?& e1 q
#501= #501-1. ;X切削點
! j* E# n" @ Y
G90 X#501 Z-50. F0.2 ;
! O2 U0 X5 B" K9 z" j
IF [ #501 GE #502 ] GOTO 1當#501大于或等于100時轉移到N1.這樣可以使她循環到我們需要的尺寸.這里我沒有經過仔細的計算是不是剛好到100.這個可以自己計算給值.懶得算了.
" j* _# j3 G6 o: U
G0X200. M9 ;
0 e$ c" C: p; |9 Y- F# V
Z300. M5 ;
& y, Z; |1 o2 i8 p+ s) U! W
M30 ;
1 ?$ R6 z, E1 g
% T" w8 M# s7 Q. T$ _& e
你的這段程序里z運動只有一個z5一個z-50和最后一個z300,而且在循環段里只有一個z-50,這個z沒回0啊。
" l' x/ M1 X, E& x
另外循環段里:
, m- Y& c1 z0 k1 o
N1 #501= #501-1. ;X定位點
第一次循環#501的值是150
* P; R) U) S- c
X#501 ;
第一次循環x走到150
L) ^* l( t( t; F# n1 k( A$ S8 |% {
#501= #501-1. ;X切削點
2 t! G2 n- g# J3 z
G90 X#501 Z-50. F0.2 ;
第一次循環 這個x的值是149,那不是走成錐度了嗎
作者:
爽歪歪沙
時間:
2013-12-15 12:42
作者:
duanyz
時間:
2013-12-15 17:27
你看人家城主的程序,每車完一刀循環時都有一行“G00 X#500 Z5.;”回刀的動作,你的程序根本就沒有,還叫我去看g90是什么意思,真無語了!
作者:
jiangssli
時間:
2013-12-15 17:50
好像都是很牛的樣子啊
作者:
業余玩家ck
時間:
2013-12-26 10:50
即使搞懂了這些,還不夠啊,宏程序水很深,解決問題時就知道了
作者:
謝池春
時間:
2014-1-8 16:16
對日本人的系統我很陌生,但也看過點,個人覺得編程沒有西門子的自由。這大概受東西方文化不同的影響吧,當然這是我的個人感覺,事實不見得如此,望達人評解
作者:
祭奠那歲月
時間:
2014-1-15 20:19
樓主復制的帖子就別拿出來了
作者:
三文治
時間:
2014-1-15 21:52
樓主的是用G90啊!自己會返回循環起點的沒看明?
作者:
數控之巔
時間:
2014-1-27 09:55
無聊的宏
作者:
liuzhongkai123
時間:
2014-1-29 19:08
宏程序可以用來采集機床的數據嗎,別的方式可不可以
歡迎光臨 機械社區 (http://www.ytsybjq.com/)
Powered by Discuz! X3.5