新代數(shù)控車床宏程序說明.doc_第1頁
新代數(shù)控車床宏程序說明.doc_第2頁
新代數(shù)控車床宏程序說明.doc_第3頁
新代數(shù)控車床宏程序說明.doc_第4頁
新代數(shù)控車床宏程序說明.doc_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、三.用戶宏程序的編寫如前所述,量是指可以在用宏程序中的地址后代替具體數(shù),在用宏程序 行 的符號# i (i = 1, 2, 3,)。使用量可以使用宏程序具有通用性。用宏程序中可以使用 多個量,以量號行。1、量的形式量是用符號#或后面加上量號所構(gòu)成的,即:#i(i = 1, 2, 3, )例如:# 5#109 #1005也可用# 表達式的形式來表示。例如:# #100#1001-1 # #6/2其,通用符號后面加上量號也可構(gòu)成的量,即: i(i =1, 2, 3,)例如:55但一般地,由符號后面加上量號構(gòu)成的量稱全局量,不提倡在用宏程序中 使用,具體后面的介。2、量的引用 在地址符后的數(shù)可以用量

2、置 例如: 若寫成F#33,當(dāng)#33 = 1.5,與F1.5相同。若寫成 Z#18,當(dāng) #18 = 20.0,與 Z 20.0 相同。但需要注意,作地址符的O、N、/等,不能引用量。例如,0#27、N#1等,都是的。3、未定量尚未被定的量,被稱空( VACANT )。量# 0, 0始 空,常被用作空量使用。3.變量賦值和引數(shù)賦值量:用宏程序中量使用 運算符不可用“二”符號。因在本系中符號“=”是被定關(guān)系運算符,用來比是否相等的。例如#30: =100,會將量#30 整數(shù)100;而#30=100,將不能量#30 ,上是比 量#30是否與整數(shù)100相等。四.變量運算及變量表達式1 .用戶宏運算符要

3、對變量進行各種運算操作就要用到運算符,它是“能對變量所存數(shù)據(jù)進行運 算的符號”。本系統(tǒng)的運算符及其優(yōu)先級如表3.2所示。表3-2運算符及其優(yōu)先級運算名符號優(yōu)先級括號(),口1函數(shù)調(diào)用運算V函數(shù)名乂V參數(shù)列表)2取負一3求補運算NOT3乘法運算*4除法運算/4模運算/求余運算MOD4加法運算+5減法運算一5關(guān)系運算V, >, v=, >=6相等運算7不等運算<>8布爾邏輯/按位與& , AND9布爾邏輯/按位異或XOR10布爾邏輯/按位或OR112、基本算數(shù)運算符(1)+ (加法運算符,如 3+5, #12+4)(2)-(減法運算符,或取負運算符,如#33-16,

4、 -#16)(3) (乘法運算符,如9*2 , #13*8 )(4)/(除法運算符,如10/3, #43/15)(5)MOD (模運算符,或稱求余運算符,其兩側(cè)均應(yīng)為整型數(shù)據(jù),如7MOD4的值為3,當(dāng)#18=20時#18 MOD4的值為2)3、算術(shù)表達式和運算符優(yōu)先級用算術(shù)運算符和括號將運算對象連接起來的、符合語法規(guī)則的式子稱為算術(shù)表達 式,運算對象可以是常數(shù)、變量、函數(shù)等。例如:#6*8/#32-1.5+#18+ ROUND (# 1)這就是一個算術(shù)運算式, 達式中的一個運算對象。它可以作為一個整體賦值給某個變量,或用作其他表本系統(tǒng)按表表3.2規(guī)定了運算符的優(yōu)先級和結(jié)合性。在表達式求值時,先

5、按運算符的優(yōu)先級別高低次序執(zhí)行,例如先乘除后加減。如表達式#12-#41*5的左側(cè)為減,右側(cè)為乘號,而乘號優(yōu)先于減號,因此,相當(dāng)于 #12- ( #41*5) o如果在一個運算對象兩側(cè)的運算符的優(yōu)先級別相同,如#25+#23,則按規(guī)定的結(jié) 合性(結(jié)合方向)處理,算術(shù)運算符的結(jié)合方向為“自左至右”,即先左后右。因此5先與減號結(jié)合,執(zhí)行#2-5的運算,再執(zhí)行加#23的運算。這樣“自左至右的 結(jié)合方向”又稱為“左結(jié)合性”,即運算對象先與左面的運算符結(jié)合;對應(yīng)地,也有“右結(jié)合性”的運算符,例如賦值運算符“:=”就是。4、關(guān)系運算符和關(guān)系表達式關(guān)系運算符是邏輯運算中比較簡單的一種。所謂“關(guān)系運算”實際上

6、就是“比 較運算”。將兩個值進行比較,判斷比較的結(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)先級相同(高)(2)<=(3)>(4)>=(較高) (低)優(yōu)先級優(yōu)先級(5)=(6)<>關(guān)于優(yōu)先次序:1、前4種關(guān)系運算

7、符(V, < =, >, >=)的優(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)系表達式的值是一個邏輯值,即“真”或“假”。例如,若#12為8,則關(guān)系表達式" #12=10”的值為“假” ," #12>=6”的值為“真”。5、邏輯運算和邏輯表達式用邏輯運算符將關(guān)系表達式或邏輯量連接起來就是邏輯表達式。

8、本系統(tǒng)提供6種邏輯運算符和邏輯運算 (1)& , AND邏輯與(2) XOR邏輯或(3) OR 邏輯異或它們都是“雙目(元)運算符”,它要求有兩個運算量(操作數(shù)),邏輯運算 舉例如下:#1 AND #2 若#1、#2 為真,則 #1 AND #2 為真。#1 OR #2若#1、#2之一為真,則#1 XOR#2為真。邏輯運算符低于關(guān)系運算符,見圖3-1 o算術(shù)運算符+(高)關(guān)系運算符邏輯運算符(低)賦值運算符圖3-1五.用戶宏程序的流程控制所謂程序的流程(Flow Control )是通過控制程序的執(zhí)行方向,進而掌握程序動 態(tài)。這用戶宏程序區(qū)別于一般數(shù)控程序的特征之一,也是用戶選擇用戶宏

9、程序編寫數(shù) 控代碼的一大理由。用戶宏程序的流程控制包括無條件判斷、循環(huán)控制、無條件轉(zhuǎn)移 三大類,這與其他的高級語言程序類似,下面將分別介紹其功能和使用語法。1、條件判斷判斷條件的真假,然后根據(jù)真假或者對應(yīng)情況到指定的地方去執(zhí)行程序,這方 面的語句有IF和CASE語句。1、IF條件語句1)基本語法:IF v條件表達式 THEN f v操作ELSEIF v條件表達式 THEN - v操作一 ELSE- v操作ENDJF ;說明:IF條件判斷,根據(jù)真假情況到指定的地方去執(zhí)行程序。例如:% MACRO 啟動 MACRO 語法#1 :=3.0;G01 X20. Z15. F200;IF#1 = 1 TH

10、EN; X(1.0*1); Z(1.0*1);ELSEIF #1 =2 THEN; X(1.0*2); Z (1.0*2);ELSEIF #1 =3 THEN; X(1.0*3); Z (1.0*3);ELSE; X(1.0*4); Z (1.0*4);ENDJF;X(1.0) Z(1.0);M30;然而在實際使用中,可以有以下一些變形:2)變形1語法:IF v條件表達式 THE Nf v操作ELSE-v操作END_IF ;3)變形2語法:IF v條件表達式 THEN f v操作-END_IF ;編程時可根據(jù)需要選擇合適的語法格式。2、循環(huán)控制1、REPEAT直到型循環(huán)語法:REPEATv循環(huán)

11、體UNTIL v條件表達式 END.REPEAT ;說明:REPEAT直到型循環(huán)控制,先執(zhí)行循環(huán)體,后判斷條件表達式,當(dāng)條件 滿足時退出循環(huán)。例如:% MACRO 啟動 MACRO 語法# 10 := 30.;# 11 :225;# 12 := #10/2;# 13 := #11/2;# 14 := 2.0;# 15 := 1.5;G01 X#12 Z#13 F200.0;REPEATGOO X(#12+#14) Z (#13+#15);G01 X(#12+#14) Z (#13-#15);X(#12-#14) Z (#13-#15);X(#12-#14) Z (#13+#15);X(#12+

12、#14) Z(#13+#15);#14 := #14 + 2.0;#15 := #15 + 1.5;UNTIL (#14 #12) OR (#15 #13) END_REPEAT;X(1.0) Z(1.0);M30;3 . WHILE當(dāng)型循環(huán)語法:WHILE v條件表達式 DO -v循環(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;G01 X#12 Z#13

13、 F200.0;WHILE (#14 <= #12) AND (#15 <= #13) DOGOO X(#12+#14) Z (#13+#15);G01 X(#12+#14) Z (#13-#15);X(#12-#14) Z (#13-#15);IF #14 >6.0 THENEXIT;ENDJF;X(#12-#14) Z (#13+#15);X(#12+#14) Z(#13+#15);#14 := #14 + 2.0;#15 := #15 + 1.5;END_WHILE;X(-5.0) Z(5.0);M02;4 . FOR循環(huán)語法:FOR v循環(huán)變量> :=v表達式1

14、 > TO v表達式2> BY v表達式3> D O v循環(huán)體>END FOR ;說明:FOR循環(huán)控制,式中各參數(shù)意義如下循環(huán)變量一一控制循環(huán)次數(shù)的變量;表達式1循環(huán)計數(shù)的起始值,可為整數(shù)或表達式;表達式2循環(huán)計數(shù)的終止值,可為整數(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移句 法:GOTO n;明:無條件地跳到指定的n行號行,其中n可整數(shù)或表達式。GO

15、TO常和IF句搭配使用,那就是當(dāng)程序 到某個條件足用GOTO句去一步理,但盡量少用 句以提高 程序可性。范例:% MACRO 啟 MACRO 法IF( #1 = 2 ) THEN GOTO 100;G01 X10. Z10.; N100 G01 X30. Z30.;M02;EXIT循中斷句法:EXIT;明:循中斷,跳離循控制;用在循控制中,通常EXIT都和IF句搭配使用,當(dāng)某個條件足后就跳離循。參考WHILE范例。六.庫函數(shù)1、ABS用方法:ABS(v參數(shù))函數(shù)描述:求一個數(shù)的范例:#1 := ABS(-2.3); /#1 的果是 2.3注:此函數(shù)內(nèi)“參數(shù)”既可 數(shù),也可量或表達式,以下若無特

16、殊 明均按此理。2、SIN用方法:SIN (v參數(shù)) 函數(shù)描述:求一個數(shù)的正弦 范例:#1 :=SIN(#10);3、ASIN用方法:ASIN (參數(shù))函數(shù)描述:求一個數(shù)的反正弦范例:#1 := ASIN(#10);4、MAX用方法:MAX(參數(shù)1,參數(shù)2)函數(shù)描述:求兩個數(shù)的最大范例1:# 1 := MAX(10 , 20);/#1 等于 20范例2:# 1 := MAX(#2 , #3);5、SQRT用方法:SQRT(v參數(shù))函數(shù)描述:求一個數(shù)的平方根范例1:# 2 := SQRT(3); / #2 等于 1.732范例2:# 16 := SQRT(#10);6、SIGN用方法:SIGN

17、(v參數(shù))函數(shù)描述:返回一個數(shù)的符號,-1表示數(shù)是數(shù),1表示數(shù)是正數(shù),0表示數(shù)是零。范例:IF(SIGN(#10)0)THEN ENDJF;5、CEIL用方法:CEIL(參數(shù))函數(shù)描述:返回比一個數(shù)大或與其相等的最小整數(shù)范例1:# 2 := CEIL(2.3); #2 等于 3范例2:# 2 :=CEIL(#10);7、ROUND用方法:ROUND (參數(shù))函數(shù)描述:四舍五入化整,范例1:# 2 := ROUND(2.3); / #2 等于 2范例2:# 2 := ROUND(#10);七.用戶宏程序編寫注意事項1 .用宏文檔第一行必 %MACRO ;程序段的每一行束需加“廣束符;于用宏 子程

18、序最后需加“ M99;”,以便能返回到主程序。2 .量 使用“二”符號,不可用“=”符號。3 .文檔名存需依照下列。彳列如:寫G100之MACRO ,需斗等MACRO程序存在C:CNCMACRO目底下,且文件名需 G0100,不需展名。而 寫G100.1之MACRO ,需斗等MACRO程序存在C:CNCMACRO目 底下,且文件名需 G100001,不需展名。4 . 多使用局部量(#1#50),模 量(#2001#2100, #3001#3100)所有充 G 的 共享源,用于多個充g的數(shù)據(jù)交,以省共享源;如果需要系定的初始, 使用用 參數(shù)(#4001#4100, #5001-#5100 )o5

19、.不要使用全局量(Global Variables, 1999),因G 行,使用者的數(shù)據(jù)是由自量(A_, B_,Z_)入,由公共量 不符合使用。6.系在 行加工 于MACRO程序會事先,因此MACRO行速度會超前于G、M代指令,因此當(dāng)要求量或數(shù)據(jù)取與G、M代指令出的程相同,于量或數(shù)據(jù)取前加WAIT ()指令,否量或數(shù)據(jù)取將無法與G、M代同步。7.不可改 模式 G (G00/G01/G02/G03/G33/G34/G35, G91/G90,G40/G41/G42,,)的狀,如果用宏程序中需要改其狀,就需要模信息的 回復(fù),8.于度或角度的自量在運算前使用STD()函數(shù)將位準(zhǔn)化,以符合工具機使9.不

20、可以改坐系 定,G92/G54/G52等與坐系相關(guān)指令不能使用,否 形仿真 功能將失去參考意。10.在程序中加上必要的注,養(yǎng)成良好的程,以增加程序可性和可 性,以幫 助后開人和排除。附錄IV運算符及其優(yōu)先級運算名符號優(yōu)先級括號(),口1函數(shù)調(diào)用運算V函數(shù)名乂V參數(shù)列表,)2取負3求補運算NOT3乘法運算*4除法運算/4模運算/求余運MOD4算加法運算減法+5運算一5關(guān)系運算V,v=,=6相等運算7不等運算<>8布爾邏輯/按位與& , AND9布爾邏輯/按位異或XOR10布爾邏輯/按位或OR11函數(shù)名描述ABS求一個數(shù)的絕對值范例:#1 := ABS(-2.3);/#1 的結(jié)

21、果是 2.3 求ACOS一個數(shù)的反余弦值 范例:#1 := ACOS(#10);ASIN求一個數(shù)的反正弦值 范例:#1 := ASIN(#10);ATAN求一個數(shù)的反正切值 范例:#1 := ATAN(#10);COS求一個數(shù)的余弦值 范例:#1 := COS(#10);MAX求兩個數(shù)的最大值 范例1:第1 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);SORT求一個數(shù)的平方根范例1:#2 := SQRT(3);/ #2 等于 1 .732.范例2:#2 := SQRT(#10);TAN求一個數(shù)的正切 范例:#1 := TAN(#10);

溫馨提示

  • 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論