青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 256|回复: 0

[其它UG资料] 如何学会数控宏程序编程?

[复制链接]
发表于 2019-11-23 16:56 | 显示全部楼层 |阅读模式
《利用数学公式编写数控程序》的步骤:
第一步:设定变量带入方程式
第二步:利用方程式算坐标点
这两个步骤看起来非常简单,简单的就像是废话一样,但是真正领会应用的人,100个里面也许连1个都没有。
为什么会这样说呢?
这不,有朋友在工作中遇到曲线类的零件加工,让我帮忙编写程序(如下图):
# U$ k! K) C. l( r# R' W7 m
( [% {  s- |4 k$ c$ m8 O4 U
方法都教给他了,他为什么自己不能编写呢?
他说我那两步骤行不通,此曲线方程式是:Y=32/X-0.1
而他们车间的数控车床都只有X和Z轴,并没有方程式中的Y。
学的太死板,甚是令人担忧。
来来来,先来看这个曲线(如下图):
  M; V: C" V( ]: v& S' b. n

( h1 g3 j" l* M4 T
如上图所示:
水平轴为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程序段开始往依次往下运行程序,即:

+ a7 l# R" D$ p6 q( z
2 O& ?% o1 Z9 W% x% S! j  D
每当读取#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]换算成直径编程。
程序如下:
+ f8 O6 J0 W5 C6 B/ B, p
+ O' `  |0 m& |" H% g$ k$ j. C7 a% \
很快就完成了精加工程序。
好了,以上两步骤价值巨大,你若泛泛一看,觉得知道了,那么你将很难挖掘出更多有价值的东西。
大家切记:知道,不等于会
比如,上面零件粗加工程序又如何编写呢?
再比如,椭圆,双曲线,抛物线,二次方程,卡门曲线等等曲线类零件又如何编写程序?
更进一步, T型螺纹,大螺距螺纹,圆弧半牙型螺纹,蜗杆等等类型的零件又如何来编写程序?
想想就难?
实际,凡事一定有方法,只是你暂时没找到而已 。
我曾经强调过:“复杂事情简单化,简单事情流程化”,这种“流程化的思维”非常有价值,数控高级编程宏程序,对于一个新手确实难,但是我们可以把编程这件事变得很简单,并且变成一个流程, 比如上面我传授的两步方法,就可以看成一个流程。
流程化的编程思路在过去我也只是透露了一部分,现在我打算把它融入到我的编程教程中来,在我的《邹军数控宏程序编程教程》中,除了学到宏程序基础知识,具备零件加工的编程能力外,你还可以学到:
1、流程化的编程(新增)
2、具备开发G代码的能力
3、用数学公式来编写宏程序的技巧
4、掌握宏程序的调用、宏程序误差处理方法
5、模块化编程
6、参数化编程
7、宏程序用于生产管理
8,宏程序自动化方面的应用
微信图片_20191122115825.png

( [% {/ I5 I+ r+ T" w1 E
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|sitemap|小黑屋|Archiver|手机版|UG网-UG技术论坛-青华数控模具培训学校 ( 粤ICP备15108561号 )

GMT+8, 2024-5-3 23:01 , Processed in 0.126735 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表