重慶科創(chuàng)學(xué)院-宏程序的編制_第1頁
重慶科創(chuàng)學(xué)院-宏程序的編制_第2頁
重慶科創(chuàng)學(xué)院-宏程序的編制_第3頁
重慶科創(chuàng)學(xué)院-宏程序的編制_第4頁
重慶科創(chuàng)學(xué)院-宏程序的編制_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

重慶科創(chuàng)職業(yè)學(xué)院項目十九宏程序的編制[學(xué)習(xí)目標]

1.學(xué)會數(shù)控車床用戶宏程序的編制。

2.學(xué)會數(shù)控車床用R參數(shù)編制程序。[學(xué)習(xí)重點] 編程中變量使用、賦值、運算、轉(zhuǎn)移[學(xué)習(xí)難點] 編程中變量使用、賦值、運算、轉(zhuǎn)移一、基本知識學(xué)習(xí)

FANUC0i-MATE-TC系統(tǒng)具備宏程序功能。宏程序通過編輯其本體變量來改變刀具路徑和刀具位置,特別適合圖形一樣,只是尺寸不同的系列零件的編程和工藝路徑一樣,只是位置數(shù)據(jù)不同的系列零件的編程,還能用于拋物線、橢圓、雙曲線等沒有插補指令的曲線的編程。宏程序的使用不僅使得手工編程效率大大提高,更是拓寬了機床的使用范圍,使數(shù)控手工編程更加靈活。在SIMENS802D系統(tǒng)中具有R參數(shù)編程功能,其作用與FANUC0i-MATE-TC系統(tǒng)的宏程序類似。(一)FANUC0i-MATE-TC系統(tǒng)的用戶宏程序含有變量的子程序叫做用戶宏程序,在程序中調(diào)用用戶宏程序的那條指令叫用戶宏指令(G65)。

1.變量用一個可賦值的代號代替具體的坐標值,這個代號就稱為變量。變量又分為系統(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個公共變量,它們分兩組,一組是#100~#199;另一組是#500~#999.當(dāng)斷電時,變量#100-#199初始化為空,變量#500-#999的數(shù)據(jù)保存,即使斷電也不丟失.

(3)局部變量指局限于在用戶宏程序內(nèi)使用的變量。同一個局部變量在不同的宏程序內(nèi)其值是不通用的。FANUC系統(tǒng)有33局部變量,分別為#1-#33。FANUC局部變量賦值(部分)對照表見表1-19-1。2.變量的演算

(1)加減型運算加減型運算包括加、減、邏輯加和排它的邏輯加。分別用以下四個形式表達:

#i=#j+#k#i=#j-#k#i=#jOR#k#i=#jXOR#k式中,i、j、k為變量;+、一、OR、XOR稱為演算子。

(2)乘除型運算乘除型運算包括乘、除和邏輯乘。分別用以下形式表達:#i=#j*#k#i=#j/#k#i=#jAND#k3.變量的函數(shù)表1-19-2列出FANUC一些常用的函數(shù)。表1-19-1FANUC系統(tǒng)局部變量賦值對照表表1-19-2FANUC宏程序常用計算功能

4.變量的賦值由于系統(tǒng)變量的賦值情況比較復(fù)雜,這里只介紹公共變量和局部變量的賦值。變量的賦值方式可分為直接和間接兩種。

(1)直接賦值例:#2=116(表示將數(shù)值116賦值于#2變量)#103=#2(表示將變量#2的即時值賦于變量#103)

(2)間接賦值間接賦值就是用演算式賦值,即把演算式內(nèi)演算的結(jié)果賦給某個變量。圖5.18是一個橢圓,欲車削1/4橢圓(圖中粗線部分)的回轉(zhuǎn)輪廓線,要求在數(shù)控程序中用任意一點D的z值(用2號變量)來表達該點的x值(用5號變量)。

轉(zhuǎn)為變量表達式為:5號變量=(1號變量+1號變量)*

間接賦值情況為: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)的局部變量賦值以單層宏程序為例,欲車削圖1-19-1中從A點到B點的四分之一橢圓回轉(zhuǎn)零件,采用直線逼近(也叫擬合),在z向分段,以1mm為一個步距,并把z作為自變量。為了適應(yīng)不同的橢圓(即不同的長短軸)、不同的起始點和不同的步距,我們可以編制一個只用變量不用具體數(shù)據(jù)的宏程序,然后在主程序中調(diào)用該宏程序的用戶宏指令段為上述變量賦值。這樣,對于不同的橢圓、不同的起始點和不同的步距,不必更改宏程序,而只要修改主程序中用戶宏指令段內(nèi)的賦值數(shù)據(jù)就可以了。以#6變量代表步距,以80賦于#2代表起始點A的z坐標值。

例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)向語句轉(zhuǎn)向語句分為無條件轉(zhuǎn)向語句和條件轉(zhuǎn)向語句兩種。

(1)無條件轉(zhuǎn)向語句 程序段格式為:GOTON

其中N為程序段號例:GOTO85表示無條件轉(zhuǎn)向執(zhí)行N85的程序段,而不論N85程序段在轉(zhuǎn)向語句之前還是其后。

(2)條件轉(zhuǎn)向語句 條件轉(zhuǎn)向語句一般由條件式和轉(zhuǎn)向目標兩部分構(gòu)成。程序段格式為:IF[aGTb]GOTOc

表示為“如果a>b,那么轉(zhuǎn)向執(zhí)行NC程序段”。a和b可以是數(shù)值、變量或含有數(shù)值及變量的算式,c是轉(zhuǎn)向目標的程序段。大于、等于、大于等于、小于,小于等于分別用GT、EQ、GE、LT,LE表示。條件轉(zhuǎn)向語句在宏程序內(nèi)使用比較廣泛。使用條件轉(zhuǎn)向語句,能編出準確的用戶宏程序。對于圖5.18中的橢圓,我們在前述的基礎(chǔ)上加一個用#7變量代表切削終點B的z坐標值(在該例中,#7等于零),它可以在宏指令中用D賦值。

例2

用戶宏指令用轉(zhuǎn)向語句。主程序 宏程序

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語句和IF語句可以改變控制的流向。有三種轉(zhuǎn)移和循環(huán)操作可供使用:無條件轉(zhuǎn)移:GOTO語句 條件轉(zhuǎn)移:IF語句(IF…THEN…)循環(huán):WHILE語句1.無條件轉(zhuǎn)移(GOTO語句)轉(zhuǎn)移到標有順序號n的程序段。GOTOn;n:順序號(1~99999)例:GOT01;可用表達式指定順序號。GOTO#10;2、條件轉(zhuǎn)移(IF語句)IF之后指定條件表達式。IF[<條件表達式>]GOTOn如果指定的條件表達式滿足時,轉(zhuǎn)移到標有順序號n的程序段。如果指定的條件表達式不滿足,執(zhí)行下個程序段。

如果變量#1的值大于10,轉(zhuǎn)移到順序號N2的程序段.(1)IF<條件表達式>]THEN

如果條件表達式滿足,執(zhí)行預(yù)先決定的宏程序語句。只執(zhí)行一個宏程序語句。 如果#1和#2的值,0賦給#3.(2)IF[#1EQ#2]THEN#3=0;

說明: 1.條件表達式必須包括算符。算符插在兩個變量中間或變量和常數(shù)中間,并且用括號([,])封閉。表達式可以替代變量。

2.運算符由2個字母組成.用于兩個值的比較,以決定它們是相等還是一個值小于或大于另一個值。注意,不能使用不等符號。3.循環(huán)(WHILE語句)

在WHILE后指定一個條件表達式,當(dāng)指定條件滿足時,執(zhí)行從DO到END之間的程序。否則,轉(zhuǎn)到END后的程序段。

說明:

1.當(dāng)指定的條件滿足時,執(zhí)行WHILE從DO到END之間的程序.否則,轉(zhuǎn)而執(zhí)行END之后的程序段。這種指令格式適用于IF語句。D0后的號和END后的號是指定程序執(zhí)行范圍的標號,標號值為1,2.3。

2.嵌套:在DO-END循環(huán)中的標號(1到3)可根據(jù)需要多次使用。但是,當(dāng)程序有交叉重復(fù)循環(huán)(DO范圍的重疊)時,出現(xiàn)P/S報警No.124。

3.無限循環(huán):當(dāng)指定DO而沒有指定WHILE語句時,產(chǎn)生從DO到END的無限循環(huán)。

4.處理時間:當(dāng)在GOTO語句中有標號轉(zhuǎn)移的語句時,進行順序號檢索。反向檢索的時間要比正向檢索長。用WHILE語句實現(xiàn)循環(huán)可減少處理時間。

5.未定義的變量:在使用EQ或NE的條件表達式中,<空>和零有不同的效果。在其它形式的條件表達式中,<空>被當(dāng)作零。

(三)SIMENS802D系統(tǒng)的R參數(shù)編程1.計算參數(shù)R

功能要使一個NC程序不僅僅適用于特定數(shù)值下的一次加工,或者必須要計算出數(shù)值,這兩種情況均可以使用計算參數(shù)。你可以在程序運行時由控制器計算或設(shè)定所需要的數(shù)值;也可以通過操作面板設(shè)定參數(shù)數(shù)值。如果參數(shù)已經(jīng)賦值,則它們可以在程序中對由變量確定的地址進行賦值。 編程R0=…到R299=…

賦值你可以在以下數(shù)值范圍內(nèi)給計算參數(shù)賦值:±(0.0000001…99999999) (8位,帶符號和小數(shù)點)在取整數(shù)值時可以去除小數(shù)點。正號可以一直省去。

舉例:

R0=3.5678R1=-37.3R2=2R3=-7R4=-45678.123

用指數(shù)表示法可以賦值更大的數(shù)值范圍:

±(10-300…10+300)。指數(shù)值寫在EX符號之后;最大符號數(shù):10(包括符號和小數(shù)點)。

EX值范圍:-300到+300舉例:R0=-0.1EX-5;意義:R0=-0.000001R1=1.874EX8;意義:R1=187400000注釋:一個程序段中可以有多個賦值語句;也可以用計算表達式賦值。給其它的地址賦值通過給其它的NC地址分配計算參數(shù)或參數(shù)表達式,可以增加NC程序的通用性。可以用數(shù)值、算術(shù)表達式或R參數(shù)對任意NC地址賦值。但對地址N、G和L例外。賦值時在地址符之后寫入符號“=”。賦值語句也可以賦值一負號。給坐標軸地址(運行指令)賦值時,要求有一獨立的程序段。

舉例:N10G0X=R2;給X軸賦值參數(shù)的計算在計算參數(shù)時也遵循通常的數(shù)學(xué)運算規(guī)則。園括號內(nèi)的運算優(yōu)先進行。另外,乘法和除法運算優(yōu)先于加法和減法運算。角度計算單位為度。允許的計算功能參見章節(jié)“指令表”。 編程舉例:R參數(shù)N10R1=R1+1;由原來的R1加上1后得到新的R1N20R1=R2+R3R4=R5-R6R7=R8*R9R10=R11/R12N30R13=SIN(25.3);R13等于正弦25.3度N40R14=R1*R2+R3;乘法和除法運算優(yōu)先于加法和減法運算R14=(R1*R2)+R3N50R14=R3+R2*R1;與N40一樣N60R15=SQRT(R1*R1+R2*R2); 意義:R15=R12+R22

編程舉例:坐標軸賦值N10G1G91X=R1Z=R2F3N20Z=R3N30X=-R4N40Z=-R5…

(四)SIMENS802D系統(tǒng)的程序跳轉(zhuǎn)1.標記符—程序跳轉(zhuǎn)目標功能標記符或程序段號用于標記程序中所跳轉(zhuǎn)的目標程序段,用跳轉(zhuǎn)功能可以實現(xiàn)程序運行分支。標記符可以自由選取,但必須由2-8個字母或數(shù)字組成,其中開始兩個符號必須是字母或下劃線。跳轉(zhuǎn)目標程序段中標記符后面必須為冒號。標記符位于程序段段首。如果程序段有段號,則標記符緊跟著段號。在一個程序段中,標記符不能含有其它意義。程序舉例N10MARKE1:G1X20;MARKE1為標記符,跳轉(zhuǎn)目標程序段…TR789:G0X10Z20;TR789為標記符,跳轉(zhuǎn)目標程序段沒有段號N100…;程序段號可以是跳轉(zhuǎn)目標

2.絕對跳轉(zhuǎn)功能NC程序在運行時以寫入時的順序執(zhí)行程序段。程序在運行時可以通過插入程序跳轉(zhuǎn)指令改變執(zhí)行順序。跳轉(zhuǎn)目標只能是有標記符或一個程序段號的程序段。此程序段必須位于該程序之內(nèi)。絕對跳轉(zhuǎn)指令必須占用一個獨立的程序段。編程GOTOFLabel;向前跳轉(zhuǎn)(向程序結(jié)束的方向)GOTOBLabel;向后跳轉(zhuǎn)(向程序開始的方向)說明GOTOF向前跳轉(zhuǎn)(向程序結(jié)束的方向跳轉(zhuǎn))GOTOB向后跳轉(zhuǎn)(向程序開始的方向跳轉(zhuǎn))Label所選的字符串用于標記符或程序段號

編程N10...N20GOTOFMARKE0...N50MARKE0:R1=R2+R3N51;jumptolabelMARKE1...;jumptolabelMARKE0GOTOFMARKE1程序執(zhí)行G0X...Z......MARKE2:X...Z...N100M2;endofprogramMARKE1:X...Z...N150GOTOBMARKE2;jumptolabelMARKE2

3.有條件跳轉(zhuǎn)功能用IF-條件語句表示有條件跳轉(zhuǎn)。如果滿足跳轉(zhuǎn)條件(也就是值不等于零),則進行跳轉(zhuǎn)。跳轉(zhuǎn)目標只能是有標記符或程序段號的程序段。該程序段必須在此程序之內(nèi)。有條件跳轉(zhuǎn)指令要求一個獨立的程序段。在一個程序段中可以有許多個條件跳轉(zhuǎn)指令。使用了條件跳轉(zhuǎn)后有時會使程序得到明顯的簡化。編程IF條件GOTOFLabel;向前跳轉(zhuǎn)IF條件GOTOBLabel;向后跳轉(zhuǎn)AWL說明GOTOF向前跳轉(zhuǎn)(向程序結(jié)束的方向跳轉(zhuǎn))GOTOB向后跳轉(zhuǎn)(向程序開始的方向跳轉(zhuǎn))Label所選的字符串用于標記符或程序段號IF跳轉(zhuǎn)條件導(dǎo)入符條件作為條件的計算參數(shù),計算表達式表1-19-3SIMENS系統(tǒng)的跳轉(zhuǎn)功能說明

表1-19-4SIMENS系統(tǒng)的比較運算功能說明運算符意義==等于<>不等>大于<小于>=大于或等于<=小于或等于二、實踐訓(xùn)練1.實踐內(nèi)容:利用宏指令編程加工2.具體要求:完成圖示零件編程加工

3.基本工藝(1)變量使用#1:短半軸長度(20)#2:長半軸長度(30)#3:橢圓上要加工點的X方向坐標值(在宏程序中由#4計算,是直徑值)#4:橢圓上加工點的Z坐標(初值為0,在本題中變化范圍為0~-23)

(2)變量運算思路 采用直線逼近(也叫擬合),以Z坐標作為自變量,在Z向以0.1mm為每一個步距來分段。假設(shè)以橢圓中心作為坐標軸則(X0/2)2/202+Z02/302=1。但在本題中編程坐標原點與橢圓中心存在一個偏距,橢圓中心在編程坐標系中的坐標值為(X80,Z-5),即所有計算出的擬合點坐標都應(yīng)該加上相應(yīng)的X和Z偏差值 即#3=X0+80#4=-5+Z0Z0=#4+5

將Z0=#4+5代入上式得

溫馨提示

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

最新文檔

評論

0/150

提交評論