鄒軍:哪些你不知道的數控宏程式程式設計心法,讓數控程式智慧化,趕快圍觀!

鄒軍:哪些你不知道的數控宏程式程式設計心法,讓數控程式智慧化,趕快圍觀!

一位企業技術主管遇到一個非常棘手的疑難雜症,他幹了20年的機械加工,面對此問題沒有頭緒,完全不知道如何解決。

他是什麼問題呢?

要在硬鋁材質表面平面度不高的長型材上連續銑36個深度公差較小的盲孔。

因為鋁板的面積比較大,平面度只能保證在0。3以內,但是有36處盲孔的深度要求比較嚴格,公差只有+0。03/-0。03

如何能保證盲孔深度+0。03/-0。03的公差呢?

他手下管了幾個工藝員給他出點子:讓車間的工人,每一件工件都找正,用百分百手工測量36個打孔位置,程式設計時候建立36個座標系……

這麼做,一兩件是OK的,超過第三件,幹活太折磨人,車間工人可能就會幹崩潰……。

問我有什麼好的辦法嗎?

於是,我就花費了1個多小時,針對此問題做了方案,幫忙寫了2個宏程式,就實現了程式的“智慧化”。

為什麼能夠這麼快給出解決方案編寫出程式呢?

1、

有用宏程式程式設計

2

、有用框架程式設計方法

宏程式的兩大主要用途:

1、產品加工

2、自動化

要實現數控程式“智慧化”就離不開宏程式程式設計。

而你要快速編寫宏程式,你必須心中要有框架。

我幫他編寫的宏程式是按照以下框架寫的:

1、設變數

2、演算法

然後調取宏基礎的知識,按照模板快速填空式編寫程式就可以了。

這兩步超級的幹,但是涉及了很多知識點和演算法的邏輯推理。

這裡分享幾個部分知識點:

比如,第一步中的設變數的三大類:

第一類:個人變數,有#1~#33共33個

第二類:公共變數,又分了2個小類

1,)易失值公共變數,有#100~#199共100個

2,)久存值公共變數,有#500~#999共500個

第三類:系統變數,有#1000~#9999,及更多。

這麼多變數,怎麼用呢?

在這裡我舉個例子,體會不同種類變數用途。

一,公共變數的獨特用法

比如,曲線、曲面等型別工件程式設計中,隱藏著一個鮮為人知的“漏洞”,這樣的程式加工出的工件有2大特徵:

1,加工效率低

2,曲面表面不光滑

造成原因:

任何零件都可以看成由很多個“點位資料”擬合成的輪廓。若這些點位的資料處理非常多,加工出來的零件輪廓就越光滑。

但是,當曲線離散段太多時候,就會來不及運算,在經濟型數控機床上表現的尤為突出。

當來不急運算,系統不報警而是

等待

等算出結果後再切削下一段

這樣程式設計的後果是:

1,對於車削類工件來說,加工時間長,刀具幹磨損快。

2,對於銑削類工件來說,加工過程有震動,工件表面粗糙。

解決辦法:

用上第二類公共變數中的久存值公共變數#500~#999

正常情況下,我們編寫的數控程式,機床是一邊執行一邊預讀“資料”

更高效的程式

我們可以把一個程式分為兩大部分

,一部分用於“資料”的計算,(儲存在久存值公共變數中)另外一個部分負責加工,這樣就打破了“邊幹邊算”,採用“先算後幹”。

這種獨特的程式設計手法,核心點就要用到公共變數,在我的框架程式設計方法中有講,值得每一位專業高手學習,然後讓自己的技能有一個翻天覆地的提升!

二,系統變數的特定用法

想要數控程式的“智慧化”就離不開系統變數。

先分享一個用到系統變數的例子,部分程式如下:

T01

M06

G90G54X0Y0

G43H#4120Z100

M01

我在上面程式中引用了#4120T程式碼變數:

當執行G43H#4120Z100之後,機床就識別了H01補償號

若機床抓取T02號刀,還是如下程式:

T02

M06

G90G54X0Y0

G43H#4120Z100

M01

執行G43H#4120Z100之後,等同於G43H02Z100

……

這就是一個自動識別當前主軸刀號變數的小例子,可以用在很多地方,比如有些學員喜歡用於

自動對刀宏程式程式設計中

……。

三、實操步驟

好,有了上面的預熱和你已學到的宏程式知識,如如何解決文章開頭提到的問題呢?

如何保證平面度不高的長型材上連續銑36個深度公差較小的盲孔尺寸呢?

三個步驟:

1,

用公共變數儲存資料

編一個自動探測程式,讓測第1~第36個探測點得到的值以次存進#601~#636變數內。這也就是上面提到的,公共變數的獨特用法,在此列中有2點需要注意:

1,)設第1個探測點作為基準即零點

2,)每孔4點(X向和Y向各2點),以這4個深度值的平均數作為實際資料

2,

編寫銑36個孔的宏程式

例如:

%

#2=1(#2代表孔序號,此賦初始值為1,代表加工第1個孔)

N7(銑孔宏程式)

……

省略號為銑孔程式

……

#2=#2+1; (孔序號增加1)

IF [#2 LE36] GOTO 07;(如果沒有銑夠36個孔就回上去繼續銑)

%

設定一個變數#2代表孔序號,讓其做自增運算,然後用IF語句設定條件:如果還沒 銑夠36個孔就回上去繼續銑。

3,

用上系統變數

具體要用到刀具長度磨耗變數(比如#2001)

大家在幹活過程中若工件出現尺寸不合格,大多數人會透過刀補磨耗來調整尺寸,即:暫停機床——-人工手工輸入刀補磨耗量。

而程式設計中用到刀具磨耗系統變數,在執行宏程式的過程中就實現自動補償。

以上都是純乾貨,且就分享這麼多,大家感受一下宏程式設計的魅力,希望大家能夠深入學習和思考,活學活用!

接下來,我會把上面步驟的每一個環節具體化從而形成:

解決方案式的文件

提供給大家,即:

1,有CAD圖

2,有程式

3,有每句註解

它是車間技術員、程式設計工程師做夢都想要的…。。學會這絕招,他們不會因沒有過硬賺錢技能而犯愁了。

哪些人可以獲得我的解決方案式程式設計講解的文件呢?

本文價值巨大,最少看10遍以上,你才能吸收其中的價值,價值自然,自願打賞

TAG: 變數宏程式程式設計36程式