想成为一名专业知识过硬的编程工程师,掌握数控高级编程宏程序是一基本功。
不懂宏程序也只能默默的看着别人装逼了!如果你有钱可以买五轴数控机床,没有人有意见的。光看看这些,用宏程序加工的作品就知道,月薪上万是没有问题的。
这样的技术你是不是觉得离自己很遥远?
只有想不到没有做不到的。
宏程序应用在很多方面,使用过宏程序的人都能感受到宏程序的便利,掌握宏编程技术是一件多么牛逼的事情啊。
但是,万事开头难,有点加工经验,懂点数控G指令的师傅,如何能在段时间内快速掌握数控高级编程宏程序?
最近几个月,我做到了非常NB的一招,就是宏程序都看不懂的学员,按照我教程体系学,就能够在一两个星期内独立编写宏程序,最多1个月就可以玩转宏程序编程。
如此神奇,如何做到的呢?
针对学习宏程序编程而言,大多数人都是在网上,东找找,西看看,猴子掰玉米式的,把学习搞的太复杂。
其实把一点学透,远比你泛泛的学习重要。
甚至个别学员基础非常差,自称小学都没毕业,我告诉他了九个字的心法,配合我这套教程,很快就上道了,有多快,3天他就觉得自己进步很快, 就能独立编写简单宏程序了。
你能够把我教程中传授的编程思路学透,你编程功底就会上升N个层次。
如何才算学透呢?
举个例子,利用宏程序编程在数车上搞定网纹滚花的加工。
很多师傅知道:采用车螺纹的办法,圆周分度,多头正反交替车螺纹,出来就是压花的效果了。
那么,如何利用宏程序搞定网纹滚花的加工?
我们来看车多头螺纹的程序,比如使用G32指令,法拉克格式如下:
G32Z_F_Q_
其中,Q是螺纹起始角。
车双头螺纹,程序如下:
……
G32Z-50.F30.Q0
……
G32Z-50.F30.Q180000
备注:
因为是双头,所以起始角为0度和180度,法拉克的系统单位是0.001度,所Q180000。
若是4头螺纹,那么程序如下:
……
G32Z-50.F30.Q0
……
G32Z-50.F30.Q90000
……
G32Z-50.F30.Q180000
……
G32Z-50.F30.Q270000
……
若是8头螺纹呢?若是16头螺纹呢?
很明显只有Q在变化, 而且有规律的变化。
此时你能联想到宏程序的某个知识点么?
是不是和变量的自增有关?
关于变量自增:比如设变量#7
法拉克的格式为:#7=#7 1 ,后面的 1代表每运算一次变量#7就增加1。(当然,根据需要你也可以 2,代表每运算一次变量#7就增加2,或者还可以设置变量比如#7=#7 #5,代表每运算一次变量#8就增加#5的值)。
那么车多头螺纹,其中Q的变化完全可以采用变量,比如设角度变量为#7,变量#7每运算一次 自增多少?
假如你要车60头,那么360/60=60 ,也就是Q每次自增60 度,即#7= #7 60000
Q自增到什么时候为止?即多头螺纹360度分度加工玩为止。
此时你能联想到宏程序的某个知识点么?
是不是可以利用WHILE [ ]DO语句来控制是否加工了一圈(360度)。
关于WHILE [ ]DO语句:
法拉克格式为:
WHILE [ #7LT#360000 ] DO 1
……
END 1
当 [#7小于#360000]条件表达式满足,则执行从DO到END之间的程序,否则转至END后面的程序。
那么DO和END之间就填上要加工的程序内容,END后面就填上退刀程序。
比如下面程序:
%
…….
#7=0 (角度变量#7初始赋值为零,0为起始角)
WHILE[#7LT360000]DO1(当#7的值小于360度,就执行循环内的程序)
G32Z-40.F40.Q#7
G32Z20.F40.Q#7
#7=#7 60000
END1
G0X100
Z100
M30
%
1, 程序由上往下依次运行,先读取#7的数据,
2, 然后读取WHILE语句,判断设置的条件是否成立,成立就执行WHILE到END1之间的程序。
3, 因为#7初始值为0 ,0是小于360000的,所以就执行WHILE到END1之间的程序。即:
G32Z-40.F40.Q#7
G32Z20.F40.Q#7
这两句正好是正反车螺纹的程序,出来就是网状花纹了。
#7=#7 60000(运行到此程序段时候,变量自增,此时#7的值增加了60000)
4,机床继续往下运行读取END1,然后返回WHILE语句,再次判断#7的值是否小于360000,如果小于360000就继续执行WHILE到END1之间的程序
就这样,通过变量#7的自增运算,来实现角度分度,WHILE语句控制是否加工了一圈(360度)。
这就是变量自增和WHILE语句结合应用的一个例子。当你把这些基础知识搞明白学透彻之后,你就可以随时举一反三,快速使用!
如何举一反三?
比如说利用宏程序来实现刀具寿命管理。
假如说我这把刀具能加工200件零件,当累积加工零件200件后就要提醒操作者更换刀具。
如何编写程序呢?
此处重点是:当累积加工零件200件后就要提醒操作者更换刀具。
你会联想到宏程序的那些知识点?
是不是变量的自增和WHILE语句?
比如变量#501 的自增,格式如下:
#501=#501 1
通过变量#501=#501 1 自增的方式,来帮我统计零件加工数量
利用WHILE语句设置条件:
WHILE[#501EQ200]DO1
……
END1
也就是当#501的值等于200的时候,就执行WHILE到END之间的程序。
我如果在WHILE与END之间写上一个报警程序,当它执行WHILE到END之间的程序,到报警程序段,就告诉操作者改换刀了。
即:
%
T0101 S2000 M3
….. (加工内容)
…..
……
#501=#501 1
WHILE[#500 EQ 200]DO1
#501=0
#3000=1(YOU MUST CHANGE THE TOOL)
END1
……
M30
%
备注:
法拉克系统变量 # 3000是用户自定义的报警变量
格式为:#3000=0~200 ( )
当#3000的值为0到200的时候系统会停止运行且报警
说明:
1,0到200是报警号, NC屏幕上显示报警号为:变量#3000的值加上3000。
2,括号中可以写报警信息,但是括号中不能操过26个字符。
我们分析下上面程序:
1,我把要加工零件的程序段落放在WHILE语句前面,也就是先加工零件,零件加工完之后,就遇到变量的自增运算,变量#501的数值会增加1,相当于系统帮我统计零件加工数量。程序每运行一次#501的数值会增加1。
2,设置的条件是:#501的值等于200的时候,就执行WHILE到END之间程序段。
当程序运行200次之后,也就是#501的值为200的时候,条件就满足了,就要执行WHILE与END之间程序段。
WHILE[#500 EQ 200]DO1
#501=0
#3000=1(YOU MUST CHANGE THE TOOL)
END1
而WHILE与END之间有两个程序段。
1,#501=0
2, #3000=1
添加#501=0 是让#501的值清零,目的为了更换刀具后重新计数。然后遇到#3000程序段,程序就报警了,括号中我写的英文字母就会显示在机床界面中,告知操作者更换刀具。
这就是变量自增和WHILE语句结合应用的另外一个例子。
好了,案例不重要,分析方法很重要,编程思路很重要,如何学到呢?
如果你不再想被网络上乱七八糟的内容搞的茫然不知所措的找不到北的话?
强烈推荐你看军哥原创的系统宏教程,不仅是宏程序知识的讲解,更多的是编程思路上的分析和经验方面的传授。
如果你是一位专业的编程人员,通过这教程的学习,会让你编程提升N个境界。
如果你是一位数控师傅(会普通编程),通过这教程的学习,至少掌握以下六大能力:
1、具备宏程序进行零件加工的编程能力
2、具备开发自己G代码的能力
3、用数学公式来编写宏程序的技巧
4、掌握宏程序的调用、宏程序误差处理方法
5、简单的模块化编程
6、参数化编程
7、宏程序用于生产管理
8,宏程序自动化方面的应用
跟军哥学《宏程序编程》教程,从零基础讲解,逐步到提高,内容涉及比较广,除了宏基础知识之外,更多是编程思路、工艺思想,编程策略等方面的分析,简单易懂,目的是让你体会,感悟宏的魅力,整体上提高你的编程功底与逻辑思维训练。
关注邹军爱数控,学习好绝招
,