發(fā)那科用戶宏程序資料課件_第1頁
發(fā)那科用戶宏程序資料課件_第2頁
發(fā)那科用戶宏程序資料課件_第3頁
發(fā)那科用戶宏程序資料課件_第4頁
發(fā)那科用戶宏程序資料課件_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

用戶宏程序

雖然子程序對編制相同加工操作的程序非常有用,但用戶宏程序由于允許使用變量、算術和邏輯運算及條件轉移,使得編制相同加工操作的程序更方便,更容易。可將相同加工操作編為通用程序,如型腔加工宏程序和固定加工循環(huán)宏程序。使用時,加工程序可用一條簡單指令調出用戶宏程序,和調用子程序完全一樣。1發(fā)那科用戶宏程序資料(最多999次)2發(fā)那科用戶宏程序資料3發(fā)那科用戶宏程序資料4發(fā)那科用戶宏程序資料一、變量1、變量使用用戶宏程序時,數值可以直接指定或用變量指定。當用變量時,變量值可用程序或用MDI面板上的操作改變。

#1=#2+100;G01X#1F300;2、變量的表示計算機允許使用變量名,用戶宏程序不行。變量用變量符號(#)和后面的變量號指定。表達式可以用于指定變量號。此時,表達式必須封閉在括號中。例如:#1#[#1+#2-12]5發(fā)那科用戶宏程序資料3、變量的類型6發(fā)那科用戶宏程序資料4、變量值得范圍局部變量和公共變量可以有0值或下面范圍中的值:-1047至-10-29

或10-29至10475、變量的引用為在程序中使用變量值,指定后跟變量號的地址。當用表達式指定變量時,把表達式放在括號中。例如:G01X#1F#[#2+#3]7發(fā)那科用戶宏程序資料

被引用變量的值根據地址的最小設定單位自動地舍入。例如:G00X#1,以1/1000mm的單位執(zhí)行時,CNC把12.3456賦值給變量#1,實際指令值為G00X12.346;。改變引用變量的值的符號,要把負號(一)放在#的前面。例如:G00X-#1;當引用未定義的變量時,變量及地址字都被忽略。例如:當變量#1的值是0,并且變量#2的值是空時,G00X#1Y#2的執(zhí)行結果為:G00X0;8發(fā)那科用戶宏程序資料6、未定義的變量變量值未定義時,這樣的變量成為“空”變量。變量#0總是空變量。它不能寫,只能讀。(1)引用9發(fā)那科用戶宏程序資料(2)運算10發(fā)那科用戶宏程序資料(3)條件表達式11發(fā)那科用戶宏程序資料7、限制程序號、順序號和程序跳轉號不能使用變量例如:O#1;N#2G00X100.0/#3Y200.012發(fā)那科用戶宏程序資料二、系統(tǒng)變量1、刀具補償值13發(fā)那科用戶宏程序資料2、時間信息14發(fā)那科用戶宏程序資料3、自動運行控制可以改變自動運行的控制狀態(tài)15發(fā)那科用戶宏程序資料●當電源接通時,該變量的值為0?!癞攩纬绦蚨瓮V篃o效時,即使單程序段開關設為ON,也不執(zhí)行單程序段停止。●當不指定等待輔助功能(M,S和T功能)完成時,在輔助功能完成之前,程序執(zhí)行到下列程序段。而且分配完成信號DEN不輸出。16發(fā)那科用戶宏程序資料17發(fā)那科用戶宏程序資料●當電源接通時,該變量的值為0?!癞斶M給暫停無效時:(1)當進給暫停按鈕被按下時,機床在單段停止方式停止。但是。當用變量#3003使單程序段方式無效時,單程序段停止不執(zhí)行。(2)當進給暫停按鈕壓下又松開時,進給暫停燈亮,但是,機床不停止;程序繼續(xù)執(zhí)行,并且機床停在進給暫停有效的第一個程序段?!癞斶M給速度倍率無效時,總是100%的倍率,而不管機床操作面板上的進給速度倍率開關的設置?!癞敎蚀_停止檢測無效時,即使那些不執(zhí)行切削的程序段也不進行準確停止檢測(位置檢測)。18發(fā)那科用戶宏程序資料攻絲循環(huán)中使用變量3004的例子N5N719發(fā)那科用戶宏程序資料4、已加工的零件數20發(fā)那科用戶宏程序資料5、當前位置(只讀)21發(fā)那科用戶宏程序資料●圖中第1位代表軸號(從1到4)?!褡兞?5081—#5084存儲的刀具長度偏置值是當前的執(zhí)行值,不是后面的程序段的處理值。●在G31(跳轉功能)程序段中跳轉信號接通時的刀具位置貯存在變量#5061到#5068中。當G31程序段中的跳轉信號不接通時,這些變量中貯存指定程序段的終點值。●移動期間不能讀是指由于緩沖(預讀)功能的原因,不能讀期望值.22發(fā)那科用戶宏程序資料6、工件坐標系補償值(工件零點偏移值)23發(fā)那科用戶宏程序資料24發(fā)那科用戶宏程序資料三、算術和邏輯運算

下列的運算可以在變量中執(zhí)行。運算符右邊的表達式可包含常量和/或由函數或運算符組成的變量。表達式中的變量#j和#k可以用常數賦值。左邊的變量也可以用表達式賦值。1、(定義)賦值:#i=#j;2、加法:#i=#j+#k3、減法:#i=#j-#k4、乘法:#i=#j*#k5、除法:#i=#j/#k25發(fā)那科用戶宏程序資料6、正弦:#i=SIN[#j];7、反正弦:#i=ASIN[#j];8、余弦:#i=COS[#j];角度以度指定9、反余弦:#i=ACOS[#j];90°30′表示為10、正切:#i=TAN[#j];90.5度11、反正切:#i=ATAN[#j]/[#K];12、平方根:#i=SQRT[#j];13、絕對值:#i=ABS[#j];14、舍入:#i=ROUND[#j];15、上取整:#i=FUP[#j];16、下取整:#i=FIX[#j];17、自然對數:#i=LN[#j];y=lnx18、指數函數:#i=EXP[#j];y=ex26發(fā)那科用戶宏程序資料19、或:#i=#jOR#k;20、異或:#i=#jXOR#k;按位執(zhí)行21、與:#i=#jAND#k;22、從BCD轉為BIN#i=BIN[#j];23、從BIN轉為BCD#i=BCD[#j];注:①ARCSIN#i=ASIN[#j]取值范圍當No.6004.0=0時:270°~90°No.6004.0=1時:-90°~90°②ARCCOS#I=ACOS[#j]取值范圍

180°~0°27發(fā)那科用戶宏程序資料π/20-π/21-1π3π/2π/20-111-10π/2π28發(fā)那科用戶宏程序資料③ARCTAN#i=ATAN[#j]/[#K];取值范圍當No.6004.0=0時:0°~360°No.6004.0=1時:-180°~180°3π/2π/22ππ0π/2-π/2π-π0第一象限第二象限第四象限第一象限第二象限第三象限第三象限第四象限0~-π0~π0~2π29發(fā)那科用戶宏程序資料④ROUND函數●在邏輯運算指令IF、WHILE中,ROUND函數在第一個小數位四舍五入。例如#2=1.2345;#1=ROUND[#2];變量1的值是1.0●在NC語句地址中,ROUND函數根據地值得最小設定單位指定四舍五入。例如#1=1.2345;#2=2.3456;G00G91X-#1;G01X-#2F300;G00X[#1+#2];1.2345+2.3456=3.5801=3.580不返回到初始位置或G00X-[ROUND[#1]+ROUND[#2]]1.235+2.346=3.581刀具返回到初始位置30發(fā)那科用戶宏程序資料⑤上取整和下取整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賦給#331發(fā)那科用戶宏程序資料⑥運算次序函數→乘、除(*、/、AND)→加、減(+、-、OR、XOR)⑦括號嵌套(方括號[],圓括號用于說明)括號用于改變運算次序,可以使用5級。32發(fā)那科用戶宏程序資料四、宏程序語句和NC下面的程序段為宏程序語句:●包含算術或邏輯運算(=)的程序段。●包含控制語句(例如,GOTO,DO,END)的程序段?!癜瓿绦蛘{用指令(例如,用G65,G66,G67或其它G代碼,M代碼調用宏程序)的程序段。除了宏程序語句以外的任何程序段都為

NC語句。33發(fā)那科用戶宏程序資料說明●與NC語句的不同①即使置于單程序段運行方式,機床也不停止。但是,當參數No.6000.5SBM設定為1時,在單程序段方式中,機床停止。②在刀具半徑補償方式中宏程序語句段不做為不移動程序段處理。34發(fā)那科用戶宏程序資料●

與宏程序語句有相同性質的NC語句①含有子程序調用指令(例如,用M98或其它M代碼或用T代碼調用子程序)句②不包含O.N.P或L以外的指令地址的程序段其性質與宏程序語句相同。35發(fā)那科用戶宏程序資料五、轉移和循環(huán)

使用GOTO語句和IF語句可以改變控制的流向。有三中轉移和循環(huán)可供使用。

GOTO無條件轉移

IF條件轉移

WHILE當型循環(huán)1、無條件轉移

GOTOn;n為順序例如:GOTO1;GOTO#10;36發(fā)那科用戶宏程序資料2、條件轉移

IF[<條件表達式>]GOTOn

例如:IF[#1GT10]GOTO2

程序

N2G00G91X10.0IF[<條件表達式>]THEN<表達式>

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

運算符:EQ等于(=)NE不等于(≠)GT大于(>)GE大于等于(≥)LT小于(<)LE小于等于(≤)

條件不滿足條件滿足37發(fā)那科用戶宏程序資料例:求1~10的總和。

O9000;#1=0;

#2=1;N1IF[#2GT10]GOTO2;#1=#1+#2;#2=#2+1;GOTO1;N2M30;38發(fā)那科用戶宏程序資料3、循環(huán)

WHILE[<條件表達式>]DOm;程序;

ENDm;

程序;說明:①m=1,2,3,可以多次使用。②最多嵌套三層。③省略WHILE,則產生從DO到END的無限循環(huán)。④WHILE比GOTO處理快。條件滿足條件不滿足39發(fā)那科用戶宏程序資料標號可以多次使用:WHILE[…]DO1;

程序;END1;﹕WHILE[…]DO1;

程序;END1;可以嵌套3層:WHILE[…]DO1;﹕WHILE[…]DO2;﹕WHILE[…]DO3;

程序;END3;﹕END2;﹕END1;可以跳到循環(huán)外邊:WHILE[…]DO1;IF[…]GOTOn;END1;N140發(fā)那科用戶宏程序資料DO的范圍不能交叉:WHILE[…]DO1;

程序;WHILE[…]DO2;﹕END1;

程序;END2;轉移不能進入循環(huán)區(qū):IF[…]GOTOn;﹕WHILE[…]DO1;N1…;END1;41發(fā)那科用戶宏程序資料六、宏程序調用宏程序調用方法:①非模態(tài)調用(G65)②模態(tài)調用(G66、G67)③用G代碼調用宏程序④用M代碼調用宏程序⑤用M代碼調用子程序⑥用T代碼調用子程序42發(fā)那科用戶宏程序資料1、非模態(tài)調用(G65)格式:G65PpLl<自變量指定>

其中:p:要調用的程序號

l:重復次數(默認值為1)自變量:數據傳遞到宏程序,其值被賦值到相應的局部變量,有兩種指定形式。43發(fā)那科用戶宏程序資料

地址變量號

地址變量號

地址變量號ABCDEFH#1#2#3#7#8#9#10IJKMQRS#4#5#6#13#17#18#19TUVWXYZ#20#21#22#23#24#25#26自變量指定Ⅰ注:每個字母只指定一次,可以不按順序,但I、J、K需按順序指定。44發(fā)那科用戶宏程序資料

地址變量號

地址變量號

地址變量號ABCI1J1K1I2J2K2I3J3#1#2#3#4#5#6#7#8#9#10#11K3I4J4K4I5J5K5I6J6K6I7#12#13#14#15#16#17#18#19#20#21#22J7K7I8J8K8I9J9K9I10J10K10#23#24#25#26#27#28#29#30#31#32#33自變量指定Ⅱ45發(fā)那科用戶宏程序資料

自變量指定Ⅰ、Ⅱ混合。CNC內部能夠自動識別自變量指定Ⅰ、Ⅱ,后指定的有效。例如:G65A1.0B2.0I-3.0I4.0D5.0P1000;

則#1=1.0#2=2.0#3#4=-3.0#5=#6#7=4.0#7=5.046發(fā)那科用戶宏程序資料調用嵌套和局部變量的級別:可以嵌套4級。主程序局部變量(0級)1﹕

#1#33(1級)2﹕

#1#33(2級)3﹕

#1#33(3級)4﹕

#1#33(4級)5﹕

#1#33O001;﹕#1=1;G65P2A2;﹕﹕M30;O002;﹕#1=2;G65P3A3;﹕﹕M99;O003;﹕#1=3;G65P4A4;﹕﹕M99;O004;﹕#1=4;G65P5A5;﹕﹕M99;O005;﹕#1=5;﹕﹕M99;(0級)宏程序(1級)宏程序(2級)宏程序(31級)宏程序(4級)47發(fā)那科用戶宏程序資料例:如圖所示,編制一個宏程序加工圓上的孔,孔深為Z。圓周的半徑為I,起始角為A,間隔為B,鉆孔數為H,圓的中心是(X,Y)。(X,Y)1000BBBB50YX48發(fā)那科用戶宏程序資料調用格式:

G65P9100XxYyZzRrIiAaBbHh;X:圓心的X坐標(#24)Y:圓心的Y坐標(#25)Z:孔深(#26)R:快速趨近點坐標(#18)F:切削進給速度(#9)I:圓半徑(#4)A:第一孔的角度(#1)B:增量角(指定負值時為顧時針)(#2)H:孔數(#11)49發(fā)那科用戶宏程序資料主程序:O002;G90G92X0Y0Z100;G65P9100X100Y50R30Z-50F500I100A0B45H5;M30;50發(fā)那科用戶宏程序資料宏程序:

O9100;

#3=#4003;儲存03組G代碼

G81Z#26R#18F#9K0;鉆孔循環(huán),也可以使用L0IF[#3EQ90]GOTO1;在G90方式轉移到N1#24=#5001+#24;計算圓心的X坐標

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

N1WHILE[#11GT0]DO1;直到剩余孔數為0#5=#24+#4COS[#1];計算X軸上的孔位

#6=#25+#4SIN[#1];計算Y軸上的孔位

G90X#5Y#6;移動到目標位置之后執(zhí)行鉆孔

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

#11=#11-1;孔數-1END1;

G#3G80;返回原始狀態(tài)的G代碼

M99;51發(fā)那科用戶宏程序資料2、模態(tài)調用(G66)格式:G66PpLl<自變量指定>

其中:p:要調用的程序號

l:重復次數(默認值為1)自變量:數據傳遞到宏程序

G67取消模態(tài)調用。注:嵌套可以4級;在G66程序段中,不能調用多個宏程序在只有輔助功能無移動指令的程序段中不能調用宏程序;局部變量只能在G66程序段中指定,每次執(zhí)行模態(tài)調用時,不再指定局部變量。52發(fā)那科用戶宏程序資料O0001;﹕G66P9100L2A1.0B2.0;G00G90X100.0;Y200.0X150Y300;G67;﹕M30;O9100;﹕G00Z-#1;G01Z-#2F300;﹕﹕M99;53發(fā)那科用戶宏程序資料例:用宏程序編制G81固定循環(huán)的操作第1步第2步第3步第4步Z=0R點ZR初始平面I點54發(fā)那科用戶宏程序資料G65P9110XxYyZzRrFfL1X:孔的X坐標(由絕對值指定)(#24)Y:孔的Y坐標(由絕對值指定)(#25)Z:Z點坐標(由絕對值指定)(#26)R:R點坐標(由絕對值指定)(#18)F:切削進給速度(#9)L:重復次數55發(fā)那科用戶宏程序資料主程序:O001;G92X0Y0Z50;G00G90X100Y50;G66P9110Z-20R1F500;G90X20Y20;X50;Y50;X0Y80;G67;M30;56發(fā)那科用戶宏程序資料宏程序:O9110;#1=#4001;儲存G00/G01#2=#4003;儲存G90/G91#3=#4019;儲存切削進給速度#5=#5003;儲存鉆孔開始的Z坐標G00G90Z#18;定位在R點G01Z#26F#9;切削進給到Z點IF[4010EQ98]GOTO1;返回到I點G00#18;定位在R點GOTO2;N1G00Z#5;定位在I點N2G#1G#2G#3;恢復模態(tài)信息。M99;57發(fā)那科用戶宏程序資料3、用G代碼調用宏程序在參數(No.6050到No.6059)中設置調用用戶宏程序(O9010到O9019)的G代碼號(從1到9999),調用方法同G65.

注:不能嵌套!58發(fā)那科用戶宏程序資料程序號參數號O9010O9011O9012O9013O9014O9015O9016O9017O9018O90196050605160526053605460556056605760586059參數號和程序號之間的對應關系:59發(fā)那科用戶宏程序資料O0001;﹕G81X10Y20Z-10﹕M30;O9010;﹕﹕M99;參數No.6050=8160發(fā)那科用戶宏程序資料4、用M代碼調用宏程序在參數(No.6080到No.6089)中設置調用用戶宏程序(O9021到O9029)的M代碼號(從1到9999),調用方法同G65.

注:不能嵌套!61發(fā)那科用戶宏程序資料程序號參數號O9020O9021O9022O9023O9024O9025O9026O9027O9028O90296080608160826083608460856086608760886089參數號和程序號之間的對應關系:62發(fā)那科用戶宏程序資料O0001;﹕G50A1B2;﹕M30;O9020;﹕﹕M99;參數No.6080=5063發(fā)那科用戶宏程序資料5、用M代碼調用子程序在參數(No.6071到No.6079)中設置調用用戶宏程序(O9001到O9009)的M代碼號(從1到9999),調用方法同M98.

64發(fā)那科用戶宏程序資料程序號參數號O9001O9002O9003O9004O9005O9006O9007O9008O9009607160726073607460756076607760786079參數號和程序號之間的對應關系:65發(fā)那科用戶宏程序資料O0001;﹕M03;﹕M30;O9001;﹕﹕M99;參數No.6071=0366發(fā)那科用戶宏程序資料6、用T代碼調用子程序設置參數No.6001的第5位TCS=1,當加工程序中指定T代碼,可以調用宏程序O9000。在加工程序中指定的T代碼賦值到公共變量#149中。67發(fā)那科用戶宏程序資料O0001;﹕T23;﹕M30;O9000;﹕﹕M99;參數No.6001的5位=1#149=2368發(fā)那科用戶宏程序資料69發(fā)那科用戶宏程序資料使用以下保持型變量:

#502:半徑r;

#503:起始角度α;

#504:孔數n,當n>0時,按逆時針方向加工,當n<0時,按順時針方向加工;

#505:孔底Z坐標值;

#506:R平面Z坐標值;

#507:F進給量。70發(fā)那科用戶宏程序資料使用以下變量進行操作運算:

#100:表示第i步鉆孔的記數器;

#101:記數器的最終值(為n的絕對值)#102:第i個孔的角度位置的值;

#103:第i個孔的X坐標值;

#104:第i個孔的Y坐標值;71發(fā)那科用戶宏程序資料O9010

N110G65H01P#100Q0

N120G65H22P#101Q#504

N130G65H04P#102Q#100R360

N140G65H05P#102Q#102R#504

N150G65H02P#102Q#503R#102

N160G65H32P#102Q#502R#102

N170G65H31P#104Q#502R#102

N180G90G00X#103Y#104)

N190G00Z#506

N200G01Z#505F#507

N210G00Z#506

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論