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

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

论文:

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

西北工业集团有限公司

白锋刚

2018年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以其

中心为原点,椭圆方程为 X2/a2 +Z2/b2=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、抛物线方程X2=36

20]]、这里需要注意两个象限的变化,要设计两个循环体,用控制指

令“换向”。

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

步骤5、根据流程图编制程序。注意程序的加工平面为y-

z

O1002。 G0X0Y0M8。

G54G18G90G40。 G43G0Z100H1M3S3000

T1M6。 Z5。

#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

图1—5 END 2。

G00Z200M9

M30

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

图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。

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

后,坐标系自动转换的功能

1 、五轴加工中心工作台旋转对坐标系的影响

五轴加工中心工作台可以在一个或两个方向旋转,可以加工工件的多个表面。当工件安装在工作台任一位置处上,我们找正工件基准,确定工件坐标系。当需要加工另一个表面时,工作台需要旋转一个角度,这时工件上的基准原点与工件坐标系分离。需要再次找正工件基准重新建立坐标系。如图3-1如果工件有五个表面,那么

就需要建立五个坐标系。这样的方法费时费力,对于加工形状较简单的单个工件还可以接受。图中C点、D点这样的基准点就不容易找正。型腔是空间斜角相交的零件用基准多次找正来保证空间位置精度就完全不可能了。

图3--1

我们可以用计算的方式,以工作台的回转中心为基准,计算出每次旋转工作台,工件基准相对于工作台回转中心的偏移量。用基准转移的方式建立新的工件坐标系。把这个过程用宏程序来实现,使坐标自动转换,方便准确。

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

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

序方便只须修改一个参数。而普

通程序需要修改整个粗铣程序;

<2)宏程序的程序句子较少粗铣

留量越大,宏程序的优势越明

显;<3)宏程序结构清楚比较容

易检验程序的正确性;(4>通用性强,只需

图4—2 对参数赋上合适的值,就可以用于精铣轮廓和精铣底面及侧面。只需走完一次循环即可,而不必将整个程序走

完。

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

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

下面我简要介绍开发的几个小宏程序:

1.数控车床加工不锈钢材料的深孔的宏程序

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

2.数控车床盲孔深槽的加工宏程序;

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

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

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

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

结束语

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

举例使用的数控系统都是FANC1S数控系统。S1EMENA<西门子)数控系统、HE10ENHA1N(海德汉>数控系统与FANUA数控系统的编程方法大同小异,只是参数名、地址字等计算格式上有所区别。前面举例的部分宏程序,我在HE10ENHA1N系统上应用过,并不需要结构上大改动。

新代数控车床宏程序说明

一.用户宏程序的基本概念 用一组指令构成某功能,并且象子程序一样存储在存储器中,再把这些存储的功能由一个指令来代表,执行时只需写出这个代表指令,就可以执行其相应的功能。 在这里,所存储的一组指令叫做宏程序体(或用户宏程序),简称为用户宏。其代表指令称为用户宏命令,也称作宏程序调用指令。 用户宏有以下四个主要特征: 1)在用户用户宏程序中可以使用变量,即宏程序体中能含有复杂的表达式; 2)能够进行变量之间的各种运算; 3)可以用用户宏指令对变量进行赋值,就象许多高级语言中的带参函数或过程,实参能赋值给形参; 4)容易实现程序流程的控制。 使用用户宏时的主要方便之处在于由于可以用变量代替具体数值,因而在加工同一类的工件时.只得将实际的值赋予变量既可,而不需要对每个不同的零件都编一个程序。 二.基本书写格式 数控程序文档中,一般以“%”字符作为第一行的起头,该行将被视为标题行。当标题行含有关键字“@MACRO”时整个文档就会以系统所定义的MACRO语法处理。如果该行无“@MACRO”关键词此档案就会被视为一般ISO程序文档格式处理,此时将不能编写用户宏和使用其MACRO语法。而当书写ISO程序文档时标题行一般可以省略,直接书写数控程序。“@MACRO”关键词必须是大写字母。 对于程序的注释可以采用“//……”的形式,这和高级语言C++一样。 例一:MACRO格式文档 % @MACRO //用户宏程序文档,必须包含“@MACRO”关键词 IF @1 = 1 THEN G00 X100.; ELSE G00 Z100.; END_IF; M99; 例二:ISO格式文档 % 这是标题行,可当作档案用途说明,此行可有可无 G00 X100.; G00 Z100.; G00 X0; G00 Z0; M99;

数控机床宏程序例题

由浅入深宏程序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+] 0F #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-【】坐标平移后的坐标。 #8=45+2*#5+#6 G1X[#8]Z[#7] 沿小段直线插补加工 #1=# 递减,此值越小,工件表面越光滑。 IF [#1 GE 0] GOTO 10 条件判断是否到达终点。 Z-50 G1X52 直线插补切到工件外圆之外 G0Z5 #6=#6-2 IF [#6 GE 0] GOTO 5 G0X150Z150 M5 M30

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

宏程序 裳华职业技术中专鲍新涛 宏程序概述 其实说起来宏就是用公式来加工零件的,比如说,如果没有宏的话,我们要逐点算出上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式输入到系统中然后我们给出Z坐标并且每次加10um那么宏就会自动算出X坐标并且进行切削,实际上宏在程序中主要起到的是运算作用。.宏一般分为A类宏和B类宏。 A类宏是以G65 Hxx P#xx Q#xx R#xx的格式输入的,而B类宏程序 则是以直接的公式和语言输入的和C语言很相似在0i系统中应用比较广。 宏程序的作用 数控系统为用户配备了强有力的类似于高级语言的宏程序功能,用户可以使用变量进行算术运算、逻辑运算和函数的混合运算,此外宏程序还提供了循环语句、分支语句和子程序调用语句,利于编制各种复杂的零件加工程序,减少乃至免除手工编程时进行繁琐的数值计算,以及精简程序量。 宏程序指令适合抛物线、椭圆、双曲线等没有插补指令的曲线编程;适合图形一样,只是尺寸不同的系列零件的编程;适合工艺路径一样,只是位置参数不同的系列零件的编程。较大地简化编程;扩展应用范围。 宏的分类 B类宏 由于现在B类宏程序的大量使用,很多书都进行了介绍这里我就不再重复了,但在一些老系统中,比如(FANUC)OTD系统中由于它的MDI键盘上没有公式符号,连最简单的等于号都没有,为此如果应用B类宏程序的话就只能在计算机上编好

再通过RSN-32接口传输的数控系统中,可是如果我们没有PC机和RSN-32电缆的话怎么办呢,那么只有通过A类宏程序来进行宏程序编制了,下面我介绍一下A 类宏的引用; A类宏 A类宏是用G65 Hxx P#xx Q#xx R#xx或G65 Hxx P#xx Qxx Rxx格式输入的,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加指令;格式G65 H02 P#101 Q#102 R#103,把#102的数值加上#103的数值赋予#101

数控车床宏程序编程

数控宏程序 一.什么是宏程序? 什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。宏程序具有如下些特点: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 tt作一个快速定位。其中数据25.0是固定的,引入变量后可以写成:#1=25.0 ;#1 是一个变量 G00 X[#1] ;#1 就是一个变量 宏程序中,用“ #”号后面紧跟1~4位数字表示一个变量,如#1, #50, #101,……。变 量有什么用呢?变量可以用来代替程序中的数据,如尺寸、刀补号、G指令编号……,变量的使用,给程序的设计带来了极大的灵活性。

使用变量前,变量必需带有正确的值。如 #1=25 G01 X[#1] ; 表示G01 X25 #1=-10 ; 运行过程中可以随时改变#1的值 G01 X[#1] ; 表示G01 X-10 用变量不仅可以表示坐标,还可以表示G M F、D H、MX、Y、……等各种代码后的数字。如: #2=3 G[#2] X30 ; 表示G03 X30 例1 使用了变量的宏子程序 %1000 #50=20 ; 先给变量赋值 M98 P1001 ; 然后调用子程序 #50=350 ; 重新赋值 M98 P1001 ; 再调用子程序 M30

(完整版)(整理)数控宏程序教程(车床篇)1(经典)

由浅入深宏程序1-宏程序入门基础之销轴加工对于没有接触过宏程序 人,觉得它很神秘,其实很简单,只要掌握了各类系统宏程序的基本格式,应用指令代码,以及宏程序编程的基本思路即可。 对于初学者,尤其是要精读几个有代表性的宏程序,在此基础上进行模仿,从而能够以此类推,达到独立编制宏程序的目的。本教程将分步由浅入深的将宏程序讲解给大家,作者水平有限,也希望各位同仁提供更好的思路。 下面大家先看一个简单的车床的程序,图纸如下: 要求用外圆刀切削一个短轴,这里只列举程序的前几步: O0001 T0101; M3S800 ; G0X82Z5 ; G0 X76 ;G1Z-40F0.2 ; X82; G0Z5; G0 X72 ; G1Z-40F0.2 ; X82; G0Z5; G0 X68 ;

G1Z-40F0.2 ; X82; G0Z5; G0 X68 ; G1Z-40F0.2 ; X82; G0Z5; G1Z-40F0.2 ; X82; G0Z5; G0X150Z150 ; M5; M30;从上面程序可以看出,每次切削所用程序都只是切削直径X 有变化,其他程序代码未变。因此可以将一个变量赋给X ,而在每次切削完之后,将其改变为下次切削所用直径即可。 T0101; M3S800 ; G0X82Z5 ; #1=76 ;赋初始值,即第一次切削直径 N10 G0 X[#1] ;将变量赋给X,则X 方向进刀的直径则为#1变量中实际存储值。N10是程序 G1Z-40F0.2 ;段的编号,用来标识本段,为后面循环跳转所用。 X82; G0Z5; #1=#1-4 ;每行切深为2mm ,直径方向递减4mm IF [#1GE40] GOTO 10 如果#1 >= 40 ,即此表达式满足条件,则程序跳转到N10 继续执行。 G0X150Z150 ;当不满足#1 >= 40 ,即#1<40,则跳过循环判断语句,由此句继续向后执行。M5;M30;

华中数控铣床宏程序实例

华中数控铣床宏程序实例 O0001(分开的太极) %0001 G54G00X-30Y30Z50 M03S1000 Z3 #0=4 #2=90 WHILE#2LT180 G01Z[#0*SIN[#2*PI/180]]F 200 #101=ABS[#0*COS[#2*PI/1 80]] G01G41Y9D101 X7 G02Y-9R9 G01X-7 G02Y9R9 G03X0Y20R20 G01G40X-30Y30 G41X-12Y13D101 G03X-7Y9R5 G02Y0R4.5 G03Y-9R4.5 G01G40X30Y-30 G41X12Y-3D101 G03X7Y-9R5 G02Y0R4.5 G03Y9R4.5 G01G40Y30X-30 #2=#2+1 ENDW G00Z50 M30 o0002(花) %0002 G54G00X0Y0Z50 M03S1500 Z5 G01Z0F250 #1=90 WHILE#1GE0 #2=10*COS[#1*PI/180] #3=10*SIN[#1*PI/180]-10 G18G01X[#2]Z[#3] G17G02I[-#2] #1=#1-1.5 ENDW G00Z5 X-10 #6=270 WHILE#6GE180 #7=14*COS[#6*PI/180] #8=10*SIN[#6*PI/180] #9=#7-10 #10=#7+28 #11=ABS[#9*COS[72*PI/18 0]] #12=ABS[#9*SIN[72*PI/18 0]] #13=ABS[#9*COS[144*PI/1 80]] #14=ABS[#9*SIN[144*PI/1 80]] G18G01X[#9]Z[#8] G17G03X[-#11]Y[#12]R[#1 0] X[-#13]Y[#14]R[#10] Y[-#14]R[#10] X[#11]Y[-#12]R[#10] Y0X[#9]R[#10] #6=#6-1.5 ENDW G00Z50 M30 O0003(太极倒角) %0003 G54G00x-20y60z50 M03S1500 Z5 #1=90 WHILE#1GE0 G01Z[5*SIN[#1*PI/180]-5]F 250 #101=ABS[5*COS[#1*PI/18 0]]-5 G01G41X0D101 Y42 G02Y0R21 G03Y-42R21 G01Y-60 Y-42 G02J42 Y0R21 G03Y42R21 G01Y60 G40X-20 #1=#1-1 ENDW G00Z50 M30 O0004(椭圆铣平面) %0004 G54G00X0Y0Z50 M03S1500 Z5 G01Z-3F250 #1=41 WHILE#1GE5 G01X[#1] #2=0 WHILE#2LT360 #3=#1*COS[#2*PI/180] #4=#1*4/5*SIN[#2*PI/180] G01X[#3]Y[#4] #2=#2+1 ENDW #1=#1-5 ENDW G00Z50 M30 其二 G54G00X43Y0Z50 M03S1500 Z5 G01Z-3F250 #1=43

数控铣宏程序实例

第四章数控铣宏程序实例 §4、1 椭圆加工(编程思路:以一小段直线代替曲线) 例1 整椭圆轨迹线加工(假定加工深度为2mm) 方法一:已知椭圆的参数方X=acosθ Y=bsinθ 变量数学表达式 设定θ= #1(0°~ 360° ) 那么 X= #2 = acos[#1] Y= #3= bsin[#1] 程序 O0001; S1000 M03; G90 G54 G00 Z100; G00 Xa Y0; G00 Z3; G01 Z-2 F100; #1=0; N99 #2=a*cos[#1]; #3=b*sin[#1]; G01 X#2 Y#3 F300; #1=#1+1; IF[#1LE360]GOTO99; GOO Z50; M30;

例2 斜椭圆且椭心不在原点的轨迹线加工(假设加工深度为2mm) 椭圆心不在原点的参数方程 X=a*COS[#1]+ M Y=b*SIN[#1]+ N 变量数学表达式 设定θ=#1; (0°~360°) 那么X=#2=a*COS[#1]+ M Y=#3=b*SIN[#1]+ N 因为此椭圆绕(M ,N)旋转角度为A 可运用坐标旋转指令G68 格式 G68 X - Y - R - X,Y:旋转中心坐标; R: 旋转角度 程序 O0002; S1000 M03; G90 G54 G00 Z100; GOO X0 Y0; GOO Z3; G68 XM YN R45; #1=0; N99 #2=a*COS[#1]+M; #3=b*SIN[#1]+N;

GO1 X#2 Y#3 F300; G01 Z-2 F100; #1=#1+1; IF[#1LE360]GOTO99; G69 GOO Z100; M30; 例3:椭圆轮廓加工(深度2mm) 采用椭圆的等距加工方法使椭圆的长半轴与短半轴同时减少一个行距的方法直到短半轴小于刀具的半径R 根据椭圆的参数方程可设 变量表达式θ=#1(0°~360°) a=#2 b=#3(b-R~R) X=#2*COS[#1]=#4 Y=#3*SIN[#1]=#5 程序 O0003; S1000 M03; G90 G54 G00 Z100;

数控铣床编程实例[1]1[1]

第五节数控铣床编程实例(参考程序请看超级链接) 实例一毛坯为70㎜×70㎜×18㎜板材,六面已粗加工过,要求数控铣出如图3-23所示的槽,工件材料为45钢。 1.根据图样要求、毛坯及前道工序加工情况,确定工艺方案及加工路线 1)以已加工过的底面为定位基准,用通用台虎钳夹紧工件前后两侧面,台虎钳固定于铣床工作台上。 2)工步顺序 ①铣刀先走两个圆轨迹,再用左刀具半径补偿加工50㎜×50㎜四角倒圆的正方形。 ②每次切深为2㎜,分二次加工完。 2.选择机床设备 根据零件图样要求,选用经济型数控铣床即可达到要求。故选用XKN7125型数控立式铣床。3.选择刀具 现采用φ10㎜的平底立铣刀,定义为T01,并把该刀具的直径输入刀具参数表中。 4.确定切削用量 切削用量的具体数值应根据该机床性能、相关的手册并结合实际经验确定,详见加工程序。5.确定工件坐标系和对刀点 在XOY平面内确定以工件中心为工件原点,Z方向以工件表面为工件原点,建立工件坐标系,如图2-23所示。 采用手动对刀方法(操作与前面介绍的数控铣床对刀方法相同)把点O作为对刀点。 6.编写程序 按该机床规定的指令代码和程序段格式,把加工零件的全部工艺过程编写成程序清单。 考虑到加工图示的槽,深为4㎜,每次切深为2㎜,分二次加工完,则为编程方便,同时减少指令条数,可采用子程序。该工件的加工程序如下(该程序用于XKN7125铣床): N0010 G00 Z2 S800 T1 M03 N0020 X15 Y0 M08 N0030 G20 N01 P1.-2 ;调一次子程序,槽深为2㎜ N0040 G20 N01 P1.-4 ;再调一次子程序,槽深为4㎜ N0050 G01 Z2 M09

数控铣宏程序实例

第四章 数控铣宏程序实例 §4.1 椭圆加工(编程思路:以一小段直线代替曲线)例1 整椭圆轨迹线加工(假定加工深度为2mm) 方法一:已知椭圆的参数方X=acosθ Y=bsinθ 变量数学表达式 设定θ= #1(0°~ 360°) 那么 X= #2 = acos[#1] Y= #3= bsin[#1] 程序 O0001; S1000 M03; G90 G54 G00 Z100; G00 Xa Y0; G00 Z3; G01 Z-2 F100; #1=0; N99 #2=a*cos[#1]; #3=b*sin[#1]; G01 X#2 Y#3 F300; #1=#1+1; IF[#1LE360]GOTO99; GOO Z50; M30;

例2 斜椭圆且椭心不在原点的轨迹线加工(假设加工深度为2mm ) 椭圆心不在原点的参数方程 X=a*C OS [#1]+ M Y=b*SIN [#1]+ N 变量数学表达式 设定θ=#1; (0°~360°) 那么X=#2=a*C OS [#1]+ M Y=#3=b*SIN [#1]+ N 因为此椭圆绕(M ,N )旋转角度为A 可运用坐标旋转指令G68 格式 G68 X - Y - R - X,Y :旋转中心坐标; R: 旋转角度 程序 O0002; S1000 M03; G90 G54 G00 Z100; GOO X0 Y0; GOO Z3; G68 XM YN R45; #1=0; N99 #2=a*COS [#1]+M;

#3=b*SIN[#1]+N; GO1 X#2 Y#3 F300; G01 Z-2 F100; #1=#1+1; IF[#1LE360]GOTO99; G69 GOO Z100; M30; 例3:椭圆轮廓加工(深度2mm) 采用椭圆的等距加工方法使椭圆的长半轴和短半轴同时减少一个行距的方法直到短半轴小于刀具的半径R 根据椭圆的参数方程可设 变量表达式θ=#1(0°~360°) a=#2 b=#3(b-R~R) X=#2*COS[#1]=#4 Y=#3*SIN[#1]=#5 程序 O0003; S1000 M03;

数控铣宏程序实例(DOC)

数控铣宏程序实例(DOC)

数控铣宏程序实例 §4.1 椭圆加工(编程思路:以一小段直线代替曲线)例1:整椭圆轨迹线加工(假定加工深度为2mm) 方法一:已知椭圆的参数方X=acosθ Y=bsinθ变量数学表达式 设定θ= #1(0°~ 360°) 那么 X= #2 = acos[#1] Y= #3= bsin[#1] 程序 O0001; S1000 M03; G90 G54 G00 Z100; G00 Xa Y0; G00 Z3; G01 Z-2 F100; #1=0; N1 #2=a*cos[#1]; #3=b*sin[#1]; G01 X#2 Y#3 F300; #1=#1+1; IF[#1LE360]GOT01; GOO Z50; M30;

例2:斜椭圆且椭心不在原点的轨迹线加工(假设加工深度为2mm) 椭圆心不在原点的参数方程 X=a*COS[#1]+ M Y=b*SIN[#1]+ N 变量数学表达式 设定θ=#1; (0°~360°) 那么X=#2=a*COS[#1]+ M Y=#3=b*SIN[#1]+ N 因为此椭圆绕(M ,N)旋转角度为A 可运用坐标旋转指令G68 格式 G68 X - Y - R - X,Y:旋转中心坐标; R: 旋转角度 程序 O0002; S1000 M03; G90 G54 G00 Z100; GOO Xa+M YN; GOO Z3; G68 XM YN R45; #1=0; N99 #2=a*COS[#1]+M; #3=b*SIN[#1]+N; GO1 X#2 Y#3 F300; G01 Z-2 F100; #1=#1+1; IF[#1LE360]GOTO99; G69 ; GOO Z100; M30;

数控铣床编程实例及答案

数控铣床练习题一 答案: 铣床程序1 O1 N1 G90 N2 G54 N3 G17 N4 T03 M06 N5 G00 X0.0 Y0.0 M03 S1000 N6 G43 H03 Z100.0 N7 G00 X-50.0 Y-100.0 N8 G01 Z-7.0 F100 N9 G01 Y100.0 N10 G00 Z100.0 N11 G00 X50.0 Y-100.0 N12 G00 Z-3.0 F100 N13 G01 Y100.0 N14 G00 Z100.0 N15 G49 N16 G00 X0.0 Y0.0 N17 T10 M06 N18 G43 H10 Z100.0 N19 G81 G98 X-50.0 Y-30.0 R5.0 Z-18.0 F100 N20 Y0.0 N21 Y30.0

N22 X50.0 N23 Y0.0 N24 Y-30.0 N25 G80 N26 G49 N27 G00 X0.0 Y0.0 N28 M05 N29 M30 立体仿真图片

数控练习题二

答案: 铣床程序2: O2 N1 G90 N2 G54 N3 G17 N4 T04 M06 N5 G00 X0.0 Y0.0 M03 S1000 N6 G43 H04 Z100.0 N7 G00 X65.0 Y-50.0 N8 G01 Z-8.0 N9 G41 D04 Y-30.0 F200 N10 G03 X50.0 Y8.0 R50.0 N11 G01 X18.089 Y13.153 N12 G02 X8.0 Y25.0 R12.0 N13 G01 Y30.0 N14 G03 X8.0 Y60.0 R20.0 N15 G01 Y74.972 N16 G01 X50.0 Y82.0 N17 G01 X99.233 N18 G02 X99.233 Y8.0 R60.0 N19 G01 X50.0 N20 G40 N21 G01 X0.0 N22 G01 Y90.0 N23 G01 X120.0 N24 G01 Y0.0 N25 G01 X0.0 N26 G00 Z100.0 N27 G49 N28 T09 M06 N29 G00 X0.0 Y0.0 M03 S1000 N30 G43 H09 Z100.0 N31 G81 G98 X40.0 Y45.0 R5.0 Z-10.0 F200 N32 X65.0 N33 X90.0 N34 G80 N35 G00 Z100.0 N36 G49 N37 T58 M06 N38 G00 X0.0 Y0.0 M03 S1000 N39 G43 H58 Z100.0 N40 G81 G98 X40.0 Y45.0 R5.0 Z-10.0 F200 N41 X65.0

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

论文: 数控机床宏程序编程的技巧和实例 西北工业集团有限公司 白锋刚 2018年8月11日 前言 随着工业技术的飞速发展,产品形状越来越复杂,精度要求越来越高,产品更新换代越来越快,传统的设备已不能适应新要求。现在我国的制造业中已广泛地应用了数控车床、数控铣床、加工中心机床、数控磨床等数控机床。这些先进设备的加工过程都需要由程序来控制,需要由拥有高技能的人来操作。要发挥数控机床的高精度、高效率和高柔性,就要求操作人员具有优秀的编程能力。 常用的编程方法有手工编程和计算机编程。计算机编程的应用已非常广泛。与手工编程比较,在复杂曲面和型腔零件编程时效率高、 质量好。因此,许多人认为手工编程已不再重要,特别是比较难的宏程序编程也不再需要。只须了解一些基本的编程规则就可以了。这样的想法并不能全面。因为,计算机编程也有许多不足:1、程序数据量大,传输费时。2、修改或调整刀具补偿需要重新后置输出。 3、打刀或其他原因造成的断点时,很难及时复位。 手工编程是基础能力,是数控机床操作编程人员必须掌握的一种编程方法。手工编程能力是计算机编程的基础,是刀具轨迹设计

,轨迹修改,以及进行后置处理设计的依据。实践证明,手工编程能力强的人在计算机编程中才能速度快,程序质量高。 在程序中使用变量,通过对变量进行赋值及处理使程序具有特殊功能,这种有变量的程序叫宏程序。宏程序是数控系统厂家面向客户提供的的二次开发工具,是数控机床编程的最高级手工方式。合理有效的利用这个工具将极大地提升机床的加工能力。 作为一名从事数控车床、数控铣床、加工中心机床操作编程二十多年的技师,在平时的工作中,常常用宏程序来解决生产中的难题,因此对宏程序的编程使用积累了一些经验。在传授指导徒弟和与同事探讨中,总结了许多学习编制宏程序应注意的要点。有关宏编程的基础知识在许多书籍中讲过,我们在这里主要通过实例从编制技巧、要点上和大家讨论。 一、非圆曲面类的宏程序的编程技巧 1、非圆曲面可以分为两类; <1)、方程曲面,是可以用方程描述其零件轮廓的曲面的。如 抛物线、椭圆、双曲线、渐开线、摆线等。这种曲线可以用先求节点,再用线段或圆弧逼近的方式。以足够的轮廓精度加工出零件。选取的节点数目越多,轮廓的精度越高。然而节点的增多,用普通手工编程则计算量就会增加的非常大,数控程序也非常大,程序复杂也容易出错。不易调试。即使用计算机辅助编程,其数据传输量也非常大。而且调整尺寸补偿也很不方便。这时就显出宏程序的优势了,常常只须二、三十句就可以编好程序。而且理论上还可以根

数控铣床宏程序编程 经典

变量 普通加工程序直接用数值指定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; 被引用变量的值根据地址的最小设定单位自动地舍入。 例如:

华中数控车宏程序修订稿

华中数控车宏程序 WEIHUA system office room 【WEIHUA 16H-WEIHUA WEIHUA8Q8-

华中数控宏程序 一.什么是宏程序? 什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。宏程序具有如下些特点: 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 上面的程序在X轴作一个快速定位。其中数据是固定的,引入变量后可以写成: #1= ;#1是一个变量 G00 X[#1] ;#1就是一个变量 宏程序中,用“#”号后面紧跟1~4位数字表示一个变量,如#1,#50, #101,……。变量有什么用呢?变量可以用来代替程序中的数据,如尺寸、刀补号、G指令编号……,变量的使用,给程序的设计带来了极大的灵活性。 使用变量前,变量必需带有正确的值。如 #1=25 G01 X[#1] ;表示G01 X25 #1=-10 ;运行过程中可以随时改变#1的值 G01 X[#1] ;表示G01 X-10 用变量不仅可以表示坐标,还可以表示G、M、F、D、H、M、X、Y、……等各种代码后的数字。如: #2=3 G[#2] X30 ;表示G03 X30 例1 使用了变量的宏子程序。 %1000 #50=20 ;先给变量赋值 M98 P1001 ;然后调用子程序 #50=350 ;重新赋值

数控铣宏程序实例

第四章数控铣宏程序实例 §4.1 椭圆加工(编程思路:以一小段直线代替曲线) 例1 整椭圆轨迹线加工(假定加工深度为2mm) 方法一:已知椭圆的参数方X=acosθ Y=bsinθ 变量数学表达式 设定θ= #1(0°~ 360°) 那么 X= #2 = acos[#1] Y= #3= bsin[#1] 程序 O0001; S1000 M03; G90 G54 G00 Z100; G00 Xa Y0; G00 Z3; G01 Z-2 F100; #1=0; N99 #2=a*cos[#1]; #3=b*sin[#1]; G01 X#2 Y#3 F300; #1=#1+1; IF[#1LE360]GOTO99; GOO Z50; M30;

例2 斜椭圆且椭心不在原点的轨迹线加工(假设加工深度为2mm) 椭圆心不在原点的参数方程 X=a*COS[#1]+ M Y=b*SIN[#1]+ N 变量数学表达式 设定θ=#1; (0°~360°) 那么X=#2=a*COS[#1]+ M Y=#3=b*SIN[#1]+ N 因为此椭圆绕(M ,N)旋转角度为A 可运用坐标旋转指令G68 格式 G68 X - Y - R - X,Y:旋转中心坐标; R: 旋转角度 程序 O0002; S1000 M03; G90 G54 G00 Z100; GOO X0 Y0; GOO Z3; G68 XM YN R45; #1=0; N99 #2=a*COS[#1]+M; #3=b*SIN[#1]+N;

GO1 X#2 Y#3 F300; G01 Z-2 F100; #1=#1+1; IF[#1LE360]GOTO99; G69 GOO Z100; M30; 例3:椭圆轮廓加工(深度2mm) 采用椭圆的等距加工方法使椭圆的长半轴和短半轴同时减少一个行距的方法直到短半轴小于刀具的半径R 根据椭圆的参数方程可设 变量表达式θ=#1(0°~360°) a=#2 b=#3(b-R~R) X=#2*COS[#1]=#4 Y=#3*SIN[#1]=#5 程序 O0003; S1000 M03; G90 G54 G00 Z100;

数控车宏程序

数控宏程序 FANUC 数控车

第一章编程代码----------------------------------------------------------1 1.准备功能G------------------------------------------------------------1 2.辅助功能M-----------------------------------------------------------6 第二章用户宏程序-------------------------------------------------------7 1. 运算符号---------------------------------------------------------------7 2.转移和循环-----------------------------------------------------------7 3.运算指令--------------------------------------------------------------8第三章宏程序编程------------------------------------------------------11 1.车V型圆锥- --------------------------------------------------------11 2.车U圆弧-------------------------------------------------------------12 3.方程曲线车削加工-------------------------------------------------13 5.车梯形螺纹36×6--------------------------------------------------14 6.蜗杆-------------------------------------------------------------------15 7.加工多件--------------------------------------------------------------17 第四章自动编程---------------------------------------------------------------21 1.UG建模--------------------------------------------------------------------21 2.创建几何体----------------------------------------------------------------24 附录--------------------------------------------------------------------------29

980TDb宏程序

可以的,它有A类和B类宏程序的功能。不过它的宏程序功能和法拉克比还是差一些。它不能进行直接的运算比如G0 z[#100+#102]它这个是执行不了的,需要提前把这个结果运算出来。比如#103=#100+#102;后G0z#103 数控车床宏程序与数控车模拟精灵 《二》FANUC B类宏程序与GSK980TDb的语句式宏代码 本文介绍FANUC B类宏程序(FANUC Oi系列)及GSK980TDb的语句式宏代码;这类宏程序的表达方式更为灵活并且直观:使用人们所熟悉的等号(=)与加减乘除(+-*/)等运算符组成表达式直接给变量赋值;在条件表达式中使用英文单词缩写GE、GT、LE、LT。EQ、NE来表示大于等于、大于、小于等于、小于、等于、不等于;使用英语单词IF、WHILE 来表示条件与循环; (一)关于变量、变量赋值与表达式 变量代号还是用#***来表示一个变量,980TDb 的公用变量使用范围是:#100-#199,#500-#999(前者为失电不保持,后者为失电保持,);局部变量范围是#1-#33。FANUC Oi 系列的变量范围与此相同。(数控车模拟精灵只使用#0-#199号变量;大于199号的变量不支持,并且不区分局部变量或公共变量) 当用变量值来表示坐标时,均以毫米为单位,表示角度则以度为单位。 FANUC Oi系列宏程序及GSK980TDb的语句式宏代码可以直接使用常数通过等号“=”给变量赋值,也可以使用表达式给变量赋值,表达式中可以使用以下各项的组合:宏变量、函数、常数、加减乘除(+-*/)运算符、括号;计算规则符合人们熟悉的数学计算规则(例如先括号内后括号外,先乘除后加减等)。 (二)函数: FANUC Oi 及GSK980TDb支持的函数达十多个,但常用的不多,数控车模拟精灵只对其中常用的一些函数给予支持: 三角函数:正弦SIN、余弦COS、正切TAN、反正切ATAN; 开平方:SQRT 函数的自变量可以是常数、已赋值的宏变量或表达式,自变量可用方括号[ ]括住。 (三)条件转移:(IF [条件表达式] GOTOn 及IF [条件表达式] THEN) IF [条件表达式] GOTOn 条件表达式比较结果为真(满足条件),则跳转到目标程序段(以n为程序段号的程序段)运行,条件表达式比较结果为假(不能满足条件),则按正常顺序往下运行。 也可以是单纯的GOTOn,则为无条件转移,即无条件跳转到以n为程序段号的程序段。 IF [条件表达式] THEN 跟在IF后面的是一个宏语句(一般是一个宏变量赋值语句),条件表达式比较结果为真(满足条件),则执行这个宏语句,否则,不执行这个宏语句。 (四)循环(WHILE [条件表达式] DOn………ENDn) 条件表达式比较结果为真(满足条件)时,循环执行DOn至ENDn之间的程序段;条件表

数控车宏程序培训教程

宏程序培训教程 Fanuc系统 铣削类 周为鑫 09年9月

宏程序的定义: 宏程序简言之就是:宏编程,它是一种零件的编程方法,该方法是在标准CNC编程方式的基础上附加控制特征,以使功能更强大、更具有灵活性。

宏程序的应用 1、凡是复杂有规律的零件比较适合使用宏程序,例如复杂的二次曲线。 2、相似零件组、偏执控制、定制固定循环、专用G代码和M代码、非标准刀具的运动、报警信息产生、检测和测量、各种捷径和应用。

宏程序与标准CNC编程的区别标准编程宏程序编程 使用定值编程使用变量代替定 值 定值之间不可以运 算变量之间可以运 算 程序是按照顺序执 行程序可以任意跳 转

什么是变量? 变量是不断变化的数据的存储单元,它可以储存某些 给定的数值,当给变量赋值时就相当于把数值存入 变量中,方便以后使用。 储存到变量的中数称之为定义值或定义变量。 给变量储存数值的过程称之为赋值。 标准CNC编程都是跟一个确定的数值,在程序中直观、简单、易懂,宏程序编程不直接用定值,而是用一 个变量符号代替数值,当需要这个数值时就直接把 这个变量写在程序里面,起到一个等价交换的作用。例如:#1=100 G01 X#1 F90. #1就是起到等价连接作用

变量的基础知识 变量的表示:变量符号+变量号 Fanuc、哈斯、三菱、马扎克日系类都是用: #西门子802s、802Dsl、840D、810D都是用:R PA系统使用:P 海德汉系统使用:Q # i(i=0、1、2、3、4、5……) #0 #1 #2 #3 #4…… 拓展:表达式也可以用于指定变量号,此时表达 式必须封闭在括号内 例如# [ #1+ #2 –12 ] 括号的要求:西门子用小括号() Fanuc 用中括号[ ]

数控宏程序实例

第7章宏程序 7.3 宏程序调用 7.3.1 宏程序调用指令(G65) 在主程序中可以用G65调用宏程序。指令格式如下: G65 P L 〈自变量赋值〉; 其中:P指定宏程序号:L为重复调用次数(1—9999);自变量赋值是由地址和数值构成的,用以对宏程序中的局部变量赋值。 例如: 主程序: O7002 ... G65 P7100 L2 A1.0 B2.0 ... M30 宏程序: #3=#1+#2; IF [#3 GT 360] GOTO 9; G00 G91 X#3 N9 M99

7.3.2 自变量赋值 自变量赋值有两种类型。自变量I使用除去G,L,N,O,P以外的其他字母作为地址,自变量II可以使用A,B,C每个字母一次,I,J,K每个字母可使用十次作为地址。表7—3和7—4分别为两种类型自变量赋值的地址和变量号码之间的对应关系: 表7—3 自变量赋值的地址和变量号码之间的对应关系 表7—4 自变量II的地址与变量号码之间的对应关系

上表中的I,J,K的下标只表示顺序,并不写在实际命令中。在G65的程序段中,可以同时使用表4—1及表4—2中的两组自变量赋予值。系统可以根据使用的字母自动判断自变量赋值的类型。 7.4 变量的控制和运算指令 7.4.1 算术运算和逻辑运算 在变量之间,变量和常量之间,可以进行各种运算,常用的见表7—5。

表7—5 算术和逻辑运算 运算的优先顺序如下: 1)函数。 2)乘除,逻辑与。 3)加减,逻辑或,逻辑异或。 可以用[ ]来改变顺序

7.4.2 控制指令 1.无条件转移(GOTO语句) 语句格式为: GOTO n 其中n为顺序号(1—9999),可用变量表示。例如: GOTO 1; GOTO #10; 2. 条件转移(IF 语句) 语句格式为: IF [条件式] GOTO n 条件式成立时,从顺序号为n的程序段开始执行;条件式不成立时,执行下一个程序段。 条件式有以下几类: # j EQ # K # j NE # K # j GT # K # j LT # K # j GE # K # j LE # K 条件式中变量#J或#K可以是常量也可以是表达式,条件式必须用括弧括起来。下面的程序可以得到1到10的和: O7100

相关文档
最新文档