宏程序的基本概念_第1頁
宏程序的基本概念_第2頁
宏程序的基本概念_第3頁
宏程序的基本概念_第4頁
宏程序的基本概念_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

數(shù)控銑削宏程序編程(一)一、宏程序的基本概念1、宏程序的定義 以一組子程序的形式存儲并帶有變量的程序稱為用戶宏程序,簡稱宏程序;調(diào)用宏程序的指令稱為“用戶宏程序指令”,或宏程序調(diào)用指令(簡稱宏指令)。 宏程序與普通程序相比較,普通的程序字為常量,一個(gè)程序只能描述一個(gè)幾何形狀,所以缺乏靈活性和適用性。而在用戶宏程序的本體中,可以使用變量進(jìn)行編程,還可以用宏指令對這些變量進(jìn)行賦值、運(yùn)算等處理。通過使用宏程序能執(zhí)行一些有規(guī)律變化(如非圓二次曲線輪廓)的動作。宏程序分A類和B類兩種,F(xiàn)ANUCi系統(tǒng)采用B類宏程序進(jìn)行編程。2、宏程序中的變量 在常規(guī)的主程序和子程序內(nèi),總是將一個(gè)具體的數(shù)值賦給一個(gè)地址,為了使程序更加具有通用性、靈活性,故在宏程序中設(shè)置了變量。 1)、變量的表示: 一個(gè)變量由符號“#”和變量序號組成,如:#I(I=1,2,)。此外,變量還可以用表達(dá)式進(jìn)行表示,但其表達(dá)式必須全部寫入方括號“”中。例:#100,#500,#5,#1+#2+#10; 2)、變量的引用: 將跟隨在地址符后的數(shù)值用變量來代替的過程稱為引用變量。同樣,引用變量也可以用表達(dá)式。例G01X#100 Y#101F#101+#103;當(dāng)#100=100.0、#101=50.0、#103=80.0時(shí),上例即表示為G01 X100.0 Y50.0 F130; 3)、變量的種類:變量分為局部變量、公共變量(全局變量)和系統(tǒng)變量三種。在A、B類宏程序中,其分類均相同。 A、局部變量(#1#33)是在宏程序中局部使用的變量。當(dāng)宏程序C調(diào)用宏程序D而且都有變量#1時(shí),由于變量#1服務(wù)于不同的局部,所以C中的#1與D中的#1不是同一個(gè)變量,因此可以賦予不同得不償失值,且互不影響。關(guān)閉電源時(shí),局部變量被初始化成“空”。宏調(diào)用時(shí),自變量分配給局部變量。 B、公共變量(#100#149/#199;#500#549/#599)貫穿于整個(gè)程序過程。他可以在不同的宏程序間共享,當(dāng)宏程序C調(diào)用宏程序D而且都有變量#100時(shí),由于#100是全局變量,所以C中的#100與D中的#100是同一個(gè)變量。關(guān)閉電源時(shí)變量#100#149被初始化成“空”,而變量#500#531保持?jǐn)?shù)據(jù)。公共變量#150#199和#532#999也可以選用,但是當(dāng)這些變量被使用時(shí),紙帶長度減少了8.5米。 C、系統(tǒng)變量(#1000 )是指有固定用途的變量,它的值決定系統(tǒng)的狀態(tài)。系統(tǒng)變量用于讀寫各種NC數(shù)據(jù)項(xiàng),如當(dāng)前位置、刀具補(bǔ)償值。系統(tǒng)變量包括刀具偏置值變量,接口輸入與接口輸出信號變量及位置信號變量等。2、 宏程序編程1、變量的賦值 變量的賦值方法有兩種,即直接賦值和引數(shù)賦值,其中直接賦值的方法較為直觀,方便,其書寫格式如下: 例 :#100=100.0 #101=30.0+20.0;2、宏程序運(yùn)算指令 宏程序的運(yùn)算類似于數(shù)學(xué)運(yùn)算與邏輯運(yùn)算,用各種數(shù)學(xué)符號來表示。常用運(yùn)算指令表如下:變量的各種運(yùn)算功能格式備注與具體示例定義,轉(zhuǎn)換/賦值#i=#j#100=#1,#100=30.0加法#i= #j+#k#100=#1+#2#100=#100.0-#2#100=#1*#2#100=#1/30減法#i=#j-#k乘法#i=#j*# k除法#i=#j*#k正弦#i=SIN#j#100=SIN#1#100=COS36.3+#2#100=ATAN#1/#2反正弦#i=ASIN#J余弦#i=COS#J反余弦#i=ACOS#j正切#i=TAN#j反正切#i=ATAB#j/#K平方根#i=SQRT#j#100SQRT#1*#1-100#100=EXP#1絕對值#i=ABS#j舍入#i=ROUND#j上取整/上進(jìn)位#i=FIX#j下取整/下進(jìn)位#i=FUP#j自然對數(shù)#i=LN#j指數(shù)函數(shù)#i=EXP#j或#i=#j OR #k用二進(jìn)制數(shù)按位進(jìn)行邏輯操作異或#i=#j XOR #K與#i=#j AND #K將BCD碼轉(zhuǎn)換成BIN碼#i=BIN#j用于與PMC間信號的交換將BIN碼轉(zhuǎn)換成BCD碼#i=BCD#j宏程序計(jì)算說明如下: 、角單位:在SIN,COS,TAN,ATAN中所用的角度單位是度,分和秒要換算成帶小數(shù)點(diǎn)的度。 如9030表示90.5,而3018 表示30.3。 、ATAN功能:在ATANT之后的兩個(gè)變量用“/”分開,結(jié)果在 0和360之間。如當(dāng)#1=ATANT1/1時(shí),#1=135.0。 、ROUND功能:當(dāng)ROUND功能包含在算術(shù)或邏輯操作、IF語句、WHILE語句中時(shí),將保留小數(shù)點(diǎn)后一位,其余位進(jìn)行四舍五入。例:#1=ROUND#2;其中#2=1.2345,則#1=1.0當(dāng)ROUND出現(xiàn)在NC語句地址中時(shí),進(jìn)位功能根據(jù)地址的最小輸入增量四舍五入指定的值。例:編一個(gè)程序,根據(jù)變量#1、#2的值進(jìn)行切削,然后返回到初始點(diǎn)。假定增量系統(tǒng)是1/1000mm,#1=1.2345,#2=2.3456則 G00 G91 X#1;移動1.235mm G01 X#2 F300;移動2.346mm G00 X#1+#2;因?yàn)?.2345+2.3456=3.5801移動3.580mm刀具此時(shí)不能返回到加工的初始位置。而換成G00XROUND#1+ROUND#2時(shí)能返回到初始點(diǎn)。 、上進(jìn)位和下進(jìn)位成整數(shù):例:#1=1.2、#2=1.2則:#3=FUP#1,結(jié)果#3=2.0 #3=FIX#1,結(jié)果#3=1.0#3=FUP#2,結(jié)果#3=2.0 #3=FIX#2,結(jié)果#3= 1.0 、算術(shù)和邏輯操作的縮寫方式:取功能塊名的前兩個(gè)字符,例:ROUNDRO。 、宏程序數(shù)學(xué)計(jì)算的次序依次為:函數(shù)運(yùn)算(SIN,COS,ATAN等),乘和除運(yùn)算(*,/,AND等),加和減運(yùn)算(+,OR,XOR等)。 、函數(shù)中的括號。括號用于改變運(yùn)算次序,函數(shù)中的括號允許嵌套使用,但最多只允許嵌套5級。例 #1=SIN#2+#3*4+#5/#6;注意:在加工程序中,方括號用于封閉表達(dá)式,圓括號用于注釋。3、宏程序轉(zhuǎn)移指令控制指令起到控制程序流向的作用。在一個(gè)程序中,控制程序流向可以用GOTO、IF語句改變。有三種分支循環(huán)語句如下:GOTO語句(無條件分支);IF語句(條件分支:if.,then.);WHILE語句(循環(huán)語句while.)。 、分支語句格式一 :GOTO n; 例 GOTO 1000;無條件轉(zhuǎn)移語句,當(dāng)執(zhí)行該程序時(shí),無條件轉(zhuǎn)移到N1000程序段執(zhí)行,順序號可以用表達(dá)式。格式二 : IF 條件表達(dá)方式 GOTO n; 例 IF#1GT#100GOTO 100;有條件轉(zhuǎn)移語句,如果條件成立,則轉(zhuǎn)到N程序段執(zhí)行,如果條件不成立,則執(zhí)行下一句程序。 一個(gè)條件表達(dá)式一定要有一個(gè)操作符,這個(gè)操作符插在兩個(gè)變量或一個(gè)變量和一個(gè)常數(shù)之間,并且要用方括號括起來,即:表達(dá)式 操作符 表達(dá)式。條件式的種類如下表:表達(dá)式種類條件式意義具體示例#i EQ #j等于(=)IF#5EQ#6GOT100;#i NE #j不等于()IF#5NE100GOT100;#i GT #j大于()IF#5GT#6GOT100;#i GE #j大于等于()IF#5GE100GOT100;#i LT #j小于()IF#5LT#6GOT100;#i LE #j小于等于()IF#5LE100GOT100; 、循環(huán)指令WHILE 條件式 DO m(m=1,2,3,); END m;當(dāng)條件式滿足時(shí),就循環(huán)執(zhí)行WHILE與END之間的程序段m次,當(dāng)條件不滿足時(shí),就執(zhí)行ENDm;的下一個(gè)程序段。 、宏程序的嵌套A、 WHILE 條件式 DO m和END m必須成對使用,并且,DO m一定要在END m之前指定,用m來識別;B、 同一識別號m可以在一個(gè)程序中多次使用,但DO m與END m必須成對使用;C、 在一個(gè)程序中DO的范圍不能夠交叉,DO可以嵌套三重;D、 在DO mEND m的內(nèi)部可以用GOTO n轉(zhuǎn)移到外部,但不可以從外部

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論