分享

你想学会数控宏程序编程,推荐你套数控编程教程

 岐岐feng 2019-01-30

上两篇文章我分别用了两个不同类型的案例,阐述了《利用数学公式编写数控程序》的步骤:

第一步:设定变量带入方程式

第二步:利用方程式算坐标点

这两个步骤看起来非常简单,简单的就像是废话一样,但是真正领会应用的人,100个里面也许连1个都没有。

为什么会这样说呢?

这不,有朋友在工作中遇到曲线类的零件加工,让我帮忙编写程序(如下图):

你想学会数控宏程序编程,推荐你套数控编程教程

方法都教给他了,他为什么自己不能编写呢?

他说我那两步骤行不通,此曲线方程式是:Y=32/X-0.1

而他们车间的数控车床都只有X和Z轴,并没有方程式中的Y。

学的太死板,甚是令人担忧。

来来来,先来看这个曲线(如下图):

你想学会数控宏程序编程,推荐你套数控编程教程

如上图所示:

水平轴为X轴;

垂直轴为Y轴;

而数控车编程而言:

水平轴为Z轴;

垂直轴为X轴;

绘图时候,曲线方程式是按绘图界面给的坐标轴,所以编程的时候,曲线方程式中的Y相当于X轴,X相当于Z轴

因此,曲线方程式Y=32/X-0.1 需更改为:X=32/Z-0.1

那么

第一步:设定变量带入方程式

#1代表(曲线)X轴的数值;

#2代表(曲线)Z轴的数值;

那么#1=32/#2-0.1就是X=32/Z-0.1的方程式了。

有了第一步,接下来进行第二步: 利用方程式算坐标点

从上面图纸很容易得知,#2的取值范围是从30到2,也就是说曲线Z方向的数值Z=30 到Z=2就结束了。

若#2=30 ,那么 #1=0.966666

因为把#2的数值带入#1=32/#2-0.1方程式中,即可计算出#1的数值

同理:

若#2=29.999,那么#1=0.966670

若#2=29.998,那么#1=0.966738

若#2=29.997,那么#1=0.966773

…….

#2=29.996,#2=29.995,#2=29.994,……至到#2=2, 几万个数据,那么编写出的程序会有好几万行。

其实上面正是软件自动出程序的算点方法,正是这样,软件生成的程序会有非常多的点位坐标。

在这,关于软件编程军哥强调两点:

1, CAD/CAM软件在建模时的计算精度。,

2, CAD/CAM软件在生成NC刀路轨迹时的计算精度。

就如同上面我给变量取值一样:

若#2=29.999,那么#1=0.966670

若#2=29.998,那么#1=0.966738

若#2=29.997,那么#1=0.966773

经过四舍五入,计算出的数据就不精准了,从而加工出的曲线零件精度就不高了。

如何来解决?

这也是我一直强调的利用宏程序来编写数控程序,一切就不同了。

那么如何计算这么多点位坐标?

答:变量的自增减运算

法拉克的机床变量自减运算格式如下:

#2=30

N10#1=32/#2-0.1

……..加工程序

#2=#2-0.01

IF [#2GT2]GOTO10

…….

程序由上往下依次运行,当运行到IF语句

是的,IF语句中设置的条件是:

[#2GT2] ,意思是#2的数值大于2

如果这个条件满足,程序就会跳转至指定的N10程序段,又从N10程序段开始往依次往下运行程序,即:

你想学会数控宏程序编程,推荐你套数控编程教程

每当读取#2=#2-0.01变量就会做一次运算

就这样机床直接通过曲线方程式和变量自运算,计算出#1,#2的数值。

若在IF和N10之间的合适位置添加一个程序段:G01X#1Z#2,这就加工出曲线了。

添加到什么位置?

如下(红色字体位置):

#2=30

N10#1=32/#2-0.1

G1X[2*#1]Z#2F0.1

#2=#2-0.01

IF [#2GT2]GOTO10

也就是先读取#1,#2的数据,在运行加工的曲线段程序。

你或许注意到上面红色字体并不是:G01X#1 Z#2 而是G1X[2*#1]Z#2

因为#1是半径值,[2*#1]换算成直径编程。

程序如下:

你想学会数控宏程序编程,推荐你套数控编程教程

很快就完成了精加工程序。

好了,以上两步骤价值巨大,你若泛泛一看,觉得知道了,那么你将很难挖掘出更多有价值的东西。

大家切记:知道,不等于会

比如,上面零件粗加工程序又如何编写呢?

再比如,椭圆,双曲线,抛物线,二次方程,卡门曲线等等曲线类零件又如何编写程序?

更进一步, T型螺纹,大螺距螺纹,圆弧半牙型螺纹,蜗杆等等类型的零件又如何来编写程序?

想想就难?

实际,凡事一定有方法,只是你暂时没找到而已 。

我曾经强调过:“复杂事情简单化,简单事情流程化”,这种“流程化的思维”非常有价值,数控高级编程宏程序,对于一个新手确实难,但是我们可以把编程这件事变得很简单,并且变成一个流程, 比如上面我传授的两步方法,就可以看成一个流程。

流程化的编程思路在过去我也只是透露了一部分,现在我打算把它融入到我的编程教程中来,在我的《邹军数控宏程序编程教程》中,除了学到宏程序基础知识,具备零件加工的编程能力外,你还可以学到:

1、流程化的编程(新增)

2、具备开发G代码的能力

3、用数学公式来编写宏程序的技巧

4、掌握宏程序的调用、宏程序误差处理方法

5、模块化编程

6、参数化编程

7、宏程序用于生产管理

8,宏程序自动化方面的应用

其实,新增加的流程化编程思路我去年就设计好了,一直没有轻易放出来,为什么呢?

因为我还没有准备好,因为我后面要专门出一套关于《流程化的编程教程》,准备找些合作伙伴,从而放大其价值。(关于这个计划,年后机会成熟我会详细公布。)

关注邹军爱数控,学习好绝招

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多