1.3 数控编程基础
1.3.1 编数控程序的作用
小疑问
为什么要编数控程序?为什么老板愿意花高薪招聘编程员?
数控机床是一种自动化的机床,加工时,根据工件图样要求及加工工艺过程,将所用刀具及各部件的移动量、速度、动作先后顺序、主轴转速、主轴旋转方向、刀头夹紧、刀头松开和冷却等操作,以规定的数控代码形式编成程序单,并输入到机床专用计算机中。然后,数控系统根据输入的指令进行编译、运算和逻辑处理后,输出各种信号和指令,控制各部分根据规定的位移和有顺序的动作,加工出各种不同形状的工件。因此,程序的编制对于数控机床效能的发挥影响极大。换句话说,如果程序参数不合理,将导致加工效率低下,不能发挥机床应有的功能。反之,要提高机床的效率,必须培训编程人员编制出高效率的程序,这就是为什么模具厂老板宁愿花高薪,也要聘请高水平编程员的原因。
1.3.2 数控程序标准
小疑问
数控程序是什么样子?
数控机床必须把代表各种不同功能的指令代码以程序的形式输入数控装置,由数控装置进行运算处理,然后发出脉冲信号来控制数控机床的各个运动部件的操作,从而完成零件的切削加工。
目前数控程序有两个标准:国际标准化组织的ISO和美国电子工业协会的EIA,我国采用的是ISO代码。
1.3.3 加工坐标系与机械坐标系
小疑问
加工坐标系与机械坐标系是一回事吗?
大部分立式数控加工中心或数控机床规定:假设工作台不动,操作员站在机床前观察刀具运动,刀具向右为X轴,向里为Y轴,向上为Z轴。均为右手笛卡儿坐标系。机床各轴回零在某固定点上,此点为机床的机械零点。
编程时,在工件较方便找正的位置确定的零点为编程零点。模具厂的工件,因开始加工的坯料大多是长方体,一般零点大多选在工件的对称中心,也称“四边分中”的位置为X、Y轴的零点,Z值大多定在最高面处。同时有些厂还规定,基准角朝向操作员的方向。
1.3.4 程序代码
在众多的机床系统中,目前常用的数控程序代码是G代码。以下为FANUC系统指令中最为常用的且重要的指令。
1.运动指令
(1)G90为绝对值编程,G91为相对值编程。
(2)G00刀具按机床设定的固定速度快速移动,也可写成G0。
如刀具从A(3.0,6.0,0.0)走到B(10.0,12.0,0.0),则程序为N01 G90 G00 X10.0 Y12.0 Z0或N01 G91 G00 X7.0 Y6.0 Z0,其中N01表示程序段号,可以省略。
要指出的是,此程序不能用于切削,只能用于快速回刀,而且并不是按F值走直线AB,而是折线ACB,如图1-2所示。
要注意
正因为G00并不像计算机里显示的那样走直线,所以编程时移刀的安全高度要足够高,否则,在实际加工中可能出现过切,而计算机却查不出来。在Mastercam X5中的“参考高度”要高出加工范围内的最高位置,而“安全高度”要比整个工件包括夹具的最高位置还要高。尤其是在机床上一次性装很多个工件的情况下,更应重视设置正确的安全高度。
(3)G01按指定速度直线运动,也可写成G1。
如刀具从A点(3.0,6.0,0.0)走到B点(10.0,12.0,0.0),则程序为:
N01 G90 G01 X10.0 Y12.0 Z0. F500或N01 G01 G91 X7.0 Y6.0 Z0 F500。 N01 表示程序段号,可以省略,F500表示进给速度,为500mm/min。
(4)G02顺时针圆弧,G03逆时针圆弧,也可写成G2或G3。
如图1-3所示,在XOY平面内,如刀具从A点(3.0,6.0,0.0)沿圆弧顺时针方向走到B点(10.0,12.0,0.0),半径为6.0,圆心为C2(8.999,6.084,0),程序为G90 G02 X10.0 Y12.0 R6.0或G90 G02 X10.0 Y12.0 I5.999 J0.084。
如刀具从B点( 10.0,12.0,0.0)沿圆弧逆时针方向走到A点(3.0,6.0,0.0),半径为6.0,圆心为C2(8.999,6.084,0),程序为G90 G03 X3.0 Y6.0 R6.0或G90 G03 X3.0 Y6.0 I-1.001 J-5.916。
R表示圆弧半径,I、J、K是圆心相对于起点的相对坐标。
这些都是模态指令,如前一程序段已指定,本条若相同可以省略。
图1-2 沿ACB快速运动
图1-3 圆弧运动
知识拓展
有些机床的R指令可能是非模态,数控程序就不能轻易省略。有些机床的I、J、K要求是圆心绝对坐标值,以上的数控程序就不能正常运行。刚接触新机床要注意这些问题。
2.坐标系设置
G54~G59一般为6个,但有些新机床可扩展到G540~G599,其功能是将工件的零点机械坐标值存储在机床的寄存器中。
3.补偿指令
G41为左补偿,G42为右补偿。顺着刀具前进方向看,刀具在加工轨迹的左边偏移,就称为左补偿,否则,称为右补偿。G40为取消补偿,G43为刀具长度补偿,G49为取消长度补偿。
要注意
取消补偿的指令一般在数控程序开始执行,以防止机床调用旧的补偿数据而产生错误。
4.辅助功能
M00程序暂停,也可写成M0。
M01操作暂停,也可写成M1。
M02程序停,也可写成M2。
M03刀具正转,也可写成M3。
M05刀具停转,也可写成M5。
M06换刀,也可写成M6。在加工中心中,刀具要根据在刀架中的排列位置确定刀号。如T5 M06,表示先选T5刀,再用机械手将刀装上刀主轴中。
M08开冷却油,也可写成M8。
M09关冷却油,也可写成M9。
M30程序结束,纸带倒带或程序返回开始处。
要注意
有些机床要求同一条语句只能有一个M指令,最后一个才起作用。为了保险起见,可以把要加入的M指令分为不同的数控语句。
其他不常用的代码不再介绍,可参考机床说明书。
1.3.5 程序举例
任务:加工如图1-4所示的外形。
用ED8平底刀光刀加工的刀具路径为1→2→3→4→…→11,先用数学方法计算各个节点的坐标及圆弧半径,然后根据G代码规律编制各直线或圆弧段的数控程序,如图1-5所示。
图1-4 待加工图形
图1-5 加工路线图形
所编数控程序为刀心轨迹,指令如下(括号部分内容为对数控程序语句的解释):
% (程序开头符号) O001(程序号,如果采取DNC传送,则可以省略) N0010 G40 G17 G90 G49 G80(N0010程序段号,G40取消补偿,G17选择XY平面,G90 绝对值编程,G49取消长度补偿,G80取消钻孔循环) N0020 G91 G28 Z0.0(机床回参考点,G91相对值编程,G28回归机械零点便于换刀): 0030 T01 M06(换刀,将编号为1号的刀自动装上主轴,此功能对于加工中心才有用,对于 普通数控铣机床,这一段和上一段由操作员删除) N0040 G0 G54 X19.343 Y48. S2200 M03(G0刀具快速运动到以G54为零点的点1(19.343, 48.,0)点,M03主轴正转,转速为2200r/min) N0050 G43 Z10. H01(启动G43长度补偿,H01长度补偿值,同时快速下降到Z10.位置,省略 XY说明在XY方向不动,如果首次加工需加入G01 F2000,操作员通过调倍率开关使刀具在可控进给速度F2000的百分率在下降) N0060 Z3。 N0070 G1 Z0.0 F1250. M08(M08开冷却油,按进给F1250走刀) N0080 G3 X25. Y44. I5.657 J2.(逆时针走圆弧进刀到2) N0090 G1 X38.(切削直线到3) N0100 G2 X54. Y28. I0.0 J-16.(切削走顺时圆弧到4) N0110 G1 Y12.(切削直线到5) N0120 G2 X38. Y-4. I-16. J0.0(切削走顺时圆弧到6) N0130 G1 X12.(切削直线到7) N0140 G2 X-4. Y12. I0.0 J16.(切削走顺时圆弧到8) N0150 G1 Y28.(切削直线到9) N0160 G2 X12. Y44. I16. J0.0(切削走顺时圆弧到10) N0170 G1 X25.(切削直线到2) N0180 G3 X30.657 Y48. I0.0 J6.(切削退出到点11) N0190 G1 Z3.(慢速提刀到Z3.0,省略XY说明在XY方向不动) N0200 G0 Z10.(快速提刀到Z10.0) N0210 M02(程序结束) %(程序结束符号)
手工编程时,要根据图纸,计算出各段原始图形的端点坐标,并且按图纸轮廓编程。程序中加入G41(左补偿)或G42(右补偿)指令,加工时要在机床控制面板的补偿值中输入所用刀具的半径作为最终补偿值参数。可以用解析几何的办法计算各节点及圆弧参数,也可以在AutoCAD或其他软件中调出电子工程图,直接测量点坐标、圆弧半径或圆心坐标数据。
手工编程大多用于2D平面编程的情况,而对于3D尤其是自由曲面的数控程序,就必须借用高级算法编程语言,如Fortran语言、C语言等,进行等距曲面的数模刀具中心点计算,再排列走刀加工轨迹路线,最后输出生成数控程序。这就相当于开发一个像Mastercam这样的数控编程软件,工作量大且复杂。这项工作要求编程人员的素质很高。
随着技术的发展,现在的数控编程人员幸福很多,只需要弄懂数控代码的含义,会运用诸如PowerMILL等软件的数控编程功能,就可以完成数控编程的工作,而不需要过多考虑软件的计算原理及计算过程。这样数控编程人员只需要具备初中以上的几何知识,经过培训,就完全可以胜任数控编程工作。所以希望即使文化程度不是很高的初学者,只要坚定学习信心,一定能学好数控编程技术,为提高我国的机械制造水平而做出自己的努力。
1.3.6 编程软件简介
小疑问
复杂程序怎么编?编程软件有哪些?究竟哪个好用?
随着技术的进步,对于3D的数控编程一般很少采用手工编程,而使用商品化的CAD/CAM软件。
CAD/CAM是计算机辅助编程系统的核心。其主要功能有数据的输入/输出(I/O)、加工轨迹的计算及编辑、工艺参数设置、加工仿真、数控程序后处理和数据管理等。
目前,受我国用户喜欢的数控编程软件有Mastercam、UG、Cimatron、PowerMiII、CAXA等。各软件对于数控编程的原理、图形处理方法及加工方法都大同小异,但各有特点。因为每种软件都不是十全十美,对于每个用户来说,不但要学习其长处,也要深入了解它们的短处,这样才能应用自如。
Mastercam是美国CNC软件公司开发的基于PC平台的CAD/CAM软件。最新版本为Mastercam X5。本书将对其在模具厂的应用给予介绍。
Cimatron是以色列Cimatron软件有限公司开发的世界著名的CAD/CAM软件。针对模具制造行业提供了全面的解决方案。Cimatron软件产品是一个集成的CAD/CAM产品,在一个统一的系统环境下,使用统一的数据库,用户可以完成产品的结构设计、零件设计,输出设计图纸,可以根据零件的3D模型进行手工或自动的模具分模,再对凸、凹模进行自动的数控加工,输出加工用的数控代码。优点是基于知识的加工;基于毛坯残留的加工;实现完整意义上的刀具载荷的分析与速率调整优化;功能丰富、完善、安全和高效的高速铣削加工。不足之处是在模具加工中自动化功能有待完善和发展。
PowerMILL是一独立运行的世界领先的CAM系统,它是Delcam的核心多轴加工产品。PowerMILL可通过IGES、VDA、STL和多种不同的专用直接接口接收来自任何CAD系统的数据。优点是刀路稳定;五轴高速加工功能强大;PowerMILL计算速度较快,支持多个程序的并行计算;同时也为使用者提供了极大的灵活性。缺点是添加辅助线或辅助面不太方便。
CAXA(Computer Aided X Alliance -Always a step Ahead,联盟合作的领先一步的计算机辅助技术与服务)是依托北京航空航天大学的科研实力,由北京航空航天大学海尔开发出的中国第一款完全自主研发的CAD产品。它是国人的骄傲。优点是按照中国人的思维和界面设计软件,易学易用。不足之处是普及程度不高。
这么多的软件究竟哪个好用呢?这是很多初学者问到的问题。这就好比三国时代的名将关公和张飞,到底是青龙偃月刀好用,还是丈八蛇矛枪好用?我想他们的回答是不会相同的。我认为只要把某样兵器玩精通了,那就是杀敌的利器,否则就是烧火棍。
对于要学习CNC的人们来说,只要把某软件学精通了,也就是能用它来做事、干活,发挥其应有的功能,那就有价值。每个软件在推向市场前都做了大量的试验,能够解决一般的常用数控问题,所以我们要认真学习其长处,同时也要了解其不足之处,这样就能应用自如。
1.3.7 典型数控机床控制面板介绍
作为CNC数控编程员,首先要了解自己所编程序是如何运行的,所以有必要学会某一种数控机床的操作。如果有条件,最好是能正确实际操机达到一定的水平,再学习数控编程,这样会进步很快,可以使所编程序切合实际。
常用的典型数控系统有FANUC(日本)、SIMEMENS(德国)、FAGOR(西班牙)、HEIDENHAIN(德国)、MITSUBISH(日本)等公司的数控系统及相关产品,它们在数控行业中占据主导地位。我国数控产品以华中数控,航天数控为代表,也将高性能数控系统产业化。
如图1-6所示为FANUC系统的控制面板。
图1-6 FANUC系统的控制面板
各功能键的作用如下。
(1)位置功能键POS,在CRT上显示当前位置坐标值。
(2)程序功能PRGRM:在编辑(EDIT)方式时,进行存储器的编辑、显示;在手动数输入(MDI)方式下,可方便用户手工输入数控指令;在自动方式(AUTO)下,进行程序和指令显示。
(3)刀具补偿功能MENU/OFSET:坐标系、补偿量及变量的设定与显示,包括G54、G55等工件坐标系、刀具补偿量和R变量的设定等。
(4)参数设置功能键OPR/ALARM:在CRT操作面板上进行操作参数显示和报警信息显示。
(5)图形功能键AUX/GRAPH:结合扩展功能软键可进入动态刀路显示、坐标显示及刀具路径模拟等有关功能。
1.3.8 数控机床操作要领及注意事项
如图1-7所示是以一典型的数控铣床的机床操作面板为例说明操作要领。
(1)接通电源。要检查各电表是否正常、气压表是否正常、油水仪表是否正常。如无问题,可单击【POWER ON】按钮接通电源,几秒钟后机床自检,CRT显示坐标。如出现报警信息,操作员应该先自己分析排除,解决不了的,立即报告上级请专业人员处理。如正常,可继续操作。
(2)机床回参考零点,手动或自动,以便使机床正常运转。
(3)分析《CNC数控程序加工单》,对照编程图形,了解整个走刀路情况、对刀方式及装夹方式;准备刀具、量具及夹具。在机床上按要求装夹工件。
图1-7 操作面板
(4)工件分中找正,将工件坐标系零点的机械值输入到G54、G55等存储器。
(5)装上刀具对刀,将长度补偿值输入到H值对应的寄存器中。
(6)复制数控程序,根据现有的刀号、补偿号修改程序的头部及尾部。
(7)加工钢件,开粗时,可以开高压气吹风。加工铜件时,可以开冷却油或其他冷却液。
(8)在DNC状态下通过DNC网络传送数控程序。
(9)一开始要慢慢进刀,等待刀切入工件时,切削平稳正常时才将进给倍率开关调到正常速度。调转速开关,使声音洪亮,而且切削平稳时为止。根据要求确定合适的转速S及进给F,使每刃切削量达到合理高效的要求。
(10)如果加工钢件,开粗时要密切关注刀粒的磨损程度,发现有问题要及时调整或更换。
(11)要对自己所使用的机床精度、刀具转动精度及加工误差有所了解,要和编程员密切沟通,使光刀时留足够多的余量,确保加工出合格工件。
(12)加工完成后,要在机床上对照编程图形进行测量。如果不合格,要分析原因。可以通过调整编程余量重新编程或调整补偿数再加工,直到合格为止。合格后才拆下,清理机床,准备加工下一件。
1.3.9 数控技术的发展趋势
根据国内外的有关资料得知,当今的数控技术的发展方向如下:
(1)具有更高精度、更高速度的高速机床不断地普及发展和完善。
(2)多功能化并配有自动换刀机构的各类加工中心在多个CPU和分级中断控制方式下可实现“前台加工,后台编辑”,还可实现多台机床联网,对多台机床进行群控。
(3)采用人工智能专家诊断系统,对机床进行自我控制、自诊断、自修复,以实现无人化作业。
(4)CAD/CAPP/CAM集成技术的运用使编程不再依赖于编程员个人水平的高低,而是直接从数据库调用成熟的工艺参数。
(5)通过改进结构,机床的可靠性能大大提高。
(6)控制系统的小型化。
目前,只有少数发达国家和地区部分工厂可达到这样的水平。在我国,要全面达到上述水平,还需要科技人员经过很长时间的努力。
我们工程技术人员必须立足于各公司目前的现状,学好数控技术,才能充分发挥现有设备的功效,努力提高生产效率和应用水平。
1.3.10 先进制造技术
小疑问
先进制造技术发展了,将来CNC编程员会失业吗?
将计算机技术运用于工程制造,这是工业界的一次革命。现代制造除了数控加工外,还有很多先进的制造手段先后出现,如立体光固化(SLA),熔融沉积造型(FDM),分层实体制造(LOM),选择性激光烧结(SLS),三维打印(3DP)等,最有发展前途的是SLA激光快速成型技术。
SLA激光快速成型技术已经开始应用于产品开发及制模行业中。它是利用计算机软件把产品3D图(一般转化为STL文件格式)按水平面切成一系列截面,计算机控制激光头按照产品截面图的形状,向感光树脂液面进行照射,导致它凝固成约0.1mm的薄层。这样一层接着一层凝固,就形成一个与3D图相同的立体零件。目前,这项技术主要用于快速首板(也称手板)的制造。对于金属成形也已出现,但成本高、精度差,还处于试验阶段,未能普及。所以在未来相当长的一段时间内,有关专家预测至少在未来20年内,数控加工仍是制模行业的主要加工手段。
知识拓展
SLA俗称RP,现主要用于快速手板制造。开发产品时可以先找来类似的产品用激光3D扫描,生成3D图,修改产品外形,然后转化为STL文件格式。用此文件就可以制作快速手板。完成后再进行外观丝印喷油,装上电子元件就成为有实际功能的仿真机交由客户在市场上推广、宣传或展览以寻求订单。这样可以大大缩短产品开发周期。