对子程序编写技术的再认识

2013-12-30 07:49杨娜
关键词:程序段主程序子程序

杨娜

(兰州职业技术学院,甘肃兰州730000)

数控编程方法有自动编程方法和手动编程方法,在手动编程中,数控程序的编制有很多技巧,其中子程序简化编程就是一种。数控加工程序可分为子程序和主程序,当在加工一个程序中的若干位置上,有着连续的若干行程序在写法及格式上完全相同及相近时,为简化程序长度与编写工作,可将这些重复出现的程序段单独提出来,并按照一定的格式编写,这样的程序称为子程序。在执行程序时只需要不断地调用此子程序来完成规定的任务。子程序的编写格式与主程序完全相同,子程序在数控编程中属于高级功能,正确合理地使用子程序可以使某些程序的编制变得简单、明了、简洁,而且方便程序的修改,给某些零件的批量生产带来很大的方便,也为编写和修改加工程序带来方便,能大大提高工作效率。

子程序编写技术几乎被所有的教材介绍,它们都在讲述子程序编程技术运用的方法与好处,以下是关于子程序编程知识的部分描述。

1 子程序常见的应用范围

1.1 工件上有若干个相同的轮廓形状

在本示例中有三个槽的切削加工,比较有特点的是三个槽的宽度均为5mm,此为相同的轮廓形状,在程序编辑时有相同的程序段出现,此时利用子程序较为简单。

1.2 加工中经常出现或具有相同的加工路线轨迹

铣削图示工件上表面。所给的刀具为直径10mm的立铣刀。经分析,铣削长60mm、宽40mm的矩形上表面,使用直径为10mm的立铣刀,在程序编制上会有很多重复,可把程序中重复的内容编写成子程序,每次调用使用,大大减少了程序段的重复出现,从而简化了程序。

1.3 某一个轮廓或形状需要分层加工

被加工工件的深度较大不能一次进给切削,此时需要刀具在某一区域内分层进行多次反复走刀,走刀轨迹总是出现某一特定的形状,采用子程序比较方便,此时深度一定要以增量方式给定,否则刀具只会在同一深度处重复加工。

通常情况下,数控机床按主程序的指令进行工作,但当主程序执行过程中执行到某个地方需要子程序时,可通过一定格式随时调用,控制信息就按子程序执行。当子程序中遇到返回主程序的指令时,控制信息就返回主程序,继续按主程序执行。子程序可以被主程序调用,为了进一步简化加工程序,可以允许子程序再调用另一个子程序,这一功能称为子程序的嵌套,子程序可以多次重复调用,即所谓“多层嵌套调用”,从而大大简化编程工作,缩短程序长度,节约程序存储器的容量。子程序的嵌套层数是有限制的,限制层数根据不同机床的使用说明书确定。

使用子程序的一个好处是,当对未使用子程序编写的加工程序进行修改时,需要保证对涉及修改的每一个地方都要进行修改到,否则会出现差错,导致出现废品。而当使用子程序编程技术后,则可以一次完成,不必顾虑会有遗漏问题。

2 对子程序编辑的再认识

大多数教材仅对子程序的应用加以强调,并没有对子程序的编辑进行更深入的辨析,没有指出加工子程序在编辑、查找使用中存在的“查看不方便”和开始加工时界面操作不方便等缺点,也没有指出在调用子程序时,FANUC系统可能出现的只运行子程序、SIEMENS系统可以由主程序调用主程序等情况。

2.1 子程序查看操作

由于子程序同主程序一样,需要以一个单独的文件形式保存在数控系统存储器制定的路径下,当需要编辑修改主程序与子程序的语句,或查对主程序、子程序调用关系时,必须打开这两个文件并反复在屏幕上切换界面。当确定执行该加工程序时,必须在主程序界面上执行。既然是数控系统的规定操作方法,大家也都默认了。

在当代的经济型数控系统中,查看子程序的方法得到了改进。一些数控系统(如SINUMERIK 802Dsl系统)的分屏显示技术可以让操作者在屏幕上同时看到多个程序文本内容,改善了原来的主、子程序查看文本内容时要反复切换屏幕,必须返回到主程序界面再次运行程序的规则,提高了查看子程序的操作效率。

另外,人们所说的狭义上的宏程序的编程方式中,地址字可以使用表达式形式表述,变量编程技术和逻辑操作及条件分支控制指令的使用,也解决了编写加工程序长度与刀具路径流向控制的问题,可以大大减少对子程序编写技术的依赖。不把程序中相同指令或相同路径的程序块拿出去重组建一个子程序,使阅读程序比较方便。一些数控系统(如SIEMENS系统)允许使用区域内程序段重复执行指令(REPEAT),也可以改变程序流向和重复次数的控制问题。

2.2 子程序调用编写与操作

在FANUC系统中,子程序还有一个独特的调用方法,即不通过主程序调用,直接运行子程序。因为一般规定在子程序的尾部使用M99指令(不使用M30指令)返回主程序指定位置,如子程序运行完后找不到主程序,则返回子程序头继续运行。如果不进行人为终止操作,子程序会一直运行下去,这种情况虽然使用较少,但作为一种特殊的功能可使用在对机床导轨润滑、新机床的验收及烤机等循环运行中。

在SIEMENS系统中,主程序不仅可以调用子程序,还可以调用另一个主程序,此时,作为被调用的主程序结尾的M30指令仅作为M17指令使用,而不能像普通人们所认识的是一个“总开关”指令来结束机床运行,会中断调用主程序的运行。

3 结语

合理利用子程序编程可以简化程序,提高加工效率。在对子程序的编辑及查看操作进一步分析后,以上两种子程序调用编程的使用情况作为对子程序使用的认识,还是很有帮助的。

[1]胡如祥.数控加工编程与操作[M].大连:大连理工大学出版社,2006.

[2]李娜.子程序在数控铣床编程中的应用[J].机械工程师,2012,(2).

猜你喜欢
程序段主程序子程序
基于WinCC的物料小车控制系统设计与仿真
浅谈数控铣削技术代码程序的嵌套方式研究
数控系统手轮回退功能的研究与实现*
电控冰箱软件模块化设计
基于NC程序段的提高数控加工监控阈值与信号同步的方法*
数控铣床FANUC 0i 系统刀具半径补偿系统参数设置解析
时光倒流 换回PotPlayer老图标
浅谈子程序在数控车编程中的应用
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序