数控编程非圆曲线数学的处理过程_第1页
数控编程非圆曲线数学的处理过程_第2页
数控编程非圆曲线数学的处理过程_第3页
数控编程非圆曲线数学的处理过程_第4页
数控编程非圆曲线数学的处理过程_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数控编程 非圆曲线数学处理的基本过程 数控系统一般只能作直线插补和圆弧插补的切削运动。如果工件轮廓是非圆曲线,数控系统就无法直接实现插补,而需要通过一定的数学处理。数学处理的方法是,用直线段或圆弧段去逼近非圆曲线,逼近线段与被加工曲线交点称为节点。 字串4 例如,对图1.42所示的曲线用直线逼近时,其交点A、B、C、D、E、F等即为节点。 字串2 字串4图1.42零件轮廓的节点 字串1 在编程时,首先要计算出节点的坐标,节点的计算一般都比较复杂,靠手工计算已很难胜任,必须借助计算机辅助处理。求得各节点后,就可按相邻两节点间的直线来编写加工程序。 字串7这种通过求得节点,再编写程序的方法,使得节点数目决定了程序段的数目。如图1.42中有6个节点,即用五段直线逼近了曲线,因而就有五个直线插补程序段。节点数目越多,由直线逼近曲线产生的误差越小,程序的长度则越长。可见,节点数目的多少,决定了加工的精度和程序的长度。因此,正确确定节点数目是个关键问题,也请参考本教程CAD/CAM部分数控加工误差的组成 字串1 字串3 字串2 字串4 字串4 字串2图1. 43逼近误差 字串7数控加工误差数加是由编程误差编、机床误差机、定位误差定、对刀误差刀等误差综合形成。 字串6 即:数加=f(编+机+定+刀) 字串4其中: 字串7 (1)编程误差编由逼近误差、圆整误差组成。逼近误差是在用直线段或圆弧段去逼近非圆曲线的过程中产生,如图1.43所示。圆整误差是在数据处理时,将坐标值四舍五入圆整成整数脉冲当量值而产生的误差。脉冲当量是指每个单位脉冲对应坐标轴的位移量。普通精度级的数控机床,一般脉冲当量值为0.01mm;较精密数控机床的脉冲当量值为0.005mm或0.001mm等。 字串9(2)机床误差机由数控系统误差、进给系统误差等原因产生。 字串4 (3)定位误差定是当工件在夹具上定位、夹具在机床上定位时产生的。 字串9 (4)对刀误差刀是在确定刀具与工件的相对位置时产生。数控程序编制中的数值计算 根据零件图样,按照已确定的加工路线和允许的编程误差,计算数控系统所需输入的数据,称为数控加工的数值计算。手工编程时,在完成工艺分析和确定加工路线以后,数值计算就成为程序编制中一个关键性的环节。除了点位加工这种简单的情况外,般需经繁琐、复杂的数值计算。为了提高工效,降低出错率,有效的途径是计算机辅助完成坐标数据的计算,或直接采用自动编程。 字串3 一个零件的轮廓往往是由许多不同的几何元素所组成,如直线、圆弧、二次曲线以及阿基米德螺线等。各几何元素间的联结点称为基点。如两直线间的交点,直线与圆弧或圆弧与圆弧间的交点或切点,圆弧与二次曲线的交点或切点等。显然,相邻基点间只能是一个几何元素。对于由直线与直线或直线与圆弧构成的平面轮廓零件,由于目前一般机床数控系统都具有直线、圆弧插补功能,故数值计算比较简单。此时,主要应计算出基点坐标与圆弧的圆心点坐标。将组成零件轮廓的曲线,按数控系统插补功能的要求,在满足允许的编程误差的条件下进行分割,即用若干直线段或圆弧段来逼近给定的曲线,逼近线段的交点或切点称为节点。 字串3对刀时是通过一定的测量手段使刀位点与对刀点重合,数控系统从对刀点开始控制刀位点运动,并由刀具的切削刃部分加工出要求的零件轮廓。用直线逼近零件轮廓曲线的节点计算 非圆曲线节点坐标的计算非圆曲线节点坐标的计算,用直线逼近零件轮廓曲线的节点计算 字串3常用的计算方法有:等间距法、等弦长法、等误差法和比较迭代法等。 字串3 等间距法就是将某一坐标轴划分成相等的间距。如图2-12(a)所示,沿X轴方向取X为等间距长,根据已知曲线的方程y=f(x),可由xi 求得yi,xi+1=xi+ x,yi+1=f(xi+)。如此求得的一系列点就是节点。将相邻节点联成直线,用这些直线段组成的折线代替原来的轮廓曲线。坐标增量X取得愈小则插愈小,这使得节点增多,程序段也增多,编程费用高,但等间距法计算较简单。 字串5 字串5 a) b) 字串8 图2-12 等间距法和等弦长法 字串7 a)等间距法 b)等弦长法 字串5等弦长法就是使所有逼近直线段长度相等,如图-12(b)所示。由于零件轮廓曲线y=f(x)的曲率各处不等,因此首先应求出该曲线的最小曲率半径Rmin,由Rmin及允确定允许的步长l,然后从曲线起点a开始,按等步长l依次截取曲线,得b、c、d、点,则ab=bc= =l即为所求各直线段。 字串1总的看来,此种方法比等间距法的程序段数少一些。但当曲线曲率半径变化较大时,所求节点数将增多,所以,此法适用于曲率变化不大的情况。 字串5 等误差法是使逼近线段的误差相等,且等于允,所以此法较上两种方法合理,特别适合曲率变化较大的复杂曲线轮廓。如图2-13所示。下面介绍用等误差法计算节点坐标的方法。设零件轮廓曲线的数学方程为Y=f(X)。 字串6 字串4 图2-13 等误差法 字串1 (1)以起点a(Xa,Ya)为圆心,以 为半径作圆。其圆方程为 字串4 (2-1) 字串4式中Xa、Ya为已知的a点坐标值。 字串1(2)作允圆与曲线Y=f(X)的公切线MN,则可求公切线MN的斜率K 字串9 字串7 字串6 为求YN,YM,XN,XM,需解下面的方程组: 字串1 字串8 字串7 字串1 字串9 式中的允差圆即允圆,Y=F(X)表示允圆的方程,见(2-1)式。 字串7 (3)过a点作斜率为K的直线,则得到直线插补段ab,其方程式为 字串7 YYa =K(XXa) 字串3(4)求直线插补节点b的坐标。 字串6联立方程组: 字串8 字串1 字串3 求的交点b(Xb, Yb)的坐标值,便是第一个直线插补节点。 字串5 (5)按以上步骤顺次求得c,d、 各节点坐标。 字串6 用等误差法,虽然计算较复杂,但可在保证允的条件下,得到最少的程序段数目。此种方法的不足之处是直线插补段的联结处不光滑,使用圆弧插补段逼近,可以避免这一缺点。用圆弧逼近零件轮廓曲线的节点计算 非圆曲线节点坐标的计算用圆弧逼近零件轮廓曲线的节点计算 字串6 用圆弧逼近非圆曲线,目前常用的算法有曲率圆法、三点圆法和相切圆法等。 字串2 (1)曲率圆法圆弧逼近的节点计算 字串11)基本原理 曲率圆法是用彼此相交的圆弧逼近非圆曲线。 字串4已知轮廓曲线Y=f(X)如图2-14所示,从曲线的起点开始,作与曲线内切的曲率圆,求出曲率圆的中心。以曲率圆中心为圆心,以曲率圆半径加(减)允为半径,所作的圆 (偏差圆)与曲线Y=f(X)的交点为下一个节点,并重新计算曲率圆中心,使曲率圆通过相邻的两节点。 字串3字串6图2-14 曲率圆法圆弧段逼近 字串8重复以上计算即可求出所有节点坐标及圆弧的圆心坐标。 字串2 2)计算步骤 字串3 以曲线起点(xn,yn)开始作曲率圆: 字串6 字串6 圆心 字串5 字串2半径 字串3 字串8 偏差圆方程与曲线方程联立求解: 字串3 字串5 字串5 字串4得交点(xn+1,yn+1) 字串2 求过(xn,yn)和(xn+1,yn+1)两点,半径为Rn的圆的圆心: 字串5 字串9 字串6 字串1 得交点(m,m),该圆即为逼近圆。 字串6(2)三点圆法圆弧逼近的节点计算 字串2字串9图2-15 三点圆弧段逼近 字串3三点圆法是在等误差直线段逼近求出各节点的基础上,通过连续三点作圆弧,并求出圆心点的坐标或圆的半径。如图2-15所示,首先从曲线起点开始,通过P1、P2、P3三点作圆。圆方程的一般表达形式为 字串8 x2y2DxEyF=0 字串5 字串7其圆心坐标 字串4 字串7 字串6 半径 字串2 字串8 字串7通过已知点P1(x1,y1)、P2(x2,y2),P3(x3,y3)的圆,其 字串2 字串1 字串3 字串8 字串9 为了减少圆弧段的数目,应使圆弧段逼近误差=允,为此应作进一步的计算。设已求出连续三个节点P1、P2、P3处曲线的曲率半径分别为RP1、RP2、RP3,通过P1、P2、P3三点的圆的半径为R,取 字串4 字串4 ,按 算出值, 字串9 字串2按值进行一次等误差直线段逼近,重新求得P1、P2、P3三点,用此三点作一圆弧,该圆弧即为满足=允条件的圆弧。 字串8(3)相切圆法圆弧逼近的节点计算 字串11)基本原理 如图2-16 所示粗线表示工件廓形曲线,在曲线的一个计算单元上任选四个点A、B、C、D,其中A点为给定的起点。AD段(一个计算单元)曲线用两相切圆弧M和N逼近。具体来说,点A和B的法线交于M,点C和D的法线交于N,以点M和N为圆心,以MA和ND为半径作两圆弧,则M和N圆弧相切于MN的延长线上G点。 字串1曲线与M、N圆的最大误差分别发生在B、C两点,应满足的条件是: 字串8字串7图2-16 用相切圆弧逼近轮廓线 字串5 两圆相切G点 (2-2) 字串9 满足允要求 (2-3) 字串42)计算方法: 字串2 求圆心坐标的公式。点A和B处曲线的法线方程式为 字串2(xxA)kA(yyA)=0 字串8(xxB)kB(yyB)=0 字串1 式中kA和kB为曲线在点A和B处的斜率,k=dy/dx。 字串5 解上两式得两法线交点M(圆心)的坐标为: 字串5 字串8 (2-4) 字串9 字串7 字串9同理可通过C、D两点的法线方程求出N(圆心)点坐标为: 字串4 (2-5) 字串6 字串9 字串5 求B、C、D三点坐标。根据(2-2)和(2-3)式,得 字串1 (2-6) 字串5 字串2 字串4(2-7) 字串7 字串1 字串7 式中的A、B、C、D的y坐标值分别由以下公式求出 字串9 yA=f(xA),yB=f(xB) 字串3 yC=f(xA),yD=f(xD) 字串8再代入(2-6)和(2-7)式,用迭代法可求出B、C、D坐标值。 字串6求圆心M、N坐标值和RM、RN值。 将B、C、D坐标值代入(2-4)和(2-5)式即求出圆心M和N的坐标值,并由此求出RM和RN值。 字串2 应该指出的是,在曲线有拐点和凸点时,应将拐点和凸点作为一个计算单元(每一计算单元为四个点)的分割点FUNAC用户宏程序简介 用 户 宏 程 序 字串8能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来它们,使用时只需给出这个总指令就能执行其功能。 字串6l 所存入的这一系列指令用户宏程序 字串7 l 调用宏程序的指令宏指令 字串8l 特点:使用变量 字串6 一 变量的表示和使用 字串8 (一) 变量表示 字串1 I(I=1,2,3,)或式子 字串4 例:5,109,501,1212 字串1(二) 变量的使用 字串3 1 地址字后面指定变量号或公式 字串1 格式:地址字I 字串1地址字I 字串5地址字式子 字串1 例:F103,设10315则为F15 字串3Z110,设110250则为Z250 字串5X2418COS1 字串5 2 变量号可用变量代替 字串2例:30,设303则为3 字串23 变量不能使用地址O,N,I 字串7 例:下述方法下允许 字串5 O1; 字串5 I26.00100.0; 字串3N3Z200.0; 字串94 变量号所对应的变量,对每个地址来说,都有具体数值范围 字串5 例:301100时,则M30是不允许的 字串75 0为空变量,没有定义变量值的变量也是空变量 字串86 变量值定义: 字串3 程序定义时可省略小数点,例:123149 字串4 MDI键盘输一 变量的种类 字串71. 局部变量133 字串7 一个在宏程序中局部使用的变量 字串1例:A宏程序B宏程序 字串1 字串6 1020X10不表示X20 字串9 字串7 断电后清空,调用宏程序时代入变量值 字串52. 公共变量100149,500531 字串7各用户宏程序内公用的变量 字串5例:上例中10改用100时,B宏程序中的 字串5 X100表示X20 字串4100149断电后清空 字串5500531保持型变量(断电后不丢失) 字串7 3. 系统变量 字串6固定用途的变量,其值取决于系统的状态 字串1例:2001值为1号刀补X轴补偿值 字串75221值为X轴G54工件原点偏置值 字串6 入时必须输入小数点,小数点省略时单位为m 字串6 字串1 一 运算指令 字串9运算式的右边可以是常数、变量、函数、式子 字串9 式中j,k也可为常量 字串8 式子右边为变量号、运算式 字串51 定义 字串6Ij 字串8 2 算术运算 字串9 I=j+k 字串7 I=jk 字串5 I=jk 字串8 I=jk 字串63 逻辑运算 字串1IJOKk 字串1IJXOKk 字串1 IJANDk 字串7 4 函数 字串9 ISINj 正弦 字串3ICOSj 余弦 字串5 ITANj 正切 字串7IATANj 反正切 字串8 ISQRTj平方根 字串5IABSj绝对值 字串3 IROUNDj四舍五入化整 字串7IFIXj下取整 字串1IFUPj上取整 字串1 IBINjBCDBIN(二进制) 字串3IBCNjBINBCD 字串71 说明 字串11) 角度单位为度 字串1 例:90度30分为905度 字串4 2) ATAN函数后的两个边长要用“1”隔开 字串1例:1ATAN11时,1为了350 字串23) ROUND用于语句中的地址,按各地址的最小设定单位进行四舍五入 字串4 例:设112345,223456,设定单位1m 字串5 G91X1;X1235 字串1 X2F300;X2346 字串4 X12;X3580 字串3未返回原处,应改为 字串1 XROUND1ROUND2; 字串9 4) 取整后的绝对值比原值大为上取整,反之为下取整 字串7例:设112,212时 字串1 若3FUP#1时,则320 字串1 若3FIX#1时,则310 字串9 若3FUP#2时,则320 字串2若3FIX#2时,则310 字串45) 指令函数时,可只写开头2个字母 字串4 例:ROUNDRO 字串5FIXFI 字串5 6) 优先级 字串6 函数乘除(,1,AND)加减(,OR,XOR) 字串1例:123SIN4; 字串7 7) 括号为中括号,最多5重,园括号用于注释语句 字串5例:1SIN#2+#3*#4+#5*#6;(3重) 字串4 一 转移与循环指令 字串5 1无条件的转移 字串2 格式:GOTO1; 字串5 GOTO10; 字串42条件转移 字串8 格式:IF条件式GOTOn 字串1 条件式: 字串8jEQk 表示 字串8jNEk 表示 字串3 jGTk 表示 字串5 jLTk 表示 字串2jGEk 表示 字串9 jLEk 表示 字串6例:IF1GT10GOTO100; 字串5 字串5 N100G00691X10; 字串9例:求1到10之和 字串6O9500; 字串810 字串1 21 字串9N1IF2GT10GOTO2 字串5 112; 字串1221; 字串3GOTO1 字串6N2M301循环 字串8 格式:WHILE条件式DOm;(m1,2,3) 字串8 字串6 字串5 字串8 ENDm 字串7说明:1条件满足时,执行DOm到ENDm,则从DOm的程序段 字串7 不满足时,执行DOm到ENDm的程序段 字串2 2省略WHILE语句只有DOmENDm,则从DOm到ENDm之间形成死循环 字串4 3嵌套 字串64EQNE时,空和“0”不同 字串2其他条件下,空和“0”相同 字串9例:求1到10之和 字串6 O0001; 字串8 10; 字串1 21; 字串9WHILE2LE10DO1; 字串1 112; 字串6 221; 字串9 END1; 字串8M30;使用FANUC宏程序编制单轴磨削循环及补偿功能 单轴外圆数控磨床,径向采用数控轴(X轴)控制,轴向仍用液压油缸驱动,因此无法使用两轴磨床数控系统提供的磨削循环功能。在实践中,可以使用FANUC系统提供的用户宏程序,编制单轴的磨削循环功能。根据机床的具体结构,又编制了砂轮手动修整、自动补偿及手动测量工件、自动补偿的控制功能。在青海重型机床厂生产 字串1的CA8311B轴颈车磨床上,经过一年多的生产使用,证明是实用的。下面分别介绍软件的内容。 字串81功能介绍 字串9 1.1外圆磨削循环 字串7由于只有径向控制轴(X轴),无法实现连续进给磨削,只能实现两端进给的轴向磨削循环。因此在左右两端各设1个轴向行程识别开关(如图1所示)。 字串3当砂轮移到工件的左端时,左端行程开关闭合,发出到位信号,程序中用接口输入变量#1005=1表示。控制系统接到该信号后,发出X轴进给移动指令,砂LL轮前进一个A值;同理,当系统接到右端行程开关发出的到位信号,程序中用接口输入变量#1006=1表示,砂轮前进一个B值。依次循环,直到到达指令的位置。 字串5 实现给定磨削量的磨削加工,可以按A、B两值相加为一个循环,将被磨除量均分。砂轮快速移至R点,经n次(A+B)磨削之后,其剩余量为h。若砂轮在工件左端,且hA时,按h进给,否则按A值进给。若在工件右端,且hB值时,按h进给,否则按B值进给。软件必须保证只在工件两端进给,中间不得进给。当磨除量变为零时,必须磨到另一端才能退砂轮。整个磨削过程分粗磨、精磨和光磨。在实际使用中,在R点设置一个暂停,操作者可以插入手动磨削,以利于修活使用,也可以再转为自动磨削。磨削初值用现在位置变量#5041取值。 字串4 字串51.2测量值的自动补偿 字串4 在粗磨结束后,精磨开始前插入手动测量,操作者将测量结果输入到系统中,系统根据指令值与实测值之差,对磨削量进行补偿。 字串7 是否需要测量,由面板上的开关设置,此开关状态用接口输入信号#1007输入系统。当开关接通,即信号为“1”时进行测量。当开关断开,即信号为“0”时,则不进行测量,直接进行精磨加工。当实测值与指令值相同时,可以不输入实测值,此时,系统不修正磨削量,仍按原磨削量进行磨削。如需测量,在测量之前安排光磨加工,以求与完成零件磨削的状态相同。 字串71.3砂轮修整量的自动补偿 字串7根据机床采用普通金刚笔修整砂轮、手动进给、手动换向修整这样的操作,软件自动计算修整量,并修正工件坐标原点设定值。砂轮修整之后,不需对刀,即可进行磨削加工。 字串9在面板上设置砂轮修整开关,此开关状态用接口输入信号#1004输入系统。当修整开关合上,即信号为“1”时,执行砂轮修整服务程序。当开关断开,即信号为“0”时,系统执行磨削加工。 字串92软件框图 字串5 按主程序、子程序结构编制软件。 字串6(1)主程序(O0001)见图2。 字串3 (2)砂轮修整子程序(O0020)见图3。 字串3 (3)磨削子程序(O0010)见图4。 字串2 (4)测量子程序(O0030)见图5。 字串1 字串5 3菜单编程 字串7将磨削所需数据用系统断电不清除的宏变量表示。编程时,操作者只需把所需数据输入,不需要修改程序。零件变化时,只需改变相关尺寸数据。 字串3 具体设置如下: 字串8#500粗磨开始点 字串1#501粗磨结束点,即精磨开始点 字串1 #502精磨结束点,即光磨开始点,亦即零件尺寸 字串3 #503粗磨左进刀量,即第一次切深 字串2 #504粗磨右进刀量,即第二次切深 字串9#505粗磨进刀进给速度 字串1#506精磨左进刀量 字串1 #507精磨右进刀量 字串8#508精磨进刀进给速度 字串1#509光磨次数 字串8#510工件坐标原点设定值 字串6 #511金刚笔尺寸 字串4 #514测量点设定值(系统自动设置) 字串2#515测量点实测值(先由系统自动设置为设定值,再由操作者修改) 字串1 4程序 字串8(1)主程序 字串2O0001; 字串6 G98; 字串8 IF#1004EQ 0G0T0 10;(修砂轮开关,1:修砂轮,0:磨工件) 字串1 M98P0020;(修砂轮) 字串9 N10 M98P0010;(磨工件) 字串5N20 M30; 字串5(2)磨削子程序 字串9O0010; 字串1 G50 X#510;(设置工件坐标原点) 字串8G00 X#500+1.0;(分段趋近工件) 字串9 G01 X#500+0.6F500; 字串6X#500 F #505; 字串9N30 M00;(手动磨削,手动_自动磨削,自动磨削) 字串1#9=#509; 字串7#20=#5041;(砂轮现在位置) 字串8 N50 IF#20 EQ #501G0T0 110;(粗磨结束) 字串3 N60 IF#1006 EQ 0G0T0 60; 字串9 N70 IF#1005 EQ 0G0T0 70;(粗磨加工,左端进给) 字串8 IF#20 EQ #501G0T0 110;(粗磨左端结束) 字串3 #20=#20-#503; 字串4IF#20 GE #501G0T0 80; 字串1 #20=#501; 字串3N80 G01 X#20 F#505; 字串3N90 IF#1006 EQ 0G0T0 90;(右端进给) 字串3IF#20 EQ #501G0T0 110; 字串1 #20=#20-#504; 字串9IF#20 GE #501G0T0 100; 字串2 #20=#501; 字串7 N100 G01 X#20 F#505; 字串8 G0T0 70; 字串4N110 IF#1007 EQ 0G0T0 120;(测量开关,1:测量,0:磨工件) 字串9M98 P0030;(测量子程序) 字串3 N120 IF#1006 EQ 0G0T0 170;(精磨加工) 字串4N130 IF#1005 EQ 0G0T0 130;(左端进给) 字串4 IF#20 EQ #502G0T0 180;(精磨结束) 字串4#20=#20-#506; 字串5IF#20 GE #502G0T0 140; 字串4#20=#502 字串4N140 G01 X#20 F#508; 字串7 N160 IF#1006 EQ 0G0T0 160;(右端进给) 字串9IF#20 EQ #502G0T0 190;(精磨结束) 字串6 #20=#20-#507; 字串2 IF#20 GE #502G0T0 170; 字串9 #20=#502;ZK) 字串5 N170 G01 X#20 F#508; 字串1G0T0 130; 字串8 N180 IF#1005 EQ 0G0T0 180;(光磨) 字串5 IF#9 EQ 0G0T0 200; 字串8 #9=#9-1; 字串7 N190 IF#1006 EQ 0G0T0 190; 字串5 IF#9 EQ 0G0T0 200; 字串7 #9=#9-1; 字串9G0T0 180; 字串4N200 G28 U1.0; 字串5 N300 M99; 字串2(3)砂轮修整子程序 字串3 O0020; 字串8G50 X#510; 字串1G00 X#511 +1.0;(砂轮分段趋近金刚笔) 字串7 G01 X#511 +0.6F500; 字串2 X#511 F#508; 字串8 N400 M00;(手动修整砂轮) 字串8#21=#5041 字串4N450 IF#1004 EQ 1G0T0 450; 字串8 #22=#511-#21;(计算修整量) 字串8 #510=#510+#22;(修正工件坐标原点设定值) 字串3 G28 U1.0; 字串3M99 P20;(返回主程序,结束) 字串6(4)测量子程序 字串6 O0030; 字串3#19=#509;(设置光磨走刀次数) 字串3 IF#1006 EQ 1G0T0 510; 字串8 N500 IF#1005 EQ 0G0T0 500;(测量前光磨) 字串2IF#19 EQ 0G0T0 520; 字串7 #19=#19-1; 字串7N510 IF#1006 EQ 0G0T0 510; 字串3 IF#19 EQ 0G0T0 520; 字串1#19=#19-1;G0T0 500; 字串6 N520 #514=#501;(测点设定值) 字串5#515=#514;(预先赋值) 字串3G28 U1.0; 字串3 N530 M00;(手动测量,实测值输入#515) 字串6 N540 IF#1007 EQ 1G0T0 540; 字串9 G00 X#514 +1.0; 字串1G01 X#514 +0.6F500; 字串1X#514 F#508; 字串2 IF#515 EQ #514G0T0 580;(不修正精磨量) 字串8 #23=#515-#514; 字串9#510=#510+#23;(修正工件坐标原点设定值) 字串4G50 X#515;(修正工件坐标原点) 字串3 #20=#515;(修改砂轮现在位置) 字串1N580 M99;新日期:2007-1-7 13:02:59 | 评论 0 条 | 我要投稿 | 报告错误 用宏程序车削外圆 宏程序编程指令格式G65P8090X(U) Z(W) D E F其中X(U) Z(W) 外圆终点坐标,X轴为直径值编程D-每次切深,半径值指令;E-退刀量F-切削速度宏程序主程序 字串3 08090#31=#5041 保存X值初值#32=#5042 保存Z值初值IF#8NE#0GOTO1#8=0.2 退刀量N1IF#24EQ#0GOTO2#1=#24 X值绝对值指令GOTO3N2IF#21EQ#0GOTO9 X轴未赋值则报警#1=#31+#21 X轴绝对值坐标N3IF#26EQ#0GOTO4#2=#26 GOTO5N4IF#23EQ#0GOTO9 Z轴未赋值则报警#2=#32+#23 Z轴绝对值坐标N5IF#7EQ#0GOTO9 每次切深不赋值则报警IF#9NE#0GOTO6 #9=#4109 F未赋值则用前面的值 字串6 N6#30=#31 X轴初值WHILE#30GT#1DO1#30=#30-2*#7IF#30GT#1GOTO7#30=#1N7GOOX#30 切削循环GOIZ#2F#9U-2*#8G00Z#32 切削循环结束END1X#31 退回起始点GOTO10N9#3000=1 赋值错误报警N10M99研究宏程序 用好循环指令 内容提要:本文叙述了通过对车削循环的宏程序实现源代码的研究后,对车削循环指令的执行细节有更深的了解,对指令参数的理解加深了,对编程时关键点的坐标的确定方法更加清楚了,澄清了一些问题。纠正了一些错误的认识,使我们能更好地运用好车削循环指令。 关键词:宏程序、指令、正负号、切深、坐标 在数控编程的教学中,我们一般较少涉及宏程序,见到一大堆的井号,我们不免生畏,但一些车削循环指令在具体应用时出现一些问题,很多教材交待不清,交待不够。比如:华中数控G71指令中A、B点X坐标的确定问题。一些参数的确定的方法运用的效果不好。比如:华中数控G80、G81指令中的I、K的正负号的确定,学生运用起来,总是容易糊涂。 字串1 近日来,既是网上下载,又是到数控车间联接机床电脑上拷贝文件、打印,忙得不亦乐乎,研究了一些车削循环的宏程序实现源代码。虽然颇费了一番力气,但也颇有收获。宏程序源代码将循环指令执行过程中的许多秘密,一览无佘展现在你的眼前,解开了以往的许多疑虑。现细说一、二,与大家分享。 车削循环的宏程序实现源代码来源于网上华中世纪星车床数控系统HNC-21/22T编程说明书,或数控车间联接机床电脑上的STATICCY文件,提供了G80、G81、G82、G71、G72、G73、G76指令的宏程序实现源代码。这些指令分别与FANUC系统的G90、G94、G92、G71、G72、G73、G76指令相对应。 字串3 下面仅以华中G80、G81、G71、G72指令为例进行说明,并不直接描述宏程序,只是讲一讲宏程序给我们的一些启发。 字串5 字串4图1 G80、G81路线图 字串51、 华中G80指令(见图1上半部) 程序为;G00 XA ZA G80 XC ZC I F I的正负号按教材上的判定方法不好用,省略。G80执行路线为: 字串7A(XA,ZA)B(XB,ZA)C(XC,ZC)D(XA,ZC)A(XA,ZA)。其中XB=XC+I,指令中的I用以确定B点位置,XB是用B相对C的X向的位置I来确定的,沿着这一思路,XB=XC+I,B相对C而言,往主轴中心线里面走,XB相对XC减小了,则I为负号,反之为正。这样确定I的符号非常直观。不容易忘记和混淆。 字串9 G82中的I 值同G80中的I值的分析。 2、 华中G81指令(见图1的下半部) 字串5 程序为;G00 XA ZA G81 XC ZC K F 同理,ZB=ZC+K,ZB是用B相对C的Z向位置K来确定的,B在C的左边,ZB相对ZC减小了,K为负,反之为正。 字串93、 华中G71指令(见图2上半部) 字串3图2 G71、G72路线中A、B、C的位置关系图 字串8 程序为;G00 XA ZA G71 U(d)R(r)P(ns) Q(nf) X(x) Z(z) F 讨论XA、XB的确定问题: 字串9 原先存在的两个错误是: (1)、第一刀粗切线位置与XB无关,只与XA有关。 (2)、XC=XA+X,若XC-2(d+r)-2(N-1)d XB=X毛坯,则开头N次粗切为空切,即A点 字串4到毛坯的X向距离很大时,开始会有较多的空走的粗切刀。 但实际情况是XB=X毛坯,若XB多段线B1B向右偏z,向中心线外偏X/2,得多段线B1B, 同理,A偏到C,若XC-2(d+r)XB则第一刀切到直线X=XB 字串9 若XC-2(d+r)XB则第一刀切到直线X= XC-2(d+r)位置。 第一刀线X1MIN=X毛坯-2d, 则XCMIN=X毛坯+2r, 字串8XAMIN=X毛坯+2r-X,计算见图3的上半部。 若2r-X很小,主要是r值取得小,XAMINX毛坯=XB,此式在r稍大时不合适,如果这样的话, 字串8 第一刀切深(d+r)- X/2会比d大。 4、华中G72指令(见图2的下半部) 程序为;G00 XA ZA 字串7 G72 W(d)R(r)P(ns) Q(nf) X(x) Z(z) F 同理,ZB=Z毛坯右,ZC-2(d+r)ZB则第一刀切到直线Z=ZB 字串6若ZC-2(d+r)ZB则第一刀切到直线 Z= ZC-2(d+r)位置。 第一刀线Z1MIN=Z毛坯右-d, 则ZCMIN=Z毛坯+r, 字串8 ZAMIN=Z毛坯右+r-Z,计算见图3的下半部。 若r-Z很小,主要是r值取得小,ZAMINZ毛坯右=XB,此式在r稍大时不合适,如果这样的话,第一刀切深(d+r)- Z会比d大。 字串3 图3 XA、ZA的计算图 字串3以上所分析的思路,对其他相关指令仍然适用,读者可自行总结。众所周知,由于宏程序中使用了各种变量、运算指令和控制指令,从而大大的简化了程序,而且可以通过设置不同的变量,实现粗、精加工和达到所要求的加工精度,所以宏程序在数控加工中有着广泛的应用。 参考文献: 1、 华中世纪星车床数控系统HNC-21/22T编程说明书,华中数控公司,2002年。 2、 华中数控车削系统提供的STATICCY文件。数控编程 基点 字串6 字串9 字串9 字串2 字串2图1.41零件图样零件的轮廓是由许多不同的几何要素所组成,如直线、圆弧、二次曲线等,各几何要素之间的连接点称为基点。基点坐标是编程中必需的重要数据。 字串7 例:图1.41所示零件中,A、B、C、D、E为基点。A、B、D、E的坐标值从图中很容易找出,C点是直线与圆弧切点,要联立方程求解。以B点为计算坐标系原点,联立下列方程: 字串8直线方程: Y=tg(+)X 字串6圆弧方程:(X-80)2 +(Y-14)2 =30 字串3可求得(64.2786,39.5507),换算到以A点为原点的编程坐标系中,C点坐标为(64.2786,51.5507)。 字串3可以看出,对于如此简单的零件,基点的计算都很麻烦。对于复杂的零件,其计算工作量可想而知,为提高编程效率,可应用CAD/CAM软件辅助编程,数控编程 选择编程原点 从理论上讲编程原点选在零件上的任何一点都可以,但实际上,为了换算尺寸尽可能简便,减少计算误差,应选择一个合理的编程原点。 字串1车削零件编程原点的X向零点应选在零件的回转中心。Z向零点一般应选在零件的右端面、设计基准或对称平面内。车削零件的编程原点选择见图1.39。 字串3 字串6 图1.39车削加工的编程原点 字串6 铣削零件的编程原点,X、Y向零点一般可选在设计基准或工艺基准的端面或孔的中心线上,对于有对称部分的工件,可以选在对称面上,以便用镜像等指令来简化编程。Z向的编程原点,习惯选在工件上表面,这样当刀具切入工件后Z向尺寸字均为负值,以便于检查程序。铣削零件的编程原点见图1.40。 字串4 图1.40铣削加工的编程原点 字串9 编程原点选定后,就应把各点的尺寸换算成以编程原点为基准的坐标值。为了在加工过程中有效的控制尺寸公差,按尺寸公差的中值来计算坐标值数控程序调用指令M98和子程序结束指令M99 若一组程序段在一个程序中多次出现,或在几个程序中都要使用它,为了简化程序,可以把这组程序段抽出来,按规定的格式写成一个新的程序单独存储,以供另外的程序调用,这种程序就叫做子程序。主程序执行过程中如果需要某一个子程序,可以通过一定的格式的子程序调用指令来调用该子程序,执行完后返回到主程序,继续执行后面的程序段。 字串6 1)子程序的编程格式 字串5 O 字串7 字串1 M99; 字串9 在子程序的开头编制子程序号,在子程序的结尾用M99指令。 字串82)子程序的调用格式 字串6M98P 字串5P后面的前3位为重复调用次数,省略时为调用一次;后4位为子程序号。 字串83)子程序嵌套 字串2 子程序执行过程中也可以调用其他子程序,这就是子程序嵌套。子程序嵌套的次数由具体控系统规定。编程中使用较多的是二重嵌套,其程序执行过程如图2-37所示。 字串5字串1图2-37 子程序的嵌套 字串5 数控编程中常用辅助功能M功能 (1)程序停止功能M00 字串9在完成程序段的其他指令后用以停止主轴、冷却液,使程序停止。如编程者想要在加工中使机床暂停(检验工件、调整、排屑等),使用M00指令,重新启动程序后,才能继续执行后续程序。 字串1 (2)选择

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论