宏程序编程

关键词: 宏程序 数控系统 数控技术 数控机床

宏程序编程(精选十篇)

宏程序编程 篇1

1 宏程序编程的原理

宏程序的种类很多,目前广泛使用的是C类宏程序,其结构类似于计算机高级语言,我们利用宏程序完成非圆曲线、曲面的编程工作,就是利用其计算的能力,根据曲线、曲面的数学轨迹方程,设置一个步距,让数控系统按照该步距间隔自动取出无数点或线,然后通过直线、圆弧将这些点连接起来或将这些线叠加在一起的方式近似形成要求的曲线或曲面。从这个意义上分析,宏程序编程的关键在于找出要加工曲线、曲面的数学模型,选择合适的方式自动取点,选择合适的方式去联线。

2 典型车削类零件宏程序的编制

2.1 车削加工抛物线的宏程序编制

抛物线是机械零件中常见的一种截面形状,如枪弹的弹头等,下图是一个枪弹弹头的零件图形,我们就以这个抛物线的加工程序说明一下车削类宏程序编制的方法和特点。

零件图形如图1。

首先根据零件尺寸关系写出该抛物线的轨迹方程,注意数控车的坐标轴和数学上的坐标系统不同,建立轨迹方程时要按数控车的坐标轴方向去建立,建立方程如下:

加工抛物线的基本思路是在抛物线上取出多个点,然后用直线将这些点首尾相连,形成一个近似的抛物线,为了提高加工精度取点的间隔越小,点越多越好,但编程的量就会越来越大,为了减少计算的量我采用循环语句,让机床每格一个间隔自动取一个点。本实例中每隔0.1mm取一个点。取出点后,通过G01指令连线即可,当取点到抛物线的终点位置时则通过条件判断语句停止取点,结束加

2.2 车削椭圆的宏程序编制

椭圆也车削类零件中的常见结构,如一些手柄,或零件上的椭圆弧,现在我们介绍一下椭圆宏程序的编制方法,根据零件图按照数控车床的坐标系统上写出该零件的轨迹方程,也要注意坐标轴的方向:

加工思路和抛物线的加工相同,在椭圆弧上取无数个均布的点,然后用无数段直线将这些点连接起来,构成一个椭圆。现在设定椭圆弧上任意一个点坐标为(z,x)则他们之间的关系是:

通过这个关系式可以按设定的增量取出Z坐标,然后计算出X坐标,得到一个新点,再用G01指令连线即可形成椭圆了。

具体程序略。

3 典型铣削类零件宏程序的编制

用宏指令编制一个铣削半径为40mm的半球形凹坑,基本加工设想,在球面的截面圆弧上取无数个点,然后以该点到球面轴线(Z轴)的距离为半径做圆,用铣刀按这个圆进行铣削,最后将这些圆叠加在一起,就形成了一个球面。

该球面的零件图及加工原理图如图2。

具体程序略。

通过以上三个实例可以看出,编制宏程序的关键在于如何找出加工轮廓的规律,取点的方式。如何利用条件判断语句自动进行取点,另外变量的数量应合理设置,尽量把一些主要加工参数设置成变量,使程序具有通用性,加工不同尺寸的零件时,只要给变量赋予不同的数值即可。

摘要:数控程序是控制机床加工的主要指令,合理的编制加工程序是提高数控机床利用率,保证加工精度基本条件,对于基本指令编程,操作者掌握的都比较好,但对于一些非圆曲线和曲面的编程,通用的编程指令就很难完成了,一个比较方便的解决办法就是利用宏程序进行编程。通过四个实例就宏程序编程的指令、原理、方法做了详细的介绍,对实际编程与加工具有很好的借鉴意义。

数控机床宏程序编程的技巧和实例 篇2

数控机床宏程序编程的技巧和实例

2011年8月11日

前言

随着工业技术的飞速发展,产品形状越来越复杂,精度要求越来越高,产品更新换代越来越快,传统的设备已不能适应新要求。现在我国的制造业中已广泛地应用了数控车床、数控铣床、加工中心机床、数控磨床等数控机床。这些先进设备的加工过程都需要由程序来控制,需要由拥有高技能的人来操作。要发挥数控机床的高精度、高效率和高柔性,就要求操作人员具有优秀的编程能力。

常用的编程方法有手工编程和计算机编程。计算机编程的应用已非常广泛。与手工编程比较,在复杂曲面和型腔零件编程时效率高、质量好。因此,许多人认为手工编程已不再重要,特别是比较难的宏程序编程也不再需要。只须了解一些基本的编程规则就可以了。这样的想法并不能全面。因为,计算机编程也有许多不足:

1、程序数据量大,传输费时。

2、修改或调整刀具补偿需要重新后置输出。

3、打刀或其他原因造成的断点时,很难及时复位。

手工编程是基础能力,是数控机床操作编程人员必须掌握的一种编程方法。手工编程能力是计算机编程的基础,是刀具轨迹设计,轨迹修改,以及进行后置处理设计的依据。实践证明,手工编程能力强的人在计算机编程中才能速度快,程序质量高。

在程序中使用变量,通过对变量进行赋值及处理使程序具有特殊功能,这种有变量的程序叫宏程序。宏程序是数控系统厂家面向客户提供的的二次开发工具,是数控机床编程的最高级手工方式。合理有效的利用这个工具将极大地提升机床的加工能力。

作为一名从事数控车床、数控铣床、加工中心机床操作编程二十多年的技师,在平时的工作中,常常用宏程序来解决生产中的难题,因此对宏程序的编程使用积累了一些经验。在传授指导徒弟和与同事探讨中,总结了许多学习编制宏程序应注意的要点。有关宏编程的基础知识在许多书籍中讲过,我们在这里主要通过实例从编制技巧、要点上和大家讨论。

一、非圆曲面类的宏程序的编程技巧

1、非圆曲面可以分为两类;

(1)、方程曲面,是可以用方程描述其零件轮廓的曲面的。如 抛物线、椭圆、双曲线、渐开线、摆线等。这种曲线可以用先求节点,再用线段或圆弧逼近的方式。以足够的轮廓精度加工出零件。选取的节点数目越多,轮廓的精度越高。然而节点的增多,用普通手工编程则计算量就会增加的非常大,数控程序也非常大,程序复杂也容易出错。不易调试。即使用计算机辅助编程,其数据传输量也非常大。而且调整尺寸补偿也很不方便。这时就显出宏程序的优势了,常常只须二、三十句就可以编好程序。而且理论上还可以根据机床系统的运算速度无限地缩小节点的间距,提高逼近精度。

(2)、列表曲面,其轮廓外形由实验方法得来。如飞机机翼、汽车的外形由风洞实验得来。是用一系列空间离散点表示曲线或曲面。这些离散点没有严格一定的连接规律。而在加工中则要求曲线能平滑的通过各坐标点,并规定了加工精度。加工列表曲线的方法很多,可以采

用计算机辅助编程,利用离散点形成曲面模型,再生成加工轨迹和加工程序。对于一些老机床或无法传送数据的机床,我们也可以将轮廓曲线按曲率变化分成几段,每段分别求出插值方程。采用宏程序加密逼近曲线的方法。

2、非圆曲面类的宏程序的编程的要点有:建立数学模型和循环体(1)、数学模型是产生刀具轨迹节点的一组运算赋值语句。它可以计算出曲面上每一点的坐标。它主要从描述其零件轮廓的曲面的方程转化而来。

(2)、循环体是由一组或几组循环指令和对应的加法器组成。它的作用是将一组节点顺序连接成刀具轨迹,再依次加工成曲面。

3、下面根据两个实例,按宏程序的编制过程将各步骤的要点和技巧进行详细说明

图1—

1、椭圆曲面零件

实例

1、如图1-1数控车加工一个椭圆面。椭圆的长轴60,短轴40.步骤1:根据加工轨迹确定椭圆曲线的起始点A和终点B坐标。这里的要点是分清编程坐标系和椭圆坐标系、A点在编程坐标系中的坐标为X=113.742、Z=27.252 这里为适应数控车床的编程习惯x采用直径坐标,A点以椭圆的中心为原点的坐标为X=113.742

Z=40—27.252

B点的编程坐标是X=37.907

椭圆坐标为X=37.907

步骤2:确定在曲线方程中的主变量和从变量。这要根据实际情况来选择。有以下几点原则:①变量的起点、终点已知的。②变量在坐标中的变化方向一致。③变量的变化对曲线的精度影响较大。根据以上原则我选X坐标为主变量、Z是从变量。

步骤3:将标准方程化为从变量赋值的形式。如图1-1以其中心为原点,椭圆方程为 X²/a² +Z²/b²=1化为Z= SQRT[(1-X *X/a*a)*b*b 这一步很关键。由于曲线只在椭圆坐标系的第一象限 Z为正值。

以上三步就是建立数学模型。在这个模型里X的一个坐标值,可以计算出它对应的Z坐标值。要注意,这两个坐标是以椭圆中心为原点的,要特别注意。也就是说,如果和这个零件一样,椭圆中心和你设定的编程坐标系原点不重合,进入数学模型和从数学模型输出的数值,都是以椭圆中心为原点的。刀具运动指令的坐标值是以编程坐标系为原点。因此,需要设计计算方法将数学模型的输出数据转化成编程坐标系的数值。许多多年从事数控机床操作的人一直不能用宏程

序,就是在这里犯了糊涂。

步骤4:画流程图确定宏程序的过程 图1-2 流程图是建立和检查循环体的最好工具。这一步的关键点是:分清计算过程、运动指令、加法器的排列顺序;循环体中条件转移语句和加法器的配合,产生正确的循环控制,而不是死循环。

;赋初始值(注意是椭圆坐标系);循环体开始,判断是否结束。

;计算、运动指令

;加法器,改变动参数

图1—2 步骤5:根据流程图编写程序 程序如下O1001 应注意的要点有:(1)、当采用刀尖圆弧补偿方式编程时,循环体的轨迹第一点不能和起始点重合,否则系统会显示出错。(2)要注意循环体内计算语句、运动语句和加法器语句的顺序不能错。

该零件如图右端内部椭圆面的数控车精车程序如下: O1001;重点说明 T0101;G90G40G0X200.0Z200.0M03;G41G00X135.0Z5.0M08;G01Z-25.0F0.1;G03X#1Z-27.252;#1=113.742-0.1;将循环开始点错开 #2=40-27.252;Z值从编程坐标系转变到椭圆坐标系 WHIFL[#1GT37.907] DO 1;循环体开始,X轴坐标逐渐减小 #1=#1/2; 将直径值转化成半径值 #2=SQRT[[1-#1*#1/[60*60]]*40*40];#2=#2-40 Z值从椭圆坐标系转变到编程坐标系 #1=#1*2 将半径值转化成直径值 G01X#1Z#2F0.08;运动指令 #1=#1-0.1;递减加法器 END 1;循环体结束 G01X37.907Z-2.048;G01X35.0;G00Z200.0;G00X260.0M09;M30;

图1--3 实例

2、在加工中心上加工抛物线球面。

比较加工中心或数控铣床上铣削曲面和数控车床车削曲面,有许多差别:(1)、加工方式不同。(2)、车削曲面需要计算沿一条轮廓素线的若干个节点;铣削曲面需要计算整个曲面上若干个轮廓素线的若干节点。计算量大,宏程序非常复杂。

编制铣削曲面宏程序确实非常难,然而只要我们抓住几个关键要点,做好流程图和数学模型,勤于实践,也是一定能够掌握这个技能的。下面把编制铣削曲面宏程序的过程分成几步:

步骤

1、分析曲面的构成特点确定加工路线

如图1-

3、这个曲面是由一条抛物线以与它共面水平直线为轴线旋转切成的。加工轨迹可以有两种,一种是水平层切、一种是垂直层切。我们用垂直层切的方式。其轨迹如图1-4,每个层切面上的刀具轨迹都是一个YZ平面的圆弧。

图1--4 步骤

2、选择合适的编程坐标系,确定主、从变量。如图1-3把坐标系原点设置形腔上表面的中心,可以简化计算。Z为主变量。取Z=0 为起点,Z=20为终点。

步骤

3、抛物线方程X²=36(Z-20)转化为X=SQRT[36*[Z-20]]

和X=-SQRT[36*[Z-20]]、这里需要注意两个象限的变化,要设计两个循环体,用控制指令“换向”。

步骤

4、设计流程图,试验循环体程序框架。

步骤

5、根据流程图编制程序。注意程序的加工平面为y-z(G18)平面。流程图和程序如下图1—5,O1002 O1002;

G0X0Y0M8;G54G18G90G40;

G43G0Z100H1M3S3000 T1M6;

Z5;

图1—5

M30

#1=0;

WHILE[#1GT-20] DO 1 #2=SQRT[36*[#1-20]];G1X#2F500;G41G1Y#1D1 G1Z0 G2Y-#1J-#1 G40G1Y0;#1=#1-0.1 END 1;#1=-20

WHILE[#1LT0] DO 2 #2=-SQRT[36*[#1-20]] G01X#2F500 G41G1Y#1D1 G2Y-#1J-#1 G40G1Y0 #1=#1+0.1

END 2;G00Z200M9

二、用宏程序开发对零件自动找正功能

图2---1

1、开发过程

某零件如图2-1。工艺安排卧式加工中心上一次装夹将四个Φ 8孔加工完成,保证其位置精度。但是工件在夹具中定位后,B向旋转无法用夹具精确定位。当时的方法是:①每个零件装夹后单独用百分表找平。或者用自动测量触头取值,手工计算偏转角。②修改程序中新的B向坐标基准值。

整个过程用时较长须用时长,对操作工的技能要求也较高。这种零件数量多,工期紧,要想办法节约时间。我就想利用宏程序计算功能和机床具备的自动测量触头功能可以实现自动找正。

2、自动找正零件功能的工作原理

(1)、零件夹具中设计一个粗定位圆柱销,使零件粗定位,保证测量精度和测量工具的安全。.(2)、选择零件基准面上较远的两个点采值,如图a、b两点。分别放入#1和#2参数在。(3)、计算差值及偏转角。(4)、输入编程坐标系G54的B轴。

另一台四轴加工中心没有自动测量功能,我们用采用百分表触测零件基准面,目测记录差值,手工输入参数表中。宏程序自动计算并找正。速度和准确率提高了很多,保证了生产任务按时完成。

3、编制宏程序

自动找正功能的开发并不复杂,使用的是宏程序对内部系统变量读取和赋值功能。程序如下:

O2001 T3M6;G54G90G0X40Y300B0;G43G0Z200H3;G0Y15Z60;

运动到预备测量a位置 G31G91Z-52F500;

执行G31测量a点坐标存入#5000 G90G0Y100Z200;#1=#5000;

#5000系统参数记录a点的坐标值,赋给#1 G0X-40;G0Y15Z60;G31G91Z-52F500;

执行G31测量b点 G0G90Y200Z200;#2=#5000;

#3=ATAN[[#1-#2]/80];

计算偏转角

#5204=#5204-#3;

给过G54中B轴赋新值 G54G0B0;

执行G54,B轴归零

M99;

三、宏程序开发加工中心工作台任意旋转

后,坐标系自动转换的功能、五轴加工中心工作台旋转对坐标系的影响

五轴加工中心工作台可以在一个或两个方向旋转,可以加工工件的多个表面。当工件安装在工作台任一位置处上,我们找正工件基准,确定工件坐标系。当需要加工另一个表面时,工作台需要旋转一个角度,这时工件上的基准原点与工件坐标系分离。需要再次找正工件基准重新建立坐标系。如图3-1如果工件有五个表面,那么就需要建立五个坐标系。力,对于加工工件还可以接这样的基准点是空间斜角相次找正来保证全不可能了。

图3--1

这样的方法费时费形状较简单的单个受。图中C点、D点就不容易找正。型腔交的零件用基准多空间位置精度就完我们可以用计算的方式,以工作台的回转中心为基准,计算出每次旋转工作台,工件基准相对于工作台回转中心的偏移量。用基准转移的方式建立新的工件坐标系。把这个过程用宏程序来实现,使坐标自动转换,方便准确。

2、工作台旋转后坐标系转换的数学模型

图3—2a 图3—2b 五轴加工中心绕X轴旋转的是A轴,如图3-2a中O是机床坐标系原点,O1是工件坐标系原点,O2是工作台A轴旋转中心。图3-2b为A轴旋转&角后与原来旋转前的比较图。建立LZ和LY数学模型

LZ=(L3-L1)COS&+(L2+L4)SIN&-(L3-L1)=(L3-L1)(COS&-1)+(L2+L4)SIN& LY=(L2=L4)-[(L2+L4)COS&-(L3-L1)SIN&]=(L2+L4)(1-COS&)+(L3-L1)SIN& 要点说明:1.L1L2是工件坐标系原点到机床坐标系原点的距离,也就是G54中Z、Y的值

2.L3L4是工作台旋转中心到机床坐标系原点的值。由

机床厂家测量出存放于一般机床参数中。3.LZLY将用于对工作台的修改

4.设置工件坐标系时要便于坐标转换的计算。

这种问题的难点就是建立数学模型,有了数学模型,我们可以很方便的完成坐标转换宏程序。

四、用参数简化程序提高编程效率

实例、采用参数控制循环的方式时深型腔的粗精铣加工

如图4-1零件型腔深度65mm材料硬度较高,由于内角R的要求,粗精采用的刀具为直径16mm和 10mm的加长铣刀。刚性差因此采用层铣方式,每层铣10mm 水平粗铣环切路径如图4-2。编制这种宏程序的特点是使用循环功能。

采用参数宏程序层切循环和环切循环与普通 方式编程的比较。

图4--1

(1)程序方便的比较进给量调整宏程

序方便只须修改一个参数。而普通程序需要修改整个粗铣程序;(2)宏程序的程序句子较少粗铣留量越大,宏程序的优势越明显;(3)宏程序结构清楚比较容易检验程序的正确性;(4)通用性强,只需

图4—2 对参数赋上合适的值,就可以用于精铣轮廓

和精铣底面及侧面。只需走完一次循环即可,而不必将整个程序走完。

五、用宏程序对数控机床的功能进行二次开发

宏程序像许多计算机软件一样是数控系统厂家提供给我们的一种二次开发工具。用好它对我们的工作帮助非常大。我们可以把一些重复性强,编程有规律的工作。编制成宏程序像数控系统中的其他固定循环一样调用。编制时应注意:(1)运动轨迹尽可能多的受参数控制,才能方便灵活。(2)主要功能应针对性强,才能实用。(3)要注意快速运动轨迹的安全性、通用性。(4)输入参数不要太多,一般固定参数可放在宏程序内修改。下面我简要介绍开发的几个小宏程序: 1.数控车床加工不锈钢材料的深孔的宏程序

解决问题:不锈钢材料加工深孔时排屑困难钻头易磨损,铁屑不易折断,容易绕到工件和钻头上,使钻头易损坏,也会拉毛已加工表面。增大发生折断的意外。采取的方法:增长每次进给的退刀长度,方便排屑降温。增加M00方式暂停,用M05方式主轴暂停,方便检查保护刀具,不用时打开“/”跳过。2.数控车床盲孔深槽的加工宏程序;

设计思路:盲孔内深槽粗车有两个难点1)排屑困难。2)刀头伸出刀杆较长,进退刀困难,空程较长。

在设计工艺路线时我们采取的措施有:1)切屑进给路线上增加若干断点,造成断屑、可以防止切屑缠绕刀杆,也方便排屑。2)分层进给,每层结束,刀具退出工件较长距离,主轴进给都暂停,排出孔内

切屑并检查刀具。3)刀具每次返回切屑面时空行程采用较快进给速度。

实践以上的措施,如应用普通方式编程是非常困难的,即使编出来也是语句庞大,检查修改也非常麻烦。使用宏程序的计算语句和循环控制语句就可以解决这些问题。

结束语

前面介绍了几种编制宏程序的方法和重点技巧。我们在平时的工作中经常会用到,为生产活动带来了很大的便利,提高了生产效率,改善了加工质量,完善了机床的功能。应该说宏程序编制就像一个魔方,随着你对它的使用。它会变幻出越来越多的美丽图案。

宏程序编程 篇3

摘 要:在数控加工中,程序编制的好坏是决定加工质量、加工效率的重要因素之一。目前,随着计算机、CAD/CAM软件的普及,自动编程被操作者广泛使用,而渐渐忽略了对CNC系统用户宏程序功能的手工编程应用。本文介绍了宏程序的主要特点,并和自动编程方法对比,说明其所具有的不可取代的优势,希望学生在工程训练及专业技能培训中能有所重视,提升编程能力,提高技术水平。

关键词:宏程序编程 CAD/CAM软件编程 优点 对比

进入21世纪后,我国已成为制造业大国,并逐步向“世界制造中心”的目标迈进。企业中广泛地使用各种先进制造设备,提高产品质量,提升效率,增强竞争能力。其中,最常用的加工设备有数控车床、数控铣床、加工中心和车削中心等。

数控编程水平是决定加工质量、加工效率的重要因素之一。目前,由于各种基于PC平台的CAD/CAM软件出现,如MasterCAM、UG、Pro/E等,因其具有几何造型、工艺决策、加工仿真、自动生成程序等优点,被编程人员普遍采用,成为流行趋势。在实际工作中不论什么情况,均用软件编程,依赖程度很高,甚至产生自动编程完全能代替手工编程的误区。而在国家、省级数控技能大赛或数控职业技能鉴定等级考试中,明确规定是不能使用计算机软件进行编程的,只能用手工编程,特别对宏程序的编程运用有明确的考查。在自动化、智能化程度更发达的日本也是如此,不会因为软件的普遍使用而忽视对编程基本素质的要求。殊不知在有些场合,宏程序编程是其他方法不能替代的,可为数控加工带来事半功倍的效果。

一、什么是宏程序

所谓宏程序(Custom Macro),就是以变量的组合,通过各种算术和逻辑运算、转移和循环等命令,而编制的一种可以灵活运用的程序,只要改变变量的值,即可以完成不同的加工和操作。调用用户宏程序的指令叫宏指令。宏程序即可以书写在主程序中,也可像子程序一样,被宏指令一次或多次调用。宏程序是基本手工编程的高级形式,因在标准CNC程序基础上附加控制特征,使功能更强大、更具智能性。各种数控系统,如:日本FANUC、德国SIEMENS、华中HNC等。虽然宏指令的名称、符号、定义各不相同,但本质上是共通,都离不开变量,本文以FANUC-0i系统用户宏程序B说明

二、宏程序编程优势突出

1.简化编程的重要手段

宏程序允许使用变量、算术和逻辑运算、条件转移和循环命令。这样编程中大量重复或有规律的刀具移动路径程序段就可省略,大大降低了人工计算难度,程序结构清晰明了,长度缩短,书写和输入工作量减小,从而达到简化编程目的。

2.存储容量小,存储方便

软件自动编程生成的程序冗长,经常出现成千上万条语句,占用的存储空间大,FANUC-0i系统内存的标准配置为128KB或256KB,电脑经常存储不下,只能用专用的存储卡或DNC在线加工。而宏程序结构简单、短小精悍,一般不会超过100条,系统内存的容量足够使用,存储方便。

3.检查、修改、调试方便

完成一个合格零件的加工,通常要经过反复试切、测量、调试的过程。软件自动编程生成的程序,是由若干直线去逼近曲面的点的组合,若要调整某项加工参数,如刀具尺寸、刀补值、步长、计算精度等,都要根据变化后的参数重新编程,原程序无法修改。而宏程序则不同,程序中包含了所有加工参数和信息,阅读直观,调试时可直接在原程序上修改,无需重新编程。

4.加工精度高、效率高

软件自动生成的程序,是直线插补近似的过程,存在计算误差和后置处理误差。在线加工时,机床与电脑的传输速度成为了影响加工速度的“瓶颈”,FANUC-0i系统RS-232串口最大传输波特率为19200Bit/s,当计算精度较高、进给速度F值较大(如F1800~F2500)时,程序传输速率往往跟不上机床的节拍,甚至可以看到机床的进给运动有明显的断续、迟滞现象。宏程序能采用圆弧插补拟合,误差小,系统直接插补运算,速度和机床硬件响应快,避免了传输不稳定现象,从而使得加工效率和加工精度更高。

5.灵活性、通用性强

生产中,经常会碰到许多零件形状轮廓类似,而几何尺寸不同情况,编程人员可制作这类轮廓的宏程序模板,如椭圆模板、双曲线模板、锥螺纹模板等,应用时只需要把零件的具体加工信息和参数输入到模板中对应的程序段中,就完成了程序的编制。可见宏程序具有很强的灵活性和通用性,给编程带来事半功倍的效果。这是其他编程方法都做不到的。

另外,在构成零件三维要素较多,自动编程困难的场合,如加工异形螺旋槽、加工非标螺纹等,用宏程序就非常方便灵活,可很好地发挥其优势。

三、编程对比举例

为了更好地说明宏程序编程的特点,分别用宏程序和CAD/CAM软件编程方法,对同一零件进行编程和加工,对比各方面综合性能。加工中,使用MasterCAM软件,设定同样的工艺路线、切削用量、设备和刀具等加工条件。

如下图所示,零件是一个平面非圆曲线台阶零件,适用数控铣削加工,图形由直线、圆弧和一段椭圆构成。编程的关键是椭圆部分。因人工很难计算出每点的坐标值,光用普通基本指令编程是无法完成的,手工编程时必须用到宏程序方法。用WHILE/DO语句编写,以X值作变量,Y为X的函数,X以0.1mm长度增加,取值范围从0~30mm,Y随X的变化都有一个唯一的值和它对应,并用直线插补指令,来逼近椭圆曲线。椭圆曲线部分的宏程序只需6条,而使用MasterCAM软件后置处理生成的NC代码有400多段。

从上表中可见,宏程序简化编程、方便检查修改、编程和加工效率高、精度高的特点得到充分体现,不用计算机、不用软件、无需传输也可得到自动编程效果,既经济性能又高。

四、小结

宏程序编程具有的优势,是自动编程不能完全替代的,在数控加工中占有广泛的空间。但也不能否定CAD/CAM软件编程的作用,对于不规则复杂曲面的模具、三轴或三轴以上联运的加工场合,用宏程序编程是有局限性的。

学生工程实训和技能培训中,不能忽视宏程序编程的教学要求,明确宏程序编程的优势,丰富课程内容和形式,开设专题性的开放性实验以及参加比赛。多角度引导学生重视这方面的训练,从而牢固树立手工编程是编程根本的思想。只有练好编程基本功,才能更好地深入理解自动编程的本质。请学生们不要过分依赖软件自动编程而忽视编程基本能力的锻炼。养成能不用CAD/CAM软件编程的就不用,尽量手工编程的习惯,以提升高级编程能力,充分了解手工编程和自动编程各自的特点和适用场合。在实践中,学生应灵活选择合理的编程方法,成为基本功扎实的高素质、高技能型人才。

参考文献:

[1]胡育辉,赵宏立,张宇等.数控宏编程手册[M].北京:化学工业出版社,2010.

[2]陈海舟.数控铣削加工宏程序及应用实例[M].北京:机械工业出版社,2006.

(作者单位:赵雁,南京理工大学工程训练中心;

应用宏程序编程的数控程序实例 篇4

当用数控设备加工一批相同形状,但尺寸不同的工件时,通常采用更换程序的方式,当遇到加工一批产品种类多,数量少,转产频繁的工件时,采用频繁更换程序方式时效率低下。

如图1所示加工一些管子的焊接坡口,结构形状相同,但管子外径、内径和镗孔值不同时,必须使用不同的数控程序。由于管子来料时,每批管子的内径值并不是定值,如果镗孔刀的吃刀量大,必须采用分多次走刀加工,因此,需要实测管子内径尺寸后重新编程。涉及一些三角函数计算的数控编程,如果由操作工手工编程,效率低并很容易出错。如由数控编程工程师用Master CAM软件编制,效率较高,但平均每套程序需用30分钟(包括程序传输),并且每天不断重复类似的工作。为了解决这一问题,笔者利用宏程序,针对同形状不同参数的工件,编写了一套程序,对同形状尺寸不同的工件,在转产前,操作工只需实测管子内径尺寸后,在程序中输入工件参数,仅需1分钟即可完成程序转换工作,就可生产,大大提高了车间的生产效率和减少编程工时和减少错误。

2 宏程序的编制思路

加工模型图如图2和图3所示,图2简单描述外圆车刀的加工路线及关键尺寸的位置关系式。图3简单描述镗刀的加工路线及关键尺寸的位置关系式。为了说明问题,本模型暂不涉及分刀路加工方式,外圆车刀刀路简化为:

换镗孔刀后,镗孔刀刀路简化为:

将三个变量在程序中输入,#1代表管子外径,#2代表管子实测内径,#3代表镗孔值。其他关键的位置以变量定义,并代入关系式,关系式与#1,#2,#3变量关联。

下面以实例方式讲解。

3 加工实例

程序如下,先用外圆车刀车平端面,后加工外坡口,换镗孔刀后镗孔:

此程序在沈阳机床上的FANUC Series Oi mate-Tc系统上稳定运行。

4 注意问题

(1)对于切削加工量大的部位,如果超出刀具可承受的吃刀量,可以由程序自行判断是否采用分刀加工,这个数值可在程序中定义。如图4所示,如果管子壁厚超过6mm,需要分刀加工,第1刀为粗加工,剩余2mm加工余量由第2刀加工。只需在程序中加一条件语句即可,本实例加在N180语句后,判断管子壁厚范围,如果管子壁小于6mm,只执行一刀加工,否则分两刀加工。镗孔程序也可用此方式实行由程序自行判断是否采用分刀加工。程序如下:

(2)由于某些数控编程系统中,可用的变量代码并不多(#1~#33),当变量较多时,可调用子程序,注意如果子程序中的变量代码与主程序中的变量代码相同时,若主程序还需使用原变量的数值,那么在退出子程序后,在主程序上重新为这些变量代码输入原数值,否则该变量代码将用回子程序的数值,而造成程序出错。

(3)在编程时,注意刀具的行走路线,避开干涉点,可用数控软件模拟功能走刀,这些需要在实际编程时掌握。

(4)如果数控加工设备配备自动进料、自动装夹及自动退料功能,可以在设备运行的主界面设置一下,在主界面输入参数,而调用的零件程序读取主界面参数,可实现大批量自动化流水线生产。

5 结论

宏程序加工教案 篇5

宏程序加工实例

一、宏指令编程

1宏变量及常量(1)宏变量

#0~#49当前局部变量 #50~#199全局变量

#200~#249 0层局部变量 #250~#299 1层局部变量 #300~#349 2层局部变量 #350~#399 3层局部变量 #400~#449 4层局部变量 #450~#499 5层局部变量 #500~#549 6层局部变量 #550~#599 7层局部变量

#600~#699刀具长度寄存器H0~H99 #700~#799刀具半径寄存器D0~D99 #800~#899刀具寿命寄存器

#1000“机床当前位置X”#1001“机床当前位置Y”#1002“机床当前位置Z” #1003“机床当前位置A”#1004“机床当前位置B”#1005“机床当前位置C” #1006“机床当前位置U”#1007“机床当前位置V”#1008“机床当前位置W” #1009保留#1010“程编机床位置X”#1011“程编机床位置Y”

#1012“程编机床位置Z”#1013“程编机床位置A”#1014“程编机床位置B” #1015“程编机床位置C”#1016“程编机床位置U”#1017“程编机床位置V” #1018“程编机床位置W”#1019保留#1020“程编工件位置X”

#1021“程编工件位置Y”#1022“程编工件位置Z”#1023“程编工件位置A” #1024“程编工件位置B”#1025“程编工件位置C”#1026“程编工件位置U” #1027“程编工件位置V”#1028“程编工件位置W”#1029保留 53 #1030“当前工件零点X”#1031“当前工件零点Y”#1032“当前工件零点Z” #1033“当前工件零点A”#1034“当前工件零点B”#1035“当前工件零点C” #1036“当前工件零点U”#1037“当前工件零点V”#1038“当前工件零点W”

《数控铣加工技术》教案

#1039保留#1040“G54零点X”#1041“G54零点Y”

#1042“G54零点Z”#1043“G54零点A”#1044“G54零点B” #1045“G54零点C”#1046“G54零点U”#1047“G54零点V” #1048“G54零点W”#1049保留#1050“G55零点X”

#1051“G55零点Y”#1052“G55零点Z”#1053“G55零点A” #1054“G55零点B”#1055“G55零点C”#1056“G55零点U” #1057“G55零点V”#1058“G55零点W”#1059保留

#1060“G56零点X”#1061“G56零点Y”#1062“G56零点Z” #1063“G56零点A”#1064“G56零点B”#1065“G56零点C” #1066“G56零点U”#1067“G56零点V”#1068“G56零点W” #1069保留#1070“G57零点X”#1071“G57零点Y”

#1072“G57零点Z”#1073“G57零点A”#1074“G57零点B” #1075“G57零点C”#1076“G57零点U”#1077“G57零点V” #1078“G57零点W”#1079保留#1080“G58零点X”

#1081“G58零点Y”#1082“G58零点Z”#1083“G58零点A” #1084“G58零点B”#1085“G58零点C”#1086“G58零点U” #1087“G58零点V”#1088“G58零点W”#1089保留

#1090“G59零点X”#1091“G59零点Y”#1092“G59零点Z” #1093“G59零点A”#1094“G59零点B”#1095“G59零点C” #1096“G59零点U”#1097“G59零点V”#1098“G59零点W” #1099保留#1100“中断点位置X”#1101“中断点位置Y”

#1102“中断点位置Z”#1103“中断点位置A”#1104“中断点位置B” #1105“中断点位置C”#1106“中断点位置U”#1107“中断点位置V”

#1108“中断点位置W”#1109“坐标系建立轴”#1110“G28中间点位置X”

#1111“G28中间点位置Y”#1112“G28中间点位置Z”#1113“G28中间点位置A” #1114“G28中间点位置B”#1115“G28中间点位置C”#1116“G28中间点位置U” #1117“G28中间点位置V”#111“8G28中间点位置W”#1119“G28屏蔽字” #1120“镜像点位置X”#1121“镜像点位置Y”#1122“镜像点位置Z” #1123“镜像点位置A”#1124“镜像点位置B”#1125“镜像点位置C” #1126“镜像点位置U”#1127“镜像点位置V”#1128“镜像点位置W” #1129“镜像屏蔽字”#1130“旋转中心(轴1)”#1131“旋转中心(轴2)” #1132“旋转角度”#1133“旋转屏蔽字”#1134保留

#1135“缩放中心(轴1)”#1136“缩放中心(轴2)”#1137“缩放中心(轴3)” #1138“缩放比例”#1139“缩放轴屏蔽字”#1140“坐标变换代码1” #1141“坐标变换代码2”#1142“坐标变换代码3”#1143保留

#1144“刀具长度补偿号”#1145“刀具半径补偿号”#1146“当前平面轴1” #1147“当前平面轴2”#1148“虚拟轴屏蔽字”#1149“进给速度指定”

《数控铣加工技术》教案

#1150“G代码模态值0”#1151“G代码模态值1”#1152“G代码模态值2” #1153“G代码模态值3”#1154“G代码模态值4”#1155“G代码模态值5 #1156“G代码模态值6”#1157“G代码模态值7”#1158“G代码模态值8”世纪星铣床数控系统(HNC-21/22M)编程说明书 54 #1159“G代码模态值9”#1160“G代码模态值10”#1161“G代码模态值11” #1162“G代码模态值12”#1163“G代码模态值13”#1164“G代码模态值14” #1165“G代码模态值15”#1166“G代码模态值16”#1167“G代码模态值17” #1168“G代码模态值18”#1169“G代码模态值19”#1170“剩余CACHE” #1171“备用CACHE”#1172“剩余缓冲区”#1173“备用缓冲区” #1174保留#1175保留#1176保留 #1177保留#1178保留#1179保留 #1180保留#1181保留#1182保留 #1183保留#1184保留#1185保留 #1186保留#1187保留#1188保留

#1189保留#1190“用户自定义输入”#1191“用户自定义输出” #1192“自定义输出屏蔽”#1193保留#1194保留(2)常量

PI:圆周率π

TRUE:条件成立(真)FALSE:条件不成立(假)2运算符与表达式

(1)算术运算符:+,-,*,/(2)条件运算符 EQ(=),NE(≠),GT(>),GE(≥),LT(<),LE(≤)(3)逻辑运算符 AND,OR,NOT(4)函数

SIN,COS,TAN,ATAN,ATAN2,ABS,INT,SIGN,SQRT,EXP(5)表达式

用运算符连接起来的常数,宏变量构成表达式。例如:175/SQRT[2]*COS[55*PI/180]; #3*6 GT 14; 3赋值语句

格式:宏变量=常数或表达式

《数控铣加工技术》教案

把常数或表达式的值送给一个宏变量称为赋值。例如:#2=175/SQRT[2]*COS[55*PI/180];

#3=124.0;世纪星铣床数控系统(HNC-21/22M)编程说明书 4条件判别语句IF,ELSE,ENDIF 格式(i):IF条件表达式 „ ELSE „ ENDIF 格式(ii):IF条件表达式 „ ENDIF 5循环语句WHILE,ENDW 格式:WIIILE条件表达式 „ ENDW 条件判别语句的使用参见宏程序编程举例。循环语句的使用参见宏程序编程举例。

二、宏程序编制举例 例1:G81宏程序 例2 椭圆编程程序:

a=50 b=30的一个椭圆;

弧度增量:0.1 宏程序:

%1 G54G90G17G21 M03S3000 G00X50Y0Z10 G01 Z-1 F300 #1=0 #2=50 #3=30 WHILE #1 LT 2*PI #4=#2*COS#1 #5=#3*SIN#1 G01 X[#4] Y[#5]

#1=#1+0.1 《数控铣加工技术》教案

ENDW G01 X__Y__Z100;

M30 % 例3抛物线编程: Y=0.1 *X*X %0206 G54M03S600T1D1 M03S6000 G41 X27.9 Y32 D1 #1=17.9 G01 X[#1+10] Y[0.1*#1*#1-8]

#1=#1-0.1 IF[#1GE-19.8] GOTO__ G40 G01 X__Y__ G00Z100 M30 % 例4切圆台与斜方台,各自加工3个循环,要求倾斜10°的斜方台与圆台相 切,圆台在方台之上,顶视图见图3.50。

%8002 #10=10.0;圆台阶高度

《数控铣加工技术》教案

#11=10.0;方台阶高度

#12=124.0;圆外定点的X坐标值 #13=124.0;圆外定点的Y坐标值 #101=8.0刀具半径偏置(粗加工)#102=6.5刀具半径偏置(半精加工)#103=6.0刀具半径偏置(精加工)N01 G92 X0.0 Y0.0 Z10.0 #0=0 N06 G00 X[?#12]Y[?#13];→A N07 G01 Z[?#10]M03 S600 F200;Z轴进刀,准备加工圆台 WHILE#0 LT 3;加工圆台

N[08+#0*6]G01 G42 X[?#12/2]Y[?90/2]F280.0 D[#0+101];→B N[09+#0*6]X[0]Y[?90/2];→C N[10+#0*6]G03 J[90/2];整圆加工

N[11+#0*6]G01 X[#12/2]Y[?90/2];→B’ N[12+#0*6]G40 X[#12]Y[?#13];→A’ N[13+#0*6]G00 X[-#12]Y[?#13];→A #0=#0+1;#0中数值加1 ENDW N100 Z[-#10-#11];Z轴进刀,准备加工斜方台

#2=90/SQRT[2]*COS[55*PI/180];P1点坐标(X=-#12,Y=-#13)#3=90/SQRT[2]*SIN[55*PI/180] #4=90*COS[10*PI/180];P1 P2间X增量为#4,Y增量为#5 #5=90*SIN[10*PI/180] #0=0 WHILE#0 LT 3;加工斜方台

N[101+#0*8]G01 G42 X[?#12/2]Y[?90/2]F280.0 D[#0+101];→B N[102+#0*8]X[?#2]Y[?#3];→P1 N[103+#0*8]G91 X[+#4]Y[+#5];→P2 N[104+#0*8]X[?#5]Y[+#4];→P3 N[105+#0*8]X[?#4]Y[?#5];→P4 N[106+#0*8]X[+#5]Y[?#4];→P1 N[107+#0*8]G90 X[#12/2]Y[?90/2];→B’ N[108+#0*8]G00 G40 X[?#12]Y[?#13];→A #0=#0+1 ENDW G00 X0 Y0 M05 M30 《数控铣加工技术》教案

例5要求沿直线方向钻一系列孔,直线的倾角由C65指令中的x,Y变量来决定,如图所示。

%100G54G21 M03 S1000 G90G00X1Y1Z20 G65P10 M05 M30 %10 #10=10 孔数10 #11=100 进给速度100 #12=50 长轴50 #13=25 短轴25 #14=-10 孔深10 G98G81X1Y1Z[#14]F[#11]R2 G91 WHILE[#10GT0] #10=#10-1 G81 X[#12]Y[#13]R0 ENDW M99 例6加工一椭圆,椭圆长轴为100 mm,短轴为50 mm。

宏程序在椭圆半球加工中的应用 篇6

关键词:宏程序;椭圆球面;参数方程;宏变量;R参数

中图分类号:TG519.1     文献标识码:A      文章编号:1006-8937(2016)26-0044-03

1  概 述

在数控加工中经常会遇到曲面或复杂轮廓的零件,特别是包含三维曲面的零件,采用一般手工编程困难很大,且容易出现错误,有的甚至无法编制程序。

用CAD/CAM软件建模编程一般工作量较大,程序体积庞大,加工参数不容易修改等缺点,只要有任何一个参数发生变化,软件只能根据变化以后的参数重新计算刀具轨迹,尽管软件计算刀具的计算速度非常快,但是整个过程始终是比较繁琐的。而采用宏程序,就能很好的解决这一问题。

宏程序就是使用了宏变量的程序。在一般的程序编制中,程序字中地址字符号为一个常量,一个程序只能描述一个几何形状,所以缺乏灵活性和适用性。

宏程序中的地址字符号则为一个变量 (也称宏变量 ),可以根据需要通过赋值语句加以改变,使程序具用通用性。配合循环语句、分支语句和子程序调用语句,可以用于编制各种复杂零件的加工程序。

2  宏程序的编制

编制宏程序时必须建立被加工零件的数学模型。也就是通过数学处理找出能够描述加工零件的数学公式数学处理一般有以下两个环节:

一是选择插补方式;

二是求出插补节点的坐标计算通式。

2.1  所谓插补方式

就是根据被加工零件的特点所做的拟合处理。般常用直线拟合和圆弧拟合两种。在相同加工精度要求下,直线拟合虽比圆弧拟合插补节点多、运算数据量大,但数学处理较为简单,因而较为常用

2.2  求出插补节点的坐标计算通式

就是根据曲面特点及所给条件,列出曲面上任意节点的坐标计算通式。根据选取不同形式的参变量方式,一般可分等间距法和等节距法两种形式。

2.2.1  等间距法

所谓等间距法就是在一个坐标轴上进行等增量,然后,根据曲线公式计算出另一个坐标轴的相应坐标值。这样,在实际编程时,将相邻的两节连成直线,用这一系列直线段组成的折线近似理论轮廓曲线。在X轴上进行等增量△X。

根据曲线公式 计算出一系列Z轴坐标值,得到在XOZ坐标平面的节点坐标。其特点是计算简单。坐标增量△X的大小决定着曲面的加工精度,越小加工精度越高,同时计算数据增多。

等间距法在实际加工中有一定的局限性例如,在加工球面等“坡度”变化较大的零件时。层高不均匀,造成加工质量不高。同样的△x,得到的Z值却有很大的变化。球面的上下部分残留高度不相等。加工此类零件时,比较理想的方法是采用等节距法

2.2.2  等节距法

所谓等节距法就是把被加工曲面在某一截面内的轮廓线。按固定的长度分割成若干个小线段,实现轮廓线的拟合。这种方法加工精度较高,但计算复杂。

为此,可经过适当转化,采用等角度法。每增加一个转角,通过曲线方程就能计算一个节点坐标。因为采用了等角度增量,所以曲面各加工部位保持加工精度一致。

本文实例中加工椭圆轮廓就是采用了等间距法,椭圆球在加工时Z方向高度采取了等间距法进行处理。

3  加工实例

加工实例示意图,如图1所示。

3.1  零件图纸及要求

加工如图所示的外椭圆球面,采用西门子840D系统编程,使用R5立铣刀加工

3.2  建立工件坐标系

椭圆长轴设为X轴 ,椭圆短轴设为Y轴。以椭圆球的球心点作为X轴、Y轴的0点,以椭圆半球的底面作为Z轴的0点。

3.3  零件的数学分析

椭圆球面是一个空间曲面,用YOZ坐标平面可截得一个半径为R40的圆,用平行于XOY坐标平面的平面可截得一系列同心椭圆,其长短轴对应成比例。利用这一特点,进行尺寸计算,确定各轴的宏变量计算公式

3.4  计算宏变量方程通式

XOY平面内椭圆的宏变量方程。

根据椭圆的参数方程:

x=a×cosα;

y=b×sinα这里:

Y为椭圆短半轴长度,设为参数R11;

X为椭圆长半轴长度,设为参数R12;

R1为XOY平面里,椭圆形进行直线拟合时的角度增量;

R2为YOZ平面里,Z轴的高度值;

设为参数R1=0。可得到XOY平面内椭圆的宏变量方程通式:

X=R11×COS(R1);

Y=R12×SIN(R1)

计算出一些列同心椭圆的长、短半轴。

在XOZ平面中,Z=R2利用椭圆的标准方程式X2/a2+Y2/b2=1计算出,Z=R2时的X值,即这个截面上椭圆长半轴的值R11。

椭圆的标准方程式:

X2/a2+Y2/b2=1

X2/602+R22/402=1

X2=(1-(R2×R2/1600))×3 600

X=SQRT((1-(R2×R2/1 600))×3 600

在YOZ平面中,Z=R2利用圆形的方程X2+Y2=半径2计算出,Z=R2时的Y值,即这个截面上椭圆短半轴的值R12。

X2+Y2=半径2

Y2=1 600-R2×R2

Y2=SQRT(1 600-(R2×R2))

3.5  编制宏程序

根据以上分析计算,编制宏程序如下所示(西门子840D系统):

N10 G0 G54 G90 G17 G64

N20 G0 Z300 T1 D1

N30 S1800 M03 F500

N40 G0 X90 Y0

N50 R1=0 R2=0 R11=60 R12=40

N60 AA: G0 Z=R2

N70 G3 G42 X60

N80 BB:G01 X=R11*COS(R1)Y=R12*SIN(R1)

N90 R1=R1+0.2

N100 IF R1<360 GOTO B  BB?

N110 G3 X90 Y0

N120 R2=R2+0.5

N130 R11=SQRT((1-(R2*R2/1600))*3600

N140 R12=SQRT(1600-(R2*R2))

N150 IF R2<40 BOTOB  AA

N160 G0 Z300

N170 M02 END

程序解读:

N10 建立坐标系,选择加工平面;

N20 快速定点,选择1号刀具及补偿;

N30 主轴正转,转速1800,进给量500;

N40 快速定位;

N50 R参数赋初始值;

N60刀具下降到起点Z值;

N70刀具半径补偿,沿正半圆工进,切入椭圆参数零点置;

N80用椭圆参数方程,刀具开始直线工进;

N90R值累加;

N100 R值条件跳转至BB(R1=360值时,刀具的轨迹闭环形成了一个椭圆);

N110 刀具沿正半圆工进,切出离开椭圆;

N120 R值累加;

N130 计算此时的椭圆长轴半径;

N140 计算此时的椭圆短轴半径;

N150 椭圆球高度条件,不满足时跳转至AA;

N160 抬起刀具;

N170 主轴停转,程序结束。

3.6  说  明

①程序中有两个循环,主程序段N60至Nl50为一个循环。 .主程序段N80至N90为另一个循环 前者用于加工一系列平行于 XOY平面的椭圆,后者用于确定各椭圆的大小及 Z轴位置。

②程序段N90和N120的角度增量程序中都为0.2度,在实际应用中可以根据加工精度和加工效率来取值。

③本程序只是最后一步加工,粗加工可以通过刀具不变,加大刀具半径值来达到留余量的目的,分层加工也可以用相同的方法来实现。

④其他系统也可以参照这种方法编写程序,但要根据系统说明书,改变宏变量符号及循环语句的写法

4  结  语

通过以上椭圆球宏程序编程的探讨,我们会发现只要掌握椭圆方程的数学建模和数控宏程序的知识,充分利用以上归纳出来的宏程序编程方法,就可以化难为易,轻松解决编程的难题。

同理,我们举一反三,类似地对其他非圆曲线进行宏程序编程,这样可以减少手工或者自动编程的繁冗,简化数控编程程序,缩短编程时间,提高编程与加工的效率,降低经济成本,必然将提高生产效益。

参考文献:

[1] 吕斌杰,蒋志强,高长银.SIEMENS系统数控铣床和加工中心培训教程   [M].北京:化学工业出版社,2013.

[2] 申晓龙.数控铣床零件编程与加工[M].北京:化学工业出版社,2012.

[3] 李体仁,王勇强.数控手工编程技术及实例详解-西门子系统[M].北京:

数控机床宏程序编程的应用 篇7

现代数控系统为用户提供了G01/G02/G03等基础编程指令和车削循环等复合循环指令, 但对于零件形状为椭圆、抛物线或二次曲线等非圆曲线或空间曲面时, 仍离不开宏程序编程的复杂计算和决策功能;各种自动编程软件正逐渐成为编制数控加工程序的主流, 但程序编制较长、存在逼近误差、计算繁琐、纠错难度大等问题时, 仍离不开宏程序编程的精简程序和便于纠错作用的辅助;随着CNC技术的不断发展, 各类数控机床的加工能力和生产效率已显著提高, 但在快速实施智能化制造并构建高柔性、高效率、高集中度的智能工厂时, 仍离不开宏程序编程对机床上刀具破损、刀具寿命管理、复合监视、工件判断、生产管理等机能的拓展。

1 参数化思路的宏程序编程

日常的数控加工编程多数采用基础性的顺序结构编程方法--普通程序编程, 程序执行过程遵照自上而下的顺序执行原则。遇有大量的外形相近零件或同一零件的类似加工部位时, 继续沿用普通程序编程, 不仅加工程序冗长, 不易修改, 还会占用过大存储空间。以某混凝土泵车的臂架为例, 每台泵车共有结构相近但尺寸不同的1号~4号等4支臂架 (图1) , 每支臂架有5组左右对称的孔 (第2号臂架仅有2组孔) 。所有各孔的加工过程为粗镗孔→精镗孔→孔内外端面划线→划线后铣面→钻孔;孔的加工程序在按逐件、逐孔、逐工步的顺序化加工方式编制为普通程序时, 程序段总数超过1000行, 并且每个工步的加工均需反复搜索程序段才可执行 (即搜索程序段→工步1→工步2→……→工步n→结束) , 繁琐且生产率较低。

若编程人员使用数控系统提供的参数 (变量) 、控制语句、运算符和表达式、赋值操作 (=) 及宏程序调用命令, 则冗长且不易修改的普通程序会大幅精简且易于修改, 还会实现流程控制, 做到最短的程序段表达有规律的相近的尺寸变化。如在上述混凝土泵车臂架示例中, 一是给定1个参数 (如SINUMERIK系统的R20) , R20=1表示加工右侧面, R20=-1表示加工左侧面;二是给定1个参数表示加工孔的序号, R21=1、2……5;三是给定1个参数表示加工方式, R22=1为粗镗削, R22=2为精镗削, R22=3为内外端面划线, R22=4为铣削内外端面, R22=5为钻孔加工;四是定义5个二维数组和1个参数, 分别表示各孔的空间位置与所加工的工件号……。完成臂架所有参数的定义并赋值后, 便可实现参数化的宏程序编程 (图2) 。

2 智慧化的宏程序编程

在中国制造2025目标指引下, 国内众多制造企业通过实施“互联网+”行动计划、机器换人式升级改造、3D打印技术普及应用、智能机床的研制应用以及智能机器人、物联网技术、设备监控技术等措施, 会不断涌现出许多具有产品制造智慧化、流程管控可视化、系统监控全面化特点的智能工厂, 如车辆轮轴智能工厂 (图3) 。

在未来的车辆轮轴 (用在铁路机车车辆与钢铁冶金车辆中, 具有承载和走行功能的已压装/组装了滚动轴承的轮对, 简称轮轴) 智能工厂中, 总控制中心可根据轮轴的市场订单情况给出生产决策, 自动调整产品的库存量;中心控制室分解出零部件制造/采购计划、坯料用量和刀辅具等供应详单, 根据分控制室反馈的设备运行状态、生产完成情况等自动做出决定;分控制室按照中心控制室要求对辖区内的人员状况、设备状态、物料供应与测量结果进行综合分析, 做出调整并回馈中心控制室;车间执行层按照计划要求合理有序地调度相应的自动线运行, 并在屏幕上给出每台设备的运行状况和实时数据, 根据现场情况随时调度巡检人员到问题现场解决问题, 根据设备故障信息指挥维修人员及时到故障机床等;自动线的智能机器人按照车间执行层的程序指令完成物料的搬运、零件的装配或产品的检测等任务, 数控机床会像人手一样, 抓着刀具或工件, 按给定轨迹控制刀具 (如车刀、钻头、铣刀、砂轮等) 或工件沿运动方向进给, 最终加工出符合要求的产品或实现应有的用途。

基于宏指令程序手工编程的应用研究 篇8

目前,数控程序的编制方法主要有两种,手工编程与自动编程。手工编程一般对于点位加工或几何形状不太复杂的零件来说,编程计算较简单,程序量不大。但对于形状复杂或轮廓不是由直线、圆弧组成非圆曲线零件则要采用宏指令编程。平面凸轮轮廓是非圆曲线,笔者基于宏指令对某一凸轮轮廓进行编程。

1 宏指令编程

在加工一些形状相似的系列零件或加工非直线、圆组成的曲线时,可以采用宏程序进行编程,减少编程工作量。

1.1 宏变量

1.2 运算符与表达式

1)算术运算符+-*/

2)条件运算符EQ NE GT GE LT LE

3)逻辑运算符AND OR XOR

4)函数SIN[ASIN]COS[ACOS]TAN[ATAN]ABS SQRT FIX FUP ROUND LN EXP

5)表达式:用运算符连接起来的常数宏变量构成表达式如:

赋值语句:把常数或表达式的值送给一个宏变量称为赋值;

格式:宏变量=常数或表达式,如:

1.3 条件判别语句IF GOTO THEN

1)无条件表达式GOTO n

2)IF[条件表达式]GOTO n

3)IF[条件表达式]THEN

1.4 循环语句WHILE DO[1-3]

格式:WIIILE[条件表达式]DO[1-3]

1.5 宏程序的调用G65 G66 G67

1)宏程序的非模态调用G65

2)宏程序的模态调用G66 G67

2 平面凸轮轮廓解析方程

已知偏置移动尖顶从动件盘形凸轮机构从动件的运动规律为:从动件导路偏于凸轮轴心右侧,偏距e=10 mm,凸轮基圆半径为rb=40 mm,从动件行程h=30 mm,δ0=150°,δs=30°,δh=120°,δs′=60°,从动件在推程以余弦加速度上升,在回程中等速运动规律下降。如图1所示。

升程中:

回程中:

式中δh=120°

凸轮轮廓曲线解析方程为:

s0=姨rb2-e2

3 应用宏程序进行手工编程[3]

在FANUC0i系统对该凸轮轮廓进行数控编程,以凸轮转角为自变量利用宏程序来进行编程。

#1=0凸轮转角采用直径为16 mm的立铣刀进行铣削外轮廓。

升程精加工程序如下:

回程精加工程序如下:

4 结语

手工编程采用宏指令程序编制,程序精炼,但方程较复杂时,容易出错。如采用Master CAM软件自动编程时,程序较多,但精确度高,并且可以模拟加工,在实际应用中,应该视具体环境选用编程方法。

摘要:简单介绍了FANUC系统宏指令编程的基本知识,在解析凸轮轮廓曲线原理的基础,采用宏指令程序对凸轮轮廓进行手工编程。

关键词:凸轮轮廓方程,宏程序,手工编程

参考文献

[1]FANUC公司.O系列操作编程说明书[Z].2010.

[2]孙宝钧.机械设计基础[M].北京:机械工业出版社,2008.

宏程序编程 篇9

通过宏程序编程和自动编程两种途径都能完成许多使用常规手工编程无法实现的零件特征加工。用户宏程序通过变量来实现用直线对一些不规则线条的拟合, 而自动编程则是凭借计算机的强大的运算能力计算出各个点, 用它们之间形成的直线实现对曲线的拟合。两者之间也有着很大区别。

一、各自的特点

1. 从便捷性

(1) 宏程序编程之前要经过仔细的加工工艺分析, 根据不同的零件和生产要求进行计算, 然后据此编制加工程序, 并且前提要求操作员比较熟悉宏程序的编程。

(2) 自动编程看似比较繁琐, 但其实生成NC程序的过程很接近于一个标准化的步骤, 在师傅的指导下很快就能掌握操作的方法。其前提是有参数化的或是自己制作的零件模型。

(3) 宏程序天生就短小精悍, 只要合理适当地应用宏程序, 一个常规零件的加工程序不会超过60行, 换算成字节, 至多会有2KB, 而常规的机床存储空间大体都在128~256KB之间, 一个机床里一般可以存储上百个宏程序。

(4) 宏程序结合了机床功能和数控指令系统的特点, 采用模块化的程序设计思想进行编程, 合理利用G41, G42刀具补偿指令, 当刀具磨损或者换刀以后只需要修改刀补就能达到一定的精度, 有些零件几何参数发生变化只需要修改宏程序中的变量赋值而不需要改变整个程序。自动编程中刀具磨损或者当零件的几何参数改变时, 都要重新建模, 重新设置加工参数, 重新生成数控程序才能达到加工要求

2. 从机床反应速度

为了对复杂的加工运动进行描述, 宏程序必然会最大限度地使用数控系统内部的各种指令代码, 例如直线插补G01指令、圆弧 (螺旋) 插补G02/G03指令等, 因此机床在执行宏程序时, 数控系统的计算机可以直接进行插补运算, 运算速度极快, 伺服电动机响应快, 机床反应迅速, 加工效率极高。

3. 从加工精度

自动编程产生的加工程序的精度受多方面因素的影响, 首先它受CAD/CAM软件建模时的计算精度, 不同软件之间CAD图档的转换精度的影响, 其次受自动编程软件在生成NC刀具轨迹时的计算精度影响

4. 从调试难度

(1) 宏程序的调试相当复杂, 往往会出现加工出的零件某个地方不对, 可是又不容易从程序上找出错误的地方。还有就是机床上的设置对宏程序的影响往往很不容易看出来, 导致加工的零件错误。这些问题对于接触宏程序不久而且缺乏指导的人来说可是是非常致命的。

(2) 自动编程软件的调试相对简单, 配合自带的加工仿真组件, 使用者可以清楚明了的看到零件的加工过程。不过软件偶尔也会出现实际加工路径与软件上模拟出的不一样的情况或是加工路径不合常理, 效率低下的情况。当遇到这种情况的话, 我们可以自己尝试解决, 比如更换加工顺序, 调整加工路径等方法, 不行的话也可以上网查找解决方法。

5. 从应用范围

(1) 随着技术的发展, 工业零件的复杂性和精度也越来越高, 已经有相当一部分零件的加工开始采用自动编程, 而且确实也有一部分零件用宏程序加工不了或是不易编出程序。

(2) 目前机床的发展日新月异, 采用高速切削技术以及拥有强大运算能力的机床也会越来越多, 这些机床配合自动编程软件将会一定程度上弥补自动编程的缺陷, 使各种复杂的加工在精度及速度上大幅提高, 从而满足客户越来越高的加工要求。

二、编程方式选择

数控程序的质量其判定标准可归纳为:

(1) 完备性:即不存在加工残留区域。

(2) 误差控制:包括插补误差控制、残余高度 (表面粗糙度) 控制等。

(3) 加工效率:即在保证加工精度的前提下加工程序的执行时间。

(4) 安全性:指程序对可能出现的让刀、漏刀、撞刀及过切等不良现象的防范措施和效果。

(5) 工艺性:包括进/退刀、刀具选择、加工工艺规划 (如加工流程及余量分配等) 、切削方式 (刀轨形式选择) 、接刀痕迹控制以及其他各种工艺参数 (进给速度、主轴转速、切削方向、切削深度等) 的设置等。

6. 如果要达到以上要求我们编程人员要做好掌握以下知识:

(1) 熟悉常用的钻、铣、镗、磨、刨床的结构、工艺特点; (2) 有较好的夹具基础。熟悉加工材料的性能。 (3) 扎实的刀具理论基础知识, 掌握刀具的常规切削用量等。特别要熟悉数控机床用的刀具系统。 (4) 了解被加工零件的装配要求、使用要求。

(2) 一些老师傅说过, 工艺是程序的灵魂, 程序是工艺的身体。实际加工中编程方式的选用在日常的加工中, 零件是变得越来越复杂, 很多的编程员或者操作者都懒于思考手工编程的应用, 特别是宏程序的应用, 更有一些操作者做什么零件都依靠软件来编程, 最后连用手工编辑几条直线, 圆弧也不会, 更别说用宏程序编辑加工了。但是手工编程是最基本工, 都是必须掌握的。不能落在一边, 要利用起来。俗话说:书读百遍不如手过一遍。我们在手工编程中能更好的充分展示这些加工的工艺特点, 为更好的使用自动编程奠定基础, 促进自动编程更加完善。

当我们遇到简单的零件时自然可以用手工编程来完成, 稍复杂的规则零件则完全可以用用户宏程序来实现。而遇到一些带曲面的规则零件, 我们完全可以利用自动编程的特征, 采用手工编程 (可以包含宏程序) +自动编程的方式来实现加工, 首先采用手工编程编出出包含整个程序 (不包括曲面部) , 然后采用自动编程加工那些复杂的曲面, 然后将自动编程产生的程序改作一个子程序, 最后在手工编制的程序中调用曲面加工子程序。对于形状复杂或轮廓不是由直线、圆弧组成非圆曲线零件;或者是空间曲面零件即使由简单几何元素组成, 但程序量很大, 因计算相当繁琐, 手工编程困难且容易出错, 必要的时候采用自动编程的方法。

摘要:数控床的加工主要是编程加工, 其程序的编制效率和质量在很大程度上决定了产品的加工精度和生产效率。尤其是随着数控加工不断朝高速、精密方向的发展, 提高数控编程的质量和效率对于提高制造企业的竞争力有着重要的意义。CAM软件自动编程和手工编程有着各自的特长, 我们要充分利用这两种编程模式, 在工作中和学习中提高效率, 提升我们的编程水平。

基于素线法零件宏程序编程探究 篇10

素线是一些回转体零件表面的特征线,反映了零件形状的最基本特点,在零件表面取点中得到广泛的应用。本文以具体零件为例,分析其形状特点,将素线并入刀具路径,运用宏程序编写数控加工程序,为有关特殊零件数控编程提供了有效的解决办法。

2 素线法分析

工程上常见的曲面立体是回转体。最常见的回转体有圆柱、圆锥等。例如圆锥曲面(回转面)是由母线(直线或曲线)绕与其相交某一轴线旋转而形成的。因此,圆锥这一类回转体有一重要特性,母线在旋转过程中的任一位置都可称为素线,根据这一性质,在圆锥回转面上作素线作为辅助线而取点的方法称为素线法。

例:以圆锥形体为例说明素线法

圆锥是由圆锥面和底圆平面围成。如图1所示,圆锥面可以看作是一条直母线绕与它相交的轴线回转而形成。在圆锥面上任一位置的素线,均交于锥顶。

如图2所示,已知圆锥表面上k的正面投影k′,试求它的其它两个投影k和k″,其作法如下:

素线法:由于过锥顶的圆锥面上的任何素线均为直线,故可过k及锥顶s作锥面的素线sl。即先过k′作s′l′,由l′求出l和l″,连接sl和s″l″,分别为辅助线sl的水平投影和侧面投影。则k的水平投影和侧面投影必在sl的同面投影上,从而即可求出k和k″。

3 素线法在零件宏程序编程中的应用

例1:在图3中,圆锥台上面的半径为#2,下面的半径为#3,键槽铣刀的半径为#6,圆锥台高度为#9,用素线法编写数控宏程序(圆锥台上底半径为12,下底半径为20,键槽铣刀半径为6,圆锥台高度为18)。编写的宏程序为:

O2001;程序名

N10 M06 T1;换上1号刀,准12mm键槽铣刀

N20 G54 G90 G00 G43 H01 Z150;刀具快速移动Z150处(在Z方向调入了刀具长度补偿)

N30 M03 S1000;主轴正转,转速1000r/min

N40 X18 Y0;刀具快速定位(下面#1=0时#4=#2+#6=18)

N50 Z2;Z轴下降

N60 M08;切削液开

N70 G0l Z0 F50;刀具移动到工件表面的平面

N80#1=0;定义变量的初值(角度初始值)

N90#2=12;定义变量(锥台上面的半径)

N100#3=20;定义变量(锥台下面的半径)

N110#6=6;定义变量(刀具半径)

N120#9=18;定义变量(圆锥台高)

N130 WHILE[#1LE360]DO1;循环语句,当#1≤360°时在N130~N220之间循环,加工圆锥台

N140#4=[#2+#6]*COS[#1];计算变量素线上面的点x坐标

N150#5=[#2+#6]*SIN[#1];计算变量素线上面的点y坐标

N160#7=[#3+#6]*COS[#1];计算变量素线下面的点x坐标

N170#8=[#3+#6]*SlN[#1];计算变量素线下面的点y坐标

N180 Gl X#4 Y#5 Z0 F200;铣削时,圆锥台上面的起始位置

N 190 X#7 Y#8 Z-#9;铣削时,圆锥台下面的终止位置

N200 G00 Z0;快速抬刀

N210#1=#1+1;更新角度(加工精度越高,则角度的增量值应取得越小,本例取1°)

N220 END1;循环语句结束

N230 G00 Z150 M09;加工结束后返回到Z150,切削液关

N240 G49 G90 Z0;取消长度补偿,Z轴快速移动到机床坐标Z0处

N250 M30;程序结束

4 素线法在零件宏程序编程中的推广应用

例2:用立铣刀加工上圆下方,在图4中,上圆的半径为#2、下方的半边长为#3,立铣刀的半径为#4。下方以外部分应先切除(即已加工出一个方台),编写的宏程序为:已知上圆的半径为R15、下方的半边长为20,立铣刀的半径为R8,台体的高度为16。

主程序

O2002;主程序名

N10 M06 T01;换上1号刀9(立铣刀)

N20 G54 G90 G00 G43 H0l Z150;刀具快速移动Z150处(在Z方向调入了刀具长度补偿)

N30 M03 S1000;主轴正转,转速1000r/min

N40 Z2 M08;Z轴下降,切削液开

N50 M98 p42003;调用02003子程序4次

N60 G0 Z150 M09加工结束后返回到Z150,切削液关

N70 G49 G90 Z0;取消长度补偿,Z轴快速移动到机床坐标Z0处

N80 M30;程序结束

子程序

O2003;子程序名

N10 G68 XO Y0 R90;增量绕原点旋转90°

;快速定位到起始点(#1=-45时刀具中心所处的位置)N90 WHILE[#1LE45]D01;循环语句,当#1≤45°时在N90~N180之间循环,加工锥台

N30 G0l Z0 F50;下降到Z0平面

N40#1=-45;定义变量的初值(角度初始值)

N50#2=15;定义变量(上面的半径)

N60#3=20;定义变量(下面的半边长)

N70#4=8;定义变量(刀具半径)

N80#9=16;定义变量(锥台高)

Nl00#5=[#2+#4]*COS[#1];计算变量

Nll0#6=[#2+#4]*SIN[#1];计算变量

N120#7=#3+#4;计算变量

N130#8=#3*TAN[#1];计算变量

N140 Gl X#5 Y#6 Z0 F300;铣削时,上面的起始位置

N150 X#7 Y#8 Z-#9;铣削时,下面的终止位置

N160 G00 Z0;快速抬刀

N170#l=#l+l;更新角度(加工精度越高,则角度的增量值应取得越小,本例取1°)

N180 END1;循环语句结束

N190 G0 Z2;切削结束后快速返回到Z2平面

N200 M99;子程序结束并返回到主程序

对于上方下圆、方锥台的宏程序编写可参考进行。

5 结语

素线法在数控加工宏程序编程领域具有独特的用途,尤其在具有回转面产品的加工中得到广泛的应用,在需要斜线(素线)加工各个场合都体现了其优势。

参考文献

[1]李云龙.数控加工实例精解[M].北京:机械工业出版社,2004.

[2]陈海舟.数控铣削加工宏程序及应用实例[M].北京:机械工业出版社,2006.

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:程序的性能与编程语言 下一篇:地质矿产施工中勘查与找矿技术的应用分析