数控车床手工编程与自动编程的优缺点分析
2022-05-06蒋毅
蒋 毅
(四川职业技术学院 智能制造学院,四川 遂宁 629000)
0 引言
数控系统通过几十年的发展,市面上已有众多数控系统,包括:西门子、法拉克、华中数控等等,虽然每种系统在编程格式、编程指令上存在部分差异,但不可否认这些系统都已经达到了成熟、稳定和可靠的水平。在计算机辅助编程诞生之前通常采用的是手工编程方式,就是从分析零件图样、确定加工工艺过程、数值计算、编写加工程序单直至程序校验均由人工来完成。它要求编程人员要具备相关工艺知识和数值计算能力,熟悉数控指令及编程规则,程序最终的准确性、可靠性与编程者水平息息相关。近些年随着计算机技术的进一步的发展,计算机辅助编程也日渐成熟。计算机辅助编程也被称为自动编程,通过利用计算机专用软件来编制数控加工程序,编程人员只需根据零件图样的要求绘制图形,选择加工方法,进行参数设置,通过后置处理程序由计算机自动生成零件的数控加工程序。
在实际生产过程中,使用较多的是数控车床、数控铣床/加工中心。数控铣床/加工中心能够实现三轴联动,当无需三轴联动实现加工要求的简单零件可以采用手工编程;需要三轴联动才能满足加工要求的零件往往需要用CAM 制造软件进行自动编程,而手工编程则望尘莫及。数控车床加工的范围主要以轴类工件为主,仅需两轴联动就能满足加工要求,因此数控车床加工时自动编程与手工编程相比,自动编程优势没有在数控铣床加工中那么明显。自动编程与手工编程各有优势、各有不足,下面就数控车床编程中自动编程与手工编程各自的优缺点和编程差异进行探讨和分析。
1 程序的准确性
数控车床手工编程过程完全由操作人员先根据图纸要求编写好程序,再将编写好的程序通过面板输入机床,程序里的每个字符都需操作者逐一输入,那么就存在编程错误或者输入错误的可能,对于形状复杂的零件,程序往往很长,如需一次编程成功,不出一点错误是很难做到的,在编程过程中可能出现本文书写错误、算式错误、程序格式错误等等情况。靠人工逐句检查错误是困难的,费时又费力。特别是具有非圆曲线、列表曲线及曲面组成的零件,需要采用直线段或圆弧段来逼近,这时用手工计算节点就有一定困难,出错的概率增大,甚至无法编出程序[1]。例如图1 所示,该图标注了工件外表面四个依次相切的圆弧,圆弧的圆心均不在工件的对称轴上,该工件若采用手工编程计算量将巨大,并且该工件的内孔尺寸并未直接标注,仅标注了外圆与内空的壁厚尺寸2mm,如果采用手工编程,那么内壁圆弧切点坐标和内壁圆弧与直径23 内孔交点坐标几乎无法计算。即使借助计算器等辅助办法强行计算,大量的计算也会增加出错的可能,甚至有时必须通过二次检查或模拟加工才能最终确定,这便要求操作者既要较高的编程能力,还有心思缜密的习惯。
图1 圆弧的计算
自动编程则全完全不同,操作者只需根据图纸要求正确绘制加工图形和设置好后处理程序,无论零件有多复杂,只要绘图无误,都可以很快的成生准确率极高的加工程序。仍以图1 为例,采用CAXA 绘图,外圆相切圆弧的绘制只需采用“切点+切点+半径”的画圆方式便可轻松完成,至于内孔只需在外圆的基础上使用“平移”或“平行线”功能即可轻松而又快速的完成。所以采用自动编程可最大限度地减少尺寸节点的计算,不但可保证形状的准确性,也降低了出错的几率。
同时在设置刀尖半径补偿方面,自动编程也更加简单,无需使用刀具半径补偿的指令(如FANUC 系统数控的G40、G41、G42 指令),以CAXA CAM 数控车自动编程软件为例,只需在加工方式的对话框中选中“编程时考虑半径补偿”,如图2所示,在生成轨迹的时候,计算机会根据操作者所输入的刀尖半径大小自动偏移相应部位的刀具轨迹,同时不需要设置刀尖方位,进一步降低了出错的可能,从而保证工件的精度。
图2 刀尖半径补偿
同时自动编程的程序由软件生成,具有可信度高,数据准确,在软件中生存轨迹的时候已经进行了干涉检查和图形检查,所以无需再在机床上进行图形模拟来检查程序的准确性。
2 编程效率
同一工件采用手工编程或自动编程,编程效率又存在差异:由于手工编程只要编程者熟悉指令,便可直接在机床上编程加工;自动编程前期准备时间较长,需要计算机上用软件完成绘图,再设置刀具和毛坯等等才能加工。如果一个简单的工件也采用自动变成,那么前期准备工作所花费的时间相对于整个加工时间将占用较高的比值。所以通常简单工件采用手工编程,复杂工件或节点计算较多的工件采用自动编程。
如图3 所示的工件,该图为川渝地区某次技能大赛样题,图中共有7 处需进行槽加工,属于比较复杂的工件。以FANUC 系统数控车床为例,手工编程中效率最高的办法是采用G75 指令进行编辑,即便如此仍需使用7 次G75 指令,也意味着操作者需设置7 次G75 加工参数。如果采用自动编程就显得简单很多,操作者只需要一次把所有尺寸绘制出来完后,通过后处理一次性将7 个槽生成一个或多个加工程序进行加工,加工轨迹如图4 所示。通过对加工轨迹的检查,也节省了在机床上模拟图形检查程序的环节,从而也节约时间。
图3 多槽工件
图4 槽的自动编程轨迹
在该次川渝地区的技能比赛后,裁判长也又做过一次统计:根据比赛要求,选手可以采用手工编程,也可采用CAXA CAM 数控车自动编程,比赛采用了华中数控操作系统的数控车床,当时46位参赛选手中约有百分之五十的选手采用手工编程方式加工,另外百分之五十的选手采用了CAXA CAM 数控车自动编程方式加工,最终能在大赛规定的3 个小时内完成工件加工的选手均是采用自动编程方式加工的选手,同时获得大赛一、二、三等奖的14 位选手均是采用的自动编程方式加工的选手。所以自动编程与手工编程相比,在加工复杂工件的时候后,在加工效率方面具有绝对的优势。通过两种编程方式对同一零件加工程序的进行编制,加工复杂工件时,采用自动编程所用时间将比手工编程的时间节省20%至50%,大大提高了编程的效率。所以自动编程特别适合在技能比赛或加工形状较为复杂的情况下使用[2]。
3 编程逻辑
手工编程与自动编程在编程编程逻辑上也存在较大不同:以FANUC 系统数控车床为例,手工编程时往往会采用复合循环指令,如G71、G72、G73、G75、G76 等指令,加工过程则由机床根据复合循环指令中的参数设置自动完成具体的加工轨迹,以此减少编程工作量和减小程序书写量。对于非直线和非圆表面的复杂工件,有的时候还必须采用“用户宏程序”进行编辑,但“用户宏程序”对于操作者对变量的运算、转向语句、和曲线宏程序编程思路都有较高的要求,对于初学者或者无计算机语言基础的学者具有一定的难度,如果存在非常规曲面或类似如图1 的复杂工件,甚至无法编辑。
自动编程由于是计算机编程,通常情况下无需考虑编程工作量和程序书写量,采用自动编程生成的程序通常由最简单最基础的加工指令构成,不会采用复合循环指令和“用户宏程序”[3]。特别是对于复杂曲线和非常规曲面,只要能绘制出图形就能轻松编辑出程序。
如图5 所示的工件,如果采用手工编程加工工件右端时,除了使用G73 指令外,还必须使用“用户宏程序”进行编程,其中涉及变量和条件转移语句的运用,编写难度也比较大,如果编程者没有一定的文化基础或计算机语言的思维逻辑,对于“用户宏程序”的学习和编写都具有一定的难度,所以这类工件的程序编写对编程人员能力有着较高的要求[4]。如果采用自动编程,计算机只需要使用G00、G01、G03 和G32 等最简单的就可以完成轮廓的编辑,不需要使用变量和条件转移语句,处理过程与一般工件几乎没有区别,故此时采用自动编程方式编写程序就显得格外简单。
图5 公式曲线工件
但正是由于自动编程没有采用复合循环指令和“用户宏程序”,所生成的程序往往冗长,加工程序需占用加大的存储空间,并且存在加工路径不灵活,可能会有很多空行程情况,这也导致在后期修改程序的时候自动编程不如手工编修改方便,特别是对于形状较为复杂的工件一旦程序生成后很难将图形中各个尺寸和程序语句快速而又准确地对应关联,使得修改工作变地无从下手。例如图6 为图5 工件右端部分的加工轨迹,同样是对加工轨迹修改,采用手动编程仅有20 余段代码,修改程序也十分便捷,只需对相应节点坐标或公式进行修改便可快速完成修改工作;
图6 公式曲线工件的自动编程轨迹
然而自动编程所生成的程序由于没有采用G73 或CYCLE95 循环指令,也没有使用用户宏程序进行编程,无论是快速定位还是插补,每一段轨迹都有与之对应的程序,导致程序代码总行数多达数百段,很难将每段代码与其相应段轨迹一一对应起来,程序一旦输入机床很难再对其轮廓进行修改[5]。所以自动编程往往只进行简单的指令修改,如果程序确需较大幅度的修改,往往只能回到最初的绘图或参数设置环节,通过重新绘图或重置参数的方式才能完成程序的修改[6]。
4 对不同操作系统的适应性
随着各个国家对制造业的重视,各国也在不断地研发自己的数控操作系统,比如德国有西门子和海德汉数控系统,日本有FANUC、三菱数控系统[7],近些年我国在数控系统领域也有着巨大的进步,我们国家也有华中数控、广州数控、北京凯恩帝数控技术等等,总之如今数控系统领域属于百花齐放的现状。不同数控系统的指令形式不尽相同,编程格式有着各自的规则,机床的辅助功能也不一样[8],伺服系统的性能也存在差别。同一个零件在不同的数控机床上加工,所需编程的数控加工程序或多或少也存在差异。如在法拉克系统中进给速度单位的设定指令是G98、G99,每分钟进给量采用G98,每转进给量采用的是G99;而在华中数控的车床操作系统中进给速度单位的设定指令是G94、G95,每分钟进给量采用G94,每转进给量采用的是G95[9]。不同系统之间指令的差异还远远不止于此,但一般操作人员很难掌握所有数控操作系统的编程指令,通常只对学习过的操作系统才能熟练的编程。如果采用自动编程这个问题便可以完美地解决,对于不同的操作系统,自动编程具有很强地适应性,在采用自动编程时,所有数控操作前期的绘图都完全一致,只要有对应系统的后处理程序就能自动生成适用于不同数控机床的数控程序[10]。所以采用自动编程时,即使面对多种不同系统的数控机床,只需后期采用相应的后置处理程序,就得到适用于不同系统的加工程序,极大地扩展了自动编程系统的使用范围。
5 结束语
总之,当加工几何形状较为简单,编写的程序量不多,坐标计算也较简单时,采用手工编程既经济又省时;当加工形状复杂的零件时,特别是具有非圆曲线、列表曲线及曲面组成的零件,采用自动编程软件在程序的准确性和效率方面也更具优势。所以,在必要时候采用手工编程与自动编程相结合的方式也可将两种方式优点相结合,达到互补不足、相互补充的目的,从而编写出加工速度快、程序准确性高的程序。
手工编程和自动编程各有所长,但也存在各自的不足,不能绝对地评价哪一种方式更好,操作者可根据实际情况采用适当的编程方式。但无论采用哪种编程方式,操作者都应该先掌握手工编程的技能,因为即使自动编程相比于手工编程有很多明显的优点,但手工编程才是实际操作的基础,自动编程也离不开基本程序指令的支撑。无论采用何种方式编程,掌握了手工编程在加工的时候才能更加得心应手,甚至还可以帮助理解和修改自动编程的程序。所以只有同时掌握手工编程和自动编程,在编写加工程序时才能更加得心应手。