點擊上方,關注我哈
(文章底部可以評論,歡迎對文章進行點評和知識補充)
每天學點機械知識(以下內容摘自《跟清風學數控宏程序編程》教程)如想學習完整版,請拉到文尾加入課程
從事數控的你該聽說過數控宏程序,不管是產品加工、磨具加工、還是刀具在線壽命管理、安全程序設定等,都可以通過宏程序來實現。
測量儀器— 通過宏程序,測量數據自動反饋至系統裡
通過宏程序設定、控制工件坐標,刀具補償等
銑孔
倒角、錐孔
球面
好啦,宏程序應用在很多方面,使用過宏程序的人都能感受到宏程序的便利,不信?你使用的循環指令類似G81、G83、G73 等指令都是系統廠商用宏程序開發出來的,掌握宏編程技術是一件多麼牛逼的事情啊。
既然宏程序這麼牛逼,那麼問題來了,很多人表示宏程序太難了,看不懂,學不會,怎麼辦呢?
下面小編摘錄了些乾貨分享給大家
學宏之前先懂變量:
相信大家見過宏程序的朋友,你們一定會見到很多的猶如#1、#2、#3....#149等宏變量以及一些IF [#1LE#3]GOTO 100 等之類的宏語句,其實用諸如用#1、#2等變量編寫的程序就叫宏程序。下面我們進入正題。
我們普通程序(如G01X100.Y100.F200)X,Y地址後面都是些常量,如果我們把這些常量用變量來編寫如G01X#1 Y#2 F200,這就是我們所謂的宏程序。
那麼# 和後面的1、2、3、4數字標識到底什麼關係。讓我們用最白話的方式理解它吧。這些#號,它是宏代碼,1、2、3....是區分這些宏代碼的標記。
什麼意思呢,舉個最簡單的例子:如果有三個人,他們的名字叫 小李、小李、小李。那麼當你呼叫小李的時候,會發生一個問題,這三個人都會回答,但你其實只想喊其中的一個。
這就分不清了。同理,#1 #1 #1 ,如果後面的數字都是一樣,當系統使用#1的時候,它也會發生糊塗,到底讓我用哪個呢?所以為了區分它們,就把後面的數字寫成不同的,比如#1,#2,#3。此時如果系統使用#1,就不會發生混亂了。
當然了,標示數字的不同,宏變量的意義也不同,分局部變量、公共變量、系統變量等等,就目前來說,我們使用的是局部變量,能把它用好就不錯了,基礎打好了再說!
變量的賦值:
這所謂賦值,我們可以這麼理解:我本來很窮,突然有一天有人給我100塊!那麼此時此
刻,這100塊就是我的了,因為它給我了!這個「給我」的過程,就稱為賦值。
那麼在宏裡面怎麼賦值呢?我們看一個賦值的語句就理解了:#1 = 100 這就稱為賦值!
它的意思是把100這個值給了#1。那麼#1在不發生運算的情況下,它的結果就是100。也就是說#1此後代表100。如果有一個程序語句:GO X100. 那麼宏語句GOX#1 與其等同。
下面在舉個例子:
#1=10
#2=20
#3=30
G01X#1 Y#2 F#3
以上這個宏程序相當於G01X10.0 Y20.0 F30這個普通程序。
補充說明:
上面的例子是給變量 #1,#2,#3賦了一個具體值,宏程序中我們還可以賦予表達式。(表達式的運算優先級就是加減乘除先算哪個,後算哪個。如果有括號,就先算括號裡面的等等)
看下面的例子:
例: 假設 #1 = 100,#2 = 10,#3= 50,#4 = 20
那麼 #1 - #2 * #3 = ?
#1/#2 = ?
#3/#2*#4 = ?
(#1-#3)/#2 = ?
以上四個運算表達式的結果分別是:-400、10、100、5 相信你也沒什麼問題吧!
以上已經詮釋了變量,賦值等最基本的宏程序概念。大家明白即可!
下面講宏語句,關於宏語句將伴隨著所有學習宏程序的人。所以一定要理解透徹!
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的簡寫,含義是等於的意思。
對於新手,建議掌握以下幾個常用的符號(如下表):
運算符
含義
英文注釋
EQ
等於(=)
Equal
NE
不等於(≠)
Not Equal
GT
大於(>)
Great Than
GE
大於或等於(≧)
Great than or Equal
LT
小於(﹤)
Less Than
LE
小於或等於(≦)
Less than or Equal
所以都這裡我們不難理解上面判斷語句的意思了:如果#2等於20,就跳轉到第10號段。
由於#2是等於20的(因為在賦值的時候,#2=20),所以條件成立,就跳到了第10號段執行。
我們都知道數控程序一般是從上往下執行的,那麼我們這跳到了第10行,接著往下執行時又遇到了IF判斷語句,於是有開始判斷#2是不是等於20,結果等於!於是又成立了,繼續跳到第10行。所以,這個程序是死循環,永遠不會結束。
說到這,細心人會發現一個問題:條件成立了,會執行GOTO語句,那要是不成立,程序會怎麼辦?
其實很簡單,不成立就往下面走。也就是說如果不成立,就執行G0X100. 的程序段,直到程序運行至M30結束!
總結:如果條件成立,就執行GOTO語句,你寫的行號是多少,它就跳到那個行;要是條件不成立,那麼就執行IF下面的語句,不執行GOTO語句!
另外再說一個與教程不相關的問題
數學不好,能不能學。
首先這個問題,我的答案是:能學!
宏,說的直白點是靠邏輯思維能力。不是懂了微積分才能學好它,這是兩碼事。
但有些程序確實需要點數學知識,比如三角函數,勾股定理。其實宏用到的數學知識真的不多。
很多人看到什麼橢圓,或者拋物線的方程覺得很可怕,這個不懂那個不懂。這裡我要說一句,你懂不懂它的方程,不重要,重要的是你怎麼去理解它的加工過程。
(曲線類的加工會在後面傳授給大家,這裡不贅述,而且曲線類的宏,是非常簡單、小兒科的。只要記住:數學不好,照樣玩轉宏。)
下面給大家分享一個小案例,加深對上面知識點的應用
GOTO語句使用實例—熱機宏程序
所有工具機在冬天開機的時候,都要進行熱機操作,這是所有人都知道的事情,那什麼是熱機呢?
就是為了防止因冬天的氣溫低而導制突然開機時出現的一些問題,輕微的如精度不高,嚴重的問題為工具機一些部件斷裂。
所以我們在冬天開機之前必須要進行熱機操作,通過熱機操作讓工具機部件受熱均勻。
那平時大家的熱機操作是如何進行的呢?不少的人,也就是打開主軸讓主軸轉幾十分鐘,同時通過手動方式,讓刀架在X軸和Z軸來回移動幾下。就這樣反覆操作幾下。
如果這個時候,你有事情要想離開一會兒,而你又不希望工具機停下來,怎麼辦呢?這個時候你是不是很想讓工具機自動運轉?這可以實行嗎?
在你沒學過宏程序,你可能會用普通編程M99實現。如果你懂一點宏程序,你就會發現其實用GOTO語句很容易實現。
GOTO 語句的應用案例
學過英文的學員知道上面是GO和TO組成,含義是到……地方去 ,其中後面的n (n表示序號的數字)代表程序行號(如GOTO 100 ,表示跳轉到 N100行程序段)
好,我們可以學習如何通過宏語句實現這個自動熱機功能。
(PROGRAM BY 清風)
O0001
M03S300
N5G01Z50.F50.
Z300.
X200.
Y200.
X-200.
Y-200.
GOTO5
M30
這就是一個最簡單的宏程序熱機。
在這裡我們要學習一下GOTO語句的作用
GOTO5這個程序段要表達的意思就是:執行到此程序段的時候無條件轉到N5這一行。
這樣就構成一個死循環。數控工具機就可以無限制地一直運行下去,直到手動停止程序的執行。
以上內容摘自《跟清風學數控宏程序編程》教程,由十多年工作經驗技師編寫
如果你想到絕活,如果你想學到源於一線的實戰編程經驗,推薦你學習完整版、通俗易懂的《跟清風學數控宏程序編程》教程。
清風:把每個知識點給你講透,讓你玩熟,一步一個腳印帶著你提高,讓你學到絕活
如果你需要《跟清風學數控宏程序編程》這套高價值的系統教程,請添加葉子微信:steven52014
識別下圖二維碼加小編
備註: 1,《跟清風學數控宏程序編程》價格398元/套
2,教程為PDF格式的圖文教程,易懂易上手
3,發貨方式:在線傳送,微信付款後小編在線把教程給你傳過去
移動網際網路+4G網絡+智慧型手機+便捷支付的出現,讓買賣得以完成,
您也可以加小編微信steven52014確認購買後付款
歡迎掃碼支付:
支付後添加小編微信: steven52014 ,發截圖給小編,索取全套教程
學會宏程序關鍵有兩點:
1,通俗易懂,接地氣的資料
2,能夠實踐
關鍵在第二點,看懂通俗易懂的資料後,要實踐,不然眼高手低,
所以小編給大家分享一款能夠協助你去實踐宏的APP,隨這套教程贈送給你,
你可以藉助這個軟體,去仿真驗證宏程序正確與否,以及動態查看宏程序運行的刀路等。
長按識別二維碼加群
我們也開通了交流群,歡迎加入知識共享