20專業數控(kòng)龍門製造經驗

專(zhuān)業研發、生產、銷售數控龍門心

tg1203@foxmail.com

新聞

新聞(wén)

您的位置: 首 頁 > 新(xīn)聞動態 > 公司(sī)新聞

新聞中心news

全國服(fú)務熱線

tg1203@foxmail.com

FANUC宏(hóng)程(chéng)序(xù)編程必備知(zhī)識

時間:2021-04-01    點擊數:

運算符:

運算(suàn)符(fú)由2個字母組成(chéng),用於兩個值的比較,以決定它(tā)們是相等還(hái)是一個值小於或大於另一個值。注意,不能使用不等號

運(yùn)算符

含義

EQ

等於(=

NE

不等於

GT

大於

GE

大於或等於

LT

小於

LE

小於或等於

示例程序

下麵的程序計算數值1~10的總和

O9500

#1=0…………………………存(cún)儲和的變量初值

#2=1…………………………被加數變量的初值

N1 IF[#2GT 10]GOTO 2……當(dāng)被加數大於10時轉(zhuǎn)移到N2

#1=#1+#2…………………計算和

#2=#2+#1…………………下一個被加(jiā)數

GOTO 1……………………轉移到N1

N2 M30............................程(chéng)序結束


算術和邏輯運算:

功能

格式

備注

定義(yì)

#i=#j:


加法(fǎ)

#i=#j+#k


減(jiǎn)法

#i=#j-#k

乘法

#i=#j*#k

除法

#i=#j/#k

正弦

#i=SIN[#j]:

角(jiǎo)度以度指定09030分表示為90.5

反正弦

#i=ASIN[#j]:

餘弦

#i=COS[#j]:

反餘弦

#i=ACOS[#j]:

正切

#i=TAN[#j]:

反正(zhèng)切(qiē)

#i=ATAN[#j]:

平方根

#i=SQRT[#j]:


絕對值

#i=ABS[#j]:

舍入

#i=ROUND[#j]:

上取(qǔ)整

#i=FIX[#j]:

下取整

#i=FUP[#j]:

自然數對數

#i=LN[#j]:

指數函(hán)數

#i=EXP[#j]:

#i=#jOR#k:

邏輯(jí)運算一位一位地按二進製數執行

異或

#i=#jXOR#k:

#i=#jAND#k:

BCD轉為BIN  

#i=BCD#j

用於與PMC的信號交換

BIN轉為BCD

#i=BCD#j



角度單位:

SINASINCOSACOSTANATAN的(de)角度單位是度

ARCSIN#i=ASIN[#j]:  

●取值範圍如(rú)下:當參數(N0.60040NAT位設為0時,270~90度;當參數(N0.60040NAT位設為1時,-90~90度。

  #j超過(guò)-11的範圍時,發出P/S報警N0.111

  常數可替代變量#j

ARCCOS#i=ACOS[#j]

  取值範圍從180~0度。

  #j超過-11的範圍時,發出P/S報警N0.111

  常數可替代變量#j

ARCTAN#i=ATAN[#j]

  指定兩邊的(de)長度,並用斜杠(/)分開

  取值範圍如下:當參數(N0.60040NAT位設為0時(shí),0~360[例(lì)如:當指定#i=ATAN[-1]/[-1];時,#1=225]。當參(cān)數(N0.60040NAT位設為1時,-180~180[例如:當指定#i=ATAN[-1]/[-1];時,#1=-135]

  常數可替代變量#j

自然對數#i=LN[#j]

     注意,相對誤差可能大於10-8

  當反對數(#j)為0或(huò)小於0時,發出報警N0.111

  常數可(kě)替代變量#j

指數函數#i=EXP[#j]:

     注意,相對(duì)誤差可能大於10-8

  當運算結(jié)果超過3.65×1047j大約是110)時,出現溢出報警N0.111

  常數可替代變量#j

上取整下取整:

CNC處理數值運算時,若操作後產生整數絕對值大於原數的(de)絕對值(zhí)時為(wéi)上取整;小於為下取整。例如:

假設#1=1.2#2=-1.2。當執行#3=FUP[#1]時,2.0賦給#3;當執行#3=FIX[#1]1.0賦給(gěi)#3;當執(zhí)行#3=FUP[#2]時,-2.0賦給#3;當執行#3=FIX[#2]時,-1.0賦給#3

宏程序語句:包(bāo)含算術或邏輯(jí)運算(=)的程序(xù);包含控製語句(例如,用GOTODOEND)的程序;包含宏程(chéng)序調用指(zhǐ)令(例如,用G65G66G67或其它(tā)G代碼,M代碼調用宏程序)的程序(xù)段;除宏程(chéng)序以外任(rèn)何程序段都為NC語句。

NC語句的不(bú)同:

即使置於單段程序運行方式,機床也不停止。但是,當參數N0.6000#5SBM設定位、為1時,在單段程序方式(shì)中,機床停止。在刀具半徑補償方式(shì)中宏程序語句段(duàn)不做為移動程序段處理

與宏程序語句相同性質(zhì)的NC語句:

含有子程序調用指令(例如,用M98或其它M代碼或用T代碼調用子程序(xù))但沒(méi)有除ONPL地(dì)址之外的其它(tā)地址(zhǐ)指令的NC語句,其性(xìng)質與宏程序(xù)語句相同;不包含除ONPL以外的指令地址的程序段(duàn)其性(xìng)質與宏程序語句相同。

無限循(xún)環;

當指定DO而沒有(yǒu)指(zhǐ)定WHILE語句時,產生從DOEND的無限循環。

圖片

宏程序調用和子程序調用之(zhī)間的差別:

宏程(chéng)序調用(yòng)(G65)不同於子程序調用(G98),如下(xià)所述:

  G65,可以指定自變量(liàng)(數據傳送到宏程序)。M98沒有該功能。

  M98程序段包含另一(yī)個NC指令(例如。G01.X100.0M98PP)時,在指令執行之後調用子程(chéng)序。相反(fǎn),G65無條件的調用子程序。

  M98程序段包含另一個NC指令(lìng)(例如,G01X100.0M98PP)時在(zài)單程序方式中,機床停止。相反,G65機床不停止。

  G65,改(gǎi)變局部變量的級別。用M98,不改變局部變量的級(jí)別。

G65P-L -(自變量指定);P:要調(diào)用的程序;L:重複次數;自變(biàn)量:數據傳(chuán)遞到宏程序

自變(biàn)量指(zhǐ)定Ⅰ

地址

變量號


地址

變量號


地址

變量號

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

地址GLNOP不能在自變量中使(shǐ)用

不需要指定的(de)地址可以省,對於省的地址的局部變量(liàng)為空

地址不需要按字母順序指(zhǐ)定(dìng)。但應符合字地址的(de)格式(shì)。IJK需要按字母的順序指(zhǐ)定

自變量指定Ⅱ

A

#1


K3

#12


J7

#23

B

#2

I4

#13

K7

#24

C

#3

J4

#14

I8

#25

I1

#4

K4

#15

J8

#26

J1

#5

I5

#16

K8

#27

K1

#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

IJK的下標用於確定自變量指定的(de)順序,在實際編程中不寫。

G65P-X-Y-Z-R-F-I-A-B-H-

X:圓心的X坐標(絕對值或增量值指定(dìng))(#24

Y:圓心的Y坐標(絕對值或增量值指定)(#25

Z:孔深(#26);R:趨近點坐標(#18

F:切削進給速度(#9);I:圓半徑(#4

A:第一孔的角度(#1

B:增量角(指定負(fù)值時(shí)為逆時(shí)針(zhēn))(#2

H:孔數(#11

微信圖片_20210401183756.jpg

宏程序調用程序:O0002

G90G92X0Y0Z100.0

G65P9100X100Y50R30Z-50F500I100A0B45H5

M30

被(bèi)調用的宏(hóng)程序:O9100

#3=#4003........................... 儲存03組的G代碼

G81Z#26R#18F#9K0........(注(zhù))鑽孔循環;注:也可以(yǐ)使用L0

IF[#3EQ90]GOTO1..........G90方(fāng)式轉移(yí)到N1

#24=#5001+#24.................計算圓心的X坐標

#25=#5002+#25.................計算圓心的Y坐標

N1WHILE[#11GT0]DO 1.....直到剩餘孔數為0

#5=#24+#4*COS[#1]..........計算X軸上的孔位

#6=#25+#4*SIN[+1]...........計算Y軸上(shàng)的孔位

G90X#5Y#6........................移動到坐(zuò)標位置之後執行鑽(zuàn)孔

#1=#1+#2.............................更新角度

#11=#11-1...........................孔數-1

END 1

G#3G80...............................返(fǎn)回原始狀態G代(dài)碼

M99

變量的含義:#3:儲存(cún)03組的G代碼;#5:下個孔(kǒng)的X坐標:#6:下個孔的Y坐標

摸態調用G66

G66P-L-

P:要調用的程序;L:重複次數;自變量(liàng):數據傳(chuán)遞到宏程(chéng)序

自變(biàn)量指定Ⅰ


變量類型:

變量號

變量類型(xíng)

功能

#0

空變量

該變量總是空(kōng),沒有值能賦給該(gāi)變量

#1~#33

局部變量

局部變量隻能(néng)用於宏程序中存在存儲數(shù)據量(liàng)。例如(rú),運算結果。當斷電時,局部變量被初始化為空(kōng)。調用宏程序時,自變量對局不變量賦值

#100~#199#500~#999

公共變量

公共變量在不同宏程序中的意義相同。當斷電時(shí),變量(liàng)#100#199初始化為空;當(dāng)斷電時,變量(liàng)#500#999的數據保存,即使斷電也不丟(diū)失

#1000

係統變量

係統變量用於讀和寫CNC的各種數據(jù),例如,刀具的當(dāng)前位置和補償值

局部變量和(hé)公共變量可以為0值或下(xià)麵範圍中的值:-1047到(dào)-10-29或(huò)10-291047

宏程序報警的係統變量:

變量號

功能

#3000

當變量#3000的值為0~200時,CNC停止運行且報警。

可在表達式後指定不超過26個字符的報警信息。

LCD屏幕上顯示報警號和報警信息,其中(zhōng)報警號為變量#3000的值加上3000


接口信號(hào)的係統變(biàn)量:

(參數(shù)N0.6001#0MIF=0時)

變量號(hào)

功能

#1000#1015#1032

16位(wèi)信號從PMC送到用戶宏程序,變量#1000#1035用於按位(wèi)讀取信號,變量#1032,用於一次(cì)讀取16位(wèi)信號

#1100#1115#1132

32位信號從用戶宏程序送到(dào)PMC。變量#1100#1135用於按位寫信號。變量#1032用於(yú)一(yī)次讀取16位信號

#1133

變量#1133用於從用戶宏(hóng)程序一次(cì)寫一個32位信號到PMC。注意,#1133的值為-99999999+99999999

(參數N0.6001#0MIF=1時)

變量號

功能

#1000~#1301

32位信號從PMC送到用戶宏程序,變量#1000#1031用於按位讀取信號

#1100#1131

32位信號從用戶宏程序送到(dào)PMC。變量#1100#1131用於按位寫信(xìn)號

#1032#1035

32位信號(hào)從PMC統一輸出到用戶宏程序的(de)變量(liàng)。隻能(néng)在-99999999~+99999999的範圍(wéi)內輸入

#1132#1135

把(bǎ)32位信號統一(yī)寫入到用戶(hù)宏程序(xù)的變量。隻能在-99999999~+99999999的範圍內指定

自動運(yùn)行控製(#3003

#3003

單程序段(duàn)

輔助功能的完成

0

有效

等待

1

無效

等(děng)待

2

有效

不等(děng)待

3

無效

不等待

當電源(yuán)接通時,該變量的值為0。當單程序段停止無效時,即使單(dān)程(chéng)序段(duàn)開關(guān)設為ON,也不執行程序段停止(zhǐ)。當指定不等待輔助功能(MST功能)完成時,在輔助功能完成之前,程序即執行到下一程(chéng)序段。而且分配完成信號DEN不輸出。

微信圖片_20210401183837.png


位置信息係(xì)統變量

變量號

位置信息

坐標係

刀具補償值

運行時的讀操(cāo)作

#5001#5003

程序段終止

工件坐標係

不包(bāo)含

可能

#5021#5023

當前位置

機床坐標係

包含

不可能

#5041#5043

當前位置

工件坐標(biāo)係

#5061#5063

跳轉信息位置

可(kě)能

#5081#5083

刀具長(zhǎng)度補償值



不可能

#5101#5103

伺服位置誤差



第(dì)1位代(dài)表軸號(1~3);

變量#5081~#5083存儲的刀具長度補償值是(shì)當前的執行值,不是後麵程序的處理值;

G31(跳轉功能)程序段中跳(tiào)轉信號接通時的刀具位置儲存在變量#5061#5064中。當G31程序段中的跳轉信號未接通時,這(zhè)些變量中(zhōng)儲存指定程序段的終點值。

移動期間不能讀是指由於緩衝(預讀)功能的原因,不能讀取期望值。

G65P9110X-Y-Z-R-F-L-

X:圓心的X坐(zuò)標(絕對值指定)(#24

Y:圓心的Y坐標(絕對值指定)(#25

Z:孔深(#26)(絕對值指定);

R:趨近點坐標(絕對值指定)(#18

F:切(qiē)削進給(gěi)速度(#9);

L:重複(fù)次數

使用係統變量時的注意事項

含義

讀寫

變量號

注(未指(zhǐ)定禁止緩衝的M代碼或G53程序段時)

接口信號

#100#1015#1032

宏語句讀入緩衝後(hòu)讀入數據

#1100#1115#1132

宏語句讀入(rù)緩(huǎn)衝(chōng)後寫入數據

刀具補償值

#10001-

宏語句讀入緩(huǎn)衝後寫入數據(jù)

宏報警

#3000

在宏語句前最多兩個程序段(duàn)處產生報警

送出(chū)信息的同時(shí)程序停止

#3006

在宏語句前最(zuì)多(duō)兩個程序段處產生停止(zhǐ)

時間信息

讀寫(xiě)

#3001#3002

宏語句讀入緩衝後讀寫(xiě)入數(shù)據

#3011#3012

宏語句讀入緩衝後讀入數(shù)據

自動運行控製

#3003#3004

在宏語句前最多兩個程序段處設定數據

設定

#3005

宏語句讀入緩衝後寫入數(shù)據

鏡像

#3007

宏語句讀入緩衝後讀入數據

當前選擇追加工件坐標係

讀(dú)

#4130P#4014G54-G59

在宏語句前最多三個程序段處讀(dú)入數據

當前位置(機床坐標係

#5021-#5023

讀入移動中的(de)不確定位置

當前位置(工件坐標係)

#5021-#5023

讀入移動中的不確定位置(zhì)

刀長偏置

#5021-#5023

讀入當前程序段(duàn)的偏(piān)置量

位置(zhì)偏差

讀(dú)

#5021-#5023

讀入移動中的不正確偏差(chà)

工件零點偏置值(zhí)

#5021-#5023#5021-#5023

宏語句讀(dú)入(rù)緩衝後寫入數據



本文網址:http://www.lafaxx.com/news/392.html

沒(méi)找到(dào)想要的產品?歡迎免費谘詢9i制作厂电影(men)的工程師。

大型龍門(mén)加(jiā)工中心係列 在線谘(zī)詢

設備定製 | 設備報價 | 購買谘詢 | 售後(hòu)谘詢
首頁 電話谘詢 留言
网站地图 9i制作厂电影_9I果冻制作厂_9I电影制作厂_9I看片成人免费