经常有朋友问我,如何学数控宏编程? 复杂的事情简单化,简单的事情流程化 比如面对一张产品图,尤其是复杂的,一看都懵 其实世上无难事,只要肯分解。 工艺员主要就是干这事情的,把产品图分解成工序图,在细分每序如何装夹,用什么刀具,量具等等都会确定下来,从而形成工艺文件。 有了这个工艺文件,组织生产加工零件就容易多了,照着流程做就行了。 这个流程可以大幅度减少我犯错的概率,让我把做事情的难度降低好多倍。 知道流程化的威力后,回到数控编程上面来,清风传授大家一个两步编写宏程序的流程。 两步教你编写宏程序 第一步:设定确定变量关系 在编写宏程序前,不知道从哪儿下手,先别管其它的,复杂的事情简单化,先从清风告诉的第一步开始,拿出笔和纸,设定变量,并找出各变量之间的关系,列出变量之间的数学算式。 第二步:套用宏案例 能不能编写出宏程序,就看你心中有没有学到手的宏案例,然后套用案例即可。采用变量来控制铣削的深度,编程时只需要编写一层的程序,从而加工出需要的深度。如下图: 掌握了分层铣的这个案例,现在要编写一个类似程序,设置变量等然后套用邹军给你提供的案例即可。 比如上图分层铣的例子 第一步:设定确定变量关系 铣一圈,刀具Z向下降一定深度,然后在铣一圈,Z向下降再下降一定深度, 依次类推至到铣到加工深度为止。 如果我用一个变量来代替铣削深度,比如#1,设置每层下1mm,那么#1=#1-1(让变量#1自运算,每运算一次#1的数值减少1),开始执行的时候给#1赋值为0,作为运算起点。 第一步设定确定的变量关系如下: #1=0 #1=#1-1 第二步:套用宏案例 如下是分层铣的主要结构 WHILE [ ]DO1 #1=#1-1 …… …… 加工程序 …… …… END1 第一步,设置了#1代表铣削深度,假如零件总深-10,(总深也可以设置个变量)让#1与总深做比较,即#1LE-10 当中括号中的表达式成立,就依次执行WHILE到END1之间的程序段。也就实现了分层加工。 在比如下面这个案例:在数铣上加工半径为SR10的球面。选取D12的铣刀 第一步:设定确定变量关系 采用G02顺铣每铣一圈,刀具下降一定深度再铣一圈,依次类推至到铣到加工深度为止(也就是软件编程中的等高环绕加工方法) 如果我用一个变量来代替铣削深度,比如#1,设置每层下0.1mm,那么#1=#1+0.1(让变量#1自运算,每运算一次#1的数值增加0.1) #1=_____初始变量赋值 #1=#1+0.1 每层切0.1深 有了我设定的初始下刀深度#1,可以推算出Z方向的递减数值,设为#3,可以推算出#3=10-#1(如下图)比如初始下刀深度为1mm即 #1=1 ,那么#3的值9。 知道了#3,那么球面Z坐标对应的X坐标满足#2²+#3²=10²这个数学关系式 可以推算出: FANUC系统开平方根为SQRT 所以: 第二步:套用宏案例 如套用你掌握的分层铣案例 WHILE [ ]DO1 #1=#1-1 …… …… 加工程序 …… …… END1 开始编程 O0001 G40G49G80G90 G0X-18Y0(下刀点) Z5M08 #1=0(刀具Z向初始下刀0.5mm) WHILE[#1LE10]DO1(当下刀深度小于等于10时,执行DO到END之间的程序 #3=10-#1(给#3赋值,Z方向递减) #2=SQRT[100-#3*#3](计算X方向数值) #1=#1+0.1(每层切0.1深) G1Z-#1F100(Z方向的进刀) G41G1X-#2F120D1(X方向定位加工采用左刀补) G2I#2(顺时针铣削) G1G40X-18Y0(取消刀补) END1 G1Z5. M30 程序仿真: |
|