版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
重慶科創(chuàng)職業(yè)學(xué)院項(xiàng)目十九宏程序的編制[學(xué)習(xí)目標(biāo)]
1.學(xué)會(huì)數(shù)控車床用戶宏程序的編制。
2.學(xué)會(huì)數(shù)控車床用R參數(shù)編制程序。[學(xué)習(xí)重點(diǎn)] 編程中變量使用、賦值、運(yùn)算、轉(zhuǎn)移[學(xué)習(xí)難點(diǎn)] 編程中變量使用、賦值、運(yùn)算、轉(zhuǎn)移一、基本知識(shí)學(xué)習(xí)
FANUC0i-MATE-TC系統(tǒng)具備宏程序功能。宏程序通過(guò)編輯其本體變量來(lái)改變刀具路徑和刀具位置,特別適合圖形一樣,只是尺寸不同的系列零件的編程和工藝路徑一樣,只是位置數(shù)據(jù)不同的系列零件的編程,還能用于拋物線、橢圓、雙曲線等沒(méi)有插補(bǔ)指令的曲線的編程。宏程序的使用不僅使得手工編程效率大大提高,更是拓寬了機(jī)床的使用范圍,使數(shù)控手工編程更加靈活。在SIMENS802D系統(tǒng)中具有R參數(shù)編程功能,其作用與FANUC0i-MATE-TC系統(tǒng)的宏程序類似。(一)FANUC0i-MATE-TC系統(tǒng)的用戶宏程序含有變量的子程序叫做用戶宏程序,在程序中調(diào)用用戶宏程序的那條指令叫用戶宏指令(G65)。
1.變量用一個(gè)可賦值的代號(hào)代替具體的坐標(biāo)值,這個(gè)代號(hào)就稱為變量。變量又分為系統(tǒng)變量、公共變量和局部變量三類,它們的性質(zhì)和用途各不相同。
(1)系統(tǒng)變量這是固定用途的變量,它的值決定了系統(tǒng)的狀態(tài)。FANUC中的系統(tǒng)變量為#1000~#1015、#1032、#3000等。
(2)公共變量是指在主程序內(nèi)和由主程序調(diào)用的各用戶宏程序內(nèi)公用的變量。FANUC中共有600個(gè)公共變量,它們分兩組,一組是#100~#199;另一組是#500~#999.當(dāng)斷電時(shí),變量#100-#199初始化為空,變量#500-#999的數(shù)據(jù)保存,即使斷電也不丟失.
(3)局部變量指局限于在用戶宏程序內(nèi)使用的變量。同一個(gè)局部變量在不同的宏程序內(nèi)其值是不通用的。FANUC系統(tǒng)有33局部變量,分別為#1-#33。FANUC局部變量賦值(部分)對(duì)照表見(jiàn)表1-19-1。2.變量的演算
(1)加減型運(yùn)算加減型運(yùn)算包括加、減、邏輯加和排它的邏輯加。分別用以下四個(gè)形式表達(dá):
#i=#j+#k#i=#j-#k#i=#jOR#k#i=#jXOR#k式中,i、j、k為變量;+、一、OR、XOR稱為演算子。
(2)乘除型運(yùn)算乘除型運(yùn)算包括乘、除和邏輯乘。分別用以下形式表達(dá):#i=#j*#k#i=#j/#k#i=#jAND#k3.變量的函數(shù)表1-19-2列出FANUC一些常用的函數(shù)。表1-19-1FANUC系統(tǒng)局部變量賦值對(duì)照表表1-19-2FANUC宏程序常用計(jì)算功能
4.變量的賦值由于系統(tǒng)變量的賦值情況比較復(fù)雜,這里只介紹公共變量和局部變量的賦值。變量的賦值方式可分為直接和間接兩種。
(1)直接賦值例:#2=116(表示將數(shù)值116賦值于#2變量)#103=#2(表示將變量#2的即時(shí)值賦于變量#103)
(2)間接賦值間接賦值就是用演算式賦值,即把演算式內(nèi)演算的結(jié)果賦給某個(gè)變量。圖5.18是一個(gè)橢圓,欲車削1/4橢圓(圖中粗線部分)的回轉(zhuǎn)輪廓線,要求在數(shù)控程序中用任意一點(diǎn)D的z值(用2號(hào)變量)來(lái)表達(dá)該點(diǎn)的x值(用5號(hào)變量)。
轉(zhuǎn)為變量表達(dá)式為:5號(hào)變量=(1號(hào)變量+1號(hào)變量)*
間接賦值情況為:N5#1=50:N10#3=80:N15#5=[#1+#1]*SQRT[1-#2*#2/#3/#3]圖1-19-1橢圓變量設(shè)置圖1-19-1所示橢圓的方程為:X2/a2+Z2/b2=1(X值為半徑值)即X=2(X值為直徑值)
(3)在用戶宏指令中為用戶宏程序內(nèi)的局部變量賦值以單層宏程序?yàn)槔囅鲌D1-19-1中從A點(diǎn)到B點(diǎn)的四分之一橢圓回轉(zhuǎn)零件,采用直線逼近(也叫擬合),在z向分段,以1mm為一個(gè)步距,并把z作為自變量。為了適應(yīng)不同的橢圓(即不同的長(zhǎng)短軸)、不同的起始點(diǎn)和不同的步距,我們可以編制一個(gè)只用變量不用具體數(shù)據(jù)的宏程序,然后在主程序中調(diào)用該宏程序的用戶宏指令段為上述變量賦值。這樣,對(duì)于不同的橢圓、不同的起始點(diǎn)和不同的步距,不必更改宏程序,而只要修改主程序中用戶宏指令段內(nèi)的賦值數(shù)據(jù)就可以了。以#6變量代表步距,以80賦于#2代表起始點(diǎn)A的z坐標(biāo)值。
例1
用戶宏指令局部變量。主程序 宏程序
O1012 01013N5… N5#5=[#1+#1]*SQRT[1-#2*#2/#3/#3];
… N10G1X#5Z#2F60;N××G65P1013 N15#2=#2-#6;
A50B80C80K1;
… N20GOTO5:
N××M30; N25M99;% %
5.轉(zhuǎn)向語(yǔ)句轉(zhuǎn)向語(yǔ)句分為無(wú)條件轉(zhuǎn)向語(yǔ)句和條件轉(zhuǎn)向語(yǔ)句兩種。
(1)無(wú)條件轉(zhuǎn)向語(yǔ)句 程序段格式為:GOTON
其中N為程序段號(hào)例:GOTO85表示無(wú)條件轉(zhuǎn)向執(zhí)行N85的程序段,而不論N85程序段在轉(zhuǎn)向語(yǔ)句之前還是其后。
(2)條件轉(zhuǎn)向語(yǔ)句 條件轉(zhuǎn)向語(yǔ)句一般由條件式和轉(zhuǎn)向目標(biāo)兩部分構(gòu)成。程序段格式為:IF[aGTb]GOTOc
表示為“如果a>b,那么轉(zhuǎn)向執(zhí)行NC程序段”。a和b可以是數(shù)值、變量或含有數(shù)值及變量的算式,c是轉(zhuǎn)向目標(biāo)的程序段。大于、等于、大于等于、小于,小于等于分別用GT、EQ、GE、LT,LE表示。條件轉(zhuǎn)向語(yǔ)句在宏程序內(nèi)使用比較廣泛。使用條件轉(zhuǎn)向語(yǔ)句,能編出準(zhǔn)確的用戶宏程序。對(duì)于圖5.18中的橢圓,我們?cè)谇笆龅幕A(chǔ)上加一個(gè)用#7變量代表切削終點(diǎn)B的z坐標(biāo)值(在該例中,#7等于零),它可以在宏指令中用D賦值。
例2
用戶宏指令用轉(zhuǎn)向語(yǔ)句。主程序 宏程序
01014 01015N5… N5#5=[#1+#1]*SQRT[1-#2*#2/#3/#3];
… N10G1X#5Z#2F60:
N××G65P1015 N15#2=#2-#6;A50B80C80DOK1;
… N20IF[#2GE#7]GOTO5;
N××M30; N25M99;% %
(二)宏程序轉(zhuǎn)移和循環(huán)在程序中,使用G0TO語(yǔ)句和IF語(yǔ)句可以改變控制的流向。有三種轉(zhuǎn)移和循環(huán)操作可供使用:無(wú)條件轉(zhuǎn)移:GOTO語(yǔ)句 條件轉(zhuǎn)移:IF語(yǔ)句(IF…THEN…)循環(huán):WHILE語(yǔ)句1.無(wú)條件轉(zhuǎn)移(GOTO語(yǔ)句)轉(zhuǎn)移到標(biāo)有順序號(hào)n的程序段。GOTOn;n:順序號(hào)(1~99999)例:GOT01;可用表達(dá)式指定順序號(hào)。GOTO#10;2、條件轉(zhuǎn)移(IF語(yǔ)句)IF之后指定條件表達(dá)式。IF[<條件表達(dá)式>]GOTOn如果指定的條件表達(dá)式滿足時(shí),轉(zhuǎn)移到標(biāo)有順序號(hào)n的程序段。如果指定的條件表達(dá)式不滿足,執(zhí)行下個(gè)程序段。
如果變量#1的值大于10,轉(zhuǎn)移到順序號(hào)N2的程序段.(1)IF<條件表達(dá)式>]THEN
如果條件表達(dá)式滿足,執(zhí)行預(yù)先決定的宏程序語(yǔ)句。只執(zhí)行一個(gè)宏程序語(yǔ)句。 如果#1和#2的值,0賦給#3.(2)IF[#1EQ#2]THEN#3=0;
說(shuō)明: 1.條件表達(dá)式必須包括算符。算符插在兩個(gè)變量中間或變量和常數(shù)中間,并且用括號(hào)([,])封閉。表達(dá)式可以替代變量。
2.運(yùn)算符由2個(gè)字母組成.用于兩個(gè)值的比較,以決定它們是相等還是一個(gè)值小于或大于另一個(gè)值。注意,不能使用不等符號(hào)。3.循環(huán)(WHILE語(yǔ)句)
在WHILE后指定一個(gè)條件表達(dá)式,當(dāng)指定條件滿足時(shí),執(zhí)行從DO到END之間的程序。否則,轉(zhuǎn)到END后的程序段。
說(shuō)明:
1.當(dāng)指定的條件滿足時(shí),執(zhí)行WHILE從DO到END之間的程序.否則,轉(zhuǎn)而執(zhí)行END之后的程序段。這種指令格式適用于IF語(yǔ)句。D0后的號(hào)和END后的號(hào)是指定程序執(zhí)行范圍的標(biāo)號(hào),標(biāo)號(hào)值為1,2.3。
2.嵌套:在DO-END循環(huán)中的標(biāo)號(hào)(1到3)可根據(jù)需要多次使用。但是,當(dāng)程序有交叉重復(fù)循環(huán)(DO范圍的重疊)時(shí),出現(xiàn)P/S報(bào)警No.124。
3.無(wú)限循環(huán):當(dāng)指定DO而沒(méi)有指定WHILE語(yǔ)句時(shí),產(chǎn)生從DO到END的無(wú)限循環(huán)。
4.處理時(shí)間:當(dāng)在GOTO語(yǔ)句中有標(biāo)號(hào)轉(zhuǎn)移的語(yǔ)句時(shí),進(jìn)行順序號(hào)檢索。反向檢索的時(shí)間要比正向檢索長(zhǎng)。用WHILE語(yǔ)句實(shí)現(xiàn)循環(huán)可減少處理時(shí)間。
5.未定義的變量:在使用EQ或NE的條件表達(dá)式中,<空>和零有不同的效果。在其它形式的條件表達(dá)式中,<空>被當(dāng)作零。
(三)SIMENS802D系統(tǒng)的R參數(shù)編程1.計(jì)算參數(shù)R
功能要使一個(gè)NC程序不僅僅適用于特定數(shù)值下的一次加工,或者必須要計(jì)算出數(shù)值,這兩種情況均可以使用計(jì)算參數(shù)。你可以在程序運(yùn)行時(shí)由控制器計(jì)算或設(shè)定所需要的數(shù)值;也可以通過(guò)操作面板設(shè)定參數(shù)數(shù)值。如果參數(shù)已經(jīng)賦值,則它們可以在程序中對(duì)由變量確定的地址進(jìn)行賦值。 編程R0=…到R299=…
賦值你可以在以下數(shù)值范圍內(nèi)給計(jì)算參數(shù)賦值:±(0.0000001…99999999) (8位,帶符號(hào)和小數(shù)點(diǎn))在取整數(shù)值時(shí)可以去除小數(shù)點(diǎn)。正號(hào)可以一直省去。
舉例:
R0=3.5678R1=-37.3R2=2R3=-7R4=-45678.123
用指數(shù)表示法可以賦值更大的數(shù)值范圍:
±(10-300…10+300)。指數(shù)值寫在EX符號(hào)之后;最大符號(hào)數(shù):10(包括符號(hào)和小數(shù)點(diǎn))。
EX值范圍:-300到+300舉例:R0=-0.1EX-5;意義:R0=-0.000001R1=1.874EX8;意義:R1=187400000注釋:一個(gè)程序段中可以有多個(gè)賦值語(yǔ)句;也可以用計(jì)算表達(dá)式賦值。給其它的地址賦值通過(guò)給其它的NC地址分配計(jì)算參數(shù)或參數(shù)表達(dá)式,可以增加NC程序的通用性。可以用數(shù)值、算術(shù)表達(dá)式或R參數(shù)對(duì)任意NC地址賦值。但對(duì)地址N、G和L例外。賦值時(shí)在地址符之后寫入符號(hào)“=”。賦值語(yǔ)句也可以賦值一負(fù)號(hào)。給坐標(biāo)軸地址(運(yùn)行指令)賦值時(shí),要求有一獨(dú)立的程序段。
舉例:N10G0X=R2;給X軸賦值參數(shù)的計(jì)算在計(jì)算參數(shù)時(shí)也遵循通常的數(shù)學(xué)運(yùn)算規(guī)則。園括號(hào)內(nèi)的運(yùn)算優(yōu)先進(jìn)行。另外,乘法和除法運(yùn)算優(yōu)先于加法和減法運(yùn)算。角度計(jì)算單位為度。允許的計(jì)算功能參見(jiàn)章節(jié)“指令表”。 編程舉例:R參數(shù)N10R1=R1+1;由原來(lái)的R1加上1后得到新的R1N20R1=R2+R3R4=R5-R6R7=R8*R9R10=R11/R12N30R13=SIN(25.3);R13等于正弦25.3度N40R14=R1*R2+R3;乘法和除法運(yùn)算優(yōu)先于加法和減法運(yùn)算R14=(R1*R2)+R3N50R14=R3+R2*R1;與N40一樣N60R15=SQRT(R1*R1+R2*R2); 意義:R15=R12+R22
編程舉例:坐標(biāo)軸賦值N10G1G91X=R1Z=R2F3N20Z=R3N30X=-R4N40Z=-R5…
(四)SIMENS802D系統(tǒng)的程序跳轉(zhuǎn)1.標(biāo)記符—程序跳轉(zhuǎn)目標(biāo)功能標(biāo)記符或程序段號(hào)用于標(biāo)記程序中所跳轉(zhuǎn)的目標(biāo)程序段,用跳轉(zhuǎn)功能可以實(shí)現(xiàn)程序運(yùn)行分支。標(biāo)記符可以自由選取,但必須由2-8個(gè)字母或數(shù)字組成,其中開(kāi)始兩個(gè)符號(hào)必須是字母或下劃線。跳轉(zhuǎn)目標(biāo)程序段中標(biāo)記符后面必須為冒號(hào)。標(biāo)記符位于程序段段首。如果程序段有段號(hào),則標(biāo)記符緊跟著段號(hào)。在一個(gè)程序段中,標(biāo)記符不能含有其它意義。程序舉例N10MARKE1:G1X20;MARKE1為標(biāo)記符,跳轉(zhuǎn)目標(biāo)程序段…TR789:G0X10Z20;TR789為標(biāo)記符,跳轉(zhuǎn)目標(biāo)程序段沒(méi)有段號(hào)N100…;程序段號(hào)可以是跳轉(zhuǎn)目標(biāo)
2.絕對(duì)跳轉(zhuǎn)功能NC程序在運(yùn)行時(shí)以寫入時(shí)的順序執(zhí)行程序段。程序在運(yùn)行時(shí)可以通過(guò)插入程序跳轉(zhuǎn)指令改變執(zhí)行順序。跳轉(zhuǎn)目標(biāo)只能是有標(biāo)記符或一個(gè)程序段號(hào)的程序段。此程序段必須位于該程序之內(nèi)。絕對(duì)跳轉(zhuǎn)指令必須占用一個(gè)獨(dú)立的程序段。編程GOTOFLabel;向前跳轉(zhuǎn)(向程序結(jié)束的方向)GOTOBLabel;向后跳轉(zhuǎn)(向程序開(kāi)始的方向)說(shuō)明GOTOF向前跳轉(zhuǎn)(向程序結(jié)束的方向跳轉(zhuǎn))GOTOB向后跳轉(zhuǎn)(向程序開(kāi)始的方向跳轉(zhuǎn))Label所選的字符串用于標(biāo)記符或程序段號(hào)
編程N(yùn)10...N20GOTOFMARKE0...N50MARKE0:R1=R2+R3N51;jumptolabelMARKE1...;jumptolabelMARKE0GOTOFMARKE1程序執(zhí)行G0X...Z......MARKE2:X...Z...N100M2;endofprogramMARKE1:X...Z...N150GOTOBMARKE2;jumptolabelMARKE2
3.有條件跳轉(zhuǎn)功能用IF-條件語(yǔ)句表示有條件跳轉(zhuǎn)。如果滿足跳轉(zhuǎn)條件(也就是值不等于零),則進(jìn)行跳轉(zhuǎn)。跳轉(zhuǎn)目標(biāo)只能是有標(biāo)記符或程序段號(hào)的程序段。該程序段必須在此程序之內(nèi)。有條件跳轉(zhuǎn)指令要求一個(gè)獨(dú)立的程序段。在一個(gè)程序段中可以有許多個(gè)條件跳轉(zhuǎn)指令。使用了條件跳轉(zhuǎn)后有時(shí)會(huì)使程序得到明顯的簡(jiǎn)化。編程IF條件GOTOFLabel;向前跳轉(zhuǎn)IF條件GOTOBLabel;向后跳轉(zhuǎn)AWL說(shuō)明GOTOF向前跳轉(zhuǎn)(向程序結(jié)束的方向跳轉(zhuǎn))GOTOB向后跳轉(zhuǎn)(向程序開(kāi)始的方向跳轉(zhuǎn))Label所選的字符串用于標(biāo)記符或程序段號(hào)IF跳轉(zhuǎn)條件導(dǎo)入符條件作為條件的計(jì)算參數(shù),計(jì)算表達(dá)式表1-19-3SIMENS系統(tǒng)的跳轉(zhuǎn)功能說(shuō)明
表1-19-4SIMENS系統(tǒng)的比較運(yùn)算功能說(shuō)明運(yùn)算符意義==等于<>不等>大于<小于>=大于或等于<=小于或等于二、實(shí)踐訓(xùn)練1.實(shí)踐內(nèi)容:利用宏指令編程加工2.具體要求:完成圖示零件編程加工
3.基本工藝(1)變量使用#1:短半軸長(zhǎng)度(20)#2:長(zhǎng)半軸長(zhǎng)度(30)#3:橢圓上要加工點(diǎn)的X方向坐標(biāo)值(在宏程序中由#4計(jì)算,是直徑值)#4:橢圓上加工點(diǎn)的Z坐標(biāo)(初值為0,在本題中變化范圍為0~-23)
(2)變量運(yùn)算思路 采用直線逼近(也叫擬合),以Z坐標(biāo)作為自變量,在Z向以0.1mm為每一個(gè)步距來(lái)分段。假設(shè)以橢圓中心作為坐標(biāo)軸則(X0/2)2/202+Z02/302=1。但在本題中編程坐標(biāo)原點(diǎn)與橢圓中心存在一個(gè)偏距,橢圓中心在編程坐標(biāo)系中的坐標(biāo)值為(X80,Z-5),即所有計(jì)算出的擬合點(diǎn)坐標(biāo)都應(yīng)該加上相應(yīng)的X和Z偏差值 即#3=X0+80#4=-5+Z0Z0=#4+5
將Z0=#4+5代入上式得
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位租車協(xié)議書(shū)模板15篇
- 協(xié)議合同酒店
- 以創(chuàng)新管理模式推動(dòng)發(fā)展在企業(yè)管理經(jīng)驗(yàn)交流會(huì)上的發(fā)言
- 酒后頭痛病因介紹
- 山東省濟(jì)寧市微山縣第二中學(xué)2024-2025學(xué)年高一12月月考?xì)v史試題
- (范文)發(fā)酵罐項(xiàng)目立項(xiàng)報(bào)告
- 房屋與室內(nèi)環(huán)境檢測(cè)技術(shù)-模塊三房屋實(shí)體查驗(yàn)與檢18課件講解
- 2024秋新滬科版物理八年級(jí)上冊(cè)課件 第六章 熟悉而陌生的力 第4節(jié) 探究:滑動(dòng)摩擦力大小與哪里因素有關(guān)
- 《2024產(chǎn)業(yè)互聯(lián)網(wǎng)發(fā)展報(bào)告》教學(xué)應(yīng)用說(shuō)明
- 電力及電機(jī)拖動(dòng)試題及參考答案
- 建設(shè)精神病醫(yī)院
- 荒漠區(qū)生態(tài)治理工程(尼龍網(wǎng)沙障、植物固沙)施工方案
- 道路交通法規(guī)(陜西交通職業(yè)技術(shù)學(xué)院)知到智慧樹(shù)答案
- 2024版光伏發(fā)電站清洗維護(hù)合同3篇
- 《文明禮儀概述培訓(xùn)》課件
- 保險(xiǎn)金信托課件
- 新時(shí)代科學(xué)家精神學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 大型項(xiàng)目設(shè)備運(yùn)輸整體方案
- 人教版(2024年新教材)七年級(jí)上冊(cè)英語(yǔ)各單元語(yǔ)法知識(shí)點(diǎn)復(fù)習(xí)提綱
- 陜煤集團(tuán)筆試題庫(kù)及答案
- 33 《魚(yú)我所欲也》對(duì)比閱讀-2024-2025中考語(yǔ)文文言文閱讀專項(xiàng)訓(xùn)練(含答案)
評(píng)論
0/150
提交評(píng)論