论文部分内容阅读
在数控实训中,程序的长度会随着工件的复杂程度、所使用刀具的数量、编程方法和其他因素的变化而不同。一般来说,程序越短,编程的时间就会越短,在系统中占用的空间也会越小,而且短程序容易检查、修改和优化,所以也能减小发生人为错误的可能性。在很多数控系统中都会有一些缩短程序长度的功能应用。如:FANUC系统中的固定循环、复合循环、宏程序等都是具有缩短程序长度的功能应用。笔者介绍一种有效的缩短编程长度的应用——子程序。
一、子程序的概念
数控程序都是由一系列不同的辅助功能(M、S、T、F)、准备功能(G代码)和地址字(X_Y_Z_A_B_C_)组成,如果程序中包含两个或两个以上重复的程序段,就可以将程序结构从单一的长程序拆分为两个或多个独立的程序,每个重复程序段只编写一次,在需要的时候进行调用。这种拆分后缩短的独立程序就称为子程序。数控系统中有专门的M代码在一个程序中调用另一个程序,调用其他程序的第一个程序就称为主程序,所有其他被调用的程序称为子程序。主程序不能被子程序调用,它位于所有程序的最顶层。子程序之间可以相互调用,直到达到一定的嵌套数目(一般为四层)。特别需要指出的是,在使用子程序进行简化编程加工零件时,选择的加工程序一定是主程序,子程序不会被直接用于加工,它只能通过主程序的调用才能实现加工的目的。
二、子程序的优点
1.可反复使用
零件图上有两处或两处以上相同的轮廓轨迹。在这种情况下只要编写一个子程序,然后用主程序调用该子程序就可实现简化编程的加工。
2.分层或分行加工
加工中反复出现相同轨迹的走刀路线。如果被加工的零件需要刀具在某一区域内进行反复的分层或分行走刀,走刀轨迹总是沿着某一特定的形状垂直或水平走刀,在这种情况下采用子程序就比较方便。需要注意的是,在利用调用子程序进行分行或分层加工时一般多采用相对值编程的方式。
3.程序内容具有独立性
在加工比较复杂的零件时,往往包含很多独立的工序,有时候工序之间的先后顺序会根据加工环境的不同而有所调整,把所有工序编成一段长程序,修改工序位置的时候就会很复杂,出错率也会提高。但如果把每一个工序都编成一个独立的子程序,让程序自然分成若干个短程序,在需要的时候用主程序调用,修改的时候也只需要修改某一个子程序,这样程序就会变得很简单,出错率也会大大降低。
4.设备检测及预热
在新设备的调试阶段,总有为了检测某一部件某一重复运动的可靠率而进行的子程序编程,比如检测加工中心的刀库换刀功能是否正常。在这种情况下,技术人员总是会让刀库不停地换刀几小时甚至几十小时,以验证刀库的可靠性。另一种情况是操作人员在使用设备的时候,每次开机总会有一个预热的过程(一般是回参考点)。这个预热过程,每次开机都是重复的,所以可以通过子程序编写独立的程序,在每次开机时通过主程序调用执行。
三、子程序在数控实训中的应用实例
1.数控车床程序重复性开头的应用
在数控车床实训中,辅助功能是很重要的程序,它主要包括主轴旋转方式、转速、刀具、进给方式及各种参数的定义。这些功能在很多零件加工中是重复性的,很有可能在一个学期的学习课程里,不同的辅助功能搭配就只有2~3种方式,而编写的程序一般都会有几十条以上。
例1:如以下4个程序段“M03 S1000 G99 T101;G00 X30 Z2;G71 U2 R1;G71 P1 Q2 U1 F0.3”。表示普通数控车床在加工直径为30mm的圆棒料,具有单调性外轮廓的循环开头。像这种程序开头,在很多程序中都是一样的,我们可以通过单独把这4段建立一个子程序,然后通过主程序调用,达到减少编程工作量的目的。
2.在螺纹加工中的应用
在数控实训中加工常规螺纹一般可以通过G76复合循环或者G92固定循环达到简化编程、提高工作效率、减少出错的目的。但是有些非标或异形的螺纹,它所运行的轨迹在模块化的循环功能指令范围之外。比如在圆上加工一段花瓣形螺纹,或者在光轴上加工变螺距螺纹。在这些轨迹上就必须使用最基本的螺纹G代码G32/G33/G34。由于基本螺纹G代码只能实现单段螺纹车削,每切削一刀螺纹都必须编写多条程序段,而且每一次切削都是分层且具有重复性的,所以为了提高工作效率,只能采用调用子程序功能。
3.加工中心回零点的应用
在铣床及加工中心实训中,回零操作是很重要的一个步骤。每次开机都必须重复一次回零操作。
例2:如以下6个程序段“G20;G17 G40 G80;G91 G28 Z0 ;G28 X0 Y0;G28 B0;G90”。表示卧式加工中心的回零操作。像这种程序段在机床中的每个新程序中都必须重复编写,而且每次都要重复相同的指令序列。为了消除出错的可能性,可以将这段程序单独编为子程序,在运行程序时通过主程序调用。
(作者单位:衢州市工程技术学校)
一、子程序的概念
数控程序都是由一系列不同的辅助功能(M、S、T、F)、准备功能(G代码)和地址字(X_Y_Z_A_B_C_)组成,如果程序中包含两个或两个以上重复的程序段,就可以将程序结构从单一的长程序拆分为两个或多个独立的程序,每个重复程序段只编写一次,在需要的时候进行调用。这种拆分后缩短的独立程序就称为子程序。数控系统中有专门的M代码在一个程序中调用另一个程序,调用其他程序的第一个程序就称为主程序,所有其他被调用的程序称为子程序。主程序不能被子程序调用,它位于所有程序的最顶层。子程序之间可以相互调用,直到达到一定的嵌套数目(一般为四层)。特别需要指出的是,在使用子程序进行简化编程加工零件时,选择的加工程序一定是主程序,子程序不会被直接用于加工,它只能通过主程序的调用才能实现加工的目的。
二、子程序的优点
1.可反复使用
零件图上有两处或两处以上相同的轮廓轨迹。在这种情况下只要编写一个子程序,然后用主程序调用该子程序就可实现简化编程的加工。
2.分层或分行加工
加工中反复出现相同轨迹的走刀路线。如果被加工的零件需要刀具在某一区域内进行反复的分层或分行走刀,走刀轨迹总是沿着某一特定的形状垂直或水平走刀,在这种情况下采用子程序就比较方便。需要注意的是,在利用调用子程序进行分行或分层加工时一般多采用相对值编程的方式。
3.程序内容具有独立性
在加工比较复杂的零件时,往往包含很多独立的工序,有时候工序之间的先后顺序会根据加工环境的不同而有所调整,把所有工序编成一段长程序,修改工序位置的时候就会很复杂,出错率也会提高。但如果把每一个工序都编成一个独立的子程序,让程序自然分成若干个短程序,在需要的时候用主程序调用,修改的时候也只需要修改某一个子程序,这样程序就会变得很简单,出错率也会大大降低。
4.设备检测及预热
在新设备的调试阶段,总有为了检测某一部件某一重复运动的可靠率而进行的子程序编程,比如检测加工中心的刀库换刀功能是否正常。在这种情况下,技术人员总是会让刀库不停地换刀几小时甚至几十小时,以验证刀库的可靠性。另一种情况是操作人员在使用设备的时候,每次开机总会有一个预热的过程(一般是回参考点)。这个预热过程,每次开机都是重复的,所以可以通过子程序编写独立的程序,在每次开机时通过主程序调用执行。
三、子程序在数控实训中的应用实例
1.数控车床程序重复性开头的应用
在数控车床实训中,辅助功能是很重要的程序,它主要包括主轴旋转方式、转速、刀具、进给方式及各种参数的定义。这些功能在很多零件加工中是重复性的,很有可能在一个学期的学习课程里,不同的辅助功能搭配就只有2~3种方式,而编写的程序一般都会有几十条以上。
例1:如以下4个程序段“M03 S1000 G99 T101;G00 X30 Z2;G71 U2 R1;G71 P1 Q2 U1 F0.3”。表示普通数控车床在加工直径为30mm的圆棒料,具有单调性外轮廓的循环开头。像这种程序开头,在很多程序中都是一样的,我们可以通过单独把这4段建立一个子程序,然后通过主程序调用,达到减少编程工作量的目的。
2.在螺纹加工中的应用
在数控实训中加工常规螺纹一般可以通过G76复合循环或者G92固定循环达到简化编程、提高工作效率、减少出错的目的。但是有些非标或异形的螺纹,它所运行的轨迹在模块化的循环功能指令范围之外。比如在圆上加工一段花瓣形螺纹,或者在光轴上加工变螺距螺纹。在这些轨迹上就必须使用最基本的螺纹G代码G32/G33/G34。由于基本螺纹G代码只能实现单段螺纹车削,每切削一刀螺纹都必须编写多条程序段,而且每一次切削都是分层且具有重复性的,所以为了提高工作效率,只能采用调用子程序功能。
3.加工中心回零点的应用
在铣床及加工中心实训中,回零操作是很重要的一个步骤。每次开机都必须重复一次回零操作。
例2:如以下6个程序段“G20;G17 G40 G80;G91 G28 Z0 ;G28 X0 Y0;G28 B0;G90”。表示卧式加工中心的回零操作。像这种程序段在机床中的每个新程序中都必须重复编写,而且每次都要重复相同的指令序列。为了消除出错的可能性,可以将这段程序单独编为子程序,在运行程序时通过主程序调用。
(作者单位:衢州市工程技术学校)