数控加工宏程序的基本构架与编程
2013-10-12华北机电学校山西长治046000焦连岷
华北机电学校 (山西长治 046000) 焦连岷
机械加工行业“数控加工”逐渐普及,零件的轮廓样式日益繁多,对数控行业的软硬件环境要求日益提高,尤其是对编程操作人员的基本素质提出了更高的要求,宏程序的编程日益成为所需掌握的必备技能之一。然而,不少编程人员听到宏程序就“发憷”,尤其是初学者,总感觉高深莫测,遥不可及,其实不然,只要大家有一些计算机高级语言的编程基础并掌握其编程思路与方法,其实远没有想象得那样难。本文就宏程序的一些编程“基本理念”和同行们作一些交流。
1.宏程序的概念
采用宏指令编制的程序称作宏程序,所谓宏指令是指:为了完成某一功能,事先编制相应的程序代码并存入存储器中,然后使用其功能如同使用子程序,用一组语句命令行为代表即可,该组语句命令行即为宏指令。
宏指令一般由系统厂家进行开发编写,按其功能特点我们姑且称之为“完备型”和“开放型”,前者是指指令功能已经完全确定,用户不可修改,只能调用(用此类指令编写的程序发那科系统称作A类宏程序);而后者则是系统厂家只为用户开发了一些复合程序语句框架,用户可以根据需要进行二次开发”(用此类指令编写的程序发那科系统称作B类宏程序);由于前者在使用中并不太多,而我们在此所讲的主要是指用“开放型”宏指令编写的宏程序。
宏程序与普通程序相比,更多地采用了变量及循环的方式,使得程序的应用更加广泛与通用。如果希望变换其轮廓及要素,只需更改相应的变量与数学模型关系表达式即可,因此,其灵活性大大增加。
2.“割线”逼近“曲线”原理
由数学知识知道,如图1所示:对于曲线段AB,在微小范围段内其长度可以近似用割线段AC、CB之和来表示(其中C为AB内一点),只要范围足够小,其轨迹也可近似表示成AC、CB的轨迹。显然,AB曲线段内取得的中间点越多(如再增加D、E两点),即割线的数目越多,则与原曲线愈接近(无论是长度还是轨迹)。这就是割线逼近曲线原理。
图1 割线逼近曲线原理示意图
在标准的G代码轨迹插补中常用的只有圆弧与直线插补指令,并没有非圆曲线插补指令,而要加工带有非圆曲线轮廓的工件则可以根据割线逼近曲线原理,利用系统中原有的直线插补指令,进行走微小直线段模拟曲线,即将曲线分割成很多微直线段,只要直线段足够短,就可以将其轨迹保证在一定的精度误差范围之内。宏程序也正是利用了这样的原理,进行数控程序加工的。
3.宏程序的特点及基本构成要件与框图
(1)变量与表达式及函数的引入使程序控制更加灵活 宏程序中引入了变量与表达式及函数,具有实时动态计算能力,可以加工非圆曲线,如抛物线、椭圆、双曲线及三角函数曲线等。特别是对于图形一样尺寸不同的系列零件加工。工艺路径一样位置不同的系列零件加工,更能显示出特定的优势(只需更改相关的变量即可)。
变量分为全局变量、局部变量和系统变量,其格式通常为“#”和数字组成,在条件允许的情况下程序中提倡尽量多用局部变量,不至于影响到其他相关程序的运行。
(2)流程控制语句的引入,使得程序具有决策分析能力 特别是引入程序流程控制语句,根据条件选择性地执行某些部分使得程序具有一定的决策能力。对于复杂零件轮廓的加工编程,宏程序的引入使程序大为精简。华中数控系统有两种流程控制命令:
条件分支 IF:
格式1:(条件成立则执行)
功能:条件成立执行IF与ENDIF之间的程序,不成立就跳过。其中IF、ENDIF称为关键词,不区分大小写。IF为开始标识,ENDIF为结束标识。
格式2:(二选一, 选择执行)
功能:条件成立执行IF与ELSE之间的程序,不成立就执行ELSE与ENDIF之间的程序。
条件循环 WHILE:
格式:
功能:条件成立执行WHILE与ENDW之间的程序,然后返回到WHILE再次判断条件,直到条件不成立才跳到ENDW后面。
WHILE中必须有修改条件变量的语句,使得其循环若干次后,条件变为“不成立”而退出循环,不然就成为死循环。
(3)基本构成框图 由于宏程序是基于微小直线段模拟曲线的理念进行编程的,所以采用宏程序编制的程序大多是要循环重复执行。下面以循环语句为例绘制其一般通用基本结构框图(见图2)。①初始化:这部分通常是确定起刀点的位置,给变量赋初值等,做一些相关的辅助性准备工作。②条件判断:用来控制程序分支的走向,当条件成立时才执行循环体内的语句。③执行循环体:这部分是数控程序对零件轮廓进行插补,也是数控伺服机构真正需要完成的动作。④调整条件变量:决策控制是需要由条件判断的,每次执行完循环体都需要修改调整条件控制变量,否则就成为死循环,机床连续不断的无条件重复执行,这是绝对不允许的。⑤后续处理:可放置与本轮廓相关的语句,如循环结束后其插补轨迹是否到位,是否需要重新补插走刀等;也可是对其他相关轮廓描述的的后续语句体等。
4.编程的方法策略与步骤
图2 通用宏程序循环控制结构框图
数控加工宏程序编程首先要进行工艺分析,根据材料及精度要求确定进给速度,吃刀量,加工路线等;其次要确定轮廓的数学模型,选定自变量,确定变量的变化范围及控制条件等;最后根据数控机床的系统类型选定适当的控制语句,填写程序代码。下面以具体实例说明其编写方法与步骤。
(1)题目要求 加工轮廓如图3所示,要求加工第一、第四象限的半椭球(其中长半轴为30mm,短半轴为25mm,焦点在Z轴上,毛坯材料为铝棒,表面粗糙度值要求略)。
图3 加工轮廓及走刀路线示意图
(2)题目分析 ①工艺分析:根据题目要求,选定如图3所示的走刀加工路线,即从毛坯件开始,沿Z向进行车削,加工至椭球轮廓后进行退刀,为了保证一定的精度,可以留有一定的余量,最后再沿零件轮廓补走一刀。②确定数学模型:由于零件轮廓在平面内是椭圆,所以其方程为Z2/302+X2/252=1。③确定自变量、因变量及变化范围:确定自变量的原则是一定要单调,且便于实际加工,根据题目要求在此选择X为自变量,Z为因变量,即根据X确定Z,则其初值为:X=25,变化范围为:25→0(直径编程时乘以2),而Z的表达式为:Z=30×SQRT[1-X×X/(25×25)]。④确定更新、插补的步长及循环体:选定以X的变化为控制条件,即当X>0时循环执行循环体,更新的长粗车定为1mm,精车定为0.1mm。
(3)填写代码 根据以上分析,以华中数控系统为例,控制流程用循环语句WHILE—ENDW,X方向坐标值用#1变量表示,兼作为控制条件,Z向坐标值用#2变量表示。其程序代码如下:
以下为精车程序
5.结语
虽然现在较复杂的零件轮廓大部分采用编程软件进行自动编程,但自动编程生成的程序代码长,占用的存储空间多,执行的速度慢,通用性差,特别是更改调试程序繁琐,发现某处不合适就需重新建模造型,然后再进入后置处理环节,即一切从头再来;而宏程序则可以避免以上不足,它生成的代码占用存储空间少,执行速度快,特别是通用性好,对于零件轮廓相同尺寸不同,只需修改相关的变量即可。因此,对于宏程序的编程,越来越受到重视与关注,应用日趋广泛,越来越成为编程人员掌握的必备技能之一。