FANUC宏程序使用举例

FANUC宏程序使用举例
FANUC宏程序使用举例

FANUC宏程序使用举例

单轴外圆数控磨床,径向采用数控轴(X轴)控制,轴向仍用液压油缸驱动,因此无法使用两轴磨床数控系统提供的磨削循环功能。在实践中,可以使用FANUC系统提供的用户宏程序,编制单轴的磨削循环功能。根据机床的具体结构,又编制了砂轮手动修整、自动补偿及手动测量工件、自动补偿的控制功能。在青海重型机床厂生产的CA8311B轴颈车磨床上,经过一年多的生产使用,证明是实用的。下面分别介绍软件的内容。

1功能介绍

1.1外圆磨削循环

由于只有径向控制轴(X轴),无法实现连续进给磨削,只能实现两端进给的轴向磨削循环。因此在左右两端各设1个轴向行程识别开关(如图1所示)。

当砂轮移到工件的左端时,左端行程开关闭合,发出到位信号,程序中用接口输入变量#1005=1表示。控制系统接到该信号后,发出X轴进给移动指令,砂轮前进一个A值;同理,当系统接到右端行程开关发出的到位信号,程序中用接口输入变量#1006=1表示,砂轮前进一个B值。依次循环,直到到达指令的位置。

实现给定磨削量的磨削加工,可以按A、B两值相加为一个循环,将被磨除量均分。砂轮快速移至R点,经n次(A+B)磨削之后,其剩余量为h′。若砂轮在工件左端,且h′<A时,按h′进给,否则按A值进给。若在工件右端,且h′<B值时,按h′进给,否则按B值进给。软件必须保证只在工件两端进给,中间不得进给。当磨除量变为零时,必须磨到另一端才能退砂轮。整个磨削过程分粗磨、精磨和光磨。在实际使用中,在R点设置一个暂停,操作者可以插入手动磨削,以利于修活使用,也可以再转为自动磨削。磨削初值用现在位置变量#5041取值。

1.2测量值的自动补偿

在粗磨结束后,精磨开始前插入手动测量,操作者将测量结果输入到系统中,系统根据指令值与实测值之差,对磨削量进行补偿。

是否需要测量,由面板上的开关设置,此开关状态用接口输入信号#1007输入系统。当开关接通,即信号为“1”时进行测量。当开关断开,即信号为“0”时,则不进行测量,直接进行精磨加工。当实测值与指令值相同时,可以不输入实测值,此时,系统不修正磨削量,仍按原磨削量进行磨削。如需测量,在测量之前安排光磨加工,以求与完成零件磨削的状态相同。

1.3砂轮修整量的自动补偿

根据机床采用普通金刚笔修整砂轮、手动进给、手动换向修整这样的操作,软件自动

计算修整量,并修正工件坐标原点设定值。砂轮修整之后,不需对刀,即可进行磨削加工。

在面板上设置砂轮修整开关,此开关状态用接口输入信号#1004输入系统。当修整开关合上,即信号为“1”时,执行砂轮修整服务程序。当开关断开,即信号为“0”时,系统执行磨削加工。

2软件框图

按主程序、子程序结构编制软件。

(1)主程序(O0001)见图2。

(2)砂轮修整子程序(O0020)见图3。

(3)磨削子程序(O0010)见图4。

(4)测量子程序(O0030)见图5。

3菜单编程

将磨削所需数据用系统断电不清除的宏变量表示。编程时,操作者只需把所需数据输入,不需要修改程序。零件变化时,只需改变相关尺寸数据。

具体设置如下:

#500粗磨开始点

#501粗磨结束点,即精磨开始点

#502精磨结束点,即光磨开始点,亦即零件尺寸

#503粗磨左进刀量,即第一次切深

#504粗磨右进刀量,即第二次切深

#505粗磨进刀进给速度

#506精磨左进刀量

#507精磨右进刀量

#508精磨进刀进给速度

#509光磨次数

#510工件坐标原点设定值

#511金刚笔尺寸

#514测量点设定值(系统自动设置)

#515测量点实测值(先由系统自动设置为设定值,再由操作者修改)

4程序

(1)主程序

O0001;

G98;

IF[#1004EQ 0]G0T0 10;(修砂轮开关,1:修砂轮,0:磨工件)

M98P0020;(修砂轮

N10 M98P0010;(磨工件

N20 M30;

(2)磨削子程序

O0010;

G50 X#510;(设置工件坐标原点)

G00 X[#500+1.0];(分段趋近工件)

G01 X[#500+0.6]F500;

X#500 F #505;

N30 M00;(手动磨削,手动_自动磨削,自动磨削) #9=#509;

#20=#5041;(砂轮现在位置)

N50 IF[#20 EQ #501]G0T0 110;(粗磨结束)

N60 IF[#1006 EQ 0]G0T0 60;

N70 IF[#1005 EQ 0]G0T0 70;(粗磨加工,左端进给)

IF[#20 EQ #501]G0T0 110;(粗磨左端结束)

#20=#20-#503;

IF[#20 GE #501]G0T0 80;

#20=#501;

N80 G01 X#20 F#505;

N90 IF[#1006 EQ 0]G0T0 90;(右端进给)

IF[#20 EQ #501]G0T0 110;

#20=#20-#504;

IF[#20 GE #501]G0T0 100;

#20=#501;

N100 G01 X#20 F#505;

G0T0 70;

N110 IF[#1007 EQ 0]G0T0 120;(测量开关,1:测量,0:磨工件)

M98 P0030;(测量子程序)

N120 IF[#1006 EQ 0]G0T0 170;(精磨加工)

N130 IF[#1005 EQ 0]G0T0 130;(左端进给)

IF[#20 EQ #502]G0T0 180;(精磨结束)

#20=#20-#506;

IF[#20 GE #502]G0T0 140;

#20=#502

N140 G01 X#20 F#508;

N160 IF[#1006 EQ 0]G0T0 160;(右端进给)

IF[#20 EQ #502]G0T0 190;(精磨结束)

#20=#20-#507;

IF[#20 GE #502]G0T0 170;

#20=#502;〖ZK)〗

N170 G01 X#20 F#508;

G0T0 130;

N180 IF[#1005 EQ 0]G0T0 180;(光磨)

IF[#9 EQ 0]G0T0 200;

#9=#9-1;

N190 IF[#1006 EQ 0]G0T0 190;

IF[#9 EQ 0]G0T0 200;

#9=#9-1;

G0T0 180;

N200 G28 U1.0;

N300 M99;

(3)砂轮修整子程序

O0020;

G50 X#510;

G00 X[#511 +1.0];(砂轮分段趋近金刚笔)

G01 X[#511 +0.6]F500;

X#511 F#508;

N400 M00;(手动修整砂轮)

#21=#5041

N450 IF[#1004 EQ 1]G0T0 450;

#22=#511-#21;(计算修整量)

#510=#510+#22;(修正工件坐标原点设定值)

G28 U1.0;

M99 P20;(返回主程序,结束)

(4)测量子程序

O0030;

#19=#509;(设置光磨走刀次数)

IF[#1006 EQ 1]G0T0 510;

N500 IF[#1005 EQ 0]G0T0 500;(测量前光磨)

IF[#19 EQ 0]G0T0 520;

#19=#19-1;

N510 IF[#1006 EQ 0]G0T0 510;

IF[#19 EQ 0]G0T0 520;

#19=#19-1;G0T0 500;

N520 #514=#501;(测点设定值)

#515=#514;(预先赋值)

G28 U1.0;

N530 M00;(手动测量,实测值输入#515) N540 IF[#1007 EQ 1]G0T0 540;

G00 X[#514 +1.0];

G01 X[#514 +0.6]F500;

X#514 F#508;

IF[#515 EQ #514]G0T0 580;(不修正精磨量)

#23=#515-#514;

#510=#510+#23;(修正工件坐标原点设定值)

G50 X#515;(修正工件坐标原点) #20=#515;(修改砂轮现在位置)

N580 M99;

FANUC宏程序编程

运算符 运算符由2个字母组成,用于两个值的比较,以决定它们是相等还是一个值小于或大于另一 示例程序下面的程序计算数值1~10的总和 O9500;#1=0;………………………………….存储和的变量初值 #2=1;………………………………….被加数变量的初值 N1 IF[#2GT 10]GOTO 2;…………….当被加数大于10时转移到N2 #1=#1+#2;…………………………….计算和 #2=#2+#1;…………………………….下一个被加数 GOTO 1;………………………………转移到N1 N2 M30;................................................程序结束 算术和逻辑运算

角度单位: SIN、ASIN、COS、ACOS、TAN和A TAN的角度单位是度 ARCSIN #i=ASIN[#j]: ●取值范围如下:当参数(N0.6004¥0)NA T位设为0时,270~90度;当参数(N0.6004¥0)NA T位设为1时,-90~90度。 ●当#j超过-1到1的范围时,发出P/S报警N0.111。 ●常数可替代变量#j。 ARCCOS #i=ACOS[#j]; ●取值范围从180~0度。 ●当#j超过-1到1的范围时,发出P/S报警N0.111。 ●常数可替代变量#j。 ARCTAN #i=A TAN[#j]; ●指定两边的长度,并用斜杠(/)分开 ●取值范围如下:当参数(N0.6004¥0)NA T位设为0时,0~360度[例如:当指定 #i=A TAN[-1]/[-1];时,#1=225度]。当参数(N0.6004¥0)NA T位设为1时,-180~180度[例如:当指定#i=A TAN[-1]/[-1];时,#1=-135度] ●常数可替代变量#j。 自然对数#i=LN[#j]; ●注意,相对误差可能大于10-8。 ●当反对数(#j)为0或小于0时,发出报警N0.111。 ●常数可替代变量#j。 指数函数#i=EXP[#j]: ●注意,相对误差可能大于10-8 ●当运算结果超过3.65×1047(j大约是110)时,出现溢出报警N0.111 ●常数可替代变量#j。 上取整下取整: CNC处理数值运算时,若操作后产生整数绝对值大于原数的绝对值时为上取整;小于为下取整。例如: 假设#1=1.2,#2=-1.2。当执行#3=FUP[#1]时,2.0赋给#3;当执行#3=FIX[#1]时1.0赋给#3;当执行#3=FUP[#2]时,-2.0赋给#3;当执行#3=FIX[#2]时,-1.0赋给#3。 宏程序语句:包含算术或逻辑运算(=)的程序;包含控制语句(例如,用GOTO,DO,END)的程序;包含宏程序调用指令(例如,用G65,G66,G67或其它G代码,M代码调用宏程序)的程序段;除宏程序以外任何程序段都为NC语句。 与NC语句的不同: 即使置于单段程序运行方式,机床也不停止。但是,当参数N0.6000#5SBM设定位、为1时,在单段程序方式中,机床停止。在刀具半径补偿方式中宏程序语句段不做为移动程序段处理 与宏程序语句相同性质的NC语句: 含有子程序调用指令(例如,用M98或其它M代码或用T代码调用子程序)但没有除O,N,P或L地址之外的其它地址指令的NC语句,其性质与宏程序语句相同;不包含除O,N,P或L以外的指令地址的程序段其性质与宏程序语句相同。 无限循环; 当指定DO而没有指定WHILE语句时,产生从DO到END的无限循环。

利用宏程序加工几种特殊螺纹

利用宏程序加工几种特殊螺纹 摘要2010年第四届全国数控技能大赛如约而至,本人从第二届开始就一直参与这项赛事,深深感受到每届比赛对选手知识面的深度、知识深度、广度要求不断加大。从第一届的梯形螺纹配合到第二届的宏程序加工旋转椭圆,第三届正余弦曲线、蜗杆加工,再到今年的圆弧螺纹加工。实际操作中,若对几种特殊类型螺纹用传统加工方法如直进法,斜进法,左右进法和分层进法进行加工,难以完成。本文针对这几种特殊螺纹,巧用宏程序编程加工,可在最短的时间里完成加工,方便在竞赛中熟练运用。 关键词数控;宏程序;螺纹;加工 2010年7月我作为参赛选手,参加了全国第四届全国数控技能大赛广东省省属技校数控车床教师组的选拔。记得在6月份广州市技工院校职业技能竞赛样题中,有一个圆弧螺纹加工的题目,一般传统加工螺纹方法有:直进法,斜进法,左右进法和分层进法。由于螺纹的形状是圆弧形的,圆弧半径为R4.5,在传统的加工方法中,例如用直进法(又称成形法)车削普通螺纹时,车刀不向左右“赶刀”,只由中滑板作横向进给,逐步切进,使螺纹直接成形,操作简单,能保证牙型清晰,其轴向切削分力在加工中互相抵消,使压型误差减小。但是用这个方法加工圆弧型的牙型,圆弧面很难保证顺滑,而且圆弧切削刃同时参与切削,排屑困难,总切削力和径向切削力增大,受力和受热严重,刀尖容易磨损。而比赛是一个选手综合素质的体现,不仅要求过硬的操作技术,果断的判断思维,还必须有与时间竞赛的意识;不仅要有高质量的刀具,还要有所在单位强有力的资金支持等等。 笔者经过不断尝试,总结出方便快捷、高质高效解决圆弧螺纹加工的办法:利用宏程序用变量的形式编写出加工圆弧螺纹轨迹的程序,用起始点和终点坐标控制轨迹,利用坐标偏移法用35°尖刀进行加工。 图1 图2 1 螺纹的圆弧半径为R4.5,螺距为10mm,如图1 在比赛过程中,一般很少有选手会配备R3以上的圆弧刀具,原因一:在使用圆弧刀具加工过程中刀具与工件接触面积大,切削力大,很有可能会造成工件报废,甚至出现工件飞脱造成危险;原因二:用圆弧刀具加工无法保证表面粗糙度。而利用宏程序编程加工这种大螺距特殊螺纹,可以减少切削力,缩短加工时间,提高工作效率,能更好地保证加工尺寸,得到更好的表面粗糙度。 说明:采用R0.4的尖刀,利用刀具圆心编程。 加工程序

FANUC宏程序

FANUC宏程序 宏程序 用户宏程序: 虽然子程序对编制相同加工操作的程序非常有用,但用户宏程序由于允许使用“变量算术和逻辑运算及条件转移”使得编制相同加工操作 的程序更方便更容易,可将相同加工操作编为通用程序如:型腔加 工宏程序和固定加工循环宏程序,使用时加工程序可用一条简单指 令调出用户宏程序和调用子程序完全一样 变量 说明: 1,变量的表示 2,变量的类型 3,变量值的范围 普通加工程序直接用数值指定G代码和移动距离。例如:G01和X100.0

使用用户宏程序时数值可以直接指定或用变量指定,当用变量时,变量值可用程序或用MDI面板上的操作改变。 计算机允许使用变量名,用户宏程序不行变量用变量符号# 和后 面的变量号指定。 例如:#1 表达式可以用于指定变量号此时表达式必须封闭在括号中。 例如:#[#1+#2-12] 变量根据变量号可以分成四种类型。 变量号变量类型功能。 #0 空变量该变量总是空没有值能赋给该变量。 #1 #33 局部变量局部变量只能用在宏程序中存储数据,例如运算结果当断电时局 部变量被初始化为空,调用宏程序时自变量对局部变量赋值#100 ,#199,#500 ,#999 公共变量公共变量在不同的宏程序中的意义相同,当断电时变量#100 #199初始化为空变量#500 #999 的数据保存,即使断电也不丢失。

#1000 系统变量,系统变量用于读和写CNC 运行时各种数据的变化。例如:刀具的当前位 置和补偿值。 局部变量和公共变量可以有0值或下面范围中的值: -1047到-10-29 或 10-29到1047 如果计算结果超出有效范围则发出P/S报警No.111 #1=#2+100 G01 X#1 F300 ! 小数点的省略 ! 变量的引用 ! 双轨迹双轨迹控制的公共 变量

用户子程序及宏程序在模具数控铣加工编程中的应用

用户子程序及宏程序在模具数控铣加工编程中的应用 目前,小内存的数控机床仍然是我国在用机床的主流,如何使加工程序变得简洁,对现实加工来说,有着很重要的实际意义。本文作者通过实例介绍了数控铣削加工编程中常用的子程序、宏程序、代码段调用及主轴复合摆动的五轴数控机床的刀具平面转换的应用等方面的内容,希望能为从事数控加工与编程的读者提供借鉴。 一、前言 数控编程作为数控加工的关键技术之一,其程序的编制效率和质量在很大程度上决定了产品的加工精度和生产效率。尤其是随着数控加工不断朝高速、精密方向的发展,提高数控程序的编制质量和效率对于提高制造企业的竞争力有着重要的意义。随着CAD/CAM软件的不断普及应用,数控编程的模式逐渐由自动编程取代手工编程。但CAM软件编程和手工编程有着各自的特长,且现有的CAM软件不能满足所有数控系统的特殊功能,充分结合两种编程模式,对于提高编程的效率和质量有着重要的意义。由于历史的原因,国内企业普通数控机床和高精密数控机床并存的局面将持续很长时间,对于传统的普通数控机床,无法实现高速切削加工,采用高速切削加工的编程策略难以发挥普通数控机床的加工效率,且传统数控机床普遍内存容量有限,因此合理有效地利用传统数控机床的特性,结合CAM软件自动编程和手工编程两种方式,编制简洁合理的小容量数控程序,有着非常现实的意义。 二、子程序及宏程序应用 在实际数控加工编程中,充分利用CAM软件的功能,配合手工编程,如宏程序的应用、代码段及子程序的调用等,可以充分提高数控编程的效率。 1.用户子程序应用实例 实际应用中,针对同一产品的多个相同加工特征的情况,以CAM软件编程或手工编程时,如能充分利用子程序功能,既可减少建模的工作量,也可提高程序的简洁性,降低程序的错误率。在多数数控系统中,子程序调用都有专门的指令,如在FANUC系统中有M98/M99,在DeckelMaho系统中有G14或G22等。如图1所示的分别是轮廓深度铣削循环、矩形阵列铣削循环、圆形旋转阵列铣削循环等三种不同的典型铣削循环。图2则是基于FANUC系统的相应的子程序调用代码,其中O8001为深度铣削循环子程序调用代码、O8002为矩形阵列程序代码、O8003为圆形旋转阵列的循环铣削子程序调用代码。

宏程序实现的数控车多件加工

宏程序实现的数控车多件加工 近年来,在各类数控赛事中宏程序的应用非常的广泛,但在实际生产中宏程序的应用则非常少见,笔者根据加工中遇见的挡圈零件,谈一下如何利用宏程序实现一次装夹加工多个零件。 一、问题的提出 如图挡圈零件,采用定尺拉光管料毛坯,内外圆直径均有2mm加工余量。右端加工采用需要三把刀具:外圆车刀、内孔镗刀、切断刀。其中外圆车刀和内孔镗刀刀尖圆弧半径R=0.4,切断刀刀宽3mm。加工中管料一次装夹后加工多件,加工次序为:车外圆-外倒角-端面-内倒角-内孔-切断。常规的编程方法是根据加工件数按部就班编写,程序量大,编程计算量大、容易出错,而且实际的加工件数变化导致更改程序麻烦,也有利用子程序编程,虽然程序量比前者有所改善,但还是不够简洁。如果采用宏程序编程,则程序简洁,一次装夹加工件数调整也很方便。 二、程序的编制(以FANUC系统为例) 1、单件加工程序: O0001; M03 S1200; M08 G99; T0101; G00 X36 Z2; G01 Z-14 F0.12; G00 X37 Z-1.25;(此处已将欠切量计算在内) G01 X34.5 Z0; X27; G00 Z80; T0303 S1500; G00 X35 Z2; G01 X29.5 Z-0.75 F0.2; Z-14;

G00 U-2 Z1; X33.5; G01 X30 Z-0.75 F0.1; Z-14; G00 U-2 Z80; T0404 S1000; G00 X40; Z-13.5; G01 X28 F0.06; G00 X40; Z80; M30; 2、多件加工的宏程序: (1)思路:多件加工只是在单件加工的基础上将长度Z变成变量,而且变量的计算与加工件数有关。 (2)程序: O0001; M03 S1200; M08 G99; #101=5;(一次装夹的加工件数为5件) #102=1; N10#103=[#102-1]*14; T0101; G00 X36 Z[2-#103]; G01 Z[-14-#103] F0.12; G00 X37 Z[-1.25-#103]; G01 X34.5 Z[0-#103]; X27; G00 Z80;

浅谈数控编程中的宏程序

浅谈数控编程中的宏程序 江苏经贸技师学院王军歌 [摘要] 随着现代制造技术的发展和数控机床的日益普及,数控加工在我国得到广泛的应用,数控加工中很重要的一部分就是编程,从CAD/CAM软件出现以后,人们过分依赖CAD/CAM软件,使得无论程序大小,加工难易编程人员习惯使用各种CAD/CAM软件,而把手工编程遗忘了,尤其是博大精深的宏程序。宏程序在数控编程中不应该被遗忘,而是应该很好的使用,它有着自动编程软件不可取代的优势。 [关键词] 数控编程宏程序CAD/CAM 数控加工 一.引言 在CAD/CAM软件普遍存在的今天,手工编程的应用空间日趋减小,数控世界有一种说法很流行“宏程序已经没有什么用”,其实任何数控系统都有很多指令在一般情况下用不着,那他们是否也没有用呢?这显然不对,对宏程序也是如此,原因只是大家对宏程序不熟悉,往往误以为宏程序深不可测而已,在实际工作中,宏程序确实也有广泛的应用空间,并且能够方便手工编程,锻炼操作者的编程能力,帮助操作者更加深入的了解自动编程的本质。 二.认识宏程序 在一般的程序编制中程序字为常量,一个程序只能描述一个几何形状,当工件形状没有发生改变但是尺寸发生改变时,就没有办法了,只能重新进行编程,缺乏灵活性和适用性。当我们所要加工的零件如果形状没有发生变化只是尺寸发生了一定的变化的情况时,我们只需要在程序中给要发生变化的尺寸加上几个变量再加上必要的计算公式就可以了,当尺寸发生变化时只要改变这几个变量的赋值参数就可以了。 它是利用对变量的赋值和表达式来进行对程序的编辑的,这种有变量的程序叫宏程序。 三.宏程序与自动编程的比较 自动编程有自动编程的好处,但是自动编程也有其不利于加工方面的问题,在加工不规律的曲面时利用自动编程确实是很好,但是在加工有规律的曲面时就不见得了,加工有规律的工件的时候用宏程序加工要比用自动编程软件要强的

FANUC用户宏程序学习教程

用户宏程序 宏程序是指含有变量的子程序,在程序中调用用户宏程序的那条指令叫做用户宏指令(这里用G65) 1、变量 用一个可赋值的代号代替具体的坐标值,这个代号称为变量。变量分为系统变量、全局变量和局部变量三类,它们的性质和用途个不相同。(1)系统变量是固定用途的变量,它的值决定了系统的状态。FANUC 中的系统变量为#1000~#1005、#1032、#3000等。 (2)全局变量是指在主程序内和由主程序调用的各用户宏程序内公用的变量。FANUC中的全局变量有60个,它们分两组,一组是#100~#149;另一组是#500~#509。 (3)局部变量是仅局限于在用户宏程序内使用的变量。同一个局部变量在不同的宏程序内的值是不通用的。FANUC中的局部变量有33个,分别为#1~#33。 表1 FANUC系统中局部变量赋值(部分)对照表

2、变量的演算 (1)加减型运算加减型运算包括加、减、逻辑加和排它的逻辑加。分别用以下四个形式表达: #i = #j +#k #i = #j -#k #i = #j OR #k #i = #j XOR #k 式中,i、j、k为变量;+、-、OR、XOR称为为演算子。 (2)乘除型运算乘除型运算包括乘、除和逻辑乘。分别用以下形式表达: #i = #j * #k #i = #j / #k #i = #j AND #k 4.变量的赋值 由于系统变量的赋值情况比较复杂,这里只介绍公共变量和局部变量的赋值。变量的赋值方式可分为直接和间接两种。

(1)直接赋值 例:#1=115(表示将变量115赋值于#1变量) #100=#2(表示将变量#2的即时值赋于变量#100) (2)间接赋值间接赋值就是用演算式赋值,即把演算式内演算的结果赋给某个变量。在演算式中有自变量代号,自变量每得到一个即时值,相应就得到一个演算结果,该结果就赋值给变量,该变量也叫应变量。5.转向语句 转向语句分为无条件转向语句和条件转向语句两种。 (1)无条件转向语句 程序段格式:GOTO N ;其中N后面的数值为程序段号。 例如:GOTO 55;表示无条件转向执行N55程序段,而不论N55程序段在转向语句之前还是之后。 (2)条件转向语句条件转向语句一般由判断条件式和转向目标两部分构成。 程序段格式:IF [a GT b ] GOTO c;表示为“如果a>b,那么转向执行第Nc句程序段”。a和b可以是数值、变量或含有数值及变量的算式,c 是转向目标的程序段。 大于、等于、大于等于、小于等于分别用GT、EQ、GE、LE表示。

宏程序加工举例

毛坯为150㎜×70㎜×20㎜块料,要求铣出如图2-25所示的椭球面,工件材料为蜡块。见图 程序: 1.根据图样要求、毛坯及前道工序加工情况,确定工艺方案及加工路线 1)以底面为主要定位基准,两侧用压板压紧,固定于铣床工作台上。 2)加工路线 Y方向以行距小于球头铣刀逐步行切形成椭球形成。 2.选择机床设备 根据零件图样要求,选用经济型数控铣床即可达到要求。故选用华中Ⅰ型(ZJK7532A型)数控钻铣床。3.选择刀具 球头铣刀大小f6mm。 4.确定切削用量 切削用量的具体数值应根据该机床性能、相关的手册并结合实际经验确定,详见加工程序。 5.确定工件坐标系和对刀点 在XOY平面内确定以工件中心为工件原点,Z方向以工件表面为工件原点,建立工件坐标系,如图2-25所示。 采用手动对刀方法把0点作为对刀点。 6.编写程序(用于华中I型铣床) 按该机床规定的指令代码和程序段格式,把加工零件的全部工艺过程编写成程序清单。该工件的加工程序如下: %8005(用行切法加工椭园台块,X,Y按行距增量进给) #10=100 ;毛坯X方向长度 #11=70 ;毛坯Y方向长度 #12=50 ;椭圆长轴 #13=20 ;椭圆短轴 #14=10 ;椭园台高度 #15=2 ;行距步长 G92 X0 Y0 Z[#13+20] G90G00 X[#10/2] Y[#11/2] M03 G01 Z0 X[-#10/2] Y[#11/2] G17G01 X[-#10/2] Y[-#11/2] X[#10/2] Y[#11/2] #0=#10/2 #1=-#0 #2=#13-#14 #5=#12*SQRT[1-#2*#2/#13/#13] G01 Z[#14] WHILE #0 GE #1 IF ABS[#0] LT #5 #3=#13*SQRT[1-#0*#0/[#12*#12]] IF #3 GT #2 #4=SQRT[#3*#3-#2*#2] G01 Y[#4] F400

FANUC系统宏程式详解

宏程序的简单调用格式: 格式:G65 P程序序号 L重复次数变量分配 变量对照表 A #1 I #4 T #20 B #2 J #5 U #21 C #3 K #6 V #22 D #7 M #13 W #23 E #8 Q #17 X #24 F #9 R #18 Y #25 H #10 S #19 Z #26 控制命令 1.If [条件表达式] GOTO n 2.While [条件表达式] DO m End m 运算符号 相等:EQ 不等于: NE 大于:GT 小于:LT 大于等于:GE 小于等于:LE

FANUC系统宏程式 FANUC系统宏程序编程 一变量 普通加工程序直接用数值指定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。 双轨迹(双轨迹控制)的公共变量

宏程序的简单利用

浅谈宏程序的简单利用 摘要:数控系统中随机携带有各种固定循环指令,这些指令是以宏程序为基础开发的通用固定循环指令。通用固定循环指令有时在实际的加工过程当中并不以定能满足加工要求和加工效率。针对于FANUC 0i系统为例,本人通过多年的加工经验和实践积累,简单的针对一些零件的特点量身定制了适合这类零件专用的宏程序,有利于挺高加工效率,和简化加工程序。以FANUC 0i系统为例,针对这些问题来探讨。 关键词:宏程序G90 新建功能指令多头螺纹 正文一,G90的简化利用 普通的G90粗车固定循环是由两个G00和两个G01组成,在退出工件时也是G01慢速退刀,这样在加工较大台阶面时退刀时间太长,大大的影响了加工的效率。解决方案有两种:一使起刀点尽量靠近工件,减少空走刀行程,缩短进给路线,节省在加工过程中的执行时间。二是改进G90加快退刀速度。 1.在加工中如果有台阶面相差较大的地零件,如下图(1-2)中,我们将起 刀点尽量靠近工件。利用宏程序和G90进行编程。 程序如下: O0001; G50 X100. Z0.; 建立G50坐标系 M03 S400; 主轴正转转速S400 G00 Z2.; 快速移动到Z2的位置 X93.; 快速移动到X93的位置 #1=86.; #1代表X轴的起始值为86。 N10 G90 X#1 Z-50. F0.3;外圆固定循环 G00 X#1; G00快速移动X轴起刀点位置 #1=#1-4.; #1(X)轴坐标依次减小4mm IF[#1GE50.]GOTO10; 如果#1的值大于等于50就转移到10号程序G00 X100.; 快速移动到X100的位置 Z0.; 快速移动到Z0的位置 M30; 程序结束并回到程序第一条语 此程序每刀车削4mm直到车到φ50 当然φ90车到φ50刚好能被4整除,如果小外圆尺寸是φ51,这就得改变一下程序,将IF [#1GE50.] GOTO10;改为IF [#1GE51.] GOTO10;再在程序后面加一个G90 X51. Z-50. F0.3;这样就可以在最后一刀将φ51.车削出来。 2.用G90加工图1-2,从φ90的外圆车到φ50需要多次退刀和多次进刀,虽然上面G90加宏程序可以改变G90固定循环的起刀点,但其退刀量还是过大,我们可以将指令改为类似于G71的循环指令。这指令可以完成多次切削循环,而且退刀量很小。首先在参数中设置调用宏程序的G代码,按非模态调用G65的方法调用宏程序。在参数(No.6050到No.6069)中设置调用宏程序(09010到09019)的G代码号(从1到9999),调用用户宏程序的方法与G65相同。

数控机床宏程序例题

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

数控铣床宏程序编程

变量 普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。#1=#2+100 G01X#1F300 说明: 变量的表示计算机允许使用变量名,用户宏程序不行。变量用变量符号(#)和后面的变量号指定。例如:# 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报警N O.111. 小数点的省略当在程序中定义变量值时,小数点可以省略。例:当定义#1=123;变量#1的实际值是123.000。 变量的引用为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在括号中。例如:G01X[#1+#2]F#3; 被引用变量的值根据地址的最小设定单位自动地舍入。例如:当G00X#/;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346.

FANUC宏程序编程25909

FANUC宏程序编程 2017-03-28 运算符 运算符由2个字母组成,用于两个值的比较,以决定它们是相等还是一个值小于或大于 另一个值。注意,不能使用不等号 运算符含义 EQ 等于(=) NE 不等于 GT 大于 GE 大于或等于 LT 小于 LE 小于或等于 示例程序下面的程序计算数值1~10的总和 O9500;#1=0;………………………………….存储和的变量初值 #2=1;………………………………….被加数变量的初值 N1 IF[#2GT 10]GOTO 2;…………….当被加数大于10时转移到N2 #1=#1+#2;…………………………….计算和 #2=#2+#1;…………………………….下一个被加数 GOTO 1;………………………………转移到N1 N2 M30;................................................程序结束 算术和逻辑运算 功能格式备注 定义#i=#j: 加法#i=#j+#k 减法#i=#j-#k 乘法#i=#j*#k 除法#i=#j/#k 正弦#i=SIN[#j]: 角度以度指定090度30分 表示为90.5度 反正弦#i=ASIN[#j]: 余弦#i=COS[#j]: 反余弦#i=ACOS[#j]: 正切#i=TAN[#j]: 反正切#i=ATAN[#j]: 平方根#i=SQRT[#j]: 绝对值#i=ABS[#j]: 舍入#i=ROUND[#j]: 上取整#i=FIX[#j]: 下取整#i=FUP[#j]: 自然数对数#i=LN[#j]: 指数函数#i=EXP[#j]:

或#i=#jOR#k: 逻辑运算一位一位地按二 进制数执行 异或#i=#jXOR#k: 与#i=#jAND#k: 从BCD转为BIN #i=BCD#j;用于与PMC的信号交换从BIN转为BCD #i=BCD#j; 角度单位: SIN、ASIN、COS、ACOS、TAN和ATAN的角度单位是度 ARCSIN#i=ASIN[#j]: ●取值范围如下:当参数(N0.6004¥0)NAT位设为0时,270~90度;当参数(N0.6004¥0)NAT位设为1时,-90~90度。 ●当#j超过-1到1的范围时,发出P/S报警N0.111。 ●常数可替代变量#j。 ARCCOS#i=ACOS[#j]; ●取值范围从180~0度。 ●当#j超过-1到1的范围时,发出P/S报警N0.111。 ●常数可替代变量#j。 ARCTAN#i=ATAN[#j]; ●指定两边的长度,并用斜杠(/)分开 ●取值范围如下:当参数(N0.6004¥0)NAT位设为0时,0~360度[例如:当 指定#i=ATAN[-1]/[-1];时,#1=225度]。当参数(N0.6004¥0)NAT位设为1时,-180~180度[例如:当指定#i=ATAN[-1]/[-1];时,#1=-135度] ●常数可替代变量#j。 自然对数#i=LN[#j]; ●注意,相对误差可能大于10-8。 ●当反对数(#j)为0或小于0时,发出报警N0.111。 ●常数可替代变量#j。 指数函数#i=EXP[#j]: ●注意,相对误差可能大于10-8 ●当运算结果超过3.65×1047(j大约是110)时,出现溢出报警N0.111 ●常数可替代变量#j。 上取整下取整: CNC处理数值运算时,若操作后产生整数绝对值大于原数的绝对值时为上取整;小于 为下取整。例如: 假设#1=1.2,#2=-1.2。当执行#3=FUP[#1]时,2.0赋给#3;当执行#3=FIX[#1]时1.0 赋给#3;当执行#3=FUP[#2]时,-2.0赋给#3;当执行#3=FIX[#2]时,-1.0赋给#3。 宏程序语句:包含算术或逻辑运算(=)的程序;包含控制语句(例如,用GOTO,DO,END)的程序;包含宏程序调用指令(例如,用G65,G66,G67或其它G代码,M 代码调用宏程序)的程序段;除宏程序以外任何程序段都为NC语句。 与NC语句的不同:

宏程序加工教案

项目九应用宏程序零件加工 教学目标 知识目标:1.宏程序的基础知识。 2.能使用坐标系旋转指令编制程序; 3.能使用椭圆参数方程编制程序和铣削工件; 4.能使用条件跳转语句编制程序; 5.能使用刀具半径补偿功能对内、外轮廓进行编程和铣削。 能力目标:1.宏程序与坐标系旋转指令的综合编程; 2.编制椭圆参数方程和条件跳转语句编制程序; 3.数控铣床或加工中心的基本操作与铣削工件; 4.零件的质量检测。 情感目标:1.通过工件制作,学生体验成功的喜悦,感受软件和机器的综合魅力,从而提高学生专业课的学习兴趣; 2. 通过任务驱动的方法逐步完成项目,培养学生发现和分析问题的能力; 3. 通过分工协作,加强团队合作精神。 教学重点与难点 重点:1. 加工中心的基本操作及与数控铣床的区别; 2. 加工中心机床的零件加工程序编制与课题件的制作; 难点:1. 加工中心换刀功能指令的应用; 2. 加工中心机床的操作; 教学目的 1.了解数控简化编程方法的种类和编程结构; 2.掌握加工中心的应用特点、换刀功能和程序结构与编制方法。 教学方法 总体方法:任务驱动法 具体方法:讲述法、引导文法、示范教学法 学时、教具 学时:10学时 教具:数控铣床或加工中心、刀具、夹具、量具和工件等。 教学过程

一、项目呈现 图7—1 零件图 引导学生进行该零件的结构及工艺分析,引出课题的实现方法。 二、项目分析 本项目零件的图形基本结构是上部为一椭圆实体,下部是一矩形且四角为圆弧或倒角形状,中间一个键槽和一个沉孔,只需要一把刀具加工。其椭圆的程序编制要求一般程序结构不能满足加工要求,故采用宏程序结构编程,同时应用旋转功能指令。设备选用可采用数控铣床或加工中心,都能完成此零件的加工。本项目主要阐述宏程序的编制与应用,使学生初步掌握此编程方法的应用,能够解决实训中遇到的特殊形状或公式曲线的编程问题。 三、知识学习 1、宏程序的基础知识 1)系统变量 宏程序提供了循环语句、分支语句和子程序调用语句,利于编制各种复杂的零件加工程序,减少乃至免除手工编程时进行繁琐的数值计算,以及精简程序量。 2)系统变量的表示方法 用变量符号“#”和后面的变量号表示。例如:#1、#8、#33、#501等; 变量号变量类型功能 #0空变量该变量总为空,不能赋给该变量任何值 #1~#33 局部变量只能用在宏程序中储存数据,例如,运算结果。当断电时,局部变量被初始化为空。调用宏程序时,自变量对

宏程序在加工中心的运用

宏程序的简单运用 WHIL[条件]DO1、2、3:满足此“条件”执行WHIL到DO1之间的程序; 1、回转体上打均布孔: O7; M26; G00 G90 G54 B#1; M25 #1=#1+10. IF[#1GT360.] GOTO 100; M99 N100 M30 2、三角函数的计算: O0008 #1=135. #2=SIN[#1] #3=COS[#1] #4=TAN[#1] M01 % 3、法兰上打孔: % O0001 T16M6 G00G90G55X0.Y0.M3S1500 G43H16Z100. G98G81Z-1.5R5.F50.K0 WHIL[#3LT360.]DO1 #4=40. #3=[#3+45.] #1=#4*COS[#3] #2=#4*SIN[#3] X[#1]Y[#2] END1 G80 M05 G91G28Z0. G91G28Y0. M30

% 4、Z向分层外形铣削 % O0001 T7M6 M26 G00G90G54X0.Y0.M3S1500B0. M25 G43H7Z50. Z5.M8 WHIL[#1GT-25.]DO1 G01G90Z[#1-0.5]F100. G91G01X8.F500. G03G91I-8. G01G90X0. #1=#1-0.5 END1 G00G90G54Z100.M9 M05 G91G28Z0. G91G28Y0. M30 % 5、斜插外形铣削 % O0001 T7M6 M26 G00G90G54X0.Y0.M3S1500B0. M25 G43H7Z50. Z5.M8 G01G90Z0.F100. G91G01X8.F500. WHIL[#2 GT-5.]DO1 G03G91I-8.Z-0.5 #2=#2-0.5 END1 G01G90X0. G00G90G54Z100.M9 M05 G91G28Z0.

数控车床宏程序案例

由浅入深宏程序数控车床旋转正弦函数宏程序 正弦函数曲线旋转宏程序 坐标点旋转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 镂空立方体宏程序范例 镂空立方体图纸及宏程序范例 此零件六个面加工内容相同,在加工时,调面装夹时要注意考虑夹紧力。 对于每个面的加工,可以用一个宏程序进行编制。宏程序编程时,即有深度方向的变化,也有半径的变化,是一种典型的宏程序。可以先用自己的思路编制一下,图后附有参考程序。

FANUC数控系统宏程序编程

FANUC数控系统宏程序编程 2009-09-16 21:11 2009-05-15 04:25 统宏程序编程 一变量 普通加工程序直接用数值指定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

FANUC宏程序使用举例

FANUC宏程序使用举例 单轴外圆数控磨床,径向采用数控轴(X轴)控制,轴向仍用液压油缸驱动,因此无法使用两轴磨床数控系统提供的磨削循环功能。在实践中,可以使用FANUC系统提供的用户宏程序,编制单轴的磨削循环功能。根据机床的具体结构,又编制了砂轮手动修整、自动补偿及手动测量工件、自动补偿的控制功能。在青海重型机床厂生产的CA8311B轴颈车磨床上,经过一年多的生产使用,证明是实用的。下面分别介绍软件的内容。 1 功能介绍 1.1 外圆磨削循环 由于只有径向控制轴(X轴),无法实现连续进给磨削,只能实现两端进给的轴向磨削循环。因此在左右两端各设1个轴向行程识别开关(如图1所示)。 当砂轮移到工件的左端时,左端行程开关闭合,发出到位信号,程序中用接口输入变量#1005=1表示。控制系统接到该信号后,发出X轴进给移动指令,砂轮前进一个A值;同理,当系统接到右端行程开关发出的到位信号,程序中用接口输入变量#1006=1表示,砂轮前进一个B值。依次循环,直到到达指令的位置。 实现给定磨削量的磨削加工,可以按A、B两值相加为一个循环,将被磨除量均分。砂轮快速移至R点,经n次(A+B)磨削之后,其剩余量为h ?。若砂轮在工件左端,且h?<A时,按h?进给,否则按A值进给。若在工件右端,且h?<B值时,按h?进给,否则按B值进给。软件必须保证只在工件两端进给,中间不得进给。当磨除量变为零时,必须磨到另一端才能退砂轮。整个磨削过程分粗磨、精磨和光磨。在实际使用中,在R点设置一个暂停,操作者可以插入手动磨削,以利于修活使用,也可以再转为自动磨削。磨削初值用现在位置变量#5041取值。

相关文档
最新文档