為什麼這個宏程序沒有分層循環加工,原因竟 so easy

今天收到一位網友的問題,讓我看一下這個飛面宏程序有什麼問題,為什麼沒有分層效果呢?再三都找不到問題之所在,他是要分5層銑削飛面。

網友答疑 | 為什麼這個宏程序沒有分層循環加工,原因竟 so easy

網友編的程序模擬

網友編的程序如下:

<code>M6 T1
#1=1
#2=0.5
G0 G90 G54 X-73 Y0 S5000 M3
G43 H1 Z20 M8
Z1.
N11
G1 Z-#2 F1000
WHILE[#1 LE5] DO1
G90 X573
G91 Y50.
G90 X-73.
G91 Y50
G90 X573
#1=#1+1
END1
G0 G90 Z20.
X-73 Y0.
#2=#2+0.5
IF[#2 LE5] GOTO11
M5
M9
G91 G28 Z0.
G28 Y0.
M30/<code>
網友答疑 | 為什麼這個宏程序沒有分層循環加工,原因竟 so easy

柳工修改後的程序模擬

柳工修改的程序如下:

<code>M6 T1
#1=1
#2=1
G0 G90 G54 X-73 Y0 S5000 M3
G43 H1 Z20 M8
N11
G1 Z-#2 F1000
#1=1
WHILE[#1 LE5] DO1
G90 X573
G91 Y50.
G90 X-73.
G91 Y50
G90 X573
#1=#1+1
END1
#2=#2+1
G0 G90 Z20.
X-73 Y0.
IF[#2 LE 5] GOTO11
G0 G90 Z20.
X-73 Y0.
M5 M9
G91 G28 Z0.
G28 Y0.
M30/<code>

問題小結:

這位網友的問題出在沒有對#1重置,這樣的雙層嵌套循環一般都是從最裡面那一層執行的,當執行WHILE[#1 LE5] DO1 END1 一個循環後,#1值已經=5,跳出這層循環後,如果不對其清零或重置,那麼WHILE[#1 LE5] DO1 END1 循環條件已滿,直接跳出循環,執行IF[#2 LE 5] GOTO11 循環,所以機床X Y 向沒有任何動作,在模擬的時候也就只顯示飛面一次了。

宏程序還要我們多多上機和電腦上多調試,有時後搞不清了,可以畫一下流程圖,這樣邏輯思維就很快清晰了,很容易找到問題之所在,當你解決了問題後,你就突破了自已又往前走了一步,相信你很快會迷戀上宏程序。

(溫馨提示:好了,小夥伴們,今天的文章就到這裡,如果你覺得有用,可以分享到自已的朋友圈,讓更多的小夥伴們學習,少走彎路,提升了自我,也幫助了他人,如果有問題或是自已還想不明白,可以柳工微信交流。)


分享到:


相關文章: