![新代數(shù)控車床宏程序說明學(xué)習(xí)資料_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/6eb3dbf6-fb4a-47c2-b1cb-2f75607710ab/6eb3dbf6-fb4a-47c2-b1cb-2f75607710ab1.gif)
![新代數(shù)控車床宏程序說明學(xué)習(xí)資料_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/6eb3dbf6-fb4a-47c2-b1cb-2f75607710ab/6eb3dbf6-fb4a-47c2-b1cb-2f75607710ab2.gif)
![新代數(shù)控車床宏程序說明學(xué)習(xí)資料_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/6eb3dbf6-fb4a-47c2-b1cb-2f75607710ab/6eb3dbf6-fb4a-47c2-b1cb-2f75607710ab3.gif)
![新代數(shù)控車床宏程序說明學(xué)習(xí)資料_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/6eb3dbf6-fb4a-47c2-b1cb-2f75607710ab/6eb3dbf6-fb4a-47c2-b1cb-2f75607710ab4.gif)
![新代數(shù)控車床宏程序說明學(xué)習(xí)資料_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/6eb3dbf6-fb4a-47c2-b1cb-2f75607710ab/6eb3dbf6-fb4a-47c2-b1cb-2f75607710ab5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、一.用戶宏程序的根本概念用一組指令構(gòu)成某功能,并且象子程序一樣存儲在存儲器中,再把這些存儲的功能由一個指令來代表,執(zhí)行時只需寫出這個代表指令,就可以執(zhí)行其相應(yīng)的功能.在這里,所存儲的一組指令叫做宏程序體或用戶宏程序,簡稱為用戶宏.其代表指令稱為用戶宏命令,也稱作宏程序調(diào)用指令.用戶宏有以下四個主要特征:1在用戶用戶宏程序中可以使用變量,即宏程序體中能含有復(fù)雜的表達式;2能夠進行變量之間的各種運算;3可以用用戶宏指令對變量進行賦值,就象許多高級語言中的帶參函數(shù)或過程,實參能賦值給形參;4容易實現(xiàn)程序流程的限制.使用用戶宏時的主要方便之處在于由于可以用變量代替具體數(shù)值,因而在加工同一類的工件時.只
2、得將實際的值賦予變量既可,而不需要對每個不同的零件都編一個程序.二.根本書寫格式數(shù)控程序文檔中,一般以“%字符作為第一行的起頭,該行將被視為標(biāo)題行.當(dāng)標(biāo)題行含有關(guān)鍵字“MACRO時整個文檔就會以系統(tǒng)所定義的MACRO語法處理.如果該行無“MACRO關(guān)鍵詞此檔案就會被視為一般ISO程序文檔格式處理,此時將不能編寫用戶宏和使用其MACRO語法.而當(dāng)書寫ISO程序文檔時標(biāo)題行一般可以省略,直接書寫數(shù)控程序.“MACRO關(guān)鍵詞必須是大寫字母.對于程序的注釋可以采用“/的形式,這和高級語言C+一樣.例一:MACRO格式文檔%MACRO/用戶宏程序文檔,必須包含“MACRO關(guān)鍵詞IF1=1THENG00X
3、100.;ELSEG00Z100.;END_IF;M99;例二:ISO格式文檔%這是標(biāo)題行,可當(dāng)作檔案用途說明,此行可有可無G00X100.;G00Z100.;G00X0;G00Z0M99;三.用戶宏程序的編寫如前所述,變量是指可以在用戶宏程序中的地址碼后代替具體數(shù)值,在調(diào)用宏程序時進行賦值的符號#i(i=1,2,3,).使用變量可以使用戶宏程序具有通用性.用戶宏程序中可以使用多個變量,以變量編號進行識別.1、變量的形式變量是用符號#或后面加上變量編號所構(gòu)成的,即:#i(i=1,2,3,)例如:551 10911005也可用#(表達式的形式來表示.例如:#100#10011#6/2其實,通過用
4、符號后面加上變量編號也可構(gòu)成的變量,即:i(i=1,2,3,)例如:55但一般地,由符號后面加上變量編號構(gòu)成的變量稱為全局變量,不提倡在用戶宏程序中使用,具體見后面的介紹.2、變量的引用在地址符后的數(shù)值可以用變量置換.例如:假設(shè)寫成F#33,那么當(dāng)#33=1.5時,與F1.5相同.假設(shè)寫成Z-#18,那么當(dāng)#18=20.0時,與Z-20.0相同.但需要注意,作為地址符的O、N、/等,不能引用變量.例如,O#27、N#1等,都是錯誤的.3、未定義變量尚未被定義的變量,被稱為空(VACANT).變量#0,0始終為空,經(jīng)常被用作空變量使用.3.變量賦值和引數(shù)賦值變量賦值:用戶宏程序中變量賦值使用賦值
5、運算符“:二,不可僅用“二"符號由于在本系統(tǒng)中符號“=是被規(guī)定為關(guān)系運算符,用來比擬是否相等的.例如#30:=100,會將變量#30賦值為整數(shù)100;而#30=100,將不能為變量#30賦值,實際上是比擬變量#30是否與整數(shù)100相等.四.變量運算及變量表達式1 .用戶宏運算符要對變量進行各種運算操作就要用到運算符,它是“能對變量所存數(shù)據(jù)進行運算的符號.本系統(tǒng)的運算符及其優(yōu)先級如表3-2所示.表3-2運算符及其優(yōu)先級運算名符號優(yōu)先級(),口1函數(shù)調(diào)用運算函數(shù)名(參數(shù)列表)2取負(fù)-3求補運算NOT3乘法運算*4除法運算/4模運算/求余運算MOD4加法運算+5減法運算-5關(guān)系運算<
6、,>,<=,>=6相等運算=7不等運算<>8布爾邏輯/按位與&,AND9布爾邏輯/按位異或XOR10布爾邏輯/按位或OR112、根本算數(shù)運算符(1) +(加法運算符,如3+5,#12+4)(2)-(減法運算符,或取負(fù)運算符,如#33-16,-#16)(3) *(乘法運算符,如9*2,#13*8)(4) /(除法運算符,如10/3,#43/15)(5)MOD(模運算符,或稱求余運算符,其兩側(cè)均應(yīng)為整型數(shù)據(jù),如7MOD4的值為3,當(dāng)#18=20時#18MOD4的值為2)3、算術(shù)表達式和運算符優(yōu)先級用算術(shù)運算符和括號將運算對象連接起來的、符合語法規(guī)那么的式子稱為
7、算術(shù)表達式,運算對象可以是常數(shù)、變量、函數(shù)等.例如:#6*8/#32-1.5+#18+ROUND(#1)這就是一個算術(shù)運算式,它可以作為一個整體賦值給某個變量,或用作其他表達式中的一個運算對象.本系統(tǒng)按表表3-2規(guī)定了運算符的優(yōu)先級和結(jié)合性.在表達式求值時,先按運算符的優(yōu)先級別上下次序執(zhí)行,例如先乘除后加減.如表達式#12-#41*5的左側(cè)為減,右側(cè)為乘號,而乘號優(yōu)先于減號,因此,相當(dāng)于#12-(#41*5).如果在一個運算對象兩側(cè)的運算符的優(yōu)先級別相同,如#2-5+#23,那么按規(guī)定的結(jié)合性(結(jié)合方向)處理,算術(shù)運算符的結(jié)合方向為“自左至右,即先左后右.因此5先與減號結(jié)合,執(zhí)行#2-5的運算
8、,再執(zhí)行加#23的運算.這樣“自左至右的結(jié)合方向又稱為“左結(jié)合性,即運算對象先與左面的運算符結(jié)合;對應(yīng)地,也有“右結(jié)合性的運算符,例如賦值運算符“:=就是.4、關(guān)系運算符和關(guān)系表達式關(guān)系運算符是邏輯運算中比擬簡單的一種.所謂“關(guān)系運算實際上就是“比較運算.將兩個值進行比擬,判斷比擬的結(jié)果是否符合給定的條件.例如,#3>10是一個關(guān)系表達式,大于號(>)是一個關(guān)系運算符,如果#3=12,那么滿足給定的“#3>10條件,因此關(guān)系表達式的值為“真(即“條件滿足);如果#3=6,不滿足“#3>10條件,那么稱關(guān)系表達式的值為“假.本系統(tǒng)提供6種關(guān)系運算符:(1)<優(yōu)先級相
9、同(高)<二(3)>優(yōu)先級(較高)優(yōu)先級(低)>=(5)=(6)<>關(guān)于優(yōu)先次序:1、前4種關(guān)系運算符(<,<=,>,>=)的優(yōu)先級別相同,它們卻高于關(guān)系運算符“=",而“二又高于“<>"2、關(guān)系運算符的優(yōu)先級低于算術(shù)運算符.3、關(guān)系運算符的優(yōu)先級高于賦值運算符.用兩個關(guān)系運算符將兩個表達式連接起來的式子,稱為關(guān)系表達式.例如:#6>36,#13+4<>#23關(guān)系表達式的值是一個邏輯值,即“真或“假.例如,假設(shè)#12為8,那么關(guān)系表達式“#12=10的值為“假,"#12>=6
10、的值為“真.5、邏輯運算和邏輯表達式用邏輯運算符將關(guān)系表達式或邏輯量連接起來就是邏輯表達式.本系統(tǒng)提供6種邏輯運算符和邏輯運算(1) &,AND邏輯與(2) XOR邏輯或(3) OR邏輯異或它們都是“雙目(元)運算符,它要求有兩個運算量(操作數(shù)),邏輯運算舉例如下:# 1AND#2假設(shè)#1、#2為真,WJ#1AND#2為真.# 1OR#2假設(shè)#1、#2之一為真,那么#1XOR#2為真.邏輯運算符低于關(guān)系運算符,見圖3-1.算術(shù)運算符/吉、(局)關(guān)系運算符邏輯運算符(低)賦值運算符圖3-1五.用戶宏程序的流程限制所謂程序白流程(FlowControl)是通過限制程序的執(zhí)行方向,進而掌握程
11、序動態(tài).這用戶宏程序區(qū)別于一般數(shù)控程序的特征之一,也是用戶選擇用戶宏程序編寫數(shù)控代碼的一大理由.用戶宏程序的流程限制包括無條件判斷、循環(huán)限制、無條件轉(zhuǎn)移三大類,這與其他的高級語言程序類似,下面將分別介紹其功能和使用語法.1、條件判斷判斷條件的真假,然后根據(jù)真假或者對應(yīng)情況到指定的地方去執(zhí)行程序,這方面的語句有IF和CASE語句.1、IF條件語句1)根本語法:IF條件表達式THEN一操作-ELSEIF條件表達式THEN一操作一ELSE-操作-END_IF;說明:IF條件判斷,根據(jù)真假情況到指定的地方去執(zhí)行程序.例如:%MACRO/啟動MACRO語法# 1:=3.0;G01X20.Z15.F200
12、;IF#1=1THEN;X(1.0*1);Z(1.0*1);ELSEIF#1=2THEN;X(1.0*2);Z(1.0*2);ELSEIF#1=3THEN;X(1.0*3);Z(1.0*3);ELSE;X(1.0*4);Z(1.0*4);END_IF;X(1.0)Z(1.0);M30;然而在實際使用中,可以有以下一些變形:2)變形1語法:IF條件表達式THENHgELSE操作-END_IF;3)變形2語法:IF條件表達式THEN-操作-END_IF;編程時可根據(jù)需要選擇適宜的語法格式.2、循環(huán)限制1、REPEAT直到型循環(huán)語法:REPEAT循環(huán)體UNTIL條件表達式END_REPEAT;說明:
13、REPEAT直到型循環(huán)限制,先執(zhí)行循環(huán)體,后判斷條件表達式,當(dāng)條件滿足時退出循環(huán).例如:%MACRO/啟動MACRO語法# 10:=30.;# 11:=22.5.;# 12:=#10/2;# 13:=#11/2;# 14:=2.0;# 15:=1.5;G01X#12Z#13F200.0;REPEATG00X(#12+#14)Z(#13+#15);G01X(#12+#14)Z(#13-#15);X(#12-#14)Z(#13-#15);X(#12-#14)(#13+#15);X(#12+#14)(#13+#15);#14:=#14+2.0;#15:=#15+1.5;UNTIL(#14#12)OR
14、(#15#13)END_REPEAT;X(1.0)Z(1.0);M30;3.WHILE當(dāng)型循環(huán)語法:WHILE條件表達式DO-循環(huán)體-END_WHILE;說明:WHILE當(dāng)型循環(huán)限制,先判斷條件表達式,當(dāng)條件滿足時執(zhí)行循環(huán)體,否那么退出循環(huán)例如:# MACRO;# 10:=20.;# 11:=15.;# 12:=#10/2;# 13:=#11/2;# 14:=2.0;# 15:=1.5;G01X#12Z#13F200.0;WHILE(#14<=#12)AND(#15<=#13)DOG00X(#12+#14)Z(#13+#15);G01X(#12+#14)Z(#13-#15);X(#
15、12-#14)(#13-#15);IF#14>6.0THENEXIT;END_IF;X(#12-#14)(#13+#15);X(#12+#14)(#13+#15);#14:=#14+2.0;#15:=#15+1.5;END_WHILE;X(-5.0)Z(5.0);M02;4.FOR循環(huán)語法:FOR<循環(huán)變量>:=<表達式1>TO<表達式2>BY<表達式3>DO<循環(huán)體>END_FOR;說明:FOR循環(huán)限制,式中各參數(shù)意義如下循環(huán)變量限制循環(huán)次數(shù)的變量;表達式1一一循環(huán)計數(shù)的起始值,可為整數(shù)或表達式;表達式2一一循環(huán)計數(shù)的終止值,
16、可為整數(shù)或表達式;表達式3一一循環(huán)計數(shù)每次的累加值,可為整數(shù)或表達式;循環(huán)體一一循環(huán)每次執(zhí)行內(nèi)容;FOR循環(huán)執(zhí)行過程為:先給循環(huán)變量賦起始值,然后判斷循環(huán)變量是否為終止值,當(dāng)循環(huán)變量已為終止值時退出循環(huán),否那么執(zhí)行循環(huán)體,再對循環(huán)變量加上每次累加值,5、無條件轉(zhuǎn)移GOTO轉(zhuǎn)移語句語法:GOTOn;說明:無條件地跳到指定的n行號執(zhí)行,其中n可為整數(shù)或表達式.GOTO常和IF語句搭配使用,那就是說當(dāng)程序檢查到某個條件滿足時用GOTO語句去進一步處理,但應(yīng)盡量少用該語句以提升程序可讀性.范例:%MACRO/啟動MACRO語法IF(#1=2)THENGOTO100;G01X10.Z10.;N100G0
17、1X30.Z30.;M02;EXIT循環(huán)中斷語句語法:EXIT;說明:循環(huán)中斷,跳離循環(huán)限制;用在循環(huán)限制中,通常EXIT都和IF語句搭配使用,當(dāng)某個條件滿足后就跳離循環(huán).請參考WHILE范例.六.庫函數(shù)1、ABS調(diào)用方法:人8$(參數(shù))函數(shù)描述:求一個數(shù)的絕對值范例:#1:=ABS(-2.3);/#1的結(jié)果是2.3注:此處函數(shù)內(nèi)“參數(shù)既可為實際數(shù)值,也可為變量或表達式,以下假設(shè)無特殊說明均按此處理.2、SIN調(diào)用方法:SIN(參數(shù))函數(shù)描述:求一個數(shù)的正弦值范例:#1:=SIN(#10);3、ASIN調(diào)用方法:ASIN(參數(shù))函數(shù)描述:求一個數(shù)的反正弦值范例:#1:=ASIN(#10);4、
18、MAX調(diào)用方法:MAX(參數(shù)1,參數(shù)2)函數(shù)描述:求兩個數(shù)的最大值范例1:# 1:=MAX(10,20);/#1等于20范例2:# 1:=MAX(#2,#3);5、SQRT調(diào)用方法:SQRT(參數(shù))函數(shù)描述:求一個數(shù)的平方根值范例1:# 2:=SQRT(3);/#2等于1.732范例2:# 16:=SQRT(#10);6、SIGN調(diào)用方法:SIGN(參數(shù))函數(shù)描述:返回一個數(shù)的符號,-1表示該數(shù)是負(fù)數(shù),1表示該數(shù)是正數(shù),0表示該數(shù)是零.范例:IF(SIGN(#10)0)THENEND_IF;5、CEIL調(diào)用方法:CEIL(參數(shù))函數(shù)描述:返回比一個數(shù)大或與其相等的最小整數(shù)范例1:# 2:=CE
19、IL(2.3);/#2等于3范例2:# 2:=CEIL(#10);7、ROUND調(diào)用方法:ROUND(參數(shù))函數(shù)描述:四舍五入化整,范例1:# 2:=ROUND(2.3);/#2等于2范例2:# 2:=ROUND(#10);七.用戶宏程序編寫考前須知1 .用戶宏文檔第一行必須為MACRO;程序段的每一行結(jié)束需加“;結(jié)束符;對于用戶宏子程序最后需加“M99;,以便能返回到主程序.2 .變量賦值使用“:=符號,不可僅用“=符號.3 .文檔名儲存需依照以下規(guī)那么.例如:編寫G100之MACRO,需將該MACRO程序存在C:CNCMACRO目錄底下,且文件名需為G0100,不需擴展名.而編寫G100.
20、1之MACRO,需將該MACRO程序存在C:CNCMACRO目錄底下,且文件名需為G100001,不需擴展名.4 .請多使用局部變量(#1#50),模態(tài)變量(#2001#2100#3001#3100訥所有擴充G碼的共享資源,請僅用于多個擴充G碼間的數(shù)據(jù)交換,以節(jié)省共享資源;如果需要系統(tǒng)定義的初始值,請使用用戶參數(shù)(#4001#4100,#5001#5100).5 .請不要使用全局變量(GlobalVariables,1999),由于G碼執(zhí)行時,使用者的數(shù)據(jù)是由自變量(A_,B_,Z_)傳入,由公共變量傳遞不符合使用習(xí)慣.6 .系統(tǒng)在執(zhí)行加工時對于MACRO程序會事先預(yù)編譯,因此MACRO執(zhí)行速
21、度會超前于G、M代碼指令,因此當(dāng)要求變量賦值或數(shù)據(jù)讀取須與G、M代碼指令發(fā)出的時間進程相同時,請于變量賦值或數(shù)據(jù)讀取前加WAIT()指令,否那么該變量賦值或該數(shù)據(jù)讀取將無法與G、M代碼同步.7 .不可改變模式G碼(G00/G01/G02/G03/G33/G34/G35,G91/G90,G40/G41/G42,)的狀態(tài),如果用戶宏程序中需要改變其狀態(tài)時,就需要模態(tài)信息的回復(fù),8 .對于長度或角度的自變量在運算前請使用STD()函數(shù)將單位標(biāo)準(zhǔn)化,以符合工具機使用習(xí)慣.9 .不可以改變坐標(biāo)系統(tǒng)設(shè)定,G92/G54/G52等與坐標(biāo)系統(tǒng)相關(guān)指令不能使用,否那么圖形仿真功能將失去參考意義.10 .請在程序
22、中加上必要的注釋,養(yǎng)成良好的編程習(xí)慣,以增加程序可讀性和可維護性,以幫助后續(xù)開發(fā)人員維護和排除問題.附錄IV運算符及其優(yōu)先級運算名符號優(yōu)先級(),1函數(shù)調(diào)用運算函數(shù)名(參數(shù)列表)2取負(fù)-3求補運算NOT3乘法運算*4除法運算/4模運算/求余運算MOD4加法運算+5減法運算5關(guān)系運算<,>,<=,>=6相等運算=7不等運算<>8布爾邏輯/按位與&,AND9布爾邏輯/按位異或XOR10布爾邏輯/按位或OR11函數(shù)名描述ABS求一個數(shù)的絕對值范例:#1:=ABS(-2.3);/#1的結(jié)果是2.3ACOS求一個數(shù)的反余弦值范例:#1:=ACOS(#10);ASIN求一個數(shù)的反正弦值范例:#1:=ASIN(#10);ATAN求一個數(shù)的反正切值范例:#1:=ATAN(#10);COS求一個數(shù)的余弦值范例:#1:=COS(#10);MAX求兩個數(shù)的最大值范例1:函數(shù)名描述#1:=MAX(10,20);/#1等于20范例2:#1:=MAX(#2,#3);MIN求兩個數(shù)的最小值范例1:#1:=MIN(10.0,20.0);/#1等于10.0范例2:#1:=MIN(#10,#11);SIN求一個數(shù)的正弦值范例:#1:=SIN(#10);SQRT求一個數(shù)的平方根值范例1:#2:=SQRT(3);
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商場泔水清運專項服務(wù)合同
- 二零二五年度寶石匠人珠寶店珠寶行業(yè)法律咨詢合同
- 廚衛(wèi)改造工程合同樣本
- 旅游規(guī)劃與設(shè)計行業(yè)智能化旅游目的地打造方案
- 電子通訊網(wǎng)絡(luò)工程指南
- 職業(yè)病診斷與鑒定作業(yè)指導(dǎo)書
- 三農(nóng)產(chǎn)品流通體系國際化與走出去戰(zhàn)略作業(yè)指導(dǎo)書
- 三農(nóng)田灌溉管理方案
- 多應(yīng)用臨時借款合同常用
- 房產(chǎn)歸男方無債務(wù)離婚協(xié)議書
- 福建省泉州市晉江市2024-2025學(xué)年七年級上學(xué)期期末生物學(xué)試題(含答案)
- 醫(yī)美注射類知識培訓(xùn)課件
- 2025年春新人教版物理八年級下冊課件 第十章 浮力 第4節(jié) 跨學(xué)科實踐:制作微型密度計
- 2025年廣電網(wǎng)絡(luò)公司工作計劃(3篇)
- 貨運車輛駕駛員服務(wù)標(biāo)準(zhǔn)化培訓(xùn)考核試卷
- 銀行行長2024年個人年終總結(jié)
- 財務(wù)BP經(jīng)營分析報告
- 三年級上冊體育課教案
- 2024高考物理二輪復(fù)習(xí)電學(xué)實驗專項訓(xùn)練含解析
- 暴發(fā)性心肌炎的診斷與治療
- 2024年全國統(tǒng)一高考英語試卷(新課標(biāo)Ⅰ卷)含答案
評論
0/150
提交評論