第一篇:数控机床宏程序编程的技巧和实例
论文:
数控机床宏程序编程的技巧和实例
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)刀具每次返回切屑面时空行程采用较快进给速度。
实践以上的措施,如应用普通方式编程是非常困难的,即使编出来也是语句庞大,检查修改也非常麻烦。使用宏程序的计算语句和循环控制语句就可以解决这些问题。
结束语
前面介绍了几种编制宏程序的方法和重点技巧。我们在平时的工作中经常会用到,为生产活动带来了很大的便利,提高了生产效率,改善了加工质量,完善了机床的功能。应该说宏程序编制就像一个魔方,随着你对它的使用。它会变幻出越来越多的美丽图案。
举例使用的数控系统都是FANC1S数控系统。S1EMENA(西门子)数控系统、HE10ENHA1N(海德汉)数控系统与FANUA数控系统的编程方法大同小异,只是参数名、地址字等计算格式上有所区别。前面举例的部分宏程序,我在HE10ENHA1N系统上应用过,并不需要结构上大改动。
第二篇:数控机床编程实例(本站推荐)
一、两种特殊的圆弧编程指令:CT和RND
常用的圆弧编程指令是G2和G3,使用时必须编入圆弧起点坐标,终点坐标、圆弧半径或中心坐标,可处理各种类型的圆弧编程。西门子810D/840D系统中的CT和RND指令也可以生成精确的圆弧轨迹,在加工轮廓中出现用圆弧与其他直线或圆弧相切连接的轨迹时,灵活运用CT和RND指令进行圆弧编程比使用G2和G3指令方便得多:
1、RND指令处理轮廓拐点的圆弧过渡
RND指令的含义:轮廓拐点处用指定半径的圆弧过渡处理,并且和相关的直线或圆弧相切连接,数控系统自动运算各个切点的坐标。
参照图1 加工内容为底边外的其余轮廓,所用程序如下。
N005 G54 G90 G0 Z100 T1 D1
N010 X-70 Y-50
N015 M03 S1000 F500 Z-10
N020 G41 Y-20
N025 G1 Y70 RND=5
N030 G1 X-40 RND=5
N035 G3 ×0 CR=20 RND=5
N040 G3 ×40 CR=20 RND=5
N045 G1×70 RND=5
N050 G1 Y-30
N055 M30
程序中用RND=5的格式表示轮廓拐点处用半径R5的圆弧过渡处理,并与相关的直线或圆弧相切连接,数控系统自动运算各个切点的坐标,程序中不需写入切点的坐标。而用G2和G3指令编写各处R5圆弧就必须计算各个切点的坐标(共10个点),还多了五条程序。
2、CT指令完成直线和圆弧或圆弧和圆相切边接
CT指令的含义是:经过一段直线或圆弧的结束点P1和另一个指定点P2生成一段圆弧并且和前面的直线或圆弧在P1点处相切,数控系统自动运算圆弧半径CT指令是模态的。
参照图2 加工内容为底边外的其余轮廓,所用程序如下:
N005 G54 G90 G0 Z100 T1 D1
N010 X-90 Y-120
N015 M03 S1000 F500Z-10
N020 G41Y-100
N025 G1 Y20
N030 X-60
N040 Yo
N045 CT X-20(第一个R20圆弧)
N050 X20(第二个R20圆弧)
N055 X60(第三个R20圆弧)
N060 G1 Y20
N065 G1×90
N070 Y-100
N075 M30
用CT在编制程序时只需输入切点坐标而不用写入圆弧半径,也不用判断圆弧的方向,在直线和圆弧或多段圆弧相切连接的轮廓编程时使用非常方便。
3、CT和RND指令在极坐标系中的应用
在极坐标系中用G2和G3指令编程时有一个限制,极点必须设定在所编程圆弧的中心。而用CT和RND指令就很好地克服了这一障碍。
(1)RND指令在极坐标系中的应用
参照图3在数控铣床加工4个30度的V型槽,以90度位置的V型槽为例程序如下。
N005 G54 G0 T1 D1 Z100
N010 G111 Xo YO
N015 AP=90-15 RP=110
N020 M03 S1000 F500 Z10
N025 G42 RP=100
N030 G1 RP=0 RND=10
N035 G1 RP=100
N040 M30
(2)CT指令在极坐标系中的应用。
参照图4 加工上部的3段圆弧和2段直线相切连接的部位,程序如下。
N005 G54 G90 Go Z100 T1 D1
N010 G111 XO YO
N015 AP=90-36-18 RP=150
N020 M03 S1000 F500 Z-10
N025 G42 RP=130
N030 G1 RP=142.66/2
N035 CT AP=90-18
N040 AP=90+18
N045 AP=90+18+36
N050 G1 RP=150
N055 M30
图3和图4 这两种类型的工件加工部位使用算术坐标系编程数据处理比较麻烦,在极坐标系中用G2和G3指令编程圆弧时极点必须设定在所编圆弧的中心,需要一些计算工作,而使用RND和CT指令编程圆弧时,极点就不必设定在所编圆弧的中心,极点可以设定在任意的方便数据处理的位置。图3和图4 这两种类型的工件加工部位在编程时使用极坐标且极点设定在工件中心最为方便。
二、特殊刀具补偿方法在加工扇形段导入板中的应用
1、一般的刀具补偿方法
参照图5,在数控铣上用40mm立铣刀加工60H7的槽,按照槽的边界线进行编程,使用的程序如下。
N005 G54 G90 Go Z100 T1 D1
N010 X-150 YO
N020 M03 S300 F100 Z30
N025 G42 Y30
N030 G1×150
N035 Y-30
N040 X-150
N050 M30
实际加工中要经过粗加工、半精加工和精加工运行三次程序,对应的半径补偿值先大后小分别是22mm,20.5mm,20mm(理念值,最终的半径补偿值要经过实际测量确定)。
2、特殊的刀具补偿方法
参照图5,在数控铣床上40mm立铣刀加工60H7的槽,按照中心线进行编程,使用的程序如下。
N005 G54 G90 GO Z100 T1 D1
N010 X-150 YO
N020 M03 S300 F100 Z30
N025 G42 X-140
N030 G1 X150
N035 GO Z100
N040 G40 X-150
N050 Z30
N055 G41 X-140
N060 G1 X150
N065 GO Z100
N070 M30
实际加工中要经过粗加工、半精加工和精加工运行三次程序,对应的半径补偿先小后大分别是8mm、9.5mm,10mm(理论值,最终的半径补偿值要经过实际测量后确定),最终的半径补偿理论值=槽的宽度/2-刀具半径。在程序中分别用G41和G42激活两次刀补,增加了一次空行程,这种使用刀具半径补偿的方式在加工一般类型的工件时显得很麻烦,但是在加工特定类型的工件时使用这种方法就会使编程工作变得非常简单。
3、在加工扇形段导入板中的应用
在一些比较特殊槽体的加工中,图纸中只标注槽的宽度、深度和中心线的形状尺寸,针对这一类型的工件,按照中心线进行编程,加工中应用特殊的刀具补偿方法。
参照图6,这是我公司薄板厂连铸设备中使用的扇形段导入板,它是扇形段导入装置中的关键零件。用Tk6920数控锉铣床的加工七条128×44mm导入槽。该工件的七条导入槽是由多段圆弧和直线相切连接构成,图纸中只标注了槽的宽度、深度和中心线的形状尺寸,以上部第一个导入槽为例说明特殊的刀具补偿使用方法,按照中心线进行编程。
程序名称:CA01
程序内容:N5 G54 G90 G64 GO Wo Z150 T1 D1(调用第一个刀号)
N10 G111 XO YO
N15 X=-1804-100 Y=464.424
N20 M04 S250 F200 Z-44
N25 G41 X=IC(50)(激活刀补开始加工槽体的上边界)
N30 G1 X=-1804+920.617
N35 CT AP=90-16.03 RP=1499.5
N40 G1 AP=90-16.03 RP=1499.5+100
N45 GO G40 X=IC(100)Z150
N50 X=-1804-100 Y=464.424 T1 D2(调用第二个刀号)
N55 G42 X=IC(50)(激活刀补开始加工槽体的下边界)
N60 G1 X=-1804+920.617
N65 CT AP=90-16.03 RP=1499.5
N70 G1 AP90-16.03 RP=1499.5+100
N75 GO G40 X=IC(100)Z150
N80 M30
槽的宽度和中心线不对称,程序中用了两个刀号,加工槽体的上边界时用D1,加工槽体的下边界是时用D2,实际加工中用50mm铣刀要经过粗加工、半精加工和精加工运行三次程序,对应的半径补偿值先小后大分别是D1=100mm,12mm,12.5mm,D2=13mm,15mm,15.5mm.如果使用一般的刀具补偿使用方法,按照槽的边界线进行编程,就要计算槽的边界线中各段圆弧和直线切点的坐标以及各段圆弧的半径,计算量是非常大的。而按照中心线进行编程就可直接使用力纸上标注的尺寸,避免了大量、繁琐的数据计算工作,保证了程序中所用数据的准确性,极大的提高了编程效率。
其方法有两个特殊:
(1)按照中心线进行编程而不是按照真实的加工边界线进行编程。
(2)刀具补偿值按照粗加工、半精加工和精加工的顺序逐渐加大,理论补偿值二加工的边界到中心线的距离--刀具半径。优点是直接使用图纸上标注的尺寸进行编程,保证了程序中所用数据的准确性,不需进行大量繁琐的数据计算工作。
第三篇:数控铣床椭圆形加工宏程序的编程实例
数控铣床椭圆形加工宏程序的编程实例
实际应用中经常会遇到各种各样的椭圆形加工特征。在现今的数控系统中,无论硬件数控系统,还是软件数控系统,其插补的基本原理是相同的,只是实现插补运算的方法有所区别。常见的是直线插补和圆弧插补,没有椭圆插补,手工常规编程无法编制出椭圆加工程序,常需要用电脑逐一编程,但这有时受设备和条件的限制。这时可以采用拟合计算,用宏程序方式,手工编程即可实现,简捷高效,并且不受条件的限制。加工椭圆形的半球曲面,刀具为R8的球铣刀。利用椭圆的参数方程和圆的参数方程来编写宏程序。
椭圆的参数方程为:X=A*COS&;
其中,A为椭圆的长轴,B为椭圆的短轴。
编制参考宏程序如下:
%00518
#1=0
#2=20
#3=30
#4=1
#5=90
WHILE #5 GE #1 DO1
#6=#3*COS[#5*PI/180]+4
#7=#2*SIN[#5*PI/180]
G01X[#6]F800
Z[#7]
#8=360
#9=0
WHILE #9 LE #8 DO2
#10=#6*COS[#9*PI/180]
#11=#6*SIN[#9*pi/180]*2/3
G01X[#10]Y[#11]F800
#9=#9+1(计数器)
END1
#5=#5-#4(计数器)
END2
M99
Y=B*COS&;
第四篇:数控铣床宏程序编程 经典
变量
普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。#1=#2+100 G01 X#1 F300 说明:
变量的表示
计算机允许使用变量名,用户宏程序不行。变量用变量符号(#)和后面的变量号指定。例如:#1 表达式可以用于指定变量号。此时,表达式必须封闭在括号中。例如:#[#1+#2-12]
变量的类型
变量根据变量号可以分成四种类型
变量号 变量类型 功能
#0 空变量 该变量总是空,没有值能赋给该变量.#1-#33 局部变量局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空.调用宏程序时,自变量对局部变量赋值, #100-#199 #500-#999 公共变量公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失.#1000 系统变量 系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置和补偿值.变量值的范围
局部变量和公共变量可以有0值或下面范围中的值:-1047到-10-29或-10-2到-1047 如果计算结果超出有效范围,则发出P/S报警NO.111.小数点的省略
当在程序中定义变量值时,小数点可以省略。
例:当定义#1=123;变量#1的实际值是123.000。
变量的引用
为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在括号中。
例如:G01X[#1+#2]F#3;被引用变量的值根据地址的最小设定单位自动地舍入。例如: 当G00X#/;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346.改变引用变量的值的符号,要把负号(-)放在#的前面。例如:G00X-#1 当引用未定义的变量时,变量及地址都被忽略。
例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1 Y#2的执行结果为G00X0。
双轨迹(双轨迹控制)的公共变量
对双轨迹控制,系统为每一轨迹都提供了单独的宏变量,但是,根据参数N0.6036和6037的设定,某些公共变量可同时用于两个轨迹。
未定义的变量
当变量值未定义时,这样的变量成为空变量。变量#0总是空变量。它不能写,只能读。
引用
当引用一个未定义的变量时,地址本身也被忽略。当#1=<空> 当#1=0 G90 X100 Y#1 G90 X100 G90 X100 Y#1 G90 X100 Y0
(b)运算
除了用<空>赋值以外,其余情况下<空>与0相同。
当#1=<空>时 当#1=0时
#2=#1 #2=<空> #2=#1 #2=0
#2=#*5 #2=0 #2=#*5 #2=0
#2=#1+#1 #2=0 #2=#1+#1 #2=0
(c)条件表达式
EQ和NE中的<空>不同于0。当#1=<空>时 当#1=0时
#1EQ#0 成立 #1EQ#0 不成立
#1 NE #0 成立 #1 NE #0 不成立
#1 GE #0 成立 #1 GE #0 不成立
#1 GT #0 不成立 #1 GT #0 不成立
限制
程序号,顺序号和任选程序段跳转号不能使用变量。例:下面情况不能使用变量: 0#1;
/#2G00X100.0;N#3Y200.0;
二 算术和逻辑运算
下面表中列出的运算可以在变量中执行。运算符右边的表达式可包含常量和或由函数或运算符组成的变量。表达式中的变量#j和#k可以用常数赋值。左边的变量也可以用表达式赋值。
功能 格式 备注 定义 #i=#j 加法
减法
乘法
除法 #i=#j+#k;
#i=#j-#k;
#i=#j*#k;
#i=#j/#k;正弦
反正弦
余弦
反余弦
正切
反正切 #i=sin[#j;
#i=asin[#j];
#i=cos[#j];
#i=acos[#j];
#i=tan[#j]
#i=atan[#j]/[#k] 角度以度指定,90o30'表示为90.5度。平方根
绝对值
舍入
上取整
下取整
自然对数
指数函数 #i=SQRT[#j];
#i=ABS[#j];
#i=ROUNG[#j];
#i=FIX[#j];#i=FUP[#j];
#i=LN[#j];
#i=EXP[#j];或
异或
与
#i=#jOR#k;
#i=#jXOR#k;
#i=#jAND#k;逻辑运算一位一位地按二进制数执行。从BCD转为BIN
从BIN转为BCD #i=BIN[#j];
#i=BCD[#j];用于与PMC的信号交换。
说明:
角度单位
函数SIN ,COS,ASIN,ACOS,TAN和ATAN的角度单位是度。如90°30’表示为90.5度。ARCSIN # i= ASIN[#j](1)取值范围如下:
当参数(NO.6004#0)NAT位设为0时,270°~90° 当参数(NO.6004#0)NAT位设为1时,-90°~90°
(2)当#j超出-1到1的范围时,发出P/S报警NO.111.(3)常数可替代变量#j
ARCCOS #i=ACOS[#j] 取值范围从180°~0° 当#j超出-1到1的范围时,发出P/S报警NO.111.常数可替代变量#j
三 程序举例
铣椭圆:
轨迹:
椭圆程序代码如下:
N10 G54 G90 G0 S1500 M03 N12 X0 Y0 Z20.N14 G0 Z1 N16 G1 Z-5.F150.N18 G41 D1 N20 #1=0 N22 #2=34 N24 #3=24 N26 #4=#2*COS[#1] N28 #5=#3*SIN[#1] N30 #10=#4*COS[45]-#5*SIN[45] N32 #11=#4*SIN[45]+#5*COS[45] N34 G1 X#10 Y#11 N36 #1=#1+1 N38 IF [#1 LT 370] GOTO26 N40 G40 G1 X0 Y0 N42 G0 Z100 N44 M30
铣矩形槽:
铣矩形槽代码如下: #102=0.N3#100=0.#101=0.#103=200.#104=400.G91G28Z0.G0G90G54X0.Y0.G43H1Z20.M3S2000.N4G0X#100Y#101 G01Z#102F200.#102=#102-2.IF[#102EQ-50.]GOTO1 GOTO2 N2 N4X#104F500.Y#103 X#100 Y#101 #100=#100+10.#101=#101+10.#103=#103-10.#104=#104-10.IF[#100EQ100.]GOTO3 GOTO4 N3 N1 M5 M9 G91G28Z0.G28Y0.M30
铣倾斜3度的面:
轨迹:
铣倾斜3度的面的代码如下: O0001 #[#1+1*2]=1 G65P9012L1A0B0.1C4I100J3K0 M30
宏程序O9012代码如下: G54 G90 G00 X[#3] Y0 Z100 S500 M3 G01 Z0 F300 WHILE[#1LE10]DO1 #7= #1/TAN[#5]+#3 G1Z-#1 X#7 #8=#6/2-ROUND[#6/2] IF[#8EQ0]GOTO10 G1Y0 GOTO20 N10 Y#4 N20#1=#1+#2 #6=#6+1 END1 G0 Z100
铣半球:
轨迹:
铣半球代码如下:
G90G0G54X-10.Y0M3S4500 G43Z50.H1M8 #1=0.5 WHILE[#1LE50.]DO1 #2=50.-#1 #3=SQRT[2500.-[#2*#2]] G1Z-#1F20 X-#3F500 G2I#3 #1=#1+0.5 END1 G0Z50.M5 M30
铣喇叭:
铣喇叭代码如下: M03 S500 M06 T01 #1=0 #2=0 G0 Z15 X150 Y0 N11 #2=30*SIN[#1] #3=30+30*[1-COS[#1]] G01 Z-#2 F40 G41 X#3 D01 G03 I-#3 G40 G01 X150 Y0 #1=#1+1 IF [#1 LE 90] GOTO 11 G0 Z30 M30
第五篇:数控机床编程英语
1)计算机数值控制(Computerized Numerical Control, CNC)用计算机控制加工功能,实现数值控制。
2)轴(Axis)机床的部件可以沿着其作直线移动或回转运动的基准方向。
3)机床坐标系(Machine Coordinate Systern)固定于机床上,以机床零点为基准的笛卡尔坐标系。
4)机床坐标原点(Machine Coordinate Origin)机床坐标系的原点。
5)工件坐标系(Workpiece Coordinate System)固定于工件上的笛卡尔坐标系。
6)工件坐标原点(Wrok-piexe Coordinate Origin)工件坐标系原点。
7)机床零点(Machine zero)由机床制造商规定的机床原点。
8)参考位置(Reference Position)机床启动用的沿着坐标轴上的一个固定点,它可以用机床坐标原点为参考基准。
9)绝对尺寸(Absolute Dimension)/绝对坐标值(Absolute Coordinates)距一坐标系原点的直线距离或角度。
10)增量尺寸(Incremental Dimension)/增量坐标值(Incremental Coordinates)在一序列点的增量中,各点距前一点的距离或角度值。
11)最小输人增量(Least Input Increment)在加工程序中可以输人的最小增量单位。
12)命令增量(Least command Increment)从数值控制装置发出的命令坐标轴移动的最小增量单位。
13)插补(InterPolation)在所需的路径或轮廓线上的两个已知点间根据某一数学函数(例如:直线,圆弧或高阶函数)确定其多个中间点的位置坐标值的运算过程。
14)直线插补(Llne Interpolation)这是一种插补方式,在此方式中,两点间的插补沿着直线的点群来逼近,沿此直线控制刀具的运动。
15)圆弧插补(Circula : Interpolation)这是一种插补方式,在此方式中,根据两端点间的插补数字信息,计算出逼近实际圆弧的点群,控制刀具沿这些点运动,加工出圆弧曲线。
16)顺时针圆弧(Clockwise Arc)刀具参考点围绕轨迹中心,按负角度方向旋转所形成的轨迹.方向旋转所形成的轨迹.
17)逆时针圆弧(Counterclockwise Arc)刀具参考点围绕轨迹中心,按正角度方向旋转
所形成的轨迹。
18)手工零件编程(Manual Part Prograrnmiog)手工进行零件加工程序的编制。
19)计算机零件编程(Cornputer Part prograrnrnlng)用计算机和适当的通用处理程序以及后置处理程序准备零件程序得到加工程序。
20)绝对编程(Absolute Prograrnming)用表示绝对尺寸的控制字进行编程。
21)增量编程(Increment programming)用表示增量尺寸的控制字进行编程。
22、22)宇符(Character)用于表示一组织或控制数据的一组元素符号。
23)控制字符(Control Character)出现于特定的信息文本中,表示某一控制功能的字符。
24)地址(Address)一个控制字开始的字符或一组字符,用以辨认其后的数据。
25)程序段格式(Block Format)字、字符和数据在一个程序段中的安排。
26)指令码(Instruction Code)/机器码(Machine Code)计算机指令代码,机器语言,用来表示指令集中的指令的代码。
27)程序号(Program Number)以号码识别加工程序时,在每一程序的前端指定的编号
28)程序名(Prograo Name)以名称识别加工程序时,为每一程序指定的名称。
29)指令方式(Command Mode)指令的工作方式。