分享

CNC智能刀具寿命管理宏程序

 yllxd9999 2019-06-24

宏程序解释说明:

使用方法:G65 P8586 T10. R700. Q970. W1.

T:需计算刀具数量的总数。

R:刀具寿命数值寄储地址。(R700.即为数据存入#700-#799变量内。)

Q:刀具长度数据寄储地址。(Q970.即为刀长数据存入#970-#999变量内。)

W:刀具寿命计数增量值。

注:

        以上参数不可少输入,同时不可随意输入,当出现3099(SET ERROR)报警时,请检查相关参数是否设置正确。

此套程序为智能化,当更换刀具后,当前所更换的刀具寿命数值会自动清零重新计数;当刀具寿命达到设定值时,CNC触发报警并提示相关刀具寿命到期,此时当前刀具寿命计数被自动清零,若需查看当前刀具加工数量值可查看#730变量值,需要注意的是#730变量值再次启动CNC时则会自动被清空!!!

文|Dream Catcher

著|CNC编程工程师(ID:LENS-CNC)

  以下为宏程序主体:

%
O8586(************TOOL LIFE DUE**********)
(******PROGRAM-WEI_HE-20170823******)
(**********G65 P8586 T6. R700. Q970.  W1.********)

#110=#17

IF[#20 EQ #0] GOTO9999
IF[#20 LE 0.] GOTO9999

IF[#20 GT 21.] GOTO9999

IF[#18 EQ #0] GOTO9999
IF[#18 LT 500.] GOTO9999
IF[#18 GT 970.] GOTO9999
IF[#23 EQ #0] GOTO9999

IF[#110 LT 500.] GOTO9999

IF[#110 GT 970.] GOTO9999

IF[#999 EQ 170823.] GOTO100
#1=1.
#2=#110
WHILE[#1 LE #20]DO1
#[#2+#1]=#[11000.+#1]
#1=#1+1.
#999=170823.
END1
N100
#1=1.
WHILE[#1 LE #20]DO1
#2=11000.
#3=#2+#1
#4=#110.
#5=#4+#1
#100=#[#3]
#101=#[#5]
IF[#100 NE #101] GOTO9000
#1=#1+1.
END1
#1=1.
#31=#18+30.
WHILE [#1 LE #20] DO1
#[#18+[#1]]=#[#18+[#1]]+#23
#1=#1+1.
END
#1=1.
WHILE [#1 LE 5.] DO1
#[#1]=#0
#1=#1+1.
END1
#1=#0
#29=1.
#30=1.
#[#31]=#0
#27=#18
#28=#20
(****************************)
(****************************)
(****************************)
#1=3000.  (T01 刀具寿命总数设置)
#2=3000. (T02 刀具寿命总数设置)

#3=3000. (T03刀具寿命总数设置)

#4=3000. (T04 刀具寿命总数设置)

#5=3000. (T05 刀具寿命总数设置)

#6=3000. (T06 刀具寿命总数设置)

#7=3000. (T07 刀具寿命总数设置)

#8=3000. (T08 刀具寿命总数设置)

#9=3000. (T09 刀具寿命总数设置)

#10=3000.(T10 刀具寿命总数设置)

 (此数据可根据需要自行更改或增加刀具,必须与主程序刀具总数T值相对应,否则出现报警!!!)

(****************************)
(****************************)
(****************************)
WHILE[#30 LE #28] DO2
IF[#[#29] EQ #0] GOTO9999
IF[#[#29] EQ 0.] GOTO9999
#29=#29+1.
#30=#30+1.
END2
#29=1.
WHILE[#29 LE #28] DO3
IF[#[#27+#29] GE #[#29]] GOTO#29
#29=#29+1.
END3
M99
(----------------------------)
N1
#[#31]=#[#27+1.]
#[#27+1.]=0.
#3000=1(T01 LIFE DUE END)
N2
#[#31]=#[#27+2.]
#[#27+2.]=0.
#3000=2(T02 LIFE DUE END)
N3
#[#31]=#[#27+3.]
#[#27+3.]=0.
#3000=3(T03 LIFE DUE END)
N4
#[#31]=#[#27+4.]
#[#27+4.]=0.
#3000=4(T04 LIFE DUE END)
N5
#[#31]=#[#27+5.]
#[#27+5.]=0.
#3000=5(T05 LIFE DUE END)
N6
#[#31]=#[#27+6.]
#[#27+6.]=0.
#3000=6(T06 LIFE DUE END)
N7
#[#31]=#[#27+7.]
#[#27+7.]=0.
#3000=7(T07 LIFE DUE END)
N8
#[#31]=#[#27+8.]
#[#27+8.]=0.
#3000=8(T08 LIFE DUE END)
N9
#[#31]=#[#27+9.]
#[#27+9.]=0.
#3000=9(T09 LIFE DUE END)
N10
#[#31]=#[#27+10.]
#[#27+10.]=0.
#3000=10(T10 LIFE DUE END)
N11
#[#31]=#[#27+11.]
#[#27+11.]=0.
#3000=11(T11 LIFE DUE END)
N12
#[#31]=#[#27+12.]
#[#27+12.]=0.
#3000=12(T12 LIFE DUE END)
N13
#[#31]=#[#27+13.]
#[#27+13.]=0.
#3000=13(T13 LIFE DUE END)
N14
#[#31]=#[#27+14.]
#[#27+14.]=0.
#3000=14(T14 LIFE DUE END)
N15
#[#31]=#[#27+15.]
#[#27+15.]=0.
#3000=15(T15 LIFE DUE END)
N16
#[#31]=#[#27+16.]
#[#27+16.]=0.
#3000=16(T16 LIFE DUE END)
N17
#[#31]=#[#27+17.]
#[#27+17.]=0.
#3000=17(T17 LIFE DUE END)
N18
#[#31]=#[#27+18.]
#[#27+18.]=0.
#3000=18(T18 LIFE DUE END)
N19
#[#31]=#[#27+19.]
#[#27+19.]=0.
#3000=19(T19 LIFE DUE END)
N20
#[#31]=#[#27+20.]
#[#27+20.]=0.
#3000=20(T20 LIFE DUE END)
N21
#[#31]=#[#27+21.]
#[#27+21.]=0.
#3000=21(T21 LIFE DUE END)
N9000
#[#18+#1]=0.
#[#110+#1]=#[11000.+#1]
GOTO100
N9999
#3000=99(SET ERROR)

(Tue Jul 25 13:33:46 2017)
(Tel-13826552493---Dream Catcher)
(CAM Engineer-LENS-DT001267)

%

 特别说明

 宏程序内部未解释说明的变量严禁修改!!!

  以下为程序上CNC实践效果

友情提示:

若您在使用本宏程序时还有任何疑问,请与我联系。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多