《利用数学公式编写数控程序》的步骤: 第一步:设定变量带入方程式 第二步:利用方程式算坐标点 这两个步骤看起来非常简单,简单的就像是废话一样,但是真正领会应用的人,100个里面也许连1个都没有。 为什么会这样说呢? 这不,有朋友在工作中遇到曲线类的零件加工,让我帮忙编写程序(如下图): v: M, p) H3 J6 k# S$ c a" {! i
/ i# \+ @7 c; D( a5 a
方法都教给他了,他为什么自己不能编写呢? 他说我那两步骤行不通,此曲线方程式是:Y=32/X-0.1 而他们车间的数控车床都只有X和Z轴,并没有方程式中的Y。 学的太死板,甚是令人担忧。 来来来,先来看这个曲线(如下图): % G9 G5 T3 Y1 T# K6 y& e
( m0 \' a+ d6 G1 e& g j5 m# 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程序段开始往依次往下运行程序,即:
5 T4 t$ S7 [2 K; O! V
+ W3 y% v2 W$ v2 W% `每当读取#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]换算成直径编程。 程序如下:
; v G7 z ]: u4 [/ E/ l: X" R. w( h B5 w9 q' A
很快就完成了精加工程序。 好了,以上两步骤价值巨大,你若泛泛一看,觉得知道了,那么你将很难挖掘出更多有价值的东西。 大家切记:知道,不等于会 比如,上面零件粗加工程序又如何编写呢? 再比如,椭圆,双曲线,抛物线,二次方程,卡门曲线等等曲线类零件又如何编写程序? 更进一步, T型螺纹,大螺距螺纹,圆弧半牙型螺纹,蜗杆等等类型的零件又如何来编写程序? 想想就难? 实际,凡事一定有方法,只是你暂时没找到而已 。 我曾经强调过:“复杂事情简单化,简单事情流程化”,这种“流程化的思维”非常有价值,数控高级编程宏程序,对于一个新手确实难,但是我们可以把编程这件事变得很简单,并且变成一个流程, 比如上面我传授的两步方法,就可以看成一个流程。 流程化的编程思路在过去我也只是透露了一部分,现在我打算把它融入到我的编程教程中来,在我的《邹军数控宏程序编程教程》中,除了学到宏程序基础知识,具备零件加工的编程能力外,你还可以学到: 1、流程化的编程(新增) 2、具备开发G代码的能力 3、用数学公式来编写宏程序的技巧 4、掌握宏程序的调用、宏程序误差处理方法 5、模块化编程 6、参数化编程 7、宏程序用于生产管理 8,宏程序自动化方面的应用 % w" e( e* k, C/ Z: @! B
|