鄒軍:數控宏程序語句,入門級別的講解

數控宏程序有兩大主要語句:

一,IF…..GOTO語句

二,WHILE…..DO語句

1,IF…..GOTO語句:

直觀意思是:如果...就跳轉到哪(或者是做什麼事)。

我們不妨用這個格式來造句,如果福布斯有我的名字,那麼 我就不上班了;

如果 我看過清風的宏教程,那麼我還會看他的其他教程!

這類語句都有一個共同點:“如果”的後面會跟著一個條件!

根據這個條件,決定我做什麼事!

所以很多書中都這麼介紹此語句:IF[條件成立]GOTO

那麼我們用一個小程序來詳細的解釋下這語句。

%

O0001

#1 = 10

N10 #2 = 20

IF[#2 EQ 20] GOTO10

G0 X100.

Z100.

.......

M30

%

上面這個IF語句是什麼意思呢? 它表示:如果#2這個變量的值等於20的話,就跳轉到第10號程序段。可能有人會問“GOTO10”後面的10表示什麼意思。

其實這個10表示行號。數控的程序一般都有行號的,如果沒有,那是系統參數設定的事,不過你只要知道有行號就行。

還有人會問 EQ 是什麼意思,這個是英文EQUAL的簡寫,含義是等於的意思。

對於新手,建議掌握以下幾個常用的符號(如下表):

鄒軍:數控宏程序語句,入門級別的講解

所以都這裡我們不難理解上面判斷語句的意思了:如果#2等於20,就跳轉到第10號段。由於#2是等於20的(因為在賦值的時候,#2=20),所以條件成立,就跳到了第10號段執行。

我們都知道數控程序一般是從上往下執行的,那麼我們這跳到了第10行,接著往下執行時又遇到了IF判斷語句,於是有開始判斷#2是不是等於20,結果等於!於是又成立了,繼續跳到第10行。所以,這個程序是死循環,永遠不會結束。

說到這,細心人會發現一個問題:條件成立了,會執行GOTO語句,那要是不成立,程序會怎麼辦? 其實很簡單,不成立就往下面走。也就是說如果不成立,就執行G0X100. 的程序段,直到程序運行至M30結束!

總結:如果條件成立,就執行GOTO語句,你寫的行號是多少,它就跳到那個行;要是條件不成立,那麼就執行IF下面的語句,不執行GOTO語句!

另外再說一個與教程不相關的問題。

數學不好,能不能學。

首先這個問題,我的答案是:能學!

宏,說的直白點是靠邏輯思維能力。不是懂了微積分才能學好它,這是兩碼事。但有些程序確實需要點數學知識,比如三角函數,勾股定理。其實宏用到的數學知識真的不多。很多人看到什麼橢圓,或者拋物線的方程覺得很可怕,這個不懂那個不懂。這裡我要說一句,你懂不懂它的方程,不重要,重要的是你怎麼去理解它的加工過程。(曲線類的加工會在我的提高教程中講解,這裡不贅述,而且曲線類的宏,是非常簡單、小兒科的。只要記住:數學不好,照樣玩轉宏。)

2,WHILE…..DO語句:

看到這個語句,還是老樣子,先直觀翻譯下:當.....就執行某某代碼段。

和IF語句差不多,這個語句也是用來做條件判斷的,但WHILE.....DO自身沒有跳轉的功能。

那麼這個語句該怎麼用?我們是造句說明吧,“當年薪達到100W的時候,我就可以買跑車”。這裡“年薪達到100W”是條件,如果條件達到了100W,我就執行買跑車這個想法。就這麼簡單的邏輯!

下面我們用一個程序來解釋它

%

O0002

#1 = 20

#2 = 20

WHILE[#1 EQ #2] DO1

GO X50. Y50.

G0 X0.Y0.

END1

G0X100.

Z100.

.......

M30

%

上面這個程序段的意思是:當#1和#2的值相等,那麼就執行DO1與END1之間的程序。有人會問一個問題:END1是什麼東西。DO後面的 1 又是什麼東西?這裡呢要說明一下,WHILE語句一定要和 END 結合使用。因為END是它的目標地址。就像IF語句裡的行號一樣,是個目的地!那麼END和DO 後面各有一個1,我們就白話的理解為第一層循環的意思。

如果這裡DO後面跟的是2,而END後面跟的是1,那麼程序將報警,因為DO2找不到與之匹配的END2!所以DO和END後面的數字,一定要匹配!前面說到第一層循環,因為宏是支持循環嵌套的,這個知識點系統教程會著重的講解,這裡不贅述。

現在我們分析下上面的程序段。

由於#1和#2在初始賦值的時候都是20,所以#1和#2是相等的。程序在執行WHILE語句時,它會判斷中括號裡的#1和#2是不是相等,如果相等,就執行DO1與END1之間的程序;

反之如果#1和#2不相等,那麼就不執行 DO1 與 END1 之間的程序,而是往END1下面的程序走,執行G0X100. 直到程序運行至M30結束!

講到這,很多朋友會發現WHILE和IF其實一樣的,只不過格式不同、目的地的表示方法不同而已。

宏語句先分享到這裡,分享的越多收穫的越多,歡迎轉載分享給你的好友。


分享到:


相關文章: