色一区二区三区_av老司机亚洲一区在线观看_韩国v欧美v亚洲午夜亚洲国产_国产高清_国产在线床上色视频_91精选日韩在线观看_最新国模无码国产在线视_中文字幕制服丝袜在线播放專業從事互動視頻_精品日韩99亚洲的在线_国产真人无遮挡作爱免费视频,潮喷失禁大喷水aⅴ无码,国精产品一区一区三区有限在线,成人国产精品日本在线观看

您好,歡迎來到思誠資源 Mro工業(yè)品商城,!
關(guān)注我們

微信公眾號

抖音視頻號

微信視頻號

0769-22186189
全部產(chǎn)品分類

宏程序WHILE與IF的區(qū)別及應(yīng)用

[原創(chuàng)內(nèi)容] 發(fā)布于:2019-04-01 12:05:09 閱讀:3988次 編輯:思誠市場部
UG,、MasterCAM,、Cimatron等CAD/CAM軟件的興起讓自動編程技術(shù)不斷發(fā)展完善,,作為傳統(tǒng)手動編程的宏程序應(yīng)用空間也逐步縮小,但是宏程序精煉簡潔的特性讓它仍然具有實用性,,宏程序的編寫過程體現(xiàn)著工程師的工藝理念,。

宏程序WHILE與IF的區(qū)別及應(yīng)用

一、什么場合會用到宏程序編程,?

其實說起來宏就是用公式來加工零件,,比如說橢圓,如果沒有宏的話,,我們要逐點算出曲線上的點,然后慢慢來用直線逼近,,如果是個光潔度要求很高的工件的話,,那么需要計算很多的點,可是應(yīng)用了宏后,,我們把橢圓公式輸入到系統(tǒng)中然后我們給出Z坐標(biāo)并且每次加一個量,,那么宏就會自動算出X坐標(biāo)并且進行切削, 實際上宏在程序中主要起到的是運算作用,。

?手工編程加工公式曲線(計算簡單,,輸入快捷)

?有規(guī)律的切削路徑(作為一個切削模塊)

?程序間的控制(程序的調(diào)度)

?刀具的管理(刀具的磨損)

?自動測量(機內(nèi)測頭)

二、用戶宏程序與普通程序的區(qū)別

1.在用戶宏程序本體中,能使用變量,,可以給變量賦值,,變量間可以運算,程序可以跳轉(zhuǎn),。

2.普通程序中,,只能指定常量,常量之間不能運算,,程序只能順序執(zhí)行,,不能跳轉(zhuǎn),因此功能是固定的,,不能變化,。

3.用戶宏功能是用戶提高數(shù)控機床性能的一種特殊功能,在相類似工件的加工中巧用宏程序?qū)⑵鸬绞掳牍Ρ兜男Ч?/div>

三,、變量的三種類型

數(shù)控系統(tǒng)變量表示形式為“#”后跟1~4位數(shù)字,,變量種類有三種:

1.局部變量:#1~#33是在宏程序中局部使用的變量,它用于自變量轉(zhuǎn)移,。

2.公用變量:用戶可以自由使用,,它對于由主程序調(diào)用的各子程序及各宏程序來說是可以公用的。#100~#149在關(guān)掉電源后,,變量值全部被清除,,而#500~#509在關(guān)掉電源后,變量值則可以保存,。

3.系統(tǒng)變量:由后跟4位數(shù)字來定義,,它能獲取包含在機床處理器或NC內(nèi)存中的只讀或讀/寫信息,包括與機床處理器有關(guān)的交換參數(shù),、機床狀態(tài)獲取參數(shù),、加工參數(shù)等系統(tǒng)信息。

四,、宏程序的特點

宏程序可使用變量,,可用變量執(zhí)行相應(yīng)操作;實際變量值可由宏程序指令賦給變量,。

指令

1.宏程序的簡單調(diào)用格式

宏程序的簡單調(diào)用是指在主程序中,,宏程序可以被單個程序段單次調(diào)用。

調(diào)用指令格式:

G65 P(宏程序號)L(重復(fù)次數(shù))(變量分配),。

其中:G65―宏程序調(diào)用指令,;

P(宏程序號)―被調(diào)用的宏程序代號;

L(重復(fù)次數(shù))―宏程序重復(fù)運行的次數(shù),,重復(fù)次數(shù)為1時,,可省略不寫,;

(變量分配)―為宏程序中使用的變量賦值。

宏程序與子程序相同的一點是,,一個宏程序可被另一個宏程序調(diào)用,,最多可調(diào)用4重。

2.宏程序的編寫格式

宏程序的編寫格式與子程序相同,。其格式為:

0~(0001~8999為宏程序號)

N10 指令

N~ M99

上述宏程序內(nèi)容中,,除通常使用的編程指令外,還可使用變量,、算術(shù)運算指令及其它控制指令,。變量值在宏程序調(diào)用指令中賦給。

五,、FANUC系統(tǒng)宏程序應(yīng)用

1.宏程序切槽

宏程序WHILE與IF的區(qū)別及應(yīng)用

1)WHILE語句

G00 X52 Z2;

#2=-14;   

是刀具z向的起刀點(因為刀寬為4mm,,所以起刀點定在Z-14的位置)

WHILE〔#2 GE -30〕DO2;   

是z方向的約束條件,當(dāng)z等于-30時,,z向就不再移動

G00 Z〔#2〕;   

z方向的當(dāng)前位置

#2=#2-2;   

z方向的移動步距,,每次移動2mm

#1=52; 

是x方向的起刀點

WHILE〔#1 GE 20〕DO1; 

X方向的約束條件,當(dāng)直徑等于20時就不再切削

G01 X〔#1〕F0.2; 

x方向的切深

G00 X〔#1+1〕; 

x方向的相對退刀量

#1=#1-1; 

x方向的步距(每次切1mm)

END1;

G00 X52;

END2;


完整程序:

O1234;

G40 G97 G99;                 

T0101;                           

S1000 M3;                       

G00 X52 Z2;                   

#2=-14;                         

WHILE〔#2GE-30〕DO2;    END1;

G00 Z〔#2〕;                   

#2=#2-2;                       

#1=52                           

WHILE〔#1GE20〕DO1;

G01X〔#1〕F0.2;

G00X〔#1+1〕;

#1=#1-1;

G00 X52;

END2;

G00 X150 Z150;

M30;


2)IF語句

G00 X52 Z-2;

#1=-14; 

是刀具的z向起刀點(刀寬為4mm)

N2 #1=#1-2;   

是z方向的移動步距

#2=52; 

為x方向的起刀點

N1#2=#2-1; 

是x方向的步距(每次切深1mm)

G01 X〔#2〕F0.2; 

X方向的當(dāng)前位置

G00 X〔#2+1〕;   

X方向的相對退刀量

IF 〔#2 GE 21〕GOTO1;     

x方向的約束條件(當(dāng)x的數(shù)值切到20時就進行下面程序,,不再返回)

G00 X52;   

X退刀到52的位置

G00 Z〔#1〕;   

Z方向的當(dāng)前位置

IF 〔#1 GE -30〕GOTO2;   

Z方向的約束條件,,當(dāng)z等于-30時,z向就不在移動


完整程序:

O1234;

G40G97G99;                   

T0101;                           

S1000M3;                       

G00 X52 Z-2;                 

#1=-14;                         

N2 #1=#1-2;                   

#2=52;                           

N1#2=#2-1;                     

G01 X〔#2〕F0.2;

G00 X〔#2+1〕;

IF〔#2GE21〕GOTO1;

G00X52;

G00Z〔#1〕;

IF〔#1GE-30〕GOTO2;

G00X200;

Z200;

M5;

M30;


2.橢圓編程

1)橢圓WHILE語句的標(biāo)準格式:

#1=a; 

a :為刀具的起刀點在相對橢圓的軸線Z的正方向a mm處

WHILE〔#1 GE b〕DO1;   

b: 為橢圓加工的終點在相對橢圓的軸線Z的負方向b mm處(如果加工的是一個完整的半橢圓,,那a,、b是數(shù)值相同符號不同的兩個數(shù)值)


#2= c*SQRT〔1-#1*#1/d*d〕;   

c: 橢圓的短半軸     

d: 橢圓的長半軸(根據(jù)橢圓公式求#2,長半軸為d,短半軸為c,#2代表X的數(shù)值,,#1為Z的數(shù)值,,SQRT是開方的意思)

G01 X〔±2*#2+e〕Z〔#1±f〕;

e: 橢圓的X向軸線相對工件坐標(biāo)系的偏移量(直徑值)

f: 橢圓的Z向軸線相對工件坐標(biāo)系的偏移量


#1=#1-1;步距(每次移動1mm)

END1;


注意事項:當(dāng)車削凹橢圓時X后括號中的“±”取“﹣”,;當(dāng)車削凸橢圓時X后括號中的“±”取“+”,。


當(dāng)橢圓的X軸線向正向偏移則Z后括號中的“±”取“+”;當(dāng)橢圓的X向軸線向負向偏移則Z后括號中的“±”取“﹣”


2)橢圓IF語句的標(biāo)準格式

#1=a,;

a: 為刀具的起刀點在相對橢圓的軸線Z的正方向a mm處

N1#2=b*SQRT〔1-#1*#1/c*c〕;

b:橢圓的短半軸c:橢圓的長半軸(根據(jù)橢圓公式X/c+ Y/b=1,,SQRT是開方的意思)

G01X〔±2*#2+d〕Z〔#1±e〕F0.2; d:橢圓的X向軸線相對坐標(biāo)零點的偏移量(直徑值)e:橢圓的Z向軸線相對零面的偏移量

#1=#1-1; 

步距(每次移動1mm)


IF〔#1 GE -f〕GOTO1   

f:橢圓加工的終止

注意事項:當(dāng)車削凹橢圓時X后括號中的“±”取“﹣”;當(dāng)車削凸橢圓時X后括號中的“±”取“+”,。當(dāng)橢圓的X軸線向正向偏移則Z后括號中的“±”取“+”,;當(dāng)橢圓的X向軸線向負向偏移則Z后括號中的“±”取“﹣”。

宏程序WHILE與IF的區(qū)別及應(yīng)用

WHILE語句

#1=20,;

WHILE〔#1GE-20〕DO1;

#2=10*SQRT〔1-#1*#1/400〕;

G01X〔-2*#2+50〕Z〔#1-25〕;

#1=#1-1;

END1;


IF語句

#1=20;

N1#2=10*SQRT〔1-#1*#1/400〕;

G01X〔-2*#2+50〕Z〔#1-25〕F0.2;

#1=#1-1;

IF〔#1GE-20〕GOTO1;


完整程序


O1234;

G40G97G99;               

T0101;                   

S1000 M3;                 

G00 X50 Z2;               

G73 U5 R5;               

G73 P10 Q20 U0.5 F0.2;     

N10 G0 G42 Z-5;           

#1=20,;                 

WHILE〔#1GE-20〕DO1;     

#2=10*SQRT〔1-#1*#1/400〕;

G01X〔-2*#2+50〕Z〔#1-25〕F0.2;

#1=#1-1;

END1;

G00 X50;

N20 G00 G40 Z2;

G70 P10 Q20;

G00 X200;

Z200;

M5;

M30;

IF語句完整格式省略,,(IF語句也一樣,,只要加上循環(huán)就可以),在FANUC-0i系統(tǒng)中宏程序只能加在G73中,。

3.拋物線的加工

1)拋物線WHILE語句的標(biāo)準格式:


#1=a,;

a: 為刀具的起刀點在拋物線軸線Z的方向a mm處

WHILE〔#1 GE -b〕DO1;

b: 為橢圓z向的加工長度

#2=SQRT〔-#1*5/3〕;   

(根據(jù)拋物線公式Z=-3/5*X*X,求其中的X值,也就是#2,,其中SQRT是開平方的意思)

G01 X〔±2*#2+c〕Z〔#1〕;

c: 為拋物線的X向軸線相對工件坐標(biāo)系的偏移量(直徑值),,“±”

取“+”時為凸,取“-”時為凹#1=#1-1;  步距(每次移動1mm)

END1;

2)拋物線IF語句的標(biāo)準格式

#1=a,;

a: 為刀具的起刀點在拋物線軸線Z的方向a mm處

N1 #2=SQRT〔-#1*5/3〕; 

(根據(jù)拋物線公式Z=-3/5*X*X,求其中的X值,,也就是#2,其中SQRT是開平方的意思)

G01 X〔±2*#2+b〕Z〔#1〕;

b:為拋物線的X向軸線相對坐標(biāo)零點的偏移量(直徑值),,“±”取“+”時為凸,,取“-”時為凹

#1=#1-1;

(Z方向的步距,每次移動1mm)


IF〔#1 GE -c〕GOTO1; c:為橢圓z向的加工長度


拋物線IF語句的另一種形式

#1=a,;

N1 #2=SQRT〔(+)#1*5/3〕; 

“+”號可省略

G01 X〔2*#2+b〕Z〔-#1〕;

#1=#1+1;

IF〔#1 LE c〕GOTO1;

假設(shè)拋物線是向Z的正方向,,再用Z〔-#1〕;把拋物線對稱到負方向

宏程序WHILE與IF的區(qū)別及應(yīng)用

WHILE語句

#1=0;

WHILE〔#1 GE -15〕DO1;

#2=SQRT〔-#1*5/3〕;

G01 X〔2*#2+30〕Z〔#1〕;

#1=#1-1;

END1;


IF語句

#1=0,;

N1 #2=SQRT〔-#1*5/3〕;

G01X〔2*#2+30〕Z〔#1〕;

#1=#1-1;

IF〔#1 GE -15〕GOTO1;


完整程序

O1234;

G40 G97 G99;               

T0101;                     

S1000 M3;                 

G00 X42 Z1;                 

G73 U5 R5;                 

G73 P10 Q20 U0.5 F0.2;       

N10 G00 G42 Z0;             

#1=0,;                   

WHILE〔#1 GE -15〕DO1;     

#2=SQRT〔-#1*5/3〕;       

G01 X〔2*#2+30〕Z〔#1〕;

#1=#1-1;

END1;

G00 X42;

N20 G00 G40 Z2;

G70 P10 Q20;

G00 X200;

Z200;

M5;

M30;


4.WHILE語句與IF語句的區(qū)別

1)兩種語句返的方向不同

WHILE語句向后返

例:WHILE〔#1 GE 20〕DO1;

G01 X〔#1〕F0.2; 

假設(shè)機床執(zhí)行到此句時#1=20,它會繼續(xù)往下執(zhí)行,,執(zhí)行到#1=#1-1后#1的值變?yōu)?9,,不再滿足約束條件所以就不會返回去。(X方向切到20)

G00 X〔#1+1);

#1=#1-1;

END1;


2)IF語句向前返

例:N1 #2=#2-1;

G01X〔#2〕F0.2;假設(shè)機床執(zhí)行到此句時#2=20,,它會繼續(xù)往下執(zhí)行,,執(zhí)行到IF〔#2 GE 20〕GOTO1;仍然滿足條件,它會繼續(xù)返回到N1 #2=#2-1;而現(xiàn)在的X值就會變?yōu)?9,,不再滿足約束條件,,而后再執(zhí)行一

G01X〔#2〕F0.2;最后就執(zhí)行下面的程序(X方向已經(jīng)切到19)

G00X〔#2+1);

IF〔#2 GE 20〕GOTO1; 


3)從上面的切槽程序可以看出,IF語句要比WHILE語句的字數(shù)要少很多,。

4)由于返回的方向不同,,在加工中WHILE語句少讀一句,IF語句要多讀一句,。

SIEMENS系統(tǒng)(車床)宏程序應(yīng)用

說明:宏程序是用變量編程,,西門子系統(tǒng)的變量號用R表示。

例如用普通編程方法編寫的:G01X-10

用宏程序可表示為:

R1=-10

G01 X=R1

條件轉(zhuǎn)移:

IF GOTOB:向后跳轉(zhuǎn)

IF GOTOF:向前跳轉(zhuǎn)

用普通編程方法編寫的

GO1X100

用變量可表示為:

R1=0

AA:R1=R1+1

G01X=R1

IF R1<100 GOTOB AA

R1是自變量,,初始值為0,,R1=R1+1表示的是自變量的遞增數(shù)值為1,當(dāng)程序每次走過此行時,,R1的值增加1,,R1<100是條件式,,IF R1<100 GOTOB  AA此行的意思是如果自變量R1<100則程序向后跳轉(zhuǎn)到標(biāo)記處:AA

如果R1大于或等于100,則程序往下走,。

宏程序在G90和G91模態(tài)下都可以使用,,不過它們含義不同,例如;

R1=0,G90R1=R1+1,G1X=R1,此程序走完第二遍X的值是2.

R1=0,,G91R1=R1+1,,G1X=R1,此程序走完第二遍X的值是3.   解釋:程序走完第一遍R1的值是1,,走第二遍的時候R1的值是2,,但是在G91模態(tài)下它是在前面的基礎(chǔ)上走的。

1.切槽

宏程序WHILE與IF的區(qū)別及應(yīng)用

T1

TC

T1D1

G0G40X100Z100

M03S1000

G0X54Z2               

快速到達起刀點

Z-10

R1=3                     

定義刀片寬度為3mm   

R2=-10-R1-0.2       

起刀點 為-10,,對刀時以刀片左邊,;

對刀,所以應(yīng)減去刀片的寬度,0.2為精加工余量

G1Z=R2F0.1         

刀具到達Z軸起刀點

AA:R2=R2-2.5   

R3=50                   

槽X軸起到點

BB:R3=R3-2       

定義每刀切削深度為2 mm

G1X=R3             

X=R3+1               

每切深2mm單邊退0.5mm排屑

IF R3>30+0.4 GOTOB BB

定義槽深10mm,,如果R3>30mm程序向后跳轉(zhuǎn)到標(biāo)記處BB,,0.4為精加工余量

G0X50                 

刀具到達X軸起刀點

G1Z=R2

IF R2>-30+0.2  GOTOB AA 

定義槽寬為20mm,0.2是精加工余量

G0X50

G01Z-13   

精加工

X30

Z-16

G0X50

Z-30

G01X30

Z-16

G0X50     

退刀

G0X100

Z100

M05

M30

2.橢圓

1)基本格式

R1=0

定義變量R1初始值為0

AA:R2=b×SQRT(1-R1×R1/a×a)

根據(jù)橢圓方程所得,,a是橢圓的長半軸,,b是橢圓短半軸,SQRT是開平方符號,。

G1X=±2×R2+X Z=R1-Z 

設(shè)定橢圓的位置和形狀,,+2為凸形,-2為凹形,,X,、Z分別是工件軸線和橢圓軸線的距離(直徑制)。

R1=R1-1 

設(shè)定加工步距

IF R1>=n GOTOB AA 

如過變量R1<n,,則向后跳轉(zhuǎn)到標(biāo)記處AA,,n為Z向終點坐標(biāo)。

2)編程舉例:

T1D1

G0G40X100Z100

M3S1000

G0X52Z2

Z-20

CYCLE95(   )

G42S1500

OO:

R1=20

AA:R2=5×SQRT(1-R1×R1/400)

G1X=-2×R2+50 Z=R1-40

R1=R1-2

IF R1>=-20 GOTOB AA

PP:X42

G0G40X100Z100

M05

M09

M30


3.拋物線

1)基本格式:


R1=0               

設(shè)定變量R1的初始值為0

AA:R2=SQRT(-R1×n)

根據(jù)拋物線基本格式所得,,式中SQRT為開平方符號,,n是系數(shù)

G01X=2×R2+n   

Z=R1 

加工路徑,+2是凸形,,n是X軸起點數(shù)值

R1=R1-1           

變量增量值為1mm

IF R1>-30 GOTOB AA   

如果變量R1>-30,程序向后跳轉(zhuǎn)到標(biāo)記處:AA


2)編程舉例:

宏程序WHILE與IF的區(qū)別及應(yīng)用

T1

Tc

T1D1

G0G40X100Z100

M03S1000

G0X52Z2

CYCLE95(  )

G0G42

OO:

R1=0

AA:R2=SQRT(-R1×5/3)

G01X=2×R2+30  Z=R1

R1=R1-2

IF R1>-60  GOTOB  AA

PP:X52

G0X100Z100

M05

M30
反對 0 收藏 0
版權(quán)聲明:部分文章信息來源于網(wǎng)絡(luò)信息整理,,思誠資源官網(wǎng)只負責(zé)對文章進行整理、排版,、編輯,,是出于傳遞 更多信息之目的,轉(zhuǎn)載請保留出處和本文地址,,若涉及版權(quán)問題,,請及時與我們客服取得聯(lián)系,。

標(biāo)題:宏程序WHILE與IF的區(qū)別及應(yīng)用     本文地址:http://yuzhongtangw.com/article-1895.html