数控编程课堂:两步教你编写数控宏程序

经常有朋友问我,如何学数控宏编程?


复杂的事情简单化,简单的事情流程化


比如面对一张产品图,尤其是复杂的,一看都懵

 

数控编程课堂:两步教你编写数控宏程序的图1

【特别推荐☞邹军老师十年数控编程珍藏宝典】


其实世上无难事,只要肯分解。


工艺员主要就是干这事情的,把产品图分解成工序图,在细分每序如何装夹,用什么刀具,量具等等都会确定下来,从而形成工艺文件。

有了这个工艺文件,组织生产加工零件就容易多了,照着流程做就行了。


这个流程可以大幅度减少我犯错的概率,让我把做事情的难度降低好多倍。


知道流程化的威力后,回到数控编程上面来,清风传授大家一个两步编写宏程序的流程。


两步教你编写宏程序


第一步:设定确定变量关系


在编写宏程序前,不知道从哪儿下手,先别管其它的,复杂的事情简单化,先从清风告诉的第一步开始,拿出笔和纸,设定变量,并找出各变量之间的关系,列出变量之间的数学算式。


第二步:套用宏案例


能不能编写出宏程序,就看你心中有没有学到手的宏案例,然后套用案例即可。采用变量来控制铣削的深度,编程时只需要编写一层的程序,从而加工出需要的深度。如下图:

数控编程课堂:两步教你编写数控宏程序的图2

数控编程课堂:两步教你编写数控宏程序的图3

掌握了分层铣的这个案例,现在要编写一个类似程序,设置变量等然后套用邹军给你提供的案例即可。


比如上图分层铣的例子


第一步:设定确定变量关系

铣一圈,刀具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的铣刀

数控编程课堂:两步教你编写数控宏程序的图4

第一步:设定确定变量关系


采用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²这个数学关系式

可以推算出:

数控编程课堂:两步教你编写数控宏程序的图5


  FANUC系统开平方根为SQRT  所以:


数控编程课堂:两步教你编写数控宏程序的图6

数控编程课堂:两步教你编写数控宏程序的图7

第二步:套用宏案例


如套用你掌握的分层铣案例


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


程序仿真: 

数控编程课堂:两步教你编写数控宏程序的图8

好啦,今天先到这里,关于今天的文章,你有什么心得,欢迎与邹军交流

数控编程

数控编程课堂:两步教你编写数控宏程序的评论0条

    暂无评论

    数控编程课堂:两步教你编写数控宏程序的相关案例教程

    今天给大家分享一个我微信朋友圈前段时间分享的一个宏程序案例。 一位学员在工作中遇到一批产品,如下图: 要在数铣上面加工外圆柱以及根部R,这个零件编程也是简单,但是零件根部圆弧R要求3.0-0.2 当时车间并没有R=2.9的圆鼻铣刀,若是定做圆弧R=2.9的铣刀,刀具成本增加不说,关键耽误生产进度。 前段时间他看了我的宏程序讲解,虽说学的时间不长,但是一看就明白,然后就直接核心技巧套用教程中的一个编
    指令 SCL作为一种编程语言,可以实现LAD/FBD所有的功能,大多数的指令与LAD/FBD都是相同的,只是在编辑器中的外形不同。只有一些指令使用是不太一样的甚至LAD/FBD没有的,这里只介绍这些不同的。 SCL特殊的指令有以下几种,如图1-3红框中的指令: 图1 读写存储器 图2 转换操作 图3 程序控制指令 在这三部分中,读写存储器的PEEK POKE指令可以参考链接,转换操作可以参考链接,
    我们在做CATIA 二次开发的时候,有的情况下需要暂停程序运行,让CATIA飞一会。 那么,CATIA VBA 获取延时较为可行的四个方法: 1、一般延时 Timer函数(计时单位为秒级,1代表1s) 一个应用接口需要限制运行速度,需要在循环中加个延时函数,这个延时不需要多么精确,要求有个几秒延时,网上用的比较多的就是用Timer函数编写,也是在VB联机手册中所推荐的Timer是VBA自带的函数,
    我们在做CATIA 二次开发的时候,有的情况下需要暂停程序运行,让CATIA飞一会。 那么,CATIA VBA 获取延时较为可行的四个方法: 1、一般延时 Timer函数(计时单位为秒级,1代表1s) 一个应用接口需要限制运行速度,需要在循环中加个延时函数,这个延时不需要多么精确,要求有个几秒延时,网上用的比较多的就是用Timer函数编写,也是在VB联机手册中所推荐的Timer是VBA自带的函数,
    下面提供学习这本书最常用的MATLAB语法示例。 A.1 表达式 x = 2^(2 * 3) / 4; x = A \ b; % 解线性方程组的解 a == 0 & b < 0 % a等于0且b小于0 a ~= 4 | b > 0 % a不等于4或b大于0 A.2 函数m-files function y = f(x) % 保存为 f.m % 用来提供帮助的注释 function [out1, o
    影响力
    粉丝
    内容
    获赞
    收藏
      项目客服
      培训客服
      0 1