椭圆宏程序自动编制技术研究*

2022-06-28 03:43曹智梅
新技术新工艺 2022年5期
关键词:宏程序半轴椭圆

曹智梅

(广东松山职业技术学院,广东 韶关 512126)

数控加工编程一般分为手工编程和自动编程。手工编程编制的程序简洁明了,识读性强,程序段少。自动编程通常是借助CAD/CAM软件来实现,其程序段多,占用内存大,可读性差。在近年的数控大赛中,数控车床、数控铣床和加工中心都包含椭圆曲线的加工。对于椭圆曲线,数控机床中并没有提供专门的加工指令。虽然现在越来越多的操作者喜好用CAD/CAM自动编程软件进行曲线的加工,但由于宏程序具有通用性好、易读性强、程序段短等优点,在数控加工中仍然占有非常重要的地位。

宏程序使用起来事半功倍,但在真正编写宏程序时,由于点的坐标表达较繁琐,编写过程中极易出错。本文借助VB软件,对椭圆加工参数进行了一般表达,将其长半轴、短半轴、加工刀具号、进给率、主轴转速、坐标位置和坐标旋转角度等多个参数设置为可输入的变量。当这些变量发生改变时,程序对应进行自动修改,大大减轻了编程人员的工作量,结合自动编程和手工编程的优势,在保证程序可读性的前提下,提高了程序的正确性和编写效率[1]。

1 椭圆曲线分析

1.1 椭圆参数方程

采用宏程序加工椭圆时,一般采用椭圆参数方程。椭圆的参数方程为:x=acosθ,y=bsinθ。椭圆参数方程中的参数θ是宏程序的编程变量,它控制着椭圆曲线加工的起止点位置。方程中每一个θ对应于一个x和一个y,当θ从0°变化到360°时,就可以求出椭圆上插补点对应的(x,y)坐标,无论加工哪个象限的椭圆,仅需要用一个表达式来表达。

椭圆标准参数方程描述的椭圆中心刚好位于坐标原点,且椭圆的长半轴与X轴坐标重合。当椭圆的中心不与原点重合,且椭圆的长半轴与X轴逆时针成一定角度时,椭圆上点的坐标则需要进一步计算[2]。

1.2 椭圆上点的坐标平移

椭圆图形位置如图1所示。图1a中,已知椭圆中心O′在XOY坐标系中的坐标值为(x0,y0),椭圆长半轴长度为a,椭圆短半轴长度为b,则椭圆上任意点的坐标可表达为:

x=acosθ+x0

y=bsinθ+y0

a) 椭圆平移

b) 椭圆平移+旋转

1.3 椭圆上点的坐标旋转

当椭圆平移后,椭圆长轴双绕椭圆中心逆时针旋转角度φ(见图1b),则此时需要对椭圆上点的坐标重新计算。

当数控机床具备旋转指令G68时,旋转中心为(x0,y0),旋转角度为φ,编写的程序为G68 Xx0Yy0Rφ。若机床没有可供使用的旋转指令,则椭圆上点的坐标可表达为:

x=(acosθ+x0)cosφ+(bsinθ+y0)sinφ

y=(bsinθ+y0)cosφ-(acosθ+x0)sinφ

2 编程基础及变量设置

2.1 宏程序编制基础

在进行宏程序编制时,要用到变量表达,首先要将图形上的点的坐标进行数值表达。宏程序主要有程序开头、程序中间和程序结尾3部分,程序开头主要是描述加工前的准备状态,如主轴启动、换刀、快速定位、冷却液开关控制等;程序中间部分是整个程序的核心,主要通过循环语句来控制走刀的路线,重点是插补点的坐标计算公式。程序结尾主要是退刀,以及程序结束语句等。

2.2 VB编程基础

VB是一种可视化编程语言,具备强大的计算功能、输出功能和控制功能,能很好地完成条件判断,以及按计划的输出。

本程序的界面设计如图2所示。整个界面分成4个区域,第1个区域为椭圆参数区,将椭圆长半轴、短半轴、椭圆中心点坐标、椭圆旋转角度等参数进行输入;第2个区域为加工参数区,主要是将加工过程中的刀具号、主轴转速、进给率、切削液开关控制等参数进行设定;第3个区域为椭圆图形显示区,方便使用者理解各个参数的含义;第4个区域为宏程序生成区,也是整个软件的结果输出区,是整个系统界面中的核心区域[3-4]。

图2 椭圆宏程序自动生成系统初始界面

2.3 编程变量选择

椭圆曲线参数和切削加工参数都是编程过程中需要设置的变量。

1)椭圆曲线参数主要包括椭圆的定形尺寸和定位尺寸,椭圆的定形尺寸有椭圆长半轴a和短半轴b,椭圆的定位尺寸有椭圆中心位置的坐标x0和y0,椭圆的旋转角度φ。这些基本参数在加工过程中会随着具体加工对象的不同而改变,也是会变动的变量,均设置成变量,编程前可以按实际情况进行修改。

2)切削加工参数主要包括刀具号、刀具直径、转速和进给率、切削深度以及切削液开关控制等。在加工过程中,切削参数也是需要变化的量,设置好后,可以在自动编程中体现。

2.4 编程变量默认值及参数设置

图2中,椭圆长半轴长度默认值设置成50,椭圆短半轴长度默认值设置成30,椭圆中心坐标X向平移和Y向平移均默认设置为0,椭圆长轴与X轴旋转角度默认为0,椭圆插补角度增量也就是椭圆参数方程中的变量θ默认值设置为1;加工参数中刀具号默认值设置为01,主轴转速默认值设置为2 500,进给率设置为100,切削液默认值设置成开(即M8)。

为了对编程中的变量进行控制,VB程序设计时需要设置10个变量值,即6个椭圆参数、3个加工参数和1个冷却液控制参数进行对应,编程加工参数设置如下:

Option Explicit

Private Sub Command1_Click()

Dim A1!, B2!, C3!, D4!, E5!, F6!, G7%, H8!, I9%, I%, J10%

List1.Clear

A1 = Val(Text1.Text) '椭圆长半轴

B2 = Val(Text2.Text) '椭圆短半轴

C3 = Val(Text3.Text) '椭圆中心坐标X向平移

D4 = Val(Text4.Text) '椭圆中心坐标Y向平移

E5 = Val(Text5.Text) '椭圆的旋转角度

F6 = Val(Text6.Text) '椭圆插补角度增量

G7 = Val(Text7.Text) '刀具号码

H8 = Val(Text8.Text) '主轴转速

I9 = Val(Text9.Text) '进给率

J10 = 8 '切削液开

3 宏程序自动编程算法及编制

3.1 算法流程图

整个自动编程算法包含3个部分:第一部分是输入已知参数,通过已知参数来计算编程的变量。第二部分是VB程序计算,通过椭圆宏程序的部体框架设计,将计算的数值替代程序中的具体位置;第三部分是输出加工宏程序,将替换完变量的程序进行输出,同时保证输出的程序满足机床输入标准,可直接用于机床加工[5-6]。其算法流程图如图3所示[7-8]。

图3 算法流程图

3.2 宏程序段核心部分处理

设置好变量后,应对核心部分进行编写,具体编写如下:

If Option2.Value = True Then J10 = 9

List1.AddItem "O0001; " '宏程序名称

List1.AddItem "G40 G80 G49 G69 G21 G17; " '宏程序初始化

List1.AddItem "G90 G54 G0 X0 Y0 S" & H8 & " M03; " '主轴转速

List1.AddItem "M6 T" & G7 & "; " '换刀

List1.AddItem "G43 Z50 H" & G7 & " ; " '刀长补正

List1.AddItem "G0 Z5; "

List1.AddItem "#1=0; "

List1.AddItem "#5=" & a1 & "; "

List1.AddItem "#6=" & B2 & "; "

List1.AddItem "G68 X" & C3 & " Y" & D4 & " R" & E5 & "; " '坐标旋转

List1.AddItem "#7=" & a1 & "+" & C3 & ";" '下刀点位置计算

List1.AddItem "G0 X#7 Y" & D4 & " M" & J10 & "; " '切削液

List1.AddItem "G1 Z-2 F" & I9 & "; " '进给率

List1.AddItem "WHILE [#1 LE 360] DO1 ;"

List1.AddItem "#101=#5*COS[#1]+ X" & C3 & ";"

List1.AddItem "#102=#6*SIN[#1]+ Y" & D4 & ";"

List1.AddItem "G01 X[#101] Y[#102];"

List1.AddItem "#1=#1+1 ;"

List1.AddItem "END1; "

List1.AddItem "G1 Z2 ; "

List1.AddItem "G49 G69 "

List1.AddItem "G0 Z50 M5 M9; "

List1.AddItem "G0 X0 Y0; "

List1.AddItem "M30"

End Sub

3.3 宏程序以文件形式输出

为了更好地使用编写的宏程序,可以在“编制程序”按钮中加入输出指令,将编写好的宏程序写入电脑中,并以a.txt为文件名保存到C盘要目录中,方便使用者。

Open "c:a.txt" For Output As #1

For i = 0 To List1.ListCount - 1

Print #1, List1.List(i)

Next i

Close

4 宏程序自动编程效果展示

4.1 运行测试

当椭圆参数如图4所示时,单击“编制程序”按钮,编写的宏程序如图4所示;可以验证绘制的宏程序形式正确,内容完整,能直接输入数控机床进行加工。用不同的数值来测试,其程序的正确性也得到了验证。椭圆插补角度增量θ可根据实际需要来取值,当加工的椭圆插补误差偏大时,应适当减小θ的数值。

图4 椭圆宏程序自动编程系统运行结果

4.2 输出的完整宏程序

以记事本形式打开C盘根目录下的a.txt文件,得到的宏程序如下,其程序可以直接传输到机床进行数控加工。

O0001;

G40 G80 G49 G69 G21 G17;

G90 G54 G0 X0 Y0 S2500 M03;

M6 T1;

G43 Z50 H1 ;

G0 Z5;

#1=0;

#5=50;

#6=30;

G68 X10 Y20 R10;

#7=50+10;

G0 X#7 Y20 M8;

G1 Z-2 F100;

WHILE [#1 LE 360] DO1 ;

#101=#5*COS[#1]+ X10;

#102=#6*SIN[#1]+ Y20;

G01 X[#101] Y[#102];

#1=#1+1 ;

END1;

G1 Z2 ;

G49 G69

G0 Z50 M5 M9;

G0 X0 Y0;

M30

4.3 改进方向

本程序中,为了研究方便:1)研究的加工对象为完整椭圆,若加工的为椭圆弧,则还需要进一步计算椭圆圆弧起止点的对应参数,并设置成变量,编制程序时应保证从起点到止点为逆时针方向;2)忽略了刀具补偿,刀具只沿着轨迹直接进刀,实际加工过程中较多情况下会有刀具补偿的情况,程序中需要加入G41或G42指令,下刀点需要从轨迹外部下刀;3)切削深度没有设置成变量,且在Z方向没有分层铣削,只切削了一层,接下来要考虑Z向分层加工和XY分层加工。

5 结语

本文在研究宏程序编程的基础上,应用VB软件实现椭圆宏程序的自动生成,主要研究工作如下。

1)将椭圆宏程序编写进行模块化和规范化处理,将加工过程中需要设置的值进行直观化变量处理,并给出了通用的自动编程思路和方法。

2)克服了传统CAD/CAM软件不能自动生成宏程序的弊端,提高了椭圆宏程序的编写效率。

3)应用VB软件的直观性,结合宏程序的便捷性,由椭圆宏程序作为示例,可以移植到其他曲线的宏程序自动编程,具有较好的借鉴性,极大地方便了工程技术人员,有很高的应用价值和推广前景。

猜你喜欢
宏程序半轴椭圆
椭球槽宏程序编制及其Vericut仿真
载货汽车半轴套管的快速拆装分析与探讨
例谈椭圆的定义及其应用
汽车全浮式半轴的可靠性优化设计
巧用点在椭圆内解题
宏程序在加工中心生产中的应用
数控车编程教学中宏程序嵌套的应用
差速器半轴安装偏心的理论计算与测量方法研究
椭圆的三类切点弦的包络
农用运输车后桥故障分析