国产精品乱码一区-性开放网站-少妇又紧又爽视频-西西大胆午夜人体视频-国产极品一区-欧美成人tv-四虎av在线-国产无遮挡无码视频免费软件-中文字幕亚洲乱码熟女一区二区-日产精品一区二区三区在线观看-亚洲国产亚综合在线区-五月婷婷综合色-亚洲日本视频在线观看-97精品人人妻人人-久久久久久一区二区三区四区别墅-www.免费av-波多野结衣绝顶大高潮-日本在线a一区视频高清视频-强美女免费网站在线视频-亚洲永久免费
機械社區
標題:
宏程序個人理解.
[打印本頁]
作者:
鄉村非主流
時間:
2013-12-13 21:29
標題:
宏程序個人理解.
本帖最后由 鄉村非主流 于 2013-12-13 21:34 編輯
5 [9 f0 d( K& q
) G( C1 w7 q: i7 p
經常會看到有人發與宏程序有關的帖子.不是難度太高就是講得不怎么靠譜.今天講講我自己對宏程序的理解..
# W I7 K1 b8 T0 q
宏程序一般分為A類和B類.A類宏調用比較麻煩.B類宏用起來比較方便.類似于C語言.現在的機床基本上都支持B類宏.
/ |+ ]1 ^- F# t# r. G7 q& y9 |
本人只操作過廣數和Fanuc系統.她們宏程序應用基本都是一樣的.現在以Fanuc為例說說.本帖目的只在于溝通與探討..
3 h: B) h H- O! g1 j5 R: }
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;.
$ @1 C% v5 d/ q+ T4 G+ Q
變量的種類.變量分為局部變量.公共變量.系統變量.局部變量(#1-#33)是在宏程序中局部使用的變量.當1號宏程序調用2號宏程序且都有變量#1時,由于變量#1服務于不同的局部.所以1號程序中的#1與2號程序中的#1不是同一個變量.因此可以賦予不同的值.互不影響.公共變量(#100-#149,#500-#549)貫穿于整個程序過程.當宏程序1調用宏程序2時.且都有#100變量時.由于#100是公共變量.所以1中的#100與2中的#100都是同一個變量.系統變量是指有固定用途的變量.她的值決定系統的狀態.包括刀具偏置變量.接口輸入.輸出信號變量.及位置信號變量等等..(系統變量這塊還搞不懂.有的是生產廠家定的.希望有人能夠指點指點).宏程序通常使用局部變量和公共變量.#500以上的變量斷電后不丟失.
+ ^0 k$ H- |9 ]5 B/ L5 T( G
B類宏賦值:直接賦值例如:#100=100.0
4 i4 w h/ I, D# p1 c" m! g8 P
#100=30.+20.
, c4 w- F8 I9 n' D
常用混合計算例如:#1=#2+#3*SIN[#4]
7 C# J7 s, X2 b4 @8 t9 L! ]) {6 C, \
運算次序為:1;函數SIN[#4]
$ s8 Q& g8 i2 H2 {) Z' v
2;乘和除運算#3*SIN[#4]
9 Z9 v5 h# b! b
3:加減運算#2+#3*SIN[#4]
1 N1 ?2 n: q( e8 e
也可以通過括號改變運算順序例如:#1=SIN[ [ [ #2 = #3 ] * 4 + #5 ] / #6 ]
7 s; k! B* n* e4 h [7 A7 R
轉移指令GOTO的應用;
' G* \1 J' t# }# @7 @
例如:GOTO100
2 j8 A3 U$ C5 @5 I
無條件轉移到N100程序段.用的較多.可以省去了跳段符號.不過很多人習慣用跳段開關.我比較喜歡這個方便.
* M+ a4 R. q- f% H2 g
條件轉移例如:IF [ #1 GT #100 ] GOTO 100
0 s, Z. F0 ?; c: Z( A% S
當#1大于#100時轉移到N100程序段.至于什么大于小于這些自己看書去.打字累的慌.
% \$ F) Y1 |& r- e& f
還有個循環指令WHILE[條件式]DOm(m=1.2.3.....)
$ g) U" S- K1 E: l- j- H/ Y
......
$ f# p$ ?' K6 n
ENDm;這個比較少用.大概格式就這樣了
% X' @* @8 n3 g4 Y+ Q4 f- c' D) Q
其實在實際加工中宏程序用的比較少.也許是現在很多人不會用的原因.
) t# ~( S8 i) f- C! [& o
我現在舉個簡單的例子:比如我們加工棒料是有時從直徑150車到100時.如果用G90比較費時間.當然電腦編程全部用的是G01.走刀.速度比循環車要快.但是程序繁瑣.那我們就用宏程序來編個吧.比如我們每刀切削2MM.退刀1MM.
' p0 P. a1 u) J3 e& f# S8 v( ?
O520 ;
9 v. A+ `2 d: ~: `, f
#501=151 ; 賦值
) @ h, e0 Q0 c: _) q n6 g
#502=100 ;賦值
9 ~; A% @5 B8 h9 H8 z" z3 N$ d3 ]0 F
M44 ;
8 g4 A8 k$ z4 }4 c% e# h+ x2 \
T0303 M8 ;
% R' j m. t- s# v6 g3 H
M3 S450 ;
1 C, C6 `" f. W/ y; u' P h3 r3 v8 C8 a
G0 Z5 ;
w: [+ T- k' g, e: {& v
N1 #501= #501-1. ;X定位點
1 ~! T2 f/ T4 g+ B) H% u. \# ]
X#501 ;
% h% \9 v6 A4 w. S
#501= #501-1. ;X切削點
3 l3 N9 l3 K- I1 z7 z0 T
G90 X#501 Z-50. F0.2 ;
. D2 r/ p# Y9 J. Z& Y- g( ~ f
IF [ #501 GE #502 ] GOTO 1當#501大于或等于100時轉移到N1.這樣可以使她循環到我們需要的尺寸.這里我沒有經過仔細的計算是不是剛好到100.這個可以自己計算給值.懶得算了.
8 |9 i& `4 T. H$ t5 h' d4 q
G0X200. M9 ;
7 w; f0 Q* `4 V( B, n: a* A4 `
Z300. M5 ;
, Q* A+ A' p2 g) {) O
M30 ;
" W6 t1 U6 I: W9 f
%這個程序走刀基本與G01編程類似了.退刀還可以給小點.自己改吧
# z+ e# }4 s1 s
小弟不才.以前是種地的.這里搞什么開發區.田被征用了.只有改行了.求指點.求指教.
) J6 s# U4 F- c2 e" A9 ]
我還編了個螺紋左右借刀加工的宏程序.看了下資料.了解了下思路.自己整了個.今天沒時間了.明天發.個人覺得只要把這個程序看得懂.其他什么橢圓加工神馬的都大同小異了.
4 \4 j4 y- A7 k2 y( e& Q8 {+ i( X
* V* v3 f! E. k' |
作者:
xuzhihui871029
時間:
2013-12-13 22:14
變量,循環,極坐標方程
作者:
孤城領主領主
時間:
2013-12-14 01:29
O520 ;
: y' {5 ?' s* p& {) [7 ]
#501=150 ; 賦值
! o0 q, i0 _8 [7 C. K* @
#502=100 ;賦值
" ]; K( R, q" \2 A. F
M44 ;
' E: M6 Q6 A' o
T0303 M8 ;
. E6 c( m8 L4 L8 ~
M3 S450 ;
( {4 l$ A( A) }$ J' a( Y
G0 Z5 ;
& R8 W) m2 F o4 V8 B' k
N1;
$ J3 p7 o5 ], v2 P# t
#500= #501+1. ;X定位點
4 \: z! }, ]# G: y4 v6 a
#501= #501-1. ;X切削點
3 z8 G% U( S/ o! j% A- J
G00 X#500 Z5.;
" B; i* Y& ~+ d f1 q7 g
G00 X#501;
( N8 z% y2 j5 [
G01 X#501 Z-50. F0.2 ;
4 r! z0 C" f2 ]/ @
IF [ #501 GT #502 ] GOTO 1;
' W. e8 I+ Q: g9 W' K
N2;
0 W6 n- R! q& p/ A9 U) T$ B6 e1 J
G0 X101.;
$ R; b+ Z; m/ \) n
M9;
' R& Q# W2 M' U7 f" u% m8 v9 A
G0X200. Z300. M5 ;
) U( [: G2 y/ l) a8 k: V8 B6 m' J- c
M30 ;
- t# ^- E- t( Z# A! K3 U- q
不做車床很多年,看到你的程序,試著編了一下
作者:
duanyz
時間:
2013-12-14 09:59
樓主指點下,車進去2mm退出來1mm,程序中的哪一行是退刀啊?
5 i3 C# A. Z2 `' O
$ `, g' N3 X" o
另外n1是行號嗎?可以放在任意行的前面,然后goto1就能跳轉到n1行?
3 k! z! ]$ [1 E5 H8 J
0 W' F: k I C, U1 D$ }
作者:
wangice
時間:
2013-12-14 11:17
FANUC的宏滾蛋,SINUMERIK的宏才是王道。
作者:
duanyz
時間:
2013-12-14 23:29
真心沒看懂啊,請教樓主
$ G3 D: l( l( u+ f3 E) Z
5 a* F( u3 E$ U7 M
O520 ;
) u5 @$ [ \" }. L8 v( u% N S
#501=151 ; 賦值
5 f8 c' d6 ]# U5 T$ L; m D" Y6 ?
#502=100 ;賦值
2 b+ R% h1 c' ]% _9 i
M44 ;
# {# b, F4 O. u/ e
T0303 M8 ;
; v# O5 T# y7 N1 A9 m# U+ {
M3 S450 ;
5 i+ D3 Z) a" v! {
G0 Z5 ;
5 y/ \, y6 Z( O: w9 |0 H* F
N1 #501= #501-1. ;X定位點
8 t5 g4 {3 F% q* ~5 L! X4 Q: S
X#501 ;
. S. n0 w5 l& M( d$ V4 H) P
#501= #501-1. ;X切削點
& Y2 j9 `! ]; q4 H) g
G90 X#501 Z-50. F0.2 ;
4 m6 W+ I" G& f( J
IF [ #501 GE #502 ] GOTO 1當#501大于或等于100時轉移到N1.這樣可以使她循環到我們需要的尺寸.這里我沒有經過仔細的計算是不是剛好到100.這個可以自己計算給值.懶得算了.
" B# o9 u6 q) y K5 V6 S$ s' I: Q5 j
G0X200. M9 ;
4 D* b& s. M( u& n9 }: m. n) n% X @3 m
Z300. M5 ;
9 V: T* G, G8 U _0 ?7 ?
M30 ;
; Y, C- V9 q# `0 f1 M& V
( P: t* A. L/ V& I& M
你的這段程序里z運動只有一個z5一個z-50和最后一個z300,而且在循環段里只有一個z-50,這個z沒回0啊。
L* D( B( g; f0 ^/ \( e! s5 e
另外循環段里:
8 H% k7 C9 Z3 G# f9 q; C/ T, I
N1 #501= #501-1. ;X定位點
第一次循環#501的值是150
$ D: Z% Y4 j( A
X#501 ;
第一次循環x走到150
3 j6 w; S9 L# T
#501= #501-1. ;X切削點
! H0 E0 _! T5 f, S" g
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://m.whclglass.com.cn/)
Powered by Discuz! X3.5