前言
相信大家在新架机的时候,都有遇到需要手动将上一个产品加工所留下来的数据清零的动作,比如上一个产品所用的刀长;刀补;原点;宏变量等一些其他数据。如果每个数据都手动来清零是不是就会很麻烦了呢?那么鉴于此,为了减少大家的工作量,提升我们的工作效率为目的而开发设计的本套宏程序,希望对大家工作上会有所帮助!
宏程序解释说明
使用方法:G65 P8581 E500. R500. Q999.
E:清零数据类型识别码。(21为清零刀具数据、如刀长;刀长磨损;刀补;刀补磨损;54为清零坐标原点G54-G59) 154为清零扩展坐标原点(G54.1P1-P48)500为清零宏变量;此数据若不为21;54;154;500程序则报警。
R:清零数据起始值。(R500.即表示从#500变量开始清零)
Q:清零数据结束值。(Q999.即表示清零至#999变量结束)
注意
当程序出现3001(E ERROR)报警时,请检查E值是否设置正确;
当程序出现3099(SET ERROR)报警时,请检查R Q 值是否设置正确;
以下为宏程序主体
%
O8581 (G65 P8581 E R Q)
IF[#17 EQ #18] GOTO9999
IF[#18 EQ #0] GOTO9999
IF[#17 EQ #0] GOTO9999
IF[#18 GE #17.] GOTO9999
IF[#8 EQ #0] GOTO9999
IF[#8 EQ 21.] GOTO21
IF[#8 EQ 54.] GOTO54
IF[#8 EQ 154.] GOTO154
IF[#8 EQ 500.] GOTO500
#3000=1(E ERROR)
N21(TOOL DATA)
IF[#17 GT 99.] GOTO9999
IF[#17 LE #18] GOTO9999
WHILE[#18 LE #17]DO1
#6=10.
WHILE [#6 LE 13.] DO2
G90 G10 L#6 P#18 R0.0
#6=#6+1.
END2
#18=#18+1.
END1
M30
N54(G54-G59)
IF[#18 LT 54.] GOTO9999
IF[#18 EQ 59.] GOTO9999
IF[#17 GT 59.] GOTO9999
GOTO[#18+10.]
N64 #6=1.
GOTO80
N65 #6=2.
GOTO80
N66 #6=3.
GOTO80
N67 #6=4.
GOTO80
N68 #6=5.
GOTO80
N80
WHILE[#18 LE #17]D01
G90 G10 L2 P[#6] X0. Y0. Z0.
#6=#6+1.
#18=#18+1.
END1
M30
N154(G54.1P…)
IF[#17 GT 48.] GOTO9999
WHILE [#18 LE #17] DO1
#5=1
WHILE[#5 LE 4.] DO2
#[[7000+[#18*20.-20.]]+#5]=0.0
#5=#5+1.
END2
#18=#18+1.
END1
M30
N500 (MARCO 0)
IF[#18 LT 100.] GOTO9999
IF[#17 LE #18] GOTO9999
IF[#17 GE 1000.] GOTO9999
WHILE[#18 LE #17]DO1
#[#18]=0.0
#18=#18+1.
END1
M30
N9999
#3000=99(SET ERROR)
(Tue Aug 25 13:33:46 2017)
(Tel-13826552493—Dream Catcher)
(CAM Engineer-LENS-DT001267)
%
以下为程序上CNC实践效果
如上图所示,若需将#800——#899变量清空。
可编程:G65 P8581 E500. R800. Q899.
启动以上程序即可全部清空#800——#899变量。如下图所示:
问答社区 发起问答 报警查询 技术文章 维修服务 资料下载 加交流群 申请 VIP
本文转载来自【公众号:NX实战营】,仅供大家学习交流,如侵权请联系站长删文。