導航:首頁 > 軟體知識 > 宏程序加工一台多少錢

宏程序加工一台多少錢

發布時間:2023-09-22 22:16:04

『壹』 數控銑削宏程序

數控銑削加工宏程序的編制與應用

在數控編程中,宏程序編程靈活、高效、快捷。宏程序不僅可以實現象子程序那樣,對編制相同加工操作的程序非常有用,還可以完成子程序無法實現的特殊功能,例如,型腔加工宏程序、固定加工循環宏程序、球面加工宏程序、錐面加工宏程序等。

一、FANUC宏程序的理論基礎

(一)FANUC宏程序的構成

1)包含變數

2)包含算術或邏輯運算(=)的程序段

3)包含控制語句(例如:GOTO,DO,END)的程序段

4)包含宏程序調用指令(G65,G66,G67或其他G代碼,M代碼調用宏程序)的程序段

(二)FANUC宏程序的變數

FANUC數控系統變數表示形式為# 後跟1~4位數字,變數有四種:

1、FANUC宏程序的變數Ⅰ

變數號

變數類型

功能

#0

空變數該變數總是空

沒有任何值能賦給該變數

2、FANUC宏程序的變數Ⅱ

變數號

變數類型

功能

#1——#33

局部變數

局部變數只能用在宏程序中存儲數據,例如運算結果。當斷電時局部變數被初始化為空,調用宏程序時自變數對局部變數賦值。

3、FANUC宏程序的變數Ⅲ

變數號

變數類型

功能

#100—#199

#500—#999

公共變數

公共變數在不同的宏程序中的意義相同當斷電時變數#100 #199初始化為空變數

#500 #999 的數據保存即使斷電也不丟失

4、FANUC宏程序的變數Ⅳ

變數號

變數類型

功能

#1000——

系統變數

系統變數用於讀和寫CNC 運行時各種數據的變化例如刀具的當前位置和補償值等

(三)刀具補償存儲器C用G10指令進行設定

H代碼的幾何補償值

G10L10P R ;

D代碼的幾何補償值

G10L12P R ;

H代碼的磨損補償值

G10L11P R ;

D代碼的磨損補償值

G10L13P R ;

P:刀具補償號

R:絕對值指令(G90)方式時的刀具補償值。增量值指令(G91)方式時的刀具補償值為該值與指定的刀具補償號的值相加。

用G10改變工件坐標系零點偏移值

格式:G10L12PpIP ;

P=0:外部工件零點偏移值

P=1:工件坐標系G54的零點偏移值

P=2:工件坐標系G55的零點偏移值

P=3:工件坐標系G56的零點偏移值

P=4:工件坐標系G57的零點偏移值

P=5:工件坐標系G58的零點偏移值

P=5:工件坐標系G59的零點偏移值

IP: 對於絕對值指令(G90),為每個軸的工件零點偏移值。

對於增量值指令(G91),為每個軸加到設定的工件零點偏移值。

(四)FANUC宏程序運算符Ⅰ

1、FANUC宏程序運算符Ⅰ

功能

格式

備注

定義

#i=#j

加法

#i=#j+#k

減法

#i =#j- #k

乘法

#i =#j*#k

除法

#i=#j/#k

2、FANUC宏程序運算符Ⅱ

功能

格式

備注

正弦

#i=SIN[#j]

角度以度指定,如90º30』表示為90.5度

反正弦

#i=ASIN[#j]

餘弦

#i=COS[#j]

反餘弦

#i=ACOS[#j]

正切

#i=TAN[#j]

反正切

#i=ATAN[#j]

3、FANUC宏程序運算符Ⅲ

功能

格式

備注

平方根

#i=SQRT[#j]

絕對值

#i=ABS[#j]

舍入

#i=ROUND[#j]

上取整

#i=FIX[#j]

下取整

#i=FUP[#j]

自然對數

#i=LN[#j]

指數函數

#i=EXP[#j]

4、FANUC宏程序運算符Ⅳ

功能

格式

備注



#i=#j OR #k

邏輯運算一位一位的按二進制數執行

異或

#i=#j XOR #k



#i=#j AND #k

從BCD轉為BIN

#i=BIN[#j]

用於與PMC的信號交換

從BIN轉為BCD

#i=BCD[#j]

(五)FANUC宏程序的轉移和循環

1、FANUC宏程序的轉移和循環Ⅰ

無條件轉移:GOTOn

(n為順序號,1——99999)

例:GOTO10為轉移到N10程序段

2、FANUC宏程序的轉移和循環Ⅱ

條件轉移:(IF語句)

IF [條件表達式] GOTOn

當指定的條件表達式滿足時,轉移到標有順序號n的程序段,如果指定的條件表達式不滿足時,執行下個程序段

3、FANUC宏程序的轉移和循環Ⅲ

條件轉移:(IF語句)

IF [條件表達式] GOTOn

如果變數#1的值大於10,轉移到順序號N20的程序段。

如果條件不滿足 IF [#1 GT 10] GOTO 2

如果條件滿足

程 序

程程序序

N20 G00 G90 X100. Y20.

:

4、FANUC宏程序的轉移和循環Ⅳ

IF [條件表達式] THEN

當指定的條件表達式滿足時,執行預先決定的宏程序語句。

例:IF [#1EQ #2] THEN #3=0;

(六)FANUC宏程序的循環

FANUC宏程序循環Ⅰ

WHILE [條件表達式] Dom;

(m=1,2,3)

條件不滿足 條件滿足

ENDm

註:循環允許嵌套,最多3層,但不允許交叉;

FANUC宏程序循環Ⅱ

FANUC宏程序循環Ⅲ

(七)FANUC宏程序的條件表達式運算符

運算符

含義

EQ

等於

NE

不等於

GT

大於

GE

大於或等於

LT

小於

LE

小於或等於

(九)FANUC宏程序的調用Ⅰ

FANUC宏程序的調用Ⅰ

非模態調用G65:

格式: G65PpLl<自變數指定>

其中

p:要調用的程序號

L:調用次數(默認為1)

自變數:數據傳遞到宏程序

FANUC宏程序的調用Ⅱ

模態調用(G66):

G66PpLl<自變數指定>;

程序點

G67;(取消模態)

其中

p:要調用的程序號

L:調用次數(默認為1)

自變數:數據傳遞到宏程序

(十)FANUC宏程序的自變數指定

1、FANUC宏程序的自變數指定I

地址

變數

地址

變數

地址

變數

A

#1

I

#4

T

#20

B

#2

J

#5

U

#21

C

#3

K

#6

V

#22

D

#7

M

#13

W

#23

E

#8

Q

#17

X

#24

F

#9

R

#18

Y

#25

H

#11

S

#19

Z

#26

2、FANUC宏程序的調用II

地址

變數

地址

變數

地址

變數

A

#1

K3

#12

J7

#23

B

#2

I4

#13

K7

#24

C

J4

#14

I8

#25

I

#4

K4

#15

J8

#26

J

#5

I5

#16

K8

#27

K

#6

J5

#17

I9

#28

I2

#7

K5

#18

J9

#29

J2

#8

I6

#19

K9

#30

K2

#9

J6

#20

I10

#31

I3

#10

K6

#21

J10

#32

J3

#11

I7

#22

K10

#33

二、FANUC宏程序的應用

(一)宏程序示例(銑圓)

#1=圓心坐標X值

#2=圓心坐標Y值

#3=園孔最終Z值

#4=圓孔直徑

#5=刀具直徑

#6=[#4+#5]/4 (進刀半徑)

#7= #3+50 (進刀高度)

#8= [#1+#4]/2-#6(進刀圓弧起點X值)

#9 = #2 - #6 (進刀圓弧起點Y值)

#10= #1+#4/2 (銑圓起點X值)

#11= -#4/2 (I矢量)

#12= #2+#6(退刀圓弧Y值)

%

O100

M03S1000

G00G90G54G43H01Z100.

X#1Y#2

Z#7

G01Z#3 F100

G41D02X#8Y#9

G03X#10Y#2R#6

G03X#10Y#2I#11J0

G03X#8Y#12R#6

G01G40X#1Y#2

G00Z100.

M30

%

(二)宏程序示例(銑半圓球)

自上而下等角度水平圓弧環繞球面精加工

#1=(A)球面的圓弧半徑

#2=(B)球頭銑刀刀具半徑

#3=(C)球面的起始角度

#4= (I)球面的終止角度,#4≤90°

#17=(Q)Z坐標每次遞減量

#24=(X)球心坐標X值

#25=(Y)球心坐標Y值

#26=(Z)球心坐標Z值

%

O200

M03S1000

G00G90G541Z100.

G00X0Y0

G65P1912X Y Z A B C I Q

M30

%

O1912 (宏程序)

G52X#24Y#25Z#26

G00X0Y0Z[#1+30]

#12=#1+#2

WHILE [#3LT#4]DO1

#5 = #12*COS[#3]

#6 = #12*SIN[#3]

X[#5+#2] Y#2

G03X#5Y0R#2F1000

G02 I-#5

G03X[#5+#2]Y-#2R#2

G00Z[#7+1]

Y#2

#3 = #3 + #17

END 1

GOO Z[#1+30]

G52 X0 Y0 Z0

M99

%

注釋說明

(主程序)

調用宏程序O1912

(空格處為變數賦值)

在球心處建立局部坐標

球心與刀心連線距離

如果#3<#4,循環1繼續

任意角度刀心X坐標值

任意角度刀心Y坐標值

G00定位於下刀點

圓弧進刀

沿球面切削

圓弧退刀

提刀1

移到進刀點

角度#3每次遞增#17

循環1結束

提刀

恢復G54坐標

宏程序結束返回

(三) 宏程序示例Ⅰ

採用Φ20R4銑刀加工SR30的球,已知球心坐標為(X0Y0Z-5.)

宏程序示例Ⅱ

1、分析:銑球程序一般採用自動編程來實現,但是,利用宏程序強大的功能同樣也可以實現,而且程序更加簡潔。

2、編程思路:

銑球可以認為是多個銑圓的組合。

3、排刀分布:

有兩種方案,一是按Z向分布,二是按圓心角分布。從保證表面質量來看,最佳方案為按圓心角分布。

圓弧起點計算,從X正向開始起刀。

刀具根部R4的圓心在XZ平面的運動軌跡為與R30等距的圓R34(見圖示中紅色軌跡),刀尖點上4mm處的軌跡(即褐色軌跡)為紅色軌跡沿X正向平移6毫米,刀尖點坐標為褐色軌跡沿Z軸向下平移4mm(即綠色軌跡)。

起始角度=ARCSIN((5+4)/34)=15.349º

起始位置X值=34*COS(15.349)+6=38.787

起始位置Z值=0 (通用表達式=34*sin(15.349)-5-4)

4、變數定義:

#1為圓心角,范圍由(15.349,90)

#2為刀尖中心X值,#2=34*COS[#1]+6

#3為刀尖中心Z值,#3=34*SIN[#1]-5-4

%

O300

M03S3000;

G00G90G54Z100.;

#1=15.349

X50.Y0;

Z10.;

WHILE[#1 LE 90] DO1;

#2=34*COS[#1]+6;

#3=34*SIN[#1]-5-4;

G01Z#3F900;

X#2;

G02X#2Y0I-#2J0;

#1=#1+1;

END1;

G00Z100.;

M30;

%

(四)宏程序示例II

用Φ20R10銑刀加工輪廓處R5圓角

下面為銑外形的一段程序,採用刀具半徑補償

G00X2.5Y26.664

G01G41D01X-8.991Y2.023

G03X2.5Y-3.336I11.491J9.641

X32.969Y-.208I0.J150.

G02X44.955Y-10.952I2.031J-9.792

G03Y-49.048I199.09J-19.048

G02X33.452Y-59.88I-9.955J-.952

G03X-28.452I-30.952J-197.59

G02X-39.922Y-48.75I-1.548J9.88

G03Y-11.25I-148.823J18.75

G02X-27.969Y-.208I9.922J1.25

G03X2.5Y-3.336I30.469J146.872

X13.991Y2.023I0.J15.

G40G01X2.5Y26.664

編程思路:

利用G10指令修改刀具半徑偏置值來實現倒圓角。

G10格式為G10L12P1R ,其中,P1表示修改D01,R後為刀具半徑偏置值。

設定倒角的圓心角為變數#1,取值范圍為0-90º

設定#2為刀具半徑偏置值,取值=COS[#1]*15-5

設定#3為Z值,取值=SIN[#1]*[5+10]-5-10

%

O400

M03S3000

G00G90G54Z100.

#1=0

X2.5Y26.64

Z5.

WHILE [#1 LE 90] DO1

#2= COS[#1]*15-5

#3= SIN[#1]

*[5+10]-5-10

G10L12P1R#2

G01Z#3F900

G00X2.5Y26.664

G01G41D01X-8.991Y2.023

G03X2.5Y-3.336I11.491J9.641

X32.969Y-.208I0.J150.

G02X44.955Y-10.952I2.031

J-9.792

G03Y-49.048I199.09J-19.048

G02X33.452Y-59.88I-9.955J-.952

G03X-28.452I-30.952J-197.59

G02X-39.922Y-48.75I-1.548J9.88

G03Y-11.25I-148.823J18.75

G02X-27.969Y-.208I9.922J1.25

G03X2.5Y-3.336I30.469J146.87

X13.991Y2.023I0.J15.

G40G01X2.5Y26.664

#1=#1+5

END1

G00Z100.

M30

%

三、小結

隨著現代製造技術的發展和數控機床的日益普及,數控加工得到廣泛應用。對於加工形狀簡單的零件,計算比較簡單,程序不多,採用手工編程較容易完成。因此,在點定位加工及由直線與圓弧組成的輪廓加工中,手工編程仍廣泛應用。但對於形狀復雜的零件,特別是具有非圓曲線、列表曲線及曲面的零件,用一般的手工編程就有一定的困難,且出錯機率大,有的甚至無法編出程序。在CAD/CAM軟體普遍應用的今天,手工編程的應用空間日趨縮小。但手工編程是自動編程的基礎。宏程序的運用,其最大的特點就是將有規律的形狀或尺寸用最短的程序段表示出來,具有極好的易讀性和易修改性。

『貳』 宏程序什麼意思

問題一:宏程序什麼意思 大家都在問宏程序~其實說起來宏就是用公式來加工零件的,比如說橢圓,如果沒有宏的話,我們要逐點算出曲線上的點,然後慢慢來用直線逼近,如果是個光潔度要求嘩旅友很高的工件的話,那麼需要計算很多的點,可是應用了宏後,我們把橢圓公式輸入到系統中然後我們給出Z坐標並且每次加10um那麼宏就會自動算出X坐標並且進行切削,實際上宏在程序中主要起到的是運算作用..宏一般分為A類宏和B類宏.A類宏是以G65 Hxx P#xx Q#xx R#xx的格式輸入的,而B類宏程序則是
以直接的公式和語言輸入的和C語言很相似在0i系統中應用比較廣.由於現在B類宏程序的大量使
用很多書都進行了介紹這里我就不再重復了,但在一些老系統中,比如法蘭克OTD系統中由於它的MDI鍵盤上沒有公式符號,連最簡單的等於號都沒有,為此如果應用B類宏程序的話就只能在計算機上編好再通過RSN-32介面傳輸的數控系統中,可是如果我們沒有PC機和RSN-32電纜的話怎麼辦呢,那麼只有通過A類宏程序來進行宏程序編制了,下面我介紹一下A類宏的引用;
A類宏是用鎮橡G65 Hxx P#xx Q#xx R#xx或G65 Hxx P#xx Qxx Rxx格式輸入的xx的意思就是數值,是以um級的量輸入的,比如你輸入100那就是0.1MM~~~~~.#xx就是變數號,關於變數號是什麼意思再不知道的的話我也就沒治了,不過還是教一下吧,變數號就是把數值代入到一個固定的地址中,固定的地址就是變數,一般OTD系統中有#0~~~#100~#149~~~#500~#531關閉電源時變數#100~#149被初始化成「空」,而變數#500~#531保持數據.我們如果說#100=30那麼現在#100地址內的數據就是30了,就是這么簡單.好現在我來說一下H代碼,大家可以看到A類宏的標准格式中#xx和xx都是數值,而G65表示使用A類宏,那麼這個H就是要表示各個數值和變數號內的數值或者各個變數號內的數值與其他變數號內的數值之間要進行一個什麼運算,可以說你了解了H代碼A類宏程序你基本就可以應用了,好,現在說一下H代碼的各個含義:
以下都以#100和#101和#102,及數值10和20做為例子,應用的時候別把他們當格式就行,
基本指令:
H01賦值;格式:G65H01P#101Q#102:把#102內的數值賦予到#101中
G65H01P#101Q#10:把10賦予到#101中
H02加指令;格式G65 H02 P#101 Q#102 R#103,把#102的數值加上#103的數值賦予#101
G65 H02 P#101 Q#102 R10
G65 H02 P#101 Q10 R#103
G65 H02 P#101 Q10 R20
上面4個都是加指令的格式都是把Q後面的數值或變數號內的數值加上R後面的數
值或變數號內的數值然後等於到P後面的變數號中.
H03減指令;格式G65 H03 P#101 Q#102 R#103,把#102的數值減去#103的數值賦予#101
G65 H03 P#101 Q#102 R10
G65 H03 P#101 Q10 R#103
G65 H03 P#101 Q20 R10
上面4個都是減指令的格式都是把Q後面的數值或變數號內的數值減去R後面的數
值或變數號內的數值然後等於到P後面的變數號中.
H04乘指令;格式G65 H04 P#101 Q#102 R#103,把#102的數值乘上#103的數值賦予#1......>>

問題二:宏程序中EQ是什麼意思? 是等於的意思,GT是大於,NE是不等於,GE是大於等於,LT是小於,LE是小於等於,希望對你有幫助

問題三:數控編程宏程序中#1#2……是什麼意思 宏程序中的代號,他好比我們小學學的X(愛克斯),我舉個例子哈。當X=2時,那麼5+X就等於7.如果我在程序中寫上#1=5,那麼下一段只亂槐要讀到#1系統就知道是5了。如果下面有一行程序為G0X[#1+2]Z30. 那麼系統就會把刀具走刀X是7的位置,Z走刀30的位置。如果在指令#1=#1-1的話那麼系統每讀到#1的時候都會在上一個#1的數據減掉1毫米。這就是他的作用,也就是不單單表示一個數據,他還能運用計算來完成一些編程比較麻煩的環境中,希望我的解答能夠使你了解宏!

問題四:宏程序#0什麼意思 詳細點 #0代表的是空變數,不管給#0賦值多少它的變數值都為零.

問題五:宏程序中fix什麼意思 截斷取整。例:fix(3.7)=3
區別於四捨五入取整round,如round(3.7)=4

問題六:誰知道數控宏程序是什麼意思啊? 宏就是用公式來加工零件的,比如說橢圓,如果沒有宏的話,我們要逐點算出曲線上的點,然後慢慢來用直線逼近,如果是個光潔度要求很高的工件的話,那麼需要計算很多的點,可是應用了宏後,我們把橢圓公式輸入到系統中然後我們給出Z坐標並且每次加10um那麼宏就會自動算出X坐標並且進行切削, 實際上宏在程序中主要起到的是運算作用..宏一般分為A類宏和B類宏.A類宏是以G65 Hxx P#xx Q#xx R#xx的格式輸入的,而B類宏程序則是以直接的公式和語言輸入的和C語言很相似在0i系統中應用比較廣.

問題七:宏程序裡面的#j 是什麼意思 #表示變數號,j表示某個數字。

問題八:宏程序里GE GT IF等 那些都是什麼意思啊? 5分 分別是大於等於,大於,如果,有興趣可以網路中國寧波數控交流群
來自UC瀏覽器

問題九:加工中心宏程序#1#2是什麼意思? 這只是一個代號而已,與XY的作用差不多

問題十:宏程序中的then是什麼意思 然後啊,這個一般是跟if一起用的,
if ... then ...
如果解決了您的問題請採納!
如果未解決請繼續追問

『叄』 加工中心宏程序

一、變數
1、變數的表示
FANUC系統使用「#」表示變數,例如:#1、#100等。變數根據變數號可以分成四種類型,見下表。
變數號 變數類型 功能
#0 空變數 該變數總是空,任何值都不能賦給該變數

#1~#33
局部變數 局部變數只能用在宏程序中存儲數據,例如,運算結果。當斷電時,局部變數被初始化為空。調用宏程序時,自變數對局部變數賦值
#100~#109
#500~#999 公共變數 公共變數在不同的宏程序中的意義相同。當斷電時,變數#500~#999的數據保存,即使斷電也不會丟失
#1000以上 系統變數 系統變數用於讀寫CNC運行時的各種數據,例如,刀具當前位置和補償
2、關於變數的說明
(1)變數引用時,為在程序中使用變數值,指定後跟變數號的地址。當用表達式指定變數時,要把表達式放在括弧中,例如,GO X[#1+#2]F#3。式中X後的坐標什即是由#1、#2這兩個變數組成的表達式來表示。
(2)表達式可以用於指定變數號。此時,表達式必須封閉在括弧中,例如,#[#1+#2-12]。
注意:
1) 宏程序中,方括弧用於封閉表達式,圓括弧只表示注釋內容,使用變數時必須注意,FANUC系統通過參數來切換圓括弧和方括弧。
2) 表達式可以表示變數號和變數。這兩者並不一樣,例如,X#[#1+#2]並不等於X[#1+#2]。
3) 當在程序中定義變數時,小數點可以省略。例如,當定義#1=123;變數#1的實際值是123.000。
4) 被引用變數的值根據地址的最小設定單位自動舍入。例如:G00X #1。
5) 改變引用的變數值的符號,要把負號放在「#」的前面。例如:G00X-#1。
6) 當變數值未定義時,這樣的變數成為「空」變數。當引用未定義的變數時,變數及地址字都被忽略。例如,當變數#1的值是0,並且變數#2的值是空時,G00X#1Z#2的執行結果為G00X0。
7) 變數#0總是空變數。它不能寫,只能讀。
二、變數的運算
1、算術、邏輯運算和運算符(見下表)
功能 格式 備注
定義 #i=#j
加法 #i=#j+#k
減法 #i=#j-#k
乘法 #i=#j*#k
除法 #i=#j/#k
正弦 #i=SIN[#j] 角度以度指定。90°30』表示90.5°
反正弦 #i=ASIN[#j]
餘弦 #i=COS[#j]
反餘弦 #i=ACOS[#j]
正切 #i=TAN[#j]
反正切 #i=ATAN[#j]/[#k]
平方根 #i=SQRT[#j]
絕對值 #i=ABS[#j]
舍入 #i=ROUND[#j]
上取整 #i=FUP[#j]
下取整 #i=FIX[#j]
自然對數 #i=LN[#j]
指數函數 #i=EXP[#j]
或 #i=#jOR#k 邏輯運算一位一位地按二進制數執行
異或 #i=#jXOR#k
與 #i=#jEXP#k
從BCD轉為BIN #i=BIN[#j] 用於與PMC的信號交換
從BIN轉為BCD #i=BCD[#j]

2、關於運算符的說明
(1)角度單位
函數SIN、COS、ASIN、ACOS、TAN和ATAN的角度單位是度(°)
(2)上取整和下取整
CNC處理數值運算時,若操作後產生的整數絕對大於原數的絕對值時為上取整;若小於原數的絕對值為下取整。對於負數的處理應小心。
例如:假定#1=1.2,並且#2=-1.2。
當執行#3=FUP[#1]時,2.0賦給#3。
當執行#3=FIX[#1]時,1.0賦給#3。
當執行#3=FUP[#2]時 ,-2.0賦給#3。
當執行#3=FIX[#2]時,-1.0賦給#3。
(3)運算符的優先順序
按優先的先後順序依次是函數→乘和除運算(*、∕、AND、MOD)→加和減運算(+、﹣、OR、XOR)。
(4)括弧嵌套
括弧用於改變運算優先順序。括弧最多可以嵌套使用5級,包括函數內部使用的括弧。
三、功能語句
1、無條件轉移(GOTO)語句——轉移到有順序號n的程序段
格式:
GOTOn ;n指行號
例如:
GOTO1 轉移至第一行
GOTO#10 轉移至變數#10所決定的行
2、運算符(見下表)
運算符 含義 運算符 含義
EQ 等於(=) GE 大於或等於(≥)
NE 不等於(≠) LT 小於(<)
GT 大於(>) LE 小於或等於(≤)

3、條件轉移(IF)語句
(1)IF[表達式] GOTOn
說明:如果指定的條件表達式滿足時,轉移到標有順序號n的程序段;如果指定的條件表達式不32滿足時,則執行下一個程序段。
(2)IF[表達式]THEN
說明:如果表達式滿足,執行預先決定的宏程序語句,且只執行一個宏程序語句。例如,條件語句IF[#1EQ#2]THEN#3=0表示如果#1和#2的值相同,0賦給#3。
4、循環功能(WHILE)語句
格式:WHILE[表達式]DOm ;(m=1,2,3)
……
ENDm
說明:在WHILE後指定一個條件表達式,當指定條件滿足時,執行從DO到END之間的程序;否則,轉到END後的程序段。
提示:通過上述介紹,完全可以藉助系統提供的二次開發功能定製出個性化的宏程序,例如,可以將例4—23中刀具軌跡路徑定製在宏程序中,然後通過G65方式或直接用G代碼調用.常見結構的宏程序定製是有效提高編程效率的手段之一.

『肆』 數控宏程序

現行的數控程序的編制中,主要有兩種編程方式:手工編程和自動編程。雖然自動編程運用得越來越廣泛,但手工編程在某些領域也是不可或缺的一種編程手段。手工編程至少在此以下幾方面有著自己的優勢:其一,熟練的程序員編制的手工程序加工效率高於自動編程;其二,熟悉手工編程,對自動程序的修改是不無裨益的;其三,自動編程的所敲定的走刀路線限制了其加工工藝,通過手工編程能夠得到彌補。
在手工編程過程中,用戶宏程序的編制,能極大提高程序編制的效率,因此,我們在數控教學及訓練過程中,必須把用戶宏程序的編製作為我們數控教學的重要內容之一。從歷年全國數控大賽的試題中也不難發現,用戶宏程序的編制是運用得極其頻繁的。但是,我們很難在目前的教材中找到完整的宏程序的編寫的方法及思路。為此,筆者提出了一整套設計用戶宏程序的方法,通過利用流程圖來設計用戶宏程序,提高了編程的效率。
二、用戶宏程序簡介
用戶宏程序有A、B兩種,A類宏程序用G65指令編寫,其格式如下:
G65 Hm P#i Q#j R#k
其中,m—01~99表示運算命令或轉移命令功能;
#i—存入運算結果的變數名;
#j—進行運算的變數名1,可以是常數,常數直接表示,不帶#;
#k—進行運算的變數名2,也可以是常數。
意義, #i=#j○#k,表示運算符號,常用意義如表1
表1
G代碼
H代碼
功能
定義
G65
H01
賦值
#i=#j
G65
H02
加法
#i=#j+#k
G65
H03
減法
#i=#j-#k
G65
H04
乘法
#i=#j×#k
G65
H05
除法
#i=#j÷#k
G65
H80
無條件轉移
轉向N
G65
H81
條件轉移1
IF #j=#k,GOTO N
G65
H82
條件轉移2
IF #j≠#k,GOTO N
G65
H83
條件轉移3
IF #j>#k,GOTO N
G65
H84
條件轉移4
IF #j<#k,GOTO N
G65
H85
條件轉移5
IF #j≥#k,GOTO N
G65
H86
條件轉移6
IF #j≤#k,GOTO N
G65
H99
產生P/S報警
產生500+1號P/S報警
除此以外,G65指令還可以實現邏輯運算、開平方、取絕對值、三角運算及復合運算等,相關指令見有關書籍,這里不一一介紹。需要指出的是,不同的數控系統,其功能的多少也不一樣,用戶可參考有關系統的說明書。
B類宏程序由控制語句,調用語句所組成。宏程序可以與主程序做在一起,也可以單獨做成一個子程序,然後用G65指令調用。調用方法如下:
G65 P(程序號)〈引數賦值〉或G65 P(程序號) L(循環次數)〈引數賦值〉
所謂引數賦值,是指用A、B、C、D等地址給變數#1、#2、#3、#4等賦值。
B類宏程序的控制指令有三類,與C語言等高級程序設計語言的控制指令很類似。一類是IF語句,格式為:
IF[條件式]GOTO n (n即順序號)
條件式成立時,從順序號為n的程序段往下執行,條件式不成立時,執行下一下程序段;第二類是WHILE語句,格式為:
WHILE[條件式] DO m



END m
條件式成立時,從DO m的程序段到END m的程序段重復執行,條件式不成立時,則從END m的下一程序段執行。
第三類是無條件轉移指令,格式為:GOTO n。
三、運用流程圖編寫用戶宏程序的一般步驟
運用流程圖編寫用戶宏程序的一般步驟為:一分析零件結構,確定宏程序加工的內容,找出加工工藝路線的律;二將零件加工路線規律用流程圖表達出來,並進一步分清楚哪些是程序編制過程中的變數,哪些是常量,從而將一般的流程變成程序流程圖;三根據程序流程圖,編寫零件的加工程序。
四、應用舉例
(一)宏程序應用實例一
如圖1所示,在一根軸上加工N個槽,每個槽的寬度為a1,槽的間距為a2,槽底直徑為b1,棒料直徑b2,並且設所給材料足夠長,試編寫程序加工該零件,現有一零件參數為N=100個槽,槽底直徑b1=30mm,槽寬a1=5mm,工件直徑b2=40mm,間隔a2=2mm,刀寬=3mm,現編寫程序加工。圖11零件工藝過程分析
該零件是一個比較簡單的例子,在壓面機械上用得較多。零件的精度要求不高,為了使程序有更廣泛的適應性,將宏程序做成一個子程序,用主程序來調用實現零件的加工。加工時將坐標原點選擇在如圖所示的位置,X軸離第一個槽的距離為一個間距a2的距離。
零件的加工過程如下將:將刀具移至加工起點→進刀→切削第一個槽→計算下一槽的位置並將刀具移到此位置→加工下一個槽……如此至最後一個槽加工完為止。
將此過程畫成流程圖,如圖2(a)所示。
(a) (b)
圖2
2零件加工過程中所使用的變數
通過分析,要加工該零件,需要如下一些變數:
工件直徑#200= b2
槽底直徑#201= b1
槽寬#202= a1
槽間間隔#203= a2
切槽刀寬度#204
每加工一個槽後,切槽刀在Z軸方向移動的距離#205(等於槽間距加上槽寬)
槽的起點坐標Xs=#206,Zs=#207
槽加工終點的坐標Xf=#208,Yf=#209
計算槽數目的變數#215
加工槽的總數#216
由此畫出編製程序所用的流程圖,如圖2(b)所示。
3根據程序流程圖編製程序
宏程序O9061
N10 G65 H83 P160 Q#204 R#202 如果刀寬大於槽完,則結束
N20 G65 H01 P#215 Q0 計數器變數清零
N30 G65 H02 P#205 Q#202 R#203 計算#205
N40 G65 H02 P#206 Q#200 R5 工件直徑加上5mm作為X方向起點
N50 G65 H02 P#207 Q#203 R#204 槽的間距加上一個刀寬
N60 G65 H01 P#207 Q?#207 取負值後作為第一個槽的Z向起點
N70 G65 H01 P#208 Q#201 槽底直徑作為槽終點的X坐標
N80 G65 H01 P#209 Q?#205 第一個槽終點Z向坐標
N90 G00 X#206 Z#207 M08 定位到槽加工的位置
N100 G75 R1
N110 G75 X#208 Z#209 P2 Q#204 F20 加工槽
N120 G65 H03 P#207 Q#207 R#205 下一個槽起點Z向坐標計算
N130 G65 H03 P#209 Q#209 R#205 下一個槽終點Z向坐標計算
N140 G65 H02 P#215 Q#215 R1 槽計數器加1
N150 G65 H84 P90 Q#215 R#216 判斷槽是否加工完畢
N160 M08
N170 M99 結束
主程序 O0001
N10 G65 H01 P#200 Q40 工件直徑賦值
N20 G65 H01 P#201 Q30 槽底直徑賦值
N30 G65 H01 P#202 Q5 槽寬賦值
N40 G65 H01 P#203 Q2 槽間間隔賦值
N50 G65 H01 P#204 Q3 切槽刀寬賦值
N60 G65 H01 P#216 Q100 槽數賦值
N70 G00 X100 Z100 起刀點位置
N80 M98 P9061 調用宏程序
N90 M30 程序結束
(二)宏程序應用實例二
對於一些大懸伸(加工深度與刀具直徑之比較大)的零件,用普通加工方法總難達到理想效果,此時用插銑法容易保證零件精度,如圖3所示的零件,尺寸80很難保證,用插銑法後獲得了比較好的效果。曾經有工廠做過類似的程序,但程序只是針對零件本身,適應性不強,當零件的尺寸發生變化後,程序還得發生較大修改。筆者針對這種情況,將程序分為主程序和子程序,當零件的尺寸發生變化後,只需要修改主程序即可,非常方便。
1加工工藝分析
傳統加工工藝方法採用多次重復加工。很難消除讓刀,並且造成加工應力,最後由於應力釋放造成零件的內腔變小。為了解決這個問題,我們將加工分為粗加工和精加工,粗加工採用普通的工藝方法,精加工採用插銑。
建立如圖3所示的坐標系,為了保證加工質量,防止劃傷已加工過的表面,編程時避免使用鑽孔循環指令。加工軌跡如圖4所示,在YZ平面內進行以下加工步驟:加工第一刀→沿圓弧退刀→返回Z=3處→沿圓弧進刀→沿X方向移動一個步距→加工第二刀→…。
加工過程中,粗加工尺寸80按79.6加工,而精加工採用宏程序編制高速插銑程序。精加工的具體參數如表2所示
圖3零件圖及坐標系 圖4刀具路徑表2精加工參數
加工方式
加工材料
刀具
步距
設置安全高度
順銑
鋁合金
Φ18整體硬質合金加長球頭刀
0.05
Z=3
2加工流程圖
為增強程序的適應性,本程序刀分為子程序和主程序來編寫,子程序起始位置為(0,0,50),刀具在加工過程中的基本路線是按前面所給出的路線來走刀。
由此畫出加工流程圖如圖5(a)所示。(a) (b)
圖5
3程序所使用的變數及程序流程圖
本程序中所使用的變數如下:
需加工部位X方向的長度:#1;
需加工部位Y方向的長度:#2;
需加工部位Z方向的深度:#3;
X方向的步距:#4;
走刀軌跡中,退(或進)刀時的半徑:#5(本例圖4中的R10);
中間變數:#6、#7、#8、#9
由所確定的變數及加工流程圖,畫出程序流程圖如圖5(b)所示。
4編製程序
子程序:%9001
N10 #1=#1/2 #1變數取1/2作為X坐標
N20 #2=#2/2 #2變數取1/2作為Y坐標
N30 G00 X#1 X方向定位到加工位置
N40 G41 D1 Y#2 Y方向定位到加工位置
N50 G01 Z3 F3000 M08 下降下安全高度,開冷卻液
N60 #6=-(#3-#5) 計算加工終點Z向坐標
N70 #7=#2-2*#5 計算退刀終點Y坐標
N80 G01 Z#6 插銑加工
N90 G02 Y#7 R#5 退刀
N100 G01 Z3 返回
N110 G02 Y#2 R#5 進刀
N120 #8=#8+#4 X方向總加工長度計數
N130 G91 G01 X-#4 X方向走一個步距
N140 IF #8LE#1 GOTO 80 判別第一側是否加工完
N150 G90 Y-#2 移至另一側
N160 G01 Z#6 插銑加工另一側
N180 G02 Y-#7 R#5 退刀
N190 G01 Z3 返回安全高度
N200 G02 Y-#2 R#5 進刀
N210 #9=#9+#4 X方向總加工長度計數
N220 G91 G01 X#4 X方向移動一個步距
N230 IF #9LE#1 GOTO 160 判別另一側是否加工完
N240 G90 G40 G00 X0 Y0 M09 X、Y方向返回起始點
N250 Z50 Z方向返回起始點
N260 M99 宏程序結束
主程序:%1010
N10 T01 選一號刀
N20 M06 換刀
N30 G00 G90 G54 G19 X0 Y0 S5000 M03 定位到起始位置,選擇坐標平面及坐標系,啟動主軸。
N40 G43 H01 Z50 Z方向補償
N60 G65 P9001 A200 B80.05 C90 D0 E0 F0 I0.05 J10 K0 調用宏程序並給相關變數賦值
N70 M05 停止主軸
N80 G49 Z50 Z方向取消補償
N90 M30 程序結束
五、結束語
利用流程圖編制用戶宏程序,思路清晰,所編制的程序適應性好,是一種值得推廣的方法。

『伍』 數控宏程序編程100例 [用戶宏程序的應用]

用戶宏程序是FANUC系統提供的一種變數編程方式,它不同於普通的程序,用戶宏程序允許使用變數、算術和邏輯運算及條件轉移,使得編制相同加工操作的程序更方便,更容易。使用用戶宏時的主要方便之處在於可以用變數代替具體數值,因而在加工同一類的零件時,只需將實際的值賦予變數即可,而不需要對每一個零件都編一個程序。用戶宏程序和普通程序的簡要對比見表1。
一、用戶宏程序的特徵
用戶宏程序的最大特徵有以下幾個方面:
可以在用戶宏程序中使用變數;
可以進行變數之間的運算;
用戶宏命令可以對變數進行賦值。
表1用戶宏程序和普通程序的簡要對比
普通程序 宏程序
只能使用常量 可以使用變數,並給變數賦值
常量之間不可以運算 變數之間可以運算
程序只能順序執行,不能跳轉 程序運行可以跳轉
二、戶宏程序的應用舉例
1. 橢圓加工
加工如圖1所示工件。
圖1橢圓加工
工件右端部分為橢圓曲線,長半軸40mm,簡裂短半軸20mm。採用線段逼近法編製程序,取工件右端面中心處為工件坐標系原點。
橢圓的參數方程為x=x0+acosθ,y=y0+bsinθ(θ為參數),長半軸為40mm,短半軸為20mm,啟始角為0°,終止角為90°。以θ為自變數每次變化0.5,X、Z值為應變數,通過變數運算計算出相應X、Z的值。注意:X項為直徑量編程。為了使程序更加通用,本例使用了以下變數進行運算。
編程時使用以下變數進行運算:#110為橢圓曲線起始角;#111為橢圓曲線各點Z軸坐標;#112為橢圓曲線各點X軸坐標。
參考精加工程序如下:
G01…(將刀具移至橢圓起點)
#110=0(設定自變數的初始值)
N20#111=40*COS[#110](變數運算出Z坐標)
#112=40*SIN[#110](變數運算出X坐標)
G01 X#112 Z#111 F100
#110=#110+0.5(自變數每次增量+0.5)
IF[#110 LE 90]GOTO 20(有條件跳轉攔蘆閉)
G…(橢圓部分加工結束,繼續加工後續部分)
2. 拋物線加工
加工如圖1-2所示工件。
由圖可知,拋物線的方程為Z=-X2/4,則Z=0時,X為0;Z=-6.25時X為5。X=-SQRT[4*Z],以Z值為自變數,每次變化0.1,X值為應變數,通過變數運算計算出相應X的值。注意:X向為直徑量編程。編程時使用以下變數進行運算:#101、#102。
精加工開口向左的拋物線OA外輪廓曲線段程序及分析。
G01 Z0(准備加工拋物線)
#101=0(拋物線起點的Z坐標)
N10#102=-2*SQRT[4*Z]
G01 X#102Z#101 F100
#101=#101-0.1(Z坐標每次增量-0.1)
IF[#101 GE-6.25]GOTO 10(有條件跳轉)
G01…(拋物線加工結束,繼續加工後續部分)
從以上的例子可以看出,宏程序在數控車上的編制並不難,用戶宏程序還有多種功能,如用同一個宏程序加工尺寸不同而類型相同的零件;我們只要知道相關二次曲線的函數表達式,利用宏指令即可編制出相應的加工程序。
在我們的工作過程中,通過「宏」的使用,我們可以大大減少加工程序的指令數,從而使得程序簡單、明了、便於修改,提高了加工的效率,用宏程序編制特殊功能的固定循環指令,實現了特殊的加工,例如:梯形、不等距螺紋的車削課題的加工等。
(作者單位:濟南市技師學院)
註:本文中所涉及到的圖表、註解、公式等內容請以PDF格式閱讀原文
本文為全文原貌 未安裝PDF瀏嘩告覽器用戶請先下載安裝 原版全文

『陸』 加工中心宏程序怎麼用

宏就是用公式來加工零件的,普通加工程序直接用指定G代碼和移動距離,例如:

G01和X100.0。

使用用戶宏程序時,數值可以直接指定或用變數指定,當用變數時,變數值可以用程序或面板操作改變,如:

#1=#2+100; G01 X#1 F300。

(6)宏程序加工一台多少錢擴展閱讀:

宏程序指令適合拋物線、橢圓、雙曲線等沒有插補指令的曲線編程;適合圖形一樣,只是尺寸不同的系列零件的編程;適合工藝路信物徑一樣,只是位置參數不同的系列零件的編程。較大地簡化編程;擴展應用范圍。

宏程序還提供了循環語句、分支語句和子程序調用語句,利於編制各種復雜的零件加工程序,減少乃至免除手工編程時進滑寬液行繁瑣的數值計算,以及精簡程序巧正量。

『柒』 數控車床宏程序怎麼編寫,一般宏程序都加工什麼樣的零件

宏程序一般是在做重復路徑的程序時用,最典型的就是切槽,切墊片等重復的零件會用到
一般是把某個重要數據用變數代數表示,後面在子程序裡面做加減法
如切槽是把Z像坐標用代數表示,如在主程序起點坐標為Z2.,那麼程序可以編時Z=#300,#300=2,然後在子切槽程序里加一段#300=#300-15。
那麼這樣每M99循環一次後定位時Z向就會往裡邊偏15毫米,5毫米的刀那麼切出來的墊片就是10毫米厚。這個你可以在網上下載一些資料看一下,很容易理解的。而且那些很高深的,如乘法,除法,函數....等得應用你剛開始就不要去糾結了,有些難度,但實際工作中基本用不上。你把加減運算弄清楚就可以了,相對來說簡單很多。希望能幫到你

閱讀全文

與宏程序加工一台多少錢相關的資料

熱點內容
紅色產品手機怎麼拍 瀏覽:627
淘寶雙方達到一致交易怎麼取消 瀏覽:105
哪裡可以買到交易貓 瀏覽:64
獨任審判需要什麼程序 瀏覽:662
精選聯盟的產品怎麼在直播間賣 瀏覽:661
長沙南湖寵物市場是哪個街道 瀏覽:651
ug程序怎麼傳到機床上 瀏覽:870
泡沫產品怎麼做出來的 瀏覽:569
如何使用高新技術 瀏覽:555
rs422以什麼方式傳送數據 瀏覽:192
高新技術大學都有哪些 瀏覽:46
如何高效發信息約女生 瀏覽:424
無醛環保產品有哪些 瀏覽:751
企業客戶信息如何做到保密 瀏覽:943
哪些國寶不能交易 瀏覽:736
縣級教體局招聘的人事代理是什麼 瀏覽:160
代理為什麼找下家 瀏覽:274
唐代大商人一般用什麼貨幣交易 瀏覽:952
蘭州職業技術學院怎麼報考 瀏覽:609
為什麼信息都不見了 瀏覽:407