1论文:数控机床宏程序编程的技巧和实例西北工业集团有限公司白锋刚2011年8月11日2前言随着工业技术的飞速发展,产品形状越来越复杂,精度要求越来越高,产品更新换代越来越快,传统的设备已不能适应新要求。现在我国的制造业中已广泛地应用了数控车床、数控铣床、加工中心机床、数控磨床等数控机床。这些先进设备的加工过程都需要由程序来控制,需要由拥有高技能的人来操作。要发挥数控机床的高精度、高效率和高柔性,就要求操作人员具有优秀的编程能力。常用的编程方法有手工编程和计算机编程。计算机编程的应用已非常广泛。与手工编程比较,在复杂曲面和型腔零件编程时效率高、质量好。因此,许多人认为手工编程已不再重要,特别是比较难的宏程序编程也不再需要。只须了解一些基本的编程规则就可以了。这样的想法并不能全面。因为,计算机编程也有许多不足:1、程序数据量大,传输费时。2、修改或调整刀具补偿需要重新后置输出。3、打刀或其他原因造成的断点时,很难及时复位。手工编程是基础能力,是数控机床操作编程人员必须掌握的一种编程方法。手工编程能力是计算机编程的基础,是刀具轨迹设计,轨迹修改,以及进行后置处理设计的依据。实践证明,手工编程能力强的人在计算机编程中才能速度快,程序质量高。在程序中使用变量,通过对变量进行赋值及处理使程序具有特殊功能,这种有变量的程序叫宏程序。宏程序是数控系统厂家面向客户提供的的二次开发工具,是数控机床编程的最高级手工方式。合理有效的利用这个工具将极大地提升机床的加工能力。3作为一名从事数控车床、数控铣床、加工中心机床操作编程二十多年的技师,在平时的工作中,常常用宏程序来解决生产中的难题,因此对宏程序的编程使用积累了一些经验。在传授指导徒弟和与同事探讨中,总结了许多学习编制宏程序应注意的要点。有关宏编程的基础知识在许多书籍中讲过,我们在这里主要通过实例从编制技巧、要点上和大家讨论。一、非圆曲面类的宏程序的编程技巧1、非圆曲面可以分为两类;(1)、方程曲面,是可以用方程描述其零件轮廓的曲面的。如抛物线、椭圆、双曲线、渐开线、摆线等。这种曲线可以用先求节点,再用线段或圆弧逼近的方式。以足够的轮廓精度加工出零件。选取的节点数目越多,轮廓的精度越高。然而节点的增多,用普通手工编程则计算量就会增加的非常大,数控程序也非常大,程序复杂也容易出错。不易调试。即使用计算机辅助编程,其数据传输量也非常大。而且调整尺寸补偿也很不方便。这时就显出宏程序的优势了,常常只须二、三十句就可以编好程序。而且理论上还可以根据机床系统的运算速度无限地缩小节点的间距,提高逼近精度。(2)、列表曲面,其轮廓外形由实验方法得来。如飞机机翼、汽车的外形由风洞实验得来。是用一系列空间离散点表示曲线或曲面。这些离散点没有严格一定的连接规律。而在加工中则要求曲线能平滑的通过各坐标点,并规定了加工精度。加工列表曲线的方法很多,可以采4用计算机辅助编程,利用离散点形成曲面模型,再生成加工轨迹和加工程序。对于一些老机床或无法传送数据的机床,我们也可以将轮廓曲线按曲率变化分成几段,每段分别求出插值方程。采用宏程序加密逼近曲线的方法。2、非圆曲面类的宏程序的编程的要点有:建立数学模型和循环体(1)、数学模型是产生刀具轨迹节点的一组运算赋值语句。它可以计算出曲面上每一点的坐标。它主要从描述其零件轮廓的曲面的方程转化而来。(2)、循环体是由一组或几组循环指令和对应的加法器组成。它的作用是将一组节点顺序连接成刀具轨迹,再依次加工成曲面。3、下面根据两个实例,按宏程序的编制过程将各步骤的要点和技巧进行详细说明。图1—1、椭圆曲面零件5实例1、如图1-1数控车加工一个椭圆面。椭圆的长轴60,短轴40.步骤1:根据加工轨迹确定椭圆曲线的起始点A和终点B坐标。这里的要点是分清编程坐标系和椭圆坐标系、A点在编程坐标系中的坐标为X=113.742、Z=27.252这里为适应数控车床的编程习惯x采用直径坐标,A点以椭圆的中心为原点的坐标为X=113.742Z=40—27.252B点的编程坐标是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坐标值。要注意,这两个坐标是以椭圆中心为原点的,要特别注意。也就是说,如果和这个零件一样,椭圆中心和你设定的编程坐标系原点不重合,进入数学模型和从数学模型输出的数值,都是以椭圆中心为原点的。刀具运动指令的坐标值是以编程坐标系为原点。因此,需要设计计算方法将数学模型的输出数据转化成编程坐标系的数值。许多多年从事数控机床操作的人一直不能用宏程6序,就是在这里犯了糊涂。步骤4:画流程图确定宏程序的过程图1-2流程图是建立和检查循环体的最好工具。这一步的关键点是:分清计算过程、运动指令、加法器的排列顺序;循环体中条件转移语句和加法器的配合,产生正确的循环控制,而不是死循环。;赋初始值(注意是椭圆坐标系);循环体开始,判断是否结束。;计算、运动指令;加法器,改变动参数图1—2步骤5:根据流程图编写程序程序如下O1001应注意的要点有:(1)、当采用刀尖圆弧补偿方式编程时,循环体的轨迹第一点不能和起始点重合,否则系统会显示出错。(2)要注意循环体内计算语句、运动语句和加法器语句的顺序不能错。7该零件如图右端内部椭圆面的数控车精车程序如下: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]DO1;循环体开始,X轴坐标逐渐减小#1=#1/2;将直径值转化成半径值#2=SQRT[[1-#1*#1/[60*60]]*40*40];#2=#2-40Z值从椭圆坐标系转变到编程坐标系#1=#1*2将半径值转化成直径值G01X#1Z#2F0.08;运动指令#1=#1-0.1;递减加法器END1;循环体结束G01X37.907Z-2.048;G01X35.0;G00Z200.0;G00X260.0M09;M30;8图1--3实例2、在加工中心上加工抛物线球面。比较加工中心或数控铣床上铣削曲面和数控车床车削曲面,有许多差别:(1)、加工方式不同。(2)、车削曲面需要计算沿一条轮廓素线的若干个节点;铣削曲面需要计算整个曲面上若干个轮廓素线的若干节点。计算量大,宏程序非常复杂。编制铣削曲面宏程序确实非常难,然而只要我们抓住几个关键要点,做好流程图和数学模型,勤于实践,也是一定能够掌握这个技能的。下面把编制铣削曲面宏程序的过程分成几步:步骤1、分析曲面的构成特点确定加工路线如图1-3、这个曲面是由一条抛物线以与它共面水平直线为轴线旋转切成的。加工轨迹可以有两种,一种是水平层切、一种是垂直层切。我们用垂直层切的方式。其轨迹如图1-4,每个层切面上的刀具轨迹都是一个YZ平面的圆弧。9图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,O1002O1002;G0X0Y0M8;G54G18G90G40;G43G0Z100H1M3S3000T1M6;Z5;10#1=0;WHILE[#1GT-20]DO1#2=SQRT[36*[#1-20]];G1X#2F500;G41G1Y#1D1G1Z0G2Y-#1J-#1G40G1Y0;#1=#1-0.1END1;#1=-20WHILE[#1LT0]DO2#2=-SQRT[36*[#1-20]]G01X#2F500G41G1Y#1D1G2Y-#1J-#1G40G1Y0#1=#1+0.1图1—5END2;G00Z200M9M3011二、用宏程序开发对零件自动找正功能图2---11、开发过程某零件如图2-1。工艺安排卧式加工中心上一次装夹将四个Φ8孔加工完成,保证其位置精度。但是工件在夹具中定位后,B向旋转无法用夹具精确定位。当时的方法是:①每个零件装夹后单独用百分表找平。或者用自动测量触头取值,手工计算偏转角。②修改程序中新的B向坐标基准值。整个过程用时较长须用时长,对操作工的技能要求也较高。这种零件数量多,工期紧,要想办法节约时间。我就想利用宏程序计算功能和机床具备的自动测量触头功能可以实现自动找正。2、自动找正零件功能的工作原理(1)、零件夹具中设计一个粗定位圆柱销,使零件粗定位,保证测量精度和测量工具的安全。.(2)、选择零件基准面上较远的两个点采值,如图a、b两点。分别放入#1和#2参数在。(3)、计算差值及偏转角。(4)、输入编程坐标系G54的B轴。12另一台四轴加工中心没有自动测量功能,我们用采用百分表触测零件基准面,目测记录差值,手工输入参数表中。宏程序自动计算并找正。速度和准确率提高了很多,保证了生产任务按时完成。3、编制宏程序自动找正功能的开发并不复杂,使用的是宏程序对内部系统变量读取和赋值功能。程序如下:O2001T3M6;G54G90G0X40Y300B0;G43G0Z200H3;G0Y15Z60;运动到预备测量a位置G31G91Z-52F500;执行G31测量a点坐标存入#5000G90G0Y100Z200;#1=#5000;#5000系统参数记录a点的坐标值,赋给#1G0X-40;G0Y15Z60;G31G91Z-52F500;执行G31测量b点G0G90Y200Z200;#2=#5000;#3=ATAN[[#1-#2]/80];计算偏转角#5204=#5204-#3;给过G54中B轴赋新值G54G0B0;执行G54,B轴归零13M99;三、宏程序开发加工中心工作台任意旋转后,坐标系自动转换的功能1、五轴加工中心工作台旋转对坐标系的影响五轴加工中心工作台可以在一个或两个方向旋转,可以加工工件的多个表面。当工件安装在工作台任一位置处上,我们找正工件基准,确定工件坐标系。当需要加工另一个表面时,工作台需要旋转一个角度,这时工件上的基准原点与工件坐标系分离。需要再次找正工件基准重新建立坐标系。如图3-1如果工件有五个表面,那么就需要建立五个坐标系。这样的方法费时费力,对于加工形状较简单的单个工件还可以接受。图中C点、D点这样的基准点就不容易找正。型腔是空间斜角相交的零件用基准多次找正来保证空间位置精度就完全不可能了。图3--1我们可以用计算的方式,以工作台的回转中心为基准,计算出每次旋转工作台,工件基准相对于工作台回转中心的偏移量。用基准转移的方式建立新的工件坐标系。把这个过程用宏程序来实现,使坐标自动转换,方便准确。142、工作台旋转后坐标系转换的数学模型图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)-[(L