数控机床宏程序

由浅入深宏程序10-车床旋转正弦函数宏程序 正弦函数曲线旋转宏程序

坐标点旋转1

s = x cos(b) – y sin(b) t = x sin(b) + y cos(b)

根据下图,原来的点(#1,#2),旋转后的点(#4,#5),则公式: #4=#1*COS[b]- #2*SIN[b] #5=#1*SIN[b]+ #2*COS[b] 公式中角度b,逆时针为正,顺时针为负。 下图中正弦曲线如果以其左边的端点为参考原点,则此条正弦曲线顺时针旋转了16度,即b=-16 正弦函数旋转图纸1

此正弦曲线周期为24,对应直角坐标系的360 对应关系 【0,360】 y=sin(x) 【0,24】 y=sin(360*x/24) 可理解为: 360/24是单位数值对应的角度 360*x/24是当变量在【0,24】范围取值为x时对应的角度 sin(360*x/24)是当角度为360*x/24时的正弦函数值 旋转正弦函数曲线粗精加工程序如下: T0101 M3S800 G0X52Z5 #6=26 工件毛坯假设为50mm,#6为每层切削时向+X的偏移量。 N5 G0X[#6+18.539] G1Z0F0.1 #1=48 N10 #2=sin【360*#1/24】 #4=#1*COS[-16]- #2*SIN[-16] 旋转30度之后对应的坐标值 #5=#1*SIN[-16]+ #2*COS[-16] #7=#4-【50-3.875】 坐标平移后的坐标。 #8=45+2*#5+#6 G1X[#8]Z[#7]F0.1 沿小段直线插补加工 #1=#1-0.5 递减0.5,此值越小,工件表面越光滑。 IF [#1 GE 0] GOTO 10 条件判断是否到达终点。 Z-50 G1X52 直线插补切到工件外圆之外 G0Z5 #6=#6-2 IF [#6 GE 0] GOTO 5 G0X150Z150 M5 M30

镂空立方体宏程序范例 镂空立方体图纸及宏程序范例 此零件六个面加工内容相同,在加工时,调面装夹时要注意考虑夹紧力。 对于每个面的加工,可以用一个宏程序进行编制。宏程序编程时,即有深度方向的变化,也有半径的变化,是一种典型的宏程序。可以先用自己的思路编制一下,图后附有参考程序。

图片1

图片2

G64G40G90G54G0X0Y0Z100 G0Z5 #1=-2.75 (分四层切削,共11mm深) #2=25 (第一层,最大一个沉孔直径为25mm,其次为20、15、10) N10 G1Z[#1]F30 G1G41X[#2]D01F200 G3 I[-#2]R[#2] G1G40X0 #1=#1-2.75 #2=#2-5 IF [#1 GE -11] GOTO 10 G0Z100 M5 M30

点评:程序中有两个变量,但只用一个循环就可以了。因为两个方向的变化都分别是等值递减的,所以把其中一个直接放到另一个循环里做好递减就可以了。

车削“斜椭圆”的宏程序  本文分析了斜椭圆的数控车床加工问题,通过旋转转换方程确定了斜椭圆的参数方程,编制出(包含宏程序的)实际加工程序。 随着数控技术不断进步,数控车床加工中各种复杂型面也日渐增多,如椭圆、抛物线、正弦曲线、余弦曲线和双曲线等各种非圆曲面。对于上述各种复杂成形面,利用CAM软件进行自动编程相对简单,但由于种种原因,在绝大数情况下数控车床主要还是依靠手工编程。目前在数控车床上加工正椭圆已不是难事,一些学者进行过这方面的研究并发表了相关论文。但对斜椭圆零件的加工方面研究较少,主要原因为:①机床数控系统本身既不存在加工椭圆等非圆曲线的G指令,更没有类似数控铣床用G68这样的 旋转指令,使编程难度大大增加;②加工中变量的参数直接影响着加工的效率以及质量,很容易产生过切报警,即使程序正确无误,实际加工时参数调整也非常困难,直接影响加工能否顺利进行,以及加工精度能否保证。 对于如图1所示的斜椭圆零件,笔者在配置华中世纪星车床数控系统(HNC-21/22T)的数控车床上加工成形,加工出的零件如图2所示。

1.相关数学计算 已知:椭圆方程:a2b2(见图1),椭圆上任一点A 点坐标(Z,X):(acosα ,bsinα ),则:。若椭圆绕圆心旋转θ (见图3),则根据旋转公式,求出A 点在工件坐标系(Z0X 坐标系)中的坐标为:

A点:Z:acosαcosθ-bsinαsinθ; X :acosα sinθ +bsinα cosθ。 注意:椭圆顺时针旋转时,公式中的θ 角取负值;逆时针旋转时,θ 角取正值。 2.程序格式 (1)如图3和图4所示,编程原点为右端面与轴线的交点。 (2)程序为HNC—21T系统格式。 %1234 (程序名) M3S600T0101 G42G00X Z (快速点定位) #12=起始角(α)(椭圆轮廓起始 点的参数角) WHILE[#12]LE终点角 (若为凹椭圆 轮廓,则应为WHILE[#12]GE负终点角) #13=a*COS[#12*PI/180]*COS[θ]- b*SIN[#12*PI/180]*SIN[θ] (椭圆上任一点 Z坐标值) #14=a*COS[#12*PI/180]*SIN[θ]+b* SIN[#12*PI/180]*COS[θ] (椭圆上任一点 X坐标值) G01 X[2*#14+U]Z[#13+W]F60 (直线 插补椭圆,U、W为椭圆圆心在编程坐标 系下的坐标,即椭圆平移后需要进行坐标 转换,请注意平移方向,以便确定U、W 的正负)。 #12=#12+0.5 (若为凹椭圆轮廓, 则应为#12=#12-0.5) G40G00X100Z100M05 M30 3.编程实例 实例如图1所示。

(1)计算起始参数角 根据公式: 可以得到:起始参数角=21.4º。 (2)计算终点参数角

根据公式:,得到:终点参数角=97º。 (3)参考程序如下(HNC-21T数控系统)。 使用数控车床切削零件图如图1所示,毛坯材料为45钢,直径50mm,长度为65mm,椭圆的长半轴和短轴分别为25mm和15mm,旋转角度20º(1号刀为粗车35º尖刀,2号刀为精车35º尖刀,3号刀为切断刀)。

%2 M3S600T0101 G42G00X55Z2 G71 U2 R0.5 P1 Q2 X0.5 Z0.01 F120 G0X100Z100 M3S1500T0202 G0X55Z2 N1 G0 X26.209 G01Z0 F60 #12=21.4 WHILE[#12]LE97 #13=25*COS[#12*PI/180]*COS[20 ]-15*SIN[#12*PI/180]*SIN[20] #14=25*COS[#12*PI/180]*SIN[20] +15*SIN[#12*PI/180]*COS[20] G01 X[2*#14]Z[#13-20]F60 #12=#12+0.5 ENDW G02X35.022Z-35R5 G1X48C1 Z-44 X44Z-46 Z-50 N2X50 G00X100Z100M5 M0 M3S700T0303 G00X50Z-45 G01X1F40 G00X50 X100Z100 M30 4.程序中变量的确定与注意事项 旋转椭圆程序变量的赋值是一个重要环节,因为宏程序是利用许多段微小的直线来逼近轮廓的,取值大,轮廓表面的逼近误差也大。 在加工中,变量的赋值可以按粗车和精车来取值。粗加工程序变量的取值应根据预留加工余量的大小来确定,在保证加工不过切的前提下,我们可以选择较大的程序变量,但是也不能过大,变量过大会使精加工余量不均匀或形成过切;精加工时我们主要是保证工件的质量,为使工件的几何形状达到要求,需要减少拟合的误差,因此我们应该选择一个较小的程序变量。 5.结语 通过实际加工生产,上述措施能很好地解决加工中程序编制,保证工件的形状几何精度,解决加工出现的各种问题,减少加工时间,提高加工效率。

利用宏程序编制数控车床斜椭圆程序 编程计算题:请利用宏程序或子程序编制粗、精加工程序 答案: 提示:如果采用三角函数计算椭圆起点和终点,会造成一定的计算误差。所以应该采用坐标系的平移和角度变换进行计算。 已知AB=20AOB=30 求出AOB=AB/AO AO=40 所以椭圆长轴为40短轴为30 在xoy坐标系

编程计算题:请利用宏程序或子程序编制粗、精加工程序

答案: 提示:如果采用三角函数计算椭圆起点和终点,会造成一定的计算误差。所以应该采用坐标系的平移和角度变换进行计算。

已知AB=20 ∠AOB=30 求出 ∠AOB=AB/AO AO=40 所以椭圆长轴为40短轴为30 在xoy坐标系中求出起点与终点 起点x=37.7 y=10 在XOY坐标系求椭圆起点:X=xCOS30+ySIN30 X=37.7*COS30+10*SIN30 X=37.649 将x=-10 y=28.55代入公式求出椭圆终点: X=xCOS30+ySIN30 X=5.6125 将计算出的起点和终点值带入公式X=A*COSα求出起点和终点的角度值: 起点:37.649=40COSα COSα=0.941225 ∠α=-19.741 终点:5.6125=40*COSα COSα=0.1403125 ∠α=81.93 参考加工程序为:(西门子802D) G40G64 T1D1 M3S1200 G0X100Z2 R1=10 N1 G1X=R1+60 Z0 Z-12.3 R2=-19.741

合集下载

数控车床由浅入深的宏程序实例

数控车床由浅入深的宏程序实例

数控车床由浅入深的宏程序实例宏程序裳华职业技术中专鲍新涛宏程序详述其实说起来宏就是用公式来加工零件的,比如说椭圆,如果没有宏的话,我们要逐点算出曲线上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式输入到系统中然后我们给出z坐标并且每次加10um那么宏就会自动算出x坐标并且进行切削,实际上宏在程序中主要起到的是运算作用。

.宏一般分为a类宏和b类宏。

a类宏是以g65hxxp#xxq#xxr#xx的格式输入的,而b类宏程序则是以直接的公式和语言输入的和c语言很相似在0i系统中应用比较广。

宏程序的促进作用数控系统为用户配备了强有力的类似于高级语言的宏程序功能,用户可以使用变量进行算术运算、逻辑运算和函数的混合运算,此外宏程序还提供了循环语句、分支语句和子程序调用语句,利于编制各种复杂的零件加工程序,减少乃至免除手工编程时进行繁琐的数值计算,以及精简程序量。

宏程序指令适宜抛物线、椭圆、双曲线等没控制算法指令的曲线编程;适宜图形一样,只是尺寸相同的系列零件的编程;适宜工艺路径一样,只是边线参数相同的系列零件的编程。

很大地精简编程;拓展应用领域范围。

宏的分类b类宏由于现在b类宏程序的大量使用,很多书都进行了介绍这里我就不再重复了,但在一些老系统中,比如发那科(fanuc)otd系统中由于它的mdi键盘上没有公式符号,连最简单的等于号都没有,为此如果应用b类宏程序的话就只能在计算机1上编好再通过rsn-32接口传输的数控系统中,可是如果我们没有pc机和rsn-32电缆的话怎么办呢,那么只有通过a类宏程序来进行宏程序编制了,下面我介绍一下a类宏的引用;a类宏a类宏是用g65hxxp#xxq#xxr#xx或g65hxxp#xxqxxrxx格式输出的,xx的意思就是数值,就是以um级的量输出的,比如说你输出100那就是0.1mm.#xx就是变量号,变量号就是把数值代入至一个紧固的地址中,紧固的地址就是变量,通常otd系统中存有#0~#100~#149~#500~#531.关闭电源时变量#100~#149被初始化成“空”,而变量#500~#531保持数据.我们如果说#100=30那么现在#100地址内的数据就是30了,就是这么直观.不好现在我来说一下h代码,大家可以看见a类宏的标准格式中#xx和xx都就是数值,而g65则表示采用a类宏,那么这个h就是必须则表示各个数值和变量号内的数值或者各个变量号内的数值与其他变量号内的数值之间必须展开一个什么运算,可以说道你介绍了h 代码a类宏程序你基本就可以应用领域了,不好,现在说道一下h代码的各个含义:应用以下都以#100和#101和#102,及数值10和20作为例子,应用领域的时候别把他们当格式就行及,基本指令h01赋值;格式:g65h01p#101q#102:把#102内的数值赋予到#101中g65h01p#101q#10:把#10赋予到#101中h02提指令;格式g65h02p#101q#102r#103,把#102的数值加之#103的数值剥夺#1012g65h02p#101q#102r10g65h02p#101q10r#103g65h02p#101q10r20上面4个都是加指令的格式都是把q后面的数值或变量号内的数值加上r后面的数值或变量号内的数值然后等同于至p后面的变量号中.h03减指令;格式g65h03p#101q#102r#103,把#102的数值减去#103的数值赋予#101g65h03p#101q#102r10g65h03p#101q10r#103g65h03p#101q20r10上面4个都是减指令的格式都是把q后面的数值或变量号内的数值减去r后面的数值或变量号内的数值然后等同于至p后面的变量号中.h04乘指令;格式g65h04p#101q#102r#103,把#102的数值乘上#103的数值赋予#101g65h04p#101q#102r10g65h04p#101q10r#103g65h04p#101q20r10上面4个都是乘指令的格式都是把q后面的数值或变量号内的数值乘上r后面的数值或变量号内的数值然后等同于至p后面的变量号中.h05除指令;格式g65h05p#101q#102r#103,把#102的数值除以#103的数值赋3予#101g65h05p#101q#102r10g65h05p#101q10r#103g65h05p#101q20r10上面4个都是除指令格式都是把q后面的数值或变量号内的数值除以r后面的数值或变量号内的数值然后等同于至p后面的变量号中.(余数不存有,除数如果为0的话可以发生112报警)三角函数指令h31sin正玄函数指令:格式g65h31p#101q#102r#103;含义q后面的#102是三角形的斜边r后面的#103内存的是角度.结果是#101=#102*sin#103,也就是说可以直接用这个求出三角形的另一条边长.和以前的指令一样q和r后面也可以轻易写下数值.h32cos余玄函数指令:格式g65h32p#101q#102r#103;含义q后面的#102是三角形的斜边r后面的#103内存的就是角度.结果就是#101=#102*cos#103,也就是说可以轻易用这个谋出来三角形的另一条边长.和以前的指令一样q和r后面也可以直接写数值.h33和h34本来必须就是tan和atan的可是经过我采用得数并不精确,期望存有晓得的人能说我就是为什么?上开平方根指令h21;格式g65h21p#101q#102;意思是把#102内的数值开了平方根然后存到#101中(这个指令是非常重要的如果在车椭圆的时候没有开平方根的指令是没4可能用宏做到的.无条件转移指令h80;格式:g65h80p10;轻易冲到第10程序段有条件迁移指令h81h82h83h84h85h86,分别是等于就转的h81;不等于就转的h82;小于就转的h83;大于就转的h84;小于等于就转的h85;大于等于就转的h86;格式:g65h8xp10q#101r#102;将#101内的数值和#102内的数值相比较,按上面的h8x 的码带进h8x中去,如果条件合乎就冲至第10程序段,如果不合乎就继续执行下面的程序段.4b类宏程序定义能完成某一功能的一系列指令像子程序那样存入存储器,用户可以设定m、s、t、g 代码调用它们,使用时只需给出这个指令代码就能执行其功能,也可以像调用子程序一样使用。

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

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

数控机床宏程序编程的技巧和实例第一篇:数控机床宏程序编程的技巧和实例论文:数控机床宏程序编程的技巧和实例2011年8月11日前言随着工业技术的飞速发展,产品形状越来越复杂,精度要求越来越高,产品更新换代越来越快,传统的设备已不能适应新要求。

现在我国的制造业中已广泛地应用了数控车床、数控铣床、加工中心机床、数控磨床等数控机床。

这些先进设备的加工过程都需要由程序来控制,需要由拥有高技能的人来操作。

要发挥数控机床的高精度、高效率和高柔性,就要求操作人员具有优秀的编程能力。

常用的编程方法有手工编程和计算机编程。

计算机编程的应用已非常广泛。

与手工编程比较,在复杂曲面和型腔零件编程时效率高、质量好。

因此,许多人认为手工编程已不再重要,特别是比较难的宏程序编程也不再需要。

只须了解一些基本的编程规则就可以了。

这样的想法并不能全面。

因为,计算机编程也有许多不足:1、程序数据量大,传输费时。

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

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

手工编程是基础能力,是数控机床操作编程人员必须掌握的一种编程方法。

手工编程能力是计算机编程的基础,是刀具轨迹设计,轨迹修改,以及进行后置处理设计的依据。

实践证明,手工编程能力强的人在计算机编程中才能速度快,程序质量高。

在程序中使用变量,通过对变量进行赋值及处理使程序具有特殊功能,这种有变量的程序叫宏程序。

宏程序是数控系统厂家面向客户提供的的二次开发工具,是数控机床编程的最高级手工方式。

合理有效的利用这个工具将极大地提升机床的加工能力。

作为一名从事数控车床、数控铣床、加工中心机床操作编程二十多年的技师,在平时的工作中,常常用宏程序来解决生产中的难题,因此对宏程序的编程使用积累了一些经验。

在传授指导徒弟和与同事探讨中,总结了许多学习编制宏程序应注意的要点。

有关宏编程的基础知识在许多书籍中讲过,我们在这里主要通过实例从编制技巧、要点上和大家讨论。

一、非圆曲面类的宏程序的编程技巧1、非圆曲面可以分为两类;(1)、方程曲面,是可以用方程描述其零件轮廓的曲面的。

在数控车床上用宏程序加工梯形螺纹

在数控车床上用宏程序加工梯形螺纹

不是理想的加工方法。
ቤተ መጻሕፍቲ ባይዱ
为了解决“直进分”和“斜进法”的缺点,就
必须改善刀具的切削方式。通过分析,最后选用
(见图3)“分层切削法”。“分层切削法”是先
把螺纹X向分成若干层,
每层Z向再进行若干次粗
切削,再进行左、右精车
切削。每层刀具只需沿左
右牙型线切削,背吃刀量
小,从而使排屑比较顺
利,刀具的受力和受热情
图3 分层切削法
起刀点Z轴偏 移量(CE)的计 算公式为
图7
CE=BE-BC=(AH+tan15°×HE)-BC =(P/4+tan15°×HE)-BC 即起刀点Z轴偏移量(螺纹右侧留0.1mm的精 加工量)参数变量为
#8=#2/4+TAN[15]*[#1-#3]/2-#6/2-0.1;
每层Z轴的切削余量(DF)的计算公式为
M 机床自动化 achine Tools Automation
在数控车床上用宏程序加工梯形螺纹
中国北车永济新时速电机电器有限责任公司 (山西 044502) 陈建军 永济电机高级技工学校 (山西 044500) 张丽波
一、梯形螺纹在数控车床上的加工工艺
数控车加工螺纹有三种指令:G32、G92、 G76。其中G32、G92的进刀方式为“直进法” (见图1);G76的进刀方式为“斜进法”(见图 2)。
DF=BF-BD=2(AH+tan15°×HE)-BD
即每层Z轴的切削余量(螺纹左侧留0.1mm的 精加工量)参数变量为
#9=#2/2+TAN[15]*[#1-#3]-#6-0.1
(3)外螺纹Tr36×6程序
O8888; M03S200; G00X100Z50; T0101; G00X40Z10; #1=36;(螺纹大径及公称直径) #2=6;(螺距) #3=#1-#2/2;(螺纹中径) #4=0.5;(牙顶间隙) #5=#1-#2-2*#4;(螺纹小径) #6=1(T型螺纹刀刀尖宽) #7=0.366*#2-2*TAN[15]*#4;(牙底槽宽) #8=#2/4+TAN[15]*[#1-#3]/2-#6/2-0.1;(起 到点Z轴偏移量,右侧留0.1mm) #9=#2/2+TAN[15]*[#1-#3]-#6-0.1;(每层Z 轴的切削余量,左侧留0.1mm) #10=0.5(X轴的吃刀量) N1IF[#1LE#5]GOTO4;(判断切削直径,如果X值 ≤小径,则执行N4程序段) N2IF[#9LE0.1]GOTO3;(判断每层Z轴切削余量如 果余量≤0.1mm,则执行N3程序段) G00Z[10+#8];(Z轴起刀点) G92X#1Z-42F#2;(切削螺纹) #8=#8-0.3;(重新计算Z轴起刀点偏移量,递减0.3mm) #9=#9-0.3;(重新计算每层Z轴切削余量,递减0.3mm) GOTO2;(无条件执行N2程序段) N3#1=#1-#10;(重新计算切削直径X值) #8=#2/4+TAN[15]*[#1-#3]/2-#6/2-0.1(重新 计算Z轴起刀点偏移量) #9=#2/2+TAN[15]*[#1-#3]-#6-0.1;(重新计 算每层Z轴切削余量) IF[#1GE33]THEN#10=0.5(判断切削直径,对X轴吃刀 量重新赋值)

一文搞懂数控宏程序的编程及应用,值得收藏!

一文搞懂数控宏程序的编程及应用,值得收藏!

一文搞懂数控宏程序的编程及应用,值得收藏!1. 什么场合会用到宏程序编程?其实说起来宏就是用公式来加工零件,比如说椭圆,如果没有宏的话,我们要逐点算出曲线上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式输入到系统中然后我们给出Z坐标并且每次加一个量,那么宏就会自动算出X坐标并且进行切削,实际上宏在程序中主要起到的是运算作用。

手工编程加工公式曲线(计算简单,输入快捷)有规律的切削路径(作为一个切削模块)程序间的控制(程序的调度)刀具的管理(刀具的磨损)自动测量(机内测头)2. 什么叫宏程序?在编程时,我们会把能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来调用它们,使用时只需给出这个总指令就能执行其功能所存入的这一系列指令称作用户宏程序本体,简称宏程序。

这个总指令称作用户宏程序调用指令。

在编程时,编程员只要记住宏指令而不必记住宏程序。

3. 用户宏程序与普通程序的区别1)在用户宏程序本体中,能使用变量,可以给变量赋值,变量间可以运算,程序可以跳转。

2)普通程序中,只能指定常量,常量之间不能运算,程序只能顺序执行,不能跳转,因此功能是固定的,不能变化。

3)用户宏功能是用户提高数控机床性能的一种特殊功能,在相类似工件的加工中巧用宏程序将起到事半功倍的效果。

4. 变量的三种类型数控系统变量表示形式为“#”后跟1~4位数字,变量种类有三种:1)局部变量:#1~#33是在宏程序中局部使用的变量,它用于自变量转移。

2)公用变量:用户可以自由使用,它对于由主程序调用的各子程序及各宏程序来说是可以公用的。

#100~#149在关掉电源后,变量值全部被清除,而#500~#509在关掉电源后,变量值则可以保存。

3)系统变量:由后跟4位数字来定义,它能获取包含在机床处理器或NC内存中的只读或读/写信息,包括与机床处理器有关的交换参数、机床状态获取参数、加工参数等系统信息。

华中数控车宏程序

华中数控车宏程序

华中数控宏程序一.什么是宏程序?什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。

宏程序具有如下些特点:1.使用了变量或表达式(计算能力),例如:(1)G01 X[3+5] ;有表达式3+5(2)G00 X4 F[#1] ;有变量#1(3)G01 Y[50*SIN[3]] ;有函数运算2.使用了程序流程控制(决策能力),例如:(1)IF #3 GE 9 ;有选择执行命令……ENDIF(2)WHILE #1 LT #4*5 ;有条件循环命令……ENDW二.用宏程编程有什么好处?1.宏程序引入了变量和表达式,还有函数功能,具有实时动态计算能力,可以加工非圆曲线,如抛物线、椭圆、双曲线、三角函数曲线等;2.宏程序可以完成图形一样,尺寸不同的系列零件加工;3.宏程序可以完成工艺路径一样,位置不同的系列零件加工;4.宏程序具有一定决策能力,能根据条件选择性地执行某些部分;5.使用宏程序能极大地简化编程,精简程序。

适合于复杂零件加工的编程。

一.宏变量及宏常量1.宏变量先看一段简单的程序:G00 X25.0上面的程序在X轴作一个快速定位。

其中数据25.0是固定的,引入变量后可以写成:#1=25.0 ;#1是一个变量G00 X[#1] ;#1就是一个变量宏程序中,用“#”号后面紧跟1~4位数字表示一个变量,如#1,#50,#101,……。

变量有什么用呢?变量可以用来代替程序中的数据,如尺寸、刀补号、G指令编号……,变量的使用,给程序的设计带来了极大的灵活性。

使用变量前,变量必需带有正确的值。

如#1=25G01 X[#1] ;表示G01 X25#1=-10 ;运行过程中可以随时改变#1的值G01 X[#1] ;表示G01 X-10用变量不仅可以表示坐标,还可以表示G、M、F、D、H、M、X、Y、……等各种代码后的数字。

如:#2=3G[#2] X30 ;表示G03 X30例1 使用了变量的宏子程序。

数控车削正弦曲线宏程序编程方法

数控车削正弦曲线宏程序编程方法

数控车削正弦曲线宏程序编程方法本文分析了正弦曲线在数控车床上加工的问题,笔者通过变量设定,编制出加工正弦曲线宏程序两种不同编程方法,从而保证正弦曲线圆弧的正确性,提高产品的尺寸精度和表面质量。

应用宏程序变量编程加工可以用函数公式来描述工件的轮廓或曲面,是现代数控系统一个重要的新功能和新方法。

但是,在一些地方的中小型制造企业中,数控宏程序编程的普及和应用还有待进一步提高。

目前在数控车床上加工规则曲线都比较统一,也比较简单,而如正弦曲线等非规则曲线的编程根据所选系统、加工工艺的不同,所使用的编程方法也各不相同,机床数控系统本身不存在直接加工正弦曲线的G指令,使编程难度大大增加。

另外加工中变量的参数直接影响着加工的效率以及质量,很容易产生过切报警,即使程序正确无误,实际加工时参数调整也非常困难,直接影响着加工能否顺利进行,以及加工精度能否保证。

因而笔者根据实际加工经验以及相关资料,总结出设定变量使用宏程序编程加工的方法。

对于如图1所示的绕线筒曲线轮廓零件,笔者在配置FANUC0iMate—TC数控系统和华中世纪星车床数控系统(HNC-21/22T)的数控车床上分别车削正弦曲线。

1.工艺分析与工艺设计(1)图样分析。

如图1所示,零件由正弦曲线和圆柱构成。

该正弦曲线由两个周期组成,总角度为720°(-630~90°)。

将该曲线分成1000条线段后,用直线拟合,每段直线在Z轴方向的间距为0.04mm,对应其正弦曲线的角度为720°/1000。

根据公式,计算出曲线上每一线段终点的X坐标值,X =34+6sina 。

(2)加工工艺路线设计。

精加工正弦曲线前,先用调用子程序或G71复合循环指令的方法进行粗加工,去除余量。

去除余量时采用R10mm的圆弧拟合,每个节点处留单边0.5mm的精加工余量。

2 选择刀具粗加工采用尖头车刀,刀片选用涂层硬质合金材料。

精加工采用尖头车刀,刀片选用陶瓷材料,刀尖圆弧半径为0.2mm,以减小对正弦曲线轮廓形状的影响。

数控车床华中系统用户宏程序编程


如图2,Z坐标为自变量#2,则X坐标为因变量#1,那么X用Z表示为:
分别用宏变量#1、#2代替上式中的X、Z,即得因变量#1相对于自变量#2的宏表达式:
如图1,Z坐标为自变量#2,则X坐标为因变量#1,那么X用Z表示为:
3、如何进行函数变换,确定因变量相对于自变量的宏表达式

如图3,X坐标为自变量#1,因Z坐标为因变量#2,那么Z用X表示为:
IF 条件表达式 IF 条件表达式
02
… …
ELSE ENDIF
…
05
ENDIF
格式:WHILE 条件表达式
…
ENDW
5、循环语句WHILE,ENDW
二、公式曲线宏程序编程模板的具体应用实例
运用以上公式曲线宏程序模板,结合粗加工循环指令,就可以快速准确实现零件公式曲线轮廓的编程和加工。具体应用示例如下: 例1:如图1所示零件的外轮廓粗精加参考程序如下(设毛坯为直径25毫米的棒料): %0001(程序头) T0101(调用01号外圆刀及01号刀具偏置补偿) G90 M03 S700(绝对值编程;主轴以700转/分正转) G00 X33 Z2(快速定位到粗加工循环起点) G71 U1 R0.5 P10 Q20 X0.6 F100(外径粗车循环) N10 G01 X10 F60 S1000(精加工起始程序段) Z-10 X24 Z-22(公式曲线起点) #2=8(设Z为自变量#2,给自变量#2赋值8:Z1=8) WHILE #2 GE [-8](自变量#2的终止值-8:Z2=-8) (因变量#1: 用#1、#2代替X、Z) #11=-#1+15(工件坐标系下的X坐标值#11:编程使用的是负轮廓,#1前冠以负;ΔX=15) #22=#2-30(工件坐标系下的Z坐标值#22:ΔZ=-30) G01 X[2*#11] Z[#22](直线插补,X为直径编程) #2=#2-0.5(自变量以步长0.5变化) ENDW(循环结束) N20 G01 Z-50(精加工终止程序段) G00 X100 Z80(快速定位到退刀点) M30(程序结束)

数控编程——宏程序教程

数控编程讲义第一篇铣工篇 (1)专题一行切和环切 (1)1.1环切 (1)1.1.1环切刀具半径补偿值的计算 (2)1.1.2环切刀补程序工步起点(下刀点)的确定 (4)1.1.3在程序中修改刀具半径补偿值 (5)1.1.4环切宏程序 (7)1.2 行切 (8)1.2.1 矩形区域的行切计算 (8)1.2.2行切的子程序实现 (10)1.2.3 行切宏程序实现 (11)专题二相同轮廓的重复加工 (13)2.1 用增量方式完成相同轮廓的重复加工 (14)2.2用坐标系平移完成相同轮廓的重复加工 (14)2.3 用宏程序完成相同轮廓的重复加工 (15)专题三简单平面曲线轮廓加工 (17)专题四简单立体曲面加工 (18)4.1球面加工 (18)4.1.1外球面加工 (20)4.1.2内球面加工 (21)4.2水平圆柱面的加工 (22)4.2.1圆柱面的轴向走刀加工 (22)4.2.1圆柱面的周向走刀加工 (23)专题五孔系加工 (25)5.1 矩形阵列孔系加工 (25)5.2环形阵列孔系加工 (26)第二篇车工篇 (27)专题六参数编程 (27)专题七方程曲线的车削加工 (29)7.1方程曲线车削加工的走刀路线: (29)7.2 椭圆轮廓的加工 (30)附录FANUC系统G指令和宏指令 (32)附录1刀具补偿值、刀具补偿号及在程序中赋值G10 (32)1、刀具补偿值的范围 (32)2、刀具补偿值的存贮 (32)3、刀具补偿赋值格式: (34)附录2 缩放G50、G51 (35)附录3 坐标系旋转G68、G69 (42)附录4 宏程序B(custom macro B) (48)1 宏变量(variables) (48)2 系统变量SYSTEM V ARIABLES (54)2.1接口信号Interface signals (55)2.2刀具补偿值Tool compensation values (56)2.3宏程序报警信息Macro alarms (58)2.4时间信息 (59)2.5自动运行控制 (60)2.6背景(#3005)Settings (63)2.7已加工的零件数Number of machined parts (64)2.8模态信息Model information (65)2.9当前位置 (68)2.10工件坐标系补偿值(工件坐标系零点偏置值) (68)3算术和逻辑运算 (70)4 宏语句和NC语句 (81)5分支和循环 (83)5.1无条件分支GOTO语句 (83)5.2 条件分支IF语句 (84)5.3 循环WHILE 语句 (87)6 调用宏程序MACRO CALL (34)6.1 简单调用G65 (35)6.2模态调用G66 (45)6.3使用G代码的宏调用 (51)6.4使用M代码的宏调用 (54)6.5使用M代码的子程序调用 (57)6.6使用T代码的子程序调用 (59)6.7例程............................................................................................. 错误!未定义书签。

数控宏程序教程(车床篇)1(经典)

由浅入深宏程序1-宏程序入门基础之销轴加工对于没有接触过宏程序人,觉得它很神秘,其实很简单,只要掌握了各类系统宏程序的基本格式,应用指令代码,以及宏程序编程的基本思路即可。

对于初学者,尤其是要精读几个有代表性的宏程序,在此基础上进行模仿,从而能够以此类推,达到独立编制宏程序的目的。

本教程将分步由浅入深的将宏程序讲解给大家,作者水平有限,也希望各位同仁提供更好的思路。

下面大家先看一个简单的车床的程序,图纸如下:要求用外圆刀切削一个短轴,这里只列举程序的前几步:O0001T0101;M3S800;G0X82Z5;G0X76;G1Z-40F0.2;X82;G0Z5;G0X72;G1Z-40F0.2;X82;G0Z5;G0X68;G1Z-40F0.2;X82;G0Z5;G0X68;G1Z-40F0.2;X82;G0Z5;........G0X40;G1Z-40F0.2;X82;G0Z5;G0X150Z150;M5;M30;从上面程序可以看出,每次切削所用程序都只是切削直径X有变化,其他程序代码未变。

因此可以将一个变量赋给X,而在每次切削完之后,将其改变为下次切削所用直径即可。

T0101;M3S800;G0X82Z5;#1=76;赋初始值,即第一次切削直径N10 G0X[#1] ;将变量赋给X,则X方向进刀的直径则为#1变量中实际存储值。

N10是程序G1Z-40F0.2;段的编号,用来标识本段,为后面循环跳转所用。

X82;G0Z5;#1=#1-4;每行切深为2mm,直径方向递减4mmIF [#1GE40] GOTO 10如果#1 >= 40,即此表达式满足条件,则程序跳转到N10继续执行。

G0X150Z150;当不满足#1 >= 40,即#1<40,则跳过循环判断语句,由此句继续向后执行。

M5;M30;由浅入深宏程序2-宏程序之销轴粗精加工本篇文章利用宏程序简单模仿数控系统的外圆车削循环功能。

宏程序1









但是当图中A、B、U、V值 变化时则又需要编一个程序。 实际上,我们可以将程序写 为: O1; G91 G00XA YB; G01 YV; XU; Y-V; X-U; G00 X-A Y-B; M30; 此时可以将其中变量,用用 户宏中的变量#i来代替,字 母与#i的对应关系为: A:#1 B:#2 U:#21 V:#22

以加工图示的零件上的椭圆为例介绍一下非圆曲线的加工方法
图样分析

零件上包含孔、螺纹、圆弧、锥、倒角及 非圆曲线—椭圆。对于有这种复杂零件,经 济、合理的加工方法是在数控车床上加工。 在数控车床上加工椭圆的方法有四心法与逼 近法两种。
四心法

用这种方法加工 的椭圆其实是由 四段圆弧组成, 在加工精度较低 的情况下可以考 虑用此方法来加 工。
3、系统变量
系统变量是根据用途而被固定的变量。主要有以下几种。
变 量 号 码 #1000~#1035 #1100~#1135 用 途 接口信号DI 接口信号DO
#2000~#2999
#3000,#3006 #3001,#3002 #3003,#3004
刀具补偿量
P/S报警,信息 时钟 单步,连续控制
H21
H22 H23 H24 H25
平方根
绝对值 求余 BCD码→二进制码 二进制码→BCD码
# i=√# j
# i=|# j| # i=# j-trunc﹙# j/# k﹚· k # Trunc;丢弃小于1的分数部分 # i=BIN﹙# j﹚ # i=BCD﹙# j﹚
G65
G65 G65
H26
H27 H28
宏 程 序
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档