宏程序及其在椭圆编程加工中的应用

宏程序是数控加工专业高级工、技师和高级技师应掌握的内容。笔者在与企业

的交流中得知,有许多职工没有系统地学习过数控知识,尤其是宏程序这一块了解得很少,因此笔者特撰写本篇稿子,希望通过文中椭圆加工的宏 程序能够对其他非圆曲线的编写加工起到举一反三、抛砖引玉的作用。

在数控车床上加工非圆曲线的零件是企业生产及数控大赛经常涉及到的, 非圆曲线包括了椭圆、双曲线、抛物线 和正弦曲线等。如图1所示,为一典型 的椭圆零件, 编程加工时可采用“四心 法”和“直线逼近法”。四心法计算编 程简单,但椭圆的加工精度低。当要求 加工精度高,编程相对简单,程序量精 简时,则可以采用直线逼近法。直线逼 近法加工椭圆时只要步距足够小,就能加工出标准的椭圆。目前数控系统都还没有提供完善的非圆曲线插补功能,编 程时则要采用数控系统自带的另一种编 程方法:FANUC 系统采用宏程序编程,SINUMERIK 系统采用R 参数编程,FAGOR 系 统采用计算机高级语言编程。 下面主要介绍F A N U C 0i-T C 系统中 的B 类宏程序。

一、宏程序

数控程序中含有变量的程序称为宏程序。

宏程序可以让用户利用数控系统提供的变量、数学运算、逻辑判断和程序循环等功能,来实现一些特殊的用法,从而使得编制同样的加工程序更加简便。

1. 变量

普通加工程序直接用数值指定G 代码和移动距离,例如,GO1和X100. 0。使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用M D I 面板上的操作改变。 如:#1=#2+100或G01 X#1 F300。

(1)变量的表示及类型 一般编程方法允许对变量命名,但用户宏程序不行。变量用变量符号“#” 和后面的变量号指定。例如:#1、#100 等。表达式可以用于指定变量号。此时,表达式必须封闭在括号中。例如:#[#1+#2-12]。

变量根据变量号可以分成四种类型,如表1所示。

(2)变量的运算

变量常用算术、逻辑运算和运算符(如表2和表3所示) 。运算符右边的表达式可包含常量,或由函数或运算符 组成的变量。表达式中的变量“#j”和“#k”可以用常数赋值。左边的变量也 可以用表达式赋值。

其中有些需要注意的问题:1) 角 度单位。函数正弦、余弦、正切、反正弦、反余弦和反正切的角度单位是度(°) 。例如:90°30′表示为90.5°。

2) 运算符的优先级。按照优先级的先后顺序依次是:函数→乘和除运算 (* 、/、AND 、MOD)→加和减运算(+、-、OR 、XOR) 。3) 括号嵌套。括号用于改变运算优先级。括号最多可以嵌套使用5级,包括函数内部使用的括号。

2. 功能语句

(1)无条件转移(GOTO)语句转移到有顺序号n 的程序段。格式为:GOTOn ,其中n 表示程序段号。

例:GOTO1,表示转移到第一程序段。

再如:GOTO#10,表示转移到变量#10决定的程序段。

(2)条件转移(IF)语句

在IF 后指定一条件,当条件满足时,转移到顺序号为n 的程序段,不满足则执行下一程序段。

格式为:IF [表达式] GOTO n 。

(3)循环(WHILE)语句

在WHILE 后指定一条件表达式,当条件满足时,执行D O 到E N D 之间的程序(然后返回到W H I L E 重新判断条件) ,不满足则执行END 后的下一程序段。

格式为:WHILE[条件式]DOm;

(m=1,2,3循环执行范围的识别号,)

END m;

其中m 只能是1、2 和3,否则系统报警。DO ——END 循环能够按需要使用多次,即循环嵌套。

二、编程实例分析

1. 零件1

如图1所示零件,该零件编程时以 椭圆右端中心O 点作为编程原点,由于加 工的椭圆极角θ 为90°,所以可以采用 将椭圆极角设为自变量,当椭圆极角从 O 点(0°) 逐渐增加到A 点(90°) 时, 根据椭圆参数方程求得椭圆OA 段上每个点所对应的短轴值和长轴值,然后再算出椭圆O A 段上每个点在工件坐标系中所对应的X 值和Z 值,从而加工出椭圆。编 程中采用条件转移(IF)语句。

该椭圆的参数方程:

椭圆极角。其加工程序为: O0001 ,其中,X 表示椭圆长轴值;Y 表示椭圆短轴值;θ 表示

G97 G99

T0101

M03 S1000

G00 X65 Z5

#1=0 将椭圆极角设为自变量,赋值为0°

N10 #2=25*SIN[#1] 参数方程中椭圆短轴值

#3=40*COS[#1] 参数方程中椭圆长轴值

#4=#2*2 椭圆OA 段上各点在工件坐标系中X 坐标值,*2为直径值

#5=#3-40 椭圆O A 段上各点 在工件坐标系中Z 坐标值,#3-40=-(40-#3)

G01 X#4 Z#5 F0.1 加工椭圆

#1=#1+0.1 自变量椭圆极角每次 增量为0.1°

IF [#1LE90] GOTO10 如果#1小 于且等于90°,则返回到N10程序段不 满足则执行下一程序段

X65

G00 X100 Z100

M05

M30

2. 零件2

如图2 所示零件,该零件编程时以其右端中心O 点作为编程原点,如果用椭圆极角编程,则要计算出B 点处的椭圆极角,比较繁琐。从零件图给出的尺寸可知A 点对应的椭圆短轴值为7mm ,B 点对应的椭圆短轴值为(60-56)/2=2(mm),因此我们可以将椭圆短轴设为自变量,数值由A 点的7mm 逐渐减少到B 点的2mm ,然后根据椭圆标准方程,求得所对应的长轴变化值,最后再算出椭圆AB 段每个点在工件坐标系中对应的X 值和Z 值,从而加工出该零件的椭圆部分。 编程中采用循环(WHILE)语句。

由该椭圆的标准方程

得:

其加工程序为:

O0002

G97 G99

T0101

M03 S1000

G00 X65 Z5

X46

G01 Z-5 F0.1 : 。其中,X 表示椭圆长轴值;Y 表示椭圆短轴值。

#1=7 将椭圆短轴设为自变量,赋 值为7mm

WHILE [#1GE2] DO1 #1如满足 大于且等于2,则执行DO 到END 之间的 程序,否则转到END 后的下一程序段

#2=10/7*SQRT[49-#1*#1] 由椭 圆的标准方程推算出椭圆长轴值

#3= [30-#1]*2 椭圆AB 段上各点在工件坐标系中X 坐标值,*2为直径值

#4=-[#2+5] 椭圆AB 段上各点在工件坐标系中Z 坐标值

G01 X#3 Z#4 F0.1 加工椭圆

#1= #1-0.1 自变量椭圆短轴每次 减量为0.1mm

END1 循环结束 Z-26

X100

G00 Z100

M05

M30

三、小结

宏程序是数控加工专业高级工、技师和高级技师应掌握的内容。笔者在与企业

的交流中得知,有许多职工没有系统地学习过数控知识,尤其是宏程序这一块了解得很少,因此笔者特撰写本篇稿子,希望通过文中椭圆加工的宏 程序能够对其他非圆曲线的编写加工起到举一反三、抛砖引玉的作用。

在数控车床上加工非圆曲线的零件是企业生产及数控大赛经常涉及到的, 非圆曲线包括了椭圆、双曲线、抛物线 和正弦曲线等。如图1所示,为一典型 的椭圆零件, 编程加工时可采用“四心 法”和“直线逼近法”。四心法计算编 程简单,但椭圆的加工精度低。当要求 加工精度高,编程相对简单,程序量精 简时,则可以采用直线逼近法。直线逼 近法加工椭圆时只要步距足够小,就能加工出标准的椭圆。目前数控系统都还没有提供完善的非圆曲线插补功能,编 程时则要采用数控系统自带的另一种编 程方法:FANUC 系统采用宏程序编程,SINUMERIK 系统采用R 参数编程,FAGOR 系 统采用计算机高级语言编程。 下面主要介绍F A N U C 0i-T C 系统中 的B 类宏程序。

一、宏程序

数控程序中含有变量的程序称为宏程序。

宏程序可以让用户利用数控系统提供的变量、数学运算、逻辑判断和程序循环等功能,来实现一些特殊的用法,从而使得编制同样的加工程序更加简便。

1. 变量

普通加工程序直接用数值指定G 代码和移动距离,例如,GO1和X100. 0。使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用M D I 面板上的操作改变。 如:#1=#2+100或G01 X#1 F300。

(1)变量的表示及类型 一般编程方法允许对变量命名,但用户宏程序不行。变量用变量符号“#” 和后面的变量号指定。例如:#1、#100 等。表达式可以用于指定变量号。此时,表达式必须封闭在括号中。例如:#[#1+#2-12]。

变量根据变量号可以分成四种类型,如表1所示。

(2)变量的运算

变量常用算术、逻辑运算和运算符(如表2和表3所示) 。运算符右边的表达式可包含常量,或由函数或运算符 组成的变量。表达式中的变量“#j”和“#k”可以用常数赋值。左边的变量也 可以用表达式赋值。

其中有些需要注意的问题:1) 角 度单位。函数正弦、余弦、正切、反正弦、反余弦和反正切的角度单位是度(°) 。例如:90°30′表示为90.5°。

2) 运算符的优先级。按照优先级的先后顺序依次是:函数→乘和除运算 (* 、/、AND 、MOD)→加和减运算(+、-、OR 、XOR) 。3) 括号嵌套。括号用于改变运算优先级。括号最多可以嵌套使用5级,包括函数内部使用的括号。

2. 功能语句

(1)无条件转移(GOTO)语句转移到有顺序号n 的程序段。格式为:GOTOn ,其中n 表示程序段号。

例:GOTO1,表示转移到第一程序段。

再如:GOTO#10,表示转移到变量#10决定的程序段。

(2)条件转移(IF)语句

在IF 后指定一条件,当条件满足时,转移到顺序号为n 的程序段,不满足则执行下一程序段。

格式为:IF [表达式] GOTO n 。

(3)循环(WHILE)语句

在WHILE 后指定一条件表达式,当条件满足时,执行D O 到E N D 之间的程序(然后返回到W H I L E 重新判断条件) ,不满足则执行END 后的下一程序段。

格式为:WHILE[条件式]DOm;

(m=1,2,3循环执行范围的识别号,)

END m;

其中m 只能是1、2 和3,否则系统报警。DO ——END 循环能够按需要使用多次,即循环嵌套。

二、编程实例分析

1. 零件1

如图1所示零件,该零件编程时以 椭圆右端中心O 点作为编程原点,由于加 工的椭圆极角θ 为90°,所以可以采用 将椭圆极角设为自变量,当椭圆极角从 O 点(0°) 逐渐增加到A 点(90°) 时, 根据椭圆参数方程求得椭圆OA 段上每个点所对应的短轴值和长轴值,然后再算出椭圆O A 段上每个点在工件坐标系中所对应的X 值和Z 值,从而加工出椭圆。编 程中采用条件转移(IF)语句。

该椭圆的参数方程:

椭圆极角。其加工程序为: O0001 ,其中,X 表示椭圆长轴值;Y 表示椭圆短轴值;θ 表示

G97 G99

T0101

M03 S1000

G00 X65 Z5

#1=0 将椭圆极角设为自变量,赋值为0°

N10 #2=25*SIN[#1] 参数方程中椭圆短轴值

#3=40*COS[#1] 参数方程中椭圆长轴值

#4=#2*2 椭圆OA 段上各点在工件坐标系中X 坐标值,*2为直径值

#5=#3-40 椭圆O A 段上各点 在工件坐标系中Z 坐标值,#3-40=-(40-#3)

G01 X#4 Z#5 F0.1 加工椭圆

#1=#1+0.1 自变量椭圆极角每次 增量为0.1°

IF [#1LE90] GOTO10 如果#1小 于且等于90°,则返回到N10程序段不 满足则执行下一程序段

X65

G00 X100 Z100

M05

M30

2. 零件2

如图2 所示零件,该零件编程时以其右端中心O 点作为编程原点,如果用椭圆极角编程,则要计算出B 点处的椭圆极角,比较繁琐。从零件图给出的尺寸可知A 点对应的椭圆短轴值为7mm ,B 点对应的椭圆短轴值为(60-56)/2=2(mm),因此我们可以将椭圆短轴设为自变量,数值由A 点的7mm 逐渐减少到B 点的2mm ,然后根据椭圆标准方程,求得所对应的长轴变化值,最后再算出椭圆AB 段每个点在工件坐标系中对应的X 值和Z 值,从而加工出该零件的椭圆部分。 编程中采用循环(WHILE)语句。

由该椭圆的标准方程

得:

其加工程序为:

O0002

G97 G99

T0101

M03 S1000

G00 X65 Z5

X46

G01 Z-5 F0.1 : 。其中,X 表示椭圆长轴值;Y 表示椭圆短轴值。

#1=7 将椭圆短轴设为自变量,赋 值为7mm

WHILE [#1GE2] DO1 #1如满足 大于且等于2,则执行DO 到END 之间的 程序,否则转到END 后的下一程序段

#2=10/7*SQRT[49-#1*#1] 由椭 圆的标准方程推算出椭圆长轴值

#3= [30-#1]*2 椭圆AB 段上各点在工件坐标系中X 坐标值,*2为直径值

#4=-[#2+5] 椭圆AB 段上各点在工件坐标系中Z 坐标值

G01 X#3 Z#4 F0.1 加工椭圆

#1= #1-0.1 自变量椭圆短轴每次 减量为0.1mm

END1 循环结束 Z-26

X100

G00 Z100

M05

M30

三、小结


相关文章

  • 铣工技师论文集
  • 模具高速铣削的刀具方案 数控铣床铣螺纹工艺的应用 数控铣削加工中刀具半径补偿问题研究 端铣六面体各面互相垂直的技巧 高精度凹圆弧面的铣削及参数选择 叶片曲面车铣加工工艺的研究 数控铣削中过切现象分析研究 双刀铣削较长齿条的研究及其应用 数控 ...查看


  • 椭圆形加工宏程序的编程实例
  • 椭圆形加工宏程序的编程实例 数控宏程序编程实例 2007年02月02日 星期五 22:18 实际应用中,还经常会遇到各种各样的椭圆形加工特征.在现今的数控系统中,无论硬件数控系统,还是软件数控系统,其插补的基本原理是相同的,只是实现插补运算 ...查看


  • 机械类毕业设计选题2
  • 机械类常用选题2 点击定做机械类毕业设计 二级圆柱直齿齿轮减速器的设计 30130X31型钻床的PLC控制系统设计 APIZ150-2楔式单闸板闸阀的工艺设计 C6140车床齿轮零件工艺与夹具设计 CA6140车床拨叉_卡具设计 CA614 ...查看


  • 宏程序椭圆教程
  • 浅 析 宏 程 序 引言:在数控程序的编制中,宏程序是含有变量的程序.因为它允许使用变量.运算以及条件功能,则使程序顺序结构更加合理.宏程序编制方便.简单易学,是手工编程的一部分,多用于零件形状有一定规律的情况下. 关键词: 运算 变量 宏 ...查看


  • 数控编程--宏程序教案
  • 华中数控加工中心编程---宏程序 教案 一.组织教学 检查学生出勤情况 二.复习提问 1.画图,椭圆怎么加工 2.举例,一个任意形状的工件,如何在边上倒圆角 三.相关专业理论基础 1.看.画图零件 2.加工工艺分析与编写数控加工工艺卡 3. ...查看


  • 轴类零件的车削加工
  • 四川职业技术学院 毕 业 设 计 题 目 轴类零件的车削加工 所属系部 机械工程系 所属专业 数控技术应用 所属班级 2012级数控2班 学 号 [1**********]103 学生姓名 起讫日期 黄鹏 指导教师 李进东 四川职业技术学院 ...查看


  • 典型配合零件的车削加工
  • [摘要] 本论文主要阐述了典型配合零件的车削加工,包括了零件的工艺分析.刀具选择.毛坯确定.装夹方式.夹具选择.加工步骤.程序编制以及废品分析. 该零件加工外圆和内径均采用了复合循环G71.螺纹复合循环G76,而且分了粗精加工,以提高零件的 ...查看


  • 青华ug网分享线切割编程技巧
  • 摘要:讨论了NX线切割编程模块优缺点,并通过NX的平面铣模块增强线切割编程刀具轨迹的多样性和易控制性.在掌握电火花机床数控编程规范的基础上,研究了应用NX进行线切割编程及其程序后置处理的方法,编制了适合线切割机床的后置处理文件.通过该方法生 ...查看


  • 倾斜椭圆的编程
  • 倾斜椭圆的编程 以长半轴30,短半轴20,倾斜30度为例 #1=0 n1#2=cos[#1]*30 #3=sin[#1]*20 #4=atan[#3]/[#2]+30 #5=sqrt[#2*#2+#3*#3] #6=cos[#4]*#5 # ...查看


热门内容