数控加工中数控程序的简化
2022-02-03江苏鹰游纺机有限公司刘永宏王赛虎张斯纬
江苏鹰游纺机有限公司 刘永宏 王赛虎 张斯纬 /文
数控机床是按照事先编制好的机床系统可以识别的加工程序,对被加工零件进行自动加工。加工程序的编制在数控加工中是十分重要的,在生产加工中数控程序的编制是数控机床操作人员必须掌握的一门技术,也是我们在加工过程中提高机床效率的重要途径。
数控程序的编制可以分为手工编程和软件自动编程。手工编程首先要分析图样和技术要求,确定装夹方式、加工基准、工步次序以及刀具切削参数的工艺数据,图纸加工尺寸计算,此外,程序的编写校对均是由人工完成的编程方法。适用于形状简单、计算简单以及工序简单的工件加工,它的特点是程序的可读性比较好,且加工后的刀具路径均匀,适用于大批量生产的产品中。自动编程用自动编程软件生成零件图形和给定加工参数,软件自动生成加工程序。适用于单件小批量的形状复杂且难于计算手工编程困难的零件。
在生产中,如工件的形状相对简单,没有复杂的曲面,且批量比较大,形状比较固定,采用的是手工编程较为简洁方便,充分发挥手工编程可读性好、程序简洁、路径清晰、调试方便、加工后工件表面刀纹均匀、观赏性好的优点。在加工过程中要提高工作效率程序的简化至关重要,程序的简化主要是通过使用子程序和宏语句编程的方法。
1 子程序的应用
1.1子程序的定义
子程序为在加工程序中不同位置上的一连串程序,这些程序具有完全相同或者相近的内容,为了化简程序段可以将重复程序段单独抽出来,按照规定的格式编辑子程序。在工作中,主程序需要调用该子程序,则通过固定的子程序调令来调用该程序,执行完子程序后返回主程序,继续执行后面程序命令。
1.2子程序使用的目的与作用
子程序的使用可以减少程序段重复编程、编程的效率能够大幅提高,编程出错率也得到有效的降低。在生产过程中,主程序可以调用子程序,同时子程序也可以调用下一级子程序。主程序结束指令后建立子程序,该过程是一个固定循环过程,
子程序更进一步的作用,如示例2多个零件的子程序,如在机床工作台上安装6个虎钳,每个虎钳会使用一个新的X、Y零值。在程序中,它们可以被调用为G54至G59。机床将告知每一个虎钳的工作台位置。通过使用一个边缘探测器或者指示器,就可以确定每一个工件的零点。使用工作坐标系补偿页面内的部件零设置键,以记录每一个X、Y位置,一旦每个虎钳的X、Y零位处于补偿页面,就可以开始编程。
1.3子程序的使用原则
(1)在处理工件外形轮廓相同的零件时,这时只需编写一个子程序,主程序调用该子程序命令即可。
(2)工件在加工过程中,出现相同的走刀路线,并且反复的出现该轨迹;在某一区域内被加工的工件刀具需要分层或反复的走刀,走刀轨迹出现特定形状,此时编辑子程序比较方便,该环节注意使用增量方式编程。
(3)加工过程中,每个子程序的内容是相对独立的。在加工复杂工件时,会调用多个独立的子程序,优化加工过程。编辑独立的子程序,在加工过程中主程序只需要调用换刀命令和调用子程序命令。
1.4子程序的格式
在整个生产过程中 ,主程序对子程序指令的调用是一个程序段,它的调用格式随着机床的数控系统格式而定,一下我们以HASS(哈斯)系统为例。
子程序一般格式如下:
子程序号的开头从继“N”开始到M99结束,完成整个子程序运行过程。
1.5子程序的调用
子程序调用使用如下格式
其中M97为程序调用子程序的指令,P的后面数字是子程序的号,L后面数字是指令被重复调用的次数,当程序只被调用一次也可以省略不写。
1.6子程序调用举例
示例1:
图1沉框加工图
图1中三沉框尺寸一样,所以用子程序后的程序要简洁好懂些,G52是偏移工件坐标系,将坐标系分别设在三个沉框的左下角。上图中沉框的尺寸较简单,程序优势不太明显,如果图形尺寸复杂些,程序优势就会更加明显。
示例2:
图2表示多个工件安装。一旦在程序内指定了虎钳,每一个虎钳就会有一个绝对零值。通过G54至G59以及G110至G129,就可以实现这一点。
图2中心位置钻孔
2 宏语句的应用
2.1 宏语句的定义
宏语句是若干行码,它允许编程者像使用任何标准编程语言那样来操作控制器。通过应用变量、运算符、函数名以及控制语句其中应用最多的为控制语句。
2.2 算数运算和逻辑运算
在变量运算过程中,变量和常量之间可进行多种运算,优先运算的顺序如下:
(1)函数;
(2)乘除,逻辑与;
(3)加减,逻辑或,逻辑异或。
可以用[]来改变顺序。
2.3 控制语句
控制语句允许编程者进行有条件或无条件转移,也可按一定条件重复执行一段代码。
2.3.1 无条件转移
在HASS(哈斯)控制器中,有直接转移和计算后转移两种无条件转移方法。
直接转移就是通过指令直接转移到指定的程序段中。如 GOTO15 就是直接转移到N15行。这种转移很简单使用。
计算后转移就是允许将控制转换至同一子程序的另一程序段去,转移程序段可以通过GOTO #n的形式,以局部变量给出或GOTO[表达式]形式表出。
2.3.2 条件转移
条件转移允许程序将控制转移至同一程序内的另一码段,只有宏有效的情况才能进行条件转移。其形式为IF[条件表达式] GOTO n,其中条件表达式为一个利用布尔运算(不等于NE,等于EQ,小于LT,大于GT,小于或等于LE,大于或等于GE,)的任意表达式
2.3.3 循环(WHILE)语句
语句格式为:
在条件语句为真时,程序执行语句从D0 m到END m该程序段。在条件语句为假时,程序执行END m程序段。DO和END后的数字只能使用阿拉伯数字,若为其他数字程序则会报警,该数字表示循环执行的范围。根据生产需要,D0-END循环语句可以被需执行多次。
2.4 宏语句的应用举例
图3中各个槽宽和间距均等,用宏语言编的程序比较简洁直观,比较好懂。
图3 槽板加工图
3 总结
在加工一些形状规则,没有曲面的零件时,手工编程要优于自动编程,可缩短编程时间,刀具路径较规则,没有多余的走刀路径,可以得到想要得到的走刀路径,加工后的表面规整。在编程过程中,合理的应用子程序和宏语言,可缩短编程时间和阅读程序时间,达到提高工作效率的目的。