主程序调用子程序的编程方案在数控教学中的应用5页
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主程序调用子程序的编程方案在数控教学中的应用
一、手工编程在教学和生产中的概况及意义在制造业非常发达的华南(以珠三角地区为代表)和(以江浙地区为代表),各类CAD\CAM
软件的应用由来已久,而且非常广泛和成熟,即使在那些只有1~2部数控铣床或加工中心的“路边加工店”里,也随处可见Mastercam、 UG、PRO\E、Cimatron、Powermill、Surfcam等世界知名CAD\CAM软件的身影。
到目前为止,各类CAD\CAM软件应用日趋普及,特别是数控三维曲面加工,使手工编程几乎已没有用武之地。
但是必须强调的是,手工编程是根本,是基础,各种疑难杂症的解决往往还要利用手工编程;再者,学习手工编程有利于进一步完善数控程序,所以在学校中教学手工编程有着极其重要的意义,特别是“模块式”课程教学手工程序。
另外,当一些中小型认为使用正版CAD\CAM软件成本过高时,手工编程(更高层次的变量编程,即宏程序的运用)就会显示其使用价值。
因此手工编程在教学和生产中仍具有极其重要的地位。
笔者根据多年的数控生产实践经验和教学实践,提出采用主程序调用子程序的编程方案,编写结构化数控程序,有效地改善数控程序的可读性与安全性,给教学和生产带来了安全与便利。
二、用主程序调用子程序编程方案的优点
GSL990M铣床数控系统中,在主程序中用M98指令调用子程序,而在子程序中用M99指令返回主程序。
采用主程序调用子程序进行编程有两大用途,一是把需要重复使用的边界程序段编写成子程序,避免了程序编写
重复,使程序简洁;二是把需要重复实现的功能用子程序来完成,使程序清晰易读。
阵列孔加工程序采用子程序结构,充分说明了以上第一用途;多工序加工中,系列辅助功能(如换刀、刀具长度补偿等)采用子程序结构,说明了以上第二个用途。
三、两个重要子程序
多工序加工中无原则经常换刀,换刀后在刀具接近工件的过程中,又需建立刀具的长度补偿。
如果将这两项功能编写成两个子程序,将使主程序结构清晰、易变,而且不容易出错。
下面介绍两个子程序。
1.换刀子程序
O5555;
N0001 G80G40M09;撤消固定循环、撤消半径补偿、
关冷却液
N0002 G91G28Z0M05;通过当前点返回参考点、主轴
停转
N0003 G49;刀具长度偏移注销
N0004 M06;换刀准备,具体调用的刀具号由主程序
指定
N0005 M99;返回主程序
由此可见,换刀子程序除实现换刀功能外,还撤销了固定循环、刀具半径补偿、刀具长度补偿,实现关冷却液、停止主轴旋转功能,使系统基本复原到初始状态,起到防止误操作的作用,提高了程序的安全性。
2.刀具接近子程序
O5554;
N0001 G90G00X0Y0;检验X、Y坐标原点是否正确
N0002 M03;主轴正转,具体转速由主程序指定
N0003 G43G00Z100;建立刀具长度补偿,并移动到
Z=100mm的位置,具体补偿参数由主程序指定
N0004 M07;开冷却液
N0005 M99;返回主程序
刀具接近子程序建立了刀具的长度补偿,并且使刀具到坐标点(0,0,100)的位置,起到了检查工件坐标系(WCS)原点是否正确的作用,提高了程序运行的安全性。
四、数控加工中工序概念的定义
为了说明多工序加工数控编程,需对数控加工中的工序概念进行重新定义。
传统机械加工中的工序概念,以两个方面区分工序,一是工序过程是否连续完成;二是工作场地是否发生变化。
显然,这种传统的工序定义在数控加工中已不适用,应对数控加工工序提出新的定义。
数控加工以是否更换加工程序来区分工序,更符合数控加工的实际情况。
进一步说,数控加工工序是指工件的一次安装中,使用同一把刀具、同一工艺参数和同一数控加工程序对工件进行加工,所连续完成的那一部分工艺过程。
基于以上数控加工工序的定义,数控加工工艺过程卡包括:工序号、工序名称(应说明加工部位、加工性质、加工阶段)、刀具、安装方案和
有关工艺装备、工艺参数、数控程序号、加工区域简图等内容。
反之,数控加工工序过程卡也正好明确了数控加工工序的概念。
五、多工序加工中采用的主程序结构
在建立数控加工工序概念的基础上,通过调用两个重要子程序,可以对多工序数控加工编写出结构性、可读性好的主程序。
假如要完成两道工序的数控加工,这两道工序分别使用说明01#、02#刀具,长度补偿值分别存放在H01、H02内存单元,转速分别为1000r /min、1200r/min,加工子程序号为O1000、O2000。
以此说明主程序编写结构。
O0001;
N0001 G54;建立工件坐标系
N0002 T01M98P5555;换01#刀具
N0003 S1000H01M98P5554;01#刀具定位到坐标点
(0,0,100)
N0004 M98P1000;调用第一道工序的加工程序;
以上程序完成第一工序的加工
N0005 T02M98P5555;
N0006 S1200H02M98P5554;
N0007 M98P2000;调用第二道工序的加工程序;
以上程序完成第二道工序的加工
N0008 T02M98P5555;
N0009 M30
可见,多道工序的数控加工程序可依次编写。
此主程序结构简单、编写容易、程序易读,由于在每道工序加工中不必考虑刀具长度补偿的建立与撤消,程序运行的安全性好,而且编程人员可以集中编写每道工序的加工子程序。
对于每道工序的加工子程序,编写人员只要从坐标点(0,0,100)开始编写,不必考虑刀具长度补偿以及开关指令(换刀、主轴启动/停止、冷却液开/关)等,只要考虑快速移动(G00)、切削加工(G01、G02)、指定进给速度(F指令)、刀具半径补偿(G41、G42、G40)和固定循环等指令。
综上所述,通过多年一线生产实践和教学的经验,在多工序数控加工编程中,采用主程序调用子程序的编程方案,充分改善了程序的结构性、可读性,并且大大提高了编程效率。
希望以上资料对你有所帮助,附励志名言3条:
1、理想的路总是为有信心的人预备着。
2、最可怕的敌人,就是没有坚强的信念。
——罗曼·罗兰
3、人生就像爬坡,要一步一步来。
——丁玲。