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

下載本文檔

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

文檔簡(jiǎn)介

1、精品文檔數(shù)控銑削宏程序編程(一)一、宏程序的基本概念1、宏程序的定義以一組子程序的形式存儲(chǔ)并帶有變量的程序稱(chēng)為用戶(hù)宏程序, 簡(jiǎn) 稱(chēng)宏程序; 調(diào)用宏程序的指令稱(chēng)為 “用戶(hù)宏程序指令”,或宏程序調(diào)用 指令(簡(jiǎn)稱(chēng)宏指令)。宏程序與普通程序相比較, 普通的程序字為常量, 一個(gè)程序只能 描述一個(gè)幾何形狀,所以缺乏靈活性和適用性。而在用戶(hù)宏程序的本 體中,可以使用變量進(jìn)行編程, 還可以用宏指令對(duì)這些變量進(jìn)行賦值、 運(yùn)算等處理。通過(guò)使用宏程序能執(zhí)行一些有規(guī)律變化(如非圓二次曲 線(xiàn)輪廓)的動(dòng)作。宏程序分 A 類(lèi)和 B 類(lèi)兩種, FANUCi 系統(tǒng)采用 B 類(lèi)宏程序進(jìn)行編程。2、宏程序中的變量在常規(guī)的主程序和子

2、程序內(nèi), 總是將一個(gè)具體的數(shù)值賦給一個(gè)地 址,為了使程序更加具有通用性、 靈活性, 故在宏程序中設(shè)置了變量。1)、變量的表示: 一個(gè)變量由符號(hào)“ #”和變量序號(hào)組成,如: #1 (1=1 , 2,)。此外,變量還可以用表達(dá)式進(jìn)行表示,但其表達(dá) 式必須全部寫(xiě)入方括號(hào)“ ”中。例:#100, #500, #5, #1+#2+#10;2)、變量的引用: 將跟隨在地址符后的數(shù)值用變量來(lái)代替的過(guò)程稱(chēng)為引用變量。同樣,引用變量也可以用表達(dá)式。例 G01X#100 Y#101F #101+#103;當(dāng)#100=100.0、#101=50.0、#103=80.0 時(shí),上例即表示為 G01 X100.0 Y50

3、.0 F130;3)、變量的種類(lèi):變量分為局部變量、公共變量(全局變量)和 系統(tǒng)變量三種。在 A 、B 類(lèi)宏程序中,其分類(lèi)均相同。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 # 1 49/# 1 99;#500 #549/#599)貫穿于整 個(gè)程序過(guò)程。他可以在不同的宏程序間共享,當(dāng)宏程序C調(diào)用宏程序D而

4、且都有變量#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í),紙帶長(zhǎng)度減少了 8.5米。C、系統(tǒng)變量(#1000)是指有固定用途的變量,它的值決定 系統(tǒng)的狀態(tài)。系統(tǒng)變量用于讀寫(xiě)各種 NC 數(shù)據(jù)項(xiàng),如當(dāng)前位置、刀具 補(bǔ)償值。系統(tǒng)變量包括刀具偏置值變量,接口輸入與接口輸出信號(hào)變 量及位置信號(hào)變量等。二、宏程序編程1、變量的賦值變量的賦值方法有兩種, 即直接賦值和引數(shù)賦值, 其中直接賦值的

5、方法較為直觀(guān),方便,其書(shū)寫(xiě)格式如下:例:#100=100.0#10 仁30.0+20.0;2、宏程序運(yùn)算指令宏程序的運(yùn)算類(lèi)似于數(shù)學(xué)運(yùn)算與邏輯運(yùn)算,用各種數(shù)學(xué)符號(hào)來(lái)表示。常用運(yùn)算指令表如下:變量的各種運(yùn)算功能格式備注與具體示例定義,轉(zhuǎn)換/賦值#i=#j#100=#1,#100=30.0加法#i= #j+#k#100=#1+#2減法#i=#j-#k#100=#100.0-#2乘法#i=#j*# k#100=#1*#2除法#i=#j*#k#100=#1/30正弦#i=SIN#j反正弦#i=ASIN#J#100=SIN#1#100=C0S36.3+#2 #100=ATAN#1/#2余弦#i=COS#J

6、反余弦#i=ACOS#j正切#i=TAN#j反正切#i=ATAB#j/#K平方根#i=SQRT#j絕對(duì)值#i=ABS#j舍入#i=ROUND#j#100SQRT#1*#1-100#100=EXP#1上取整/上進(jìn)位#i=FIX#j下取整/下進(jìn)位#i=FUP#j自然對(duì)數(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間信號(hào)的交換將BIN碼轉(zhuǎn)換成BCD碼#i=BCD#j宏程序計(jì)算說(shuō)明如下 、角單位:在SIN,COS, TAN,ATAN中所用的角度單位是度

7、,分和秒要換算成帶小數(shù)點(diǎn)的度。如90 30表示905,而3018 表示 30.3。 、 ATAN 功能:在 ATANT 之后的兩個(gè)變量用“ /”分開(kāi),結(jié)果在 0和 360之間。如當(dāng) #1=ATANT1/ 1時(shí),#1=135.0。 、 ROUND 功能:當(dāng) ROUND 功能包含在算術(shù)或邏輯操作、 IF 語(yǔ) 句、WHILE語(yǔ)句中時(shí),將保留小數(shù)點(diǎn)后一位,其余位進(jìn)行四舍五 入。例: # 1 =ROUND#2 ;其中 #2=1.2345,則#1=1.0當(dāng) ROUND 出現(xiàn)在 NC 語(yǔ)句地址中時(shí), 進(jìn)位功能根據(jù)地址的最小輸入 增量四舍五入指定的值。例:編一個(gè)程序,根據(jù)變量 #1、 #2的值進(jìn)行切削,然后返

8、回到 初始點(diǎn)。假定增量系統(tǒng)是 1/1000mm, #1=1.2345, #2=2.3456則G00 G91 X#1;移動(dòng) 1.235mm G01 X#2 F300;移動(dòng) 2.346mmG00 X#1+#2; 因?yàn)?1.2345+2.3456=3.5801 移動(dòng)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.

9、0 、算術(shù)和邏輯操作的縮寫(xiě)方式:取功能塊名的前兩個(gè)字符,例: ROUND RO。 、宏程序數(shù)學(xué)計(jì)算的次序依次為:函數(shù)運(yùn)算( SIN, COS, ATAN 等),乘和除運(yùn)算( *,/,AND 等),加和減運(yùn)算( +, OR, XOR 等)。 、函數(shù)中的括號(hào)。括號(hào)用于改變運(yùn)算次序,函數(shù)中的括號(hào)允許嵌 套使用,但最多只允許嵌套 5 級(jí)。 例 #1=SIN#2+#3*4+#5/#6 ; 注意:在加工程序中,方括號(hào)用于封閉表達(dá)式,圓括號(hào)用于注釋。3、宏程序轉(zhuǎn)移指令 控制指令起到控制程序流向的作用。 在一個(gè)程序中, 控制程序流向可 以用 GOTO、IF 語(yǔ)句改變。有三種分支循環(huán)語(yǔ)句如下:GOTO 語(yǔ)句(無(wú)

10、條件分支);IF 語(yǔ)句(條件分支 :if. ,then.);WHILE 語(yǔ)句 (循環(huán)語(yǔ)句 while.)。 、分支語(yǔ)句格式一 :GOTO n;例 GOTO 1000; 無(wú)條件轉(zhuǎn)移語(yǔ)句,當(dāng)執(zhí)行該程序時(shí),無(wú)條件轉(zhuǎn)移到 N1000 程序 段執(zhí)行,順序號(hào)可以用表達(dá)式。格式二 : IF 條件表達(dá)方式 GOTO n; 例 IF#1GT#100GOTO 100 ; 有條件轉(zhuǎn)移語(yǔ)句,如果條件成立,則轉(zhuǎn)到 N 程序段執(zhí)行,如果 條件不成立, 則執(zhí)行下一句程序。 一個(gè)條件表達(dá)式一定要有一個(gè)操作符,這個(gè)操作符插在兩個(gè)變量或一個(gè)變量和一個(gè)常數(shù)之間,并且要用方括號(hào)括起來(lái),即:表達(dá)式 操作符 表達(dá)式。條件式的種類(lèi)如下表表

11、達(dá)式種類(lèi)條件式意義具體示例#i EQ #j等于(=)P IF#5EQ#6GOT100;#i NE #j不等于(工)IF#5NE100GOT100;#i GT #j大于()P IF#5GT#6GOT100;#i GE #j大于等于()IF#5GE100GOT100;#i LT #j小于()r IF#5LT#6G0T100;#i LE #j小于等于()IF#5LE100GOT100; 、循環(huán)指令WHILE 條件式DO m(m=1,2,3,);END m;當(dāng)條件式滿(mǎn)足時(shí),就循環(huán)執(zhí)行 WHILE與END之間的程序段m次, 當(dāng)條件不滿(mǎn)足時(shí),就執(zhí)行ENDm ;的下一個(gè)程序段。 、宏程序的嵌套A、WHILE 條件式DO m和END m必須成對(duì)使用,并且,DO m 一定要在END m之前指定,用 m來(lái)識(shí)別;B、同一識(shí)別號(hào) m可以在一個(gè)程序中多次使用,但 DO m與END m必須成對(duì)使用;C、 在一個(gè)程序中DO的范圍不能夠交叉,DO可以嵌套三重;D、在DO mEND m的內(nèi)部可以用GOTO n轉(zhuǎn)移到外部,但

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論