在數控編程中,利用數控系統提供的變量、數學運算功能、邏輯判斷、條件轉移等功能編寫的加工程序,我們可稱為宏。宏程序編程靈活、高效、快捷,是加工編程的重要補充,不僅可以實現象子程序那樣,對編制相同加工操作的程序非常有用,還可以完成子程序無法實現的特殊功能,例如,型腔加工宏程序、固定加工循環宏程序、球面加工宏程序、錐面加工宏程序等。
通常數控系統用戶宏程序主要由以下四部分構成。
1.變量;
2.包含算術或邏輯運算(=)的程序段;
3.包含控制語句(例如:GOTO,DO,END)的程序段;
4.包含宏程序調用指令(G65,G66,G67或其他G代碼,M代碼調用宏程序)的程序段。
在接下來的幾篇文章裡,按照由簡到難,我儘可能地把宏程序講解清楚,本文主要先講解一下什麼是變量,以及變量的簡單運用。
一、宏程序中的變量
雖然子程序對編制相同加工操作的程序非常有用,但用戶宏程序由於允許使用變量、算術和邏輯運算及條件轉移,使得編制相同加工操作的程序更方便,更容易。所以,用戶宏程序三大特點是:在用戶宏程序本體中,能使用變量;變量間可以運算;用宏指令可以給變量賦予實際值,那麼什麼是變量?
1.變量定義
變量用變量符號(#)和後面的變量號指定。
例如:#i
i 可為數字,如#5,#9。
i 可用表達式代替,如#[6/4]。
i 還可用變量#[[表達式]]代替,此時,表達式必須封閉在括號中,如#[#100],#[#1001-1]。
2.變量的賦值
格式:宏變量=常數或表達式
把常數或表達式的值送給一個宏變量稱為賦值。
例如: #1=124.0;
#2=
:運算命令的右項是常數、變量、函數和運算符的組合。
例如:算術運算符:+,-,*,/
加法運算: #i=#j+#k;
乘法運算:#i=#j*#k;
說明:
· 引用的變量值根據地址的最小輸入增量自動舍入。
· 例:G00 X#1;其中#1值為12.3456,CNC最小輸入增量1/1000mm,則實際指令值為G00 X12.346。
· 改變引用的變量值的符號,要把"—"號放在(#)前面。
例:G00 X—#1;
此外沒有定義的變量值被稱為,可稱為非定義變量,變量及地址字都被忽略。例:#1=0 ,#2="空", 則G00 X#1 Y#2;的執行結果是G00 X0。
接下來,我們通過一個案例來進行加深理解一下
一個普通的零件加工程序指定G碼並直接用數字值表示移動的距離,例:G01 X100.0 F200
我們可以把這一程序段換成如下程序
· #1=100
· G01 X#1 F200
或者我們也可以把程序修改為別的方式:
· #1=20
· #2=80
· #3=#1+#2
· G01 X#1 F200
或者你可以換成別的方式,等等,都可以!
· #1=160
· #2=60
· #3=#1-#2
· G01 X#1 F200
3.變量的種類
變量值可以分為空變量,局部變量,公共變量和系統變量,取決於變量號的不同。各種變量的用法和性質不同,一般我們在教學中用到的局部變量比較多。
二、案例運用
本文主要講解一下宏程序中的第一個組成部分變量,在文章結束的最後,咱們拿一個零件圖來實際感受一下,宏程序在數控車編程中的一個簡單的應用吧!零件圖如下:該零件的右端面半球球徑可取R15,可將球徑用變量表示。
程序如下:
%1001S1000 M3T0101;
G0 X50Z2;
/G71 U2 R1;
/G71 P1 Q2 U0.5 W0.02 F0.1 ;
N1 G0 X0
Z0 ;
#1=15
G3 X[2*#1] Z-#1 R#1 ;
G1 Z[-20-2*#1];
X40Z-60;
Z-94;
N20 G0X52;
G0 Z200;
M5 M30;
假如說,這個右端面半球球徑現在變為R10了,那麼我們只需要把上面程序中的#1=15改為#1=10即可,也就不需要額外在編程了,不知你明白本文所要表達的意思嗎?
好吧,今天關於變量的知識點就先講解到這吧!
閱讀更多 zny850210 的文章