相信大家在新架机的时候,都有遇到需要手动将上一个产品加工所留下来的数据清零的动作,比如上一个产品所用的刀长;刀补;原点;宏变数等一些其他数据。如果每个数据都手动来清零是不是就会很麻烦了呢?那么鉴于此,为了减少大家的工作量,提升我们的工作效率为目的而开发设计的本套宏程序,希望对大家工作上会有所帮助!

宏程序解释说明

使用方法: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] GOTO9999IF[#18 EQ #0] GOTO9999IF[#17 EQ #0] GOTO9999IF[#18 GE #17.] GOTO9999IF[#8 EQ #0] GOTO9999IF[#8 EQ 21.] GOTO21

IF[#8 EQ 54.] GOTO54

IF[#8 EQ 154.] GOTO154IF[#8 EQ 500.] GOTO500#3000=1(E ERROR)N21(TOOL DATA)IF[#17 GT 99.] GOTO9999IF[#17 LE #18] GOTO9999WHILE[#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.END1M30N54(G54-G59)IF[#18 LT 54.] GOTO9999

IF[#18 EQ 59.] GOTO9999

IF[#17 GT 59.] GOTO9999

GOTO[#18+10.]

N64 #6=1.GOTO80N65 #6=2.GOTO80N66 #6=3.GOTO80N67 #6=4.GOTO80N68 #6=5.

GOTO80

N80WHILE[#18 LE #17]D01G90 G10 L2 P[#6] X0. Y0. Z0.

#6=#6+1.

#18=#18+1.END1M30N154(G54.1P...)IF[#17 GT 48.] GOTO9999

WHILE [#18 LE #17] DO1

#5=1WHILE[#5 LE 4.] DO2#[[7000+[#18*20.-20.]]+#5]=0.0#5=#5+1.END2#18=#18+1.END1M30N500 (MARCO 0)

IF[#18 LT 100.] GOTO9999

IF[#17 LE #18] GOTO9999IF[#17 GE 1000.] GOTO9999WHILE[#18 LE #17]DO1#[#18]=0.0#18=#18+1.END1M30N9999#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变数。如下图所示:

若您有好的建议、好的方法欢迎大家提出(直接回复本公众号即可)谢谢!

公众号:CNCSKBC


推荐阅读:
相关文章