所有者:信仰(呢称); 发布时间:2018-05-11 06:28:14; 更新时间:2019-04-26 03:12:06
阅读所需积分:0;
简介:20180518_1 通过宏程序实现刀具寿命管理
经常关注我的朋友都知道我原创的跟清风自学《数控宏程序编程》:简单易学,一看就会,一用就灵。
今天分享一个简单易学案例:通过宏程序实现刀具寿命管理
要对刀具使用寿命进行管理就必须准确地对刀具所加工的零件数量进行统计,这就涉及到要对刀具加工零件数量的累计计算。
讲程序之前我讲两个知识点,程序中要用到:
一,#3000这个系统变量
二,WHILE….DO语句
一、系统变量#3000
法拉克系统变量 # 3000是用户自定义的报警变量
格式为:#3000=0~200 ( )
当#3000的值为0到200的时候系统会停止运行且报警
说明:
1,0到200是报警号, NC屏幕上显示报警号为:变量#3000的值加上3000。
2,括号中可以写报警信息,但是括号中不能操过26个字符。
比如:
%
O0001(PROGRAMED BY SOSCNC)
G0G17G40G49G80G90
T1M06
......
#3000=1 (YOU MUST CHANGE TOOL)
M30
%
当程序运行至#3000=1程序段的时候,系统会停止运行且报警。报警号为:3001 报警信息为:YOU MUST CHANGETOOL (意思是:你必须更换刀具)。
二、WHILE….DO语句
宏程序最常用语句之一WHILE [ ] DO 语句
这个语句是两个英文单词,意思是:当.......的时候就做某事。
法拉克格式为:
WHILE [ ] DO n
......
END n
说明:
1,中括号里面为条件表达式
2,n——顺序号(n只能是1、2 、3, DO后面的顺序号要与END后面的顺序号一样)
3,当条件表达式满足,则执行从DO到END之间的程序,否则转至END后面的程序。
WHILE[#10LE#2]DO 1
......
END1
G0X0.Y0.
......
当#10的值小于#2的值时,则执行WHILE 至END1之间的程序,否则执行END1后面的程序,G0X0.Y0. ……
好了,准备开始编写程序
前面讲了需要统计刀具加工零件数量,假设某零件的一道工序T1刀可加工200件
那么就需要所编制的宏程序可以提醒操作者:在各刀片使用寿命完成后进行更换。
也就是说T1号刀加工200件后,程序需要停止,提示操作者更换刀具。
程序如何编写尼?
上面红色字体,提供了两个信息
1,刀具加工200件程序需要停止
2,提示操作者更换刀具
此时正好用我们所学的WHILE语句来判断(当加工数量等于我规定200件的时候,就执行报警变量)
那么程序如下:
O0002(主程序名)
(微信SOSCNC)
T0101 S2000 M3;主程序开始,选择T1刀,开主轴, 准备加工。
......
#500=#500+1;T1刀寿命记数器+1。
WHILE[#500 EQ 200]DO1;对T1刀寿命记数器数据进行判断,如条件满足执行WHILE与END1之间程序段。
#500=0; 刀具寿命记数器清零。
#3000=1(YOU MUST CHANGE THE TOOL)
END1;