宏程序在数控编程中的应用综述

2013-08-22 11:22:58胡翔云
机床与液压 2013年22期
关键词:程序段宏程序偏置

胡翔云

(湖北职业技术学院机电工程学院,湖北孝感432000)

随着CAD/CAM功能越来越强大,宏程序在数控编程中的作用被严重低估,有人甚至认为宏程序编程最终将被计算机自动编程技术所取代。实际上,宏程序在数控编程中的用途十分广泛,特别是在高效批量编程和企业特定加工特征的编程方面有不可替代的优势[1]。作者就宏程序在数控编程中的用途进行说明。

1 宏程序在方程曲线编程中的应用

一般数控系统只有直线插补和圆弧插补功能,而没有椭圆、双曲线、抛物线等方程曲线插补功能。若要加工这些方程曲线轮廓或它们所形成的曲面,可以建立用一系列短的直线段或圆弧段逼近方程曲线的数学模型,然后利用数控系统中的循环指令,让数控系统自动计算短直线段或短圆弧段与方程曲线的节点坐标,从而将方程曲线的编程转化为对一系列短直线或短圆弧段的数控编程,实现对方程曲线的近似加工[2]。宏程序在这方面的应用文献最多,这里不再作进一步的说明。

2 宏程序在相似零件批量编程中的应用

对于形状相似而尺寸不同的零件,其加工过程是相似的,编程方法也相似。这类加工特征如果采用计算机自动编程,需要对每个不同尺寸的加工特征分别编写程序,且均要依赖经验丰富的CAD/CAM工程师才行。如果采用宏程序编程,可以用宏变量代表编程尺寸,然后编制参数化的宏程序 (通常编制成子程序),存入数控系统。当需要加工该类零件时,只需通过主程序调用这个宏程序 (通常用G65或G66代码调用),同时对宏程序中的变量赋值就可以了。由于该宏程序实际上是对一类零件编制的,因而通常也称为批量编程[3]。编制这种宏程序 (子程序)时虽然要花比较多的时间和精力,但一旦编制成功,数控机床操作人员就不必理解宏程序中每个程序段的含义,只需了解宏变量或其字符所代表的编程尺寸就行了。当有类似加工特征出现时,只需用主程序调用这个宏程序就行了,提高了加工程序的编制速度,方便操作人员使用。如在FUNAC 0i数控系统中,主程序中的程序段 G65P8011A23.0X100.0Y30.0 表示主程序调用宏程序O8011,并给宏程序中的宏变量#1、#24、#25分别赋值 (具体数值分别为23、100、30)。其中,A、X、Y分别为某类零件的编程尺寸,这是操作人员应该了解的。至于宏程序O8011是如何编制的,每个程序段是什么含义,则不必了解。

3 宏程序在定制固定循环中的应用

目前,市场主流数控系统为了简化编程,均带有一些固定循环,如数控铣床中的孔加工固定循环,数控车床中的内 (外)径粗、精车固定循环功能等。但是相对于生产企业数量众多的相似加工特征而言,数控系统自带的固定循环数量往往是不够的。这时,用户可以将重复出现的一类加工特征编制成参数化的宏程序,然后通过设置合适的参数即可将该宏程序定制成固定循环功能[4],定制成功的固定循环与数控系统自带的固定循环用法完全一样。定制固定循环的方法是:

(1)从控制系统限定范围内指定宏程序号。对于FUNAC 0系列数控系统的宏程序,必须在O9010~O9019范围内指定宏程序名。

(2)把选择的G代码或M代码作为宏程序名对应的系统参数,对系统参数进行设置。

如FUNAC 0系列数控系统中的系统变量#220~#229分别对应宏程序名O9010~O9019,如果要将宏程序O9010设置成固定循环G251,只需将系统参数#220中的数值写成251就行了。

4 宏程序在自动报警中的应用

宏程序可以用来检查许多错误条件 (如宏变量赋值错误、在线测量得到的数据超差等),并以报警或出错条件的形式给数控机床操作人员以提示。在FUNAC 0i数控系统中,报警信息是通过系统变量#3000实现的。如在某程序中,要检查半径R是否在0~50范围内取值,如果超出该范围,给出“半径太大的提示”,程序如下:

O1234(加工主程序)

G65 P 9000 R2.5;主程序调用宏程序O9000,并给变量#18(对应赋值字母为R)赋值2.5。

M30;

O9000(子程序)

N50 IF [#18GT50.0] GOTO1005;如果条件R≥50成立,跳转到N1005程序段,否则开始执行下面的程序段 (N60)。

N60…

N1005#3000=115(Radius is too large);115号报警,提示信息:半径太大了

M99;

5 宏程序在自动测量中的应用

将测量元件 (通常为探针)安装在刀库中,给探针一个专门的编号 (刀具号)。要进行测量时,通过自动换刀指令选定探针,并安装到主轴上进行测量。具有自动检测功能的数控机床必须具有“接触跳出”功能。在FUNUC 0i数控系统中用G31指令实现这种功能。其作用是:G31指令控制探针定位到目标点,如果在到达目标点之前探针接触到工件,程序跳出余下的运动并存储当前位置信息,以保护探针不会被损坏,如图1所示。对位置信息进行处理,可以测量高度、宽度等长度尺寸。运用宏程序,还可以将实测值与设计值进行比较,并判别尺寸是否超差。从程序中提取位置信息进行数学处理要用到系统变量。下面是用于测量孔直径并与设计值进行比较的程序,从中可以看出宏程序用于测量时的基本方法。

图1 G31接触跳出示意图

……

G91G01X [#7-#24] F [4*#9];//从目标右侧移开Δx(X+方向)

G31X[#7+#24]F#9;//在探针接触到孔壁时跳出其余的X轴运动 (X+方向)

#103=#5061;//有跳出信号时存储X的位置信息 (X+方向)

G90G01X#101F[4*#9];//在X方向上返回到起始点

G91X- [#7-#24];//从目标左侧移开 Δx(X-方向)

G31X-[#7+#24]F#9;//在探针接触到孔壁时跳出其余的X轴运动 (X-方向)

#104=#5061;//有跳出信号时存储X的位置信息 (X-方向)

G90G01X#101F[4*#9];//在X方向上返回到起始点

#105=ABS[#103-#104];//计算 X 轴方向的两极限位置探针的球心距

G91G01Y[#7-#25];//从目标一侧移开Δy(9 mm)(Y+方向)

G31Y[#7+#25]F#9;//在探针接触到孔壁时跳出其余的Y轴运动 (Y+方向)

#106=#5062;//有跳出信号时存储Y的位置信息 (Y+方向)

G90G01Y#102F[4*#9];//在Y方向上返回到起始点

G91Y-[#7-#25];//从目标另一侧移开 Δy(Y-方向)

G31Y-[#7+#25]F#9;//在探针接触到孔壁时跳出其余的Y轴运动 (Y-方向)

#107=#5062;//有跳出信号时存储Y的位置信息 (Y-方向)

G90G01Y#102F[4*#9];//在Y方向上返回到起始点

#108=ABS[#106-#107];//计算 Y轴方向的两极限位置探针的球心距

#109= [#105+#108] /2+2*#18;//计算孔的实测直径 (取X、Y两个方向的平均值)

IF[[#109-#7] LE0] GOTO970;//比较实测值与预期值,如小于预期值,跳转到N970进行报警提示

……

6 宏程序在偏置控制中的应用

数控机床加工时采用的偏置有3种类型:工件偏置 (编程原点选择、镜像、旋转等)、刀具长度偏置、刀具半径偏置。使用宏程序,偏置量可以通过程序输入、清除、检查、更新,而不需要在停机状态下通过手动输入。如FUNUC控制器中通过系统变量#2501、#2601可对工件坐标系G54进行更新。如:

#2501=#2501+#106;//将#106中的数值加到G54坐标系中X坐标中

#2601=#2601+#110;//将#110中的数值加到G54坐标系中Y坐标中

程序运行后,工件坐标系自动进行了更新,而不需要手动更新,这种方法在工件原点定位 (如将工件原点定位于孔的中央)中应用较多。一般要用探针测量后才能得到准确的偏置值。

7 宏程序在其他方面的应用

宏程序还可用于加工计时、刀具寿命管理、刀具磨损和折断的检测、工作台或托盘分度、已加工零件的计数、控制程序的外部输出等众多方面。这里仅以宏程序用于计时的应用作说明。

在FUNUC控制器中,#3001、#3002、#3011、#3012是控制时间的系统变量,其作用如表1所示。利用它们可以对程序运行时间进行记时。如:

#3001=0;//复位清零,从0开始计数

M98P8201;//调用子程序O8201

N109;//空程序段用来保证计数值的精确性

#101=#3001;//提取计时值,得到执行子程序所需要的时间

M00;//程序暂停,以检查变量的显示值

……

表1 控制时间的系统变量

8 结束语

宏程序在数控编程及数控机床某些动作的控制方面有十分广泛的用途,在很多方面的作用是CAD/CAM技术所不能替代的。数控系统配备的用户宏程序功能为用户开发个性化的功能提供了方便。

【1】SMID Peter.FANUC数控系统用户宏程序与编程技巧[M].罗学科,赵玉侠,刘瑛,等,译.北京:化学工业出版社,2011:239-251.

【2】姜海,王明旭,田春艳.宏指令编程在函数方程曲线加工中的应用[J].机床与液压,2002(5):158-161.

【3】郭胜辉.参数编程在数控车削加工中的应用[J].组合机床与自动化加工技术,2010(2):69-72.

【4】胡翔云.椭圆台类零件加工数学模型及宏程序[J].煤矿机械,2012(7):146-148.

猜你喜欢
程序段宏程序偏置
基于40%正面偏置碰撞的某车型仿真及结构优化
基于双向线性插值的车道辅助系统障碍避让研究
中国信息化(2022年5期)2022-06-13 11:12:49
基于WinCC的物料小车控制系统设计与仿真
电动工具(2022年2期)2022-05-18 08:40:38
椭球槽宏程序编制及其Vericut仿真
智能制造(2021年4期)2021-11-04 08:54:44
数控系统手轮回退功能的研究与实现*
基于NC程序段的提高数控加工监控阈值与信号同步的方法*
一级旋流偏置对双旋流杯下游流场的影响
基于Vericut的四轴数控加工宏程序仿真研究
G代码B类宏程序在数控切割参数化图形库中的应用
焊接(2015年9期)2015-07-18 11:03:53
宏程序编程的几种应用