第2章数控加工的程序编制2.1概述2.1.1数控编程的基本概念根据被加工零件的图纸及其技术要求、工艺要求等切削加工的必要信息,按数控系统所规定的指令和格式编制数控加工指令序列2.1.2数控编程方法简介1)手工编程2)自动编程以自动编程语言为基础的方法以计算机辅助设计为基础的方法2.2数控编程的基础2.2.1编程的几何基础1.机床坐标系机床上固有的坐标系数控机床的主轴与机床坐标系的Z轴重合或平行2.机床零点与参考点机床零点:机床坐标系的零点。(基准点)参考点:由挡铁和限位开关预先确定好的点。返回参考点3.工件坐标系与工件零点用于确定工件几何图形上各几何要素的位置而建立的坐标系选择工件零点的原则:便于将工件图的尺寸方便地转化编程的坐标值和提高加工精度4.编程零点5.绝对尺寸与增量尺寸从工件坐标系的原点进行标注的尺寸相对它前一点的位置增量进行标注的尺寸2.2.2编程的工艺基础数控编程的特点:需要处理工艺问题1.加工工件的选择2.加工工序的划分⑴刀具集中分序法⑵粗、精加工分序法⑶按加工部位分序法3.工件的装卡方式(1)尽量采用组合夹具(2)选择合理的零件定位、夹紧的部位避免干涉,便于测量(3)选择合理的夹紧力位置和方向减少变形(4)装卡、定位要考虑到重复安装的一致性先平面,后孔先简单,后复杂先精度低,后精度高4.加工路线的确定⑴应尽量减少进、退刀等辅助时间。⑵铣削时,要尽量采用顺铣加工方式。⑶选择合理的进、退刀位置。⑷加工路线一般是先加工外轮廓,再加工内轮廓。5.切削用量的选择考虑机床、刀具、工件材料、冷却液等因素2.2.3数控程序编制的内容与步骤零件图纸分析确定加工的工艺路线刀位轨迹计算编写程序程序输入程序校验、试切加工2.3数控标准2.3.1数控程序编制的国际标准和国家标准1.ISO代码和EIA代码国际标准化协会美国电子工业协会2.数控标准的内容:数控的名词术语;数控机床的坐标轴和运动方向;数控机床的字符编码(ISO代码、EIA代码)数控编程的程序段格式;准备机能(G代码)和辅助机能(M代码);进给功能、主轴功能和刀具功能。2.3.2程序结构与程序段格式1.加工程序的结构加工程序主程序和子程序程序段(block)字(word)地址和数据2.程序段格式N××××G××X±××××.×××Y±××××.×××F××S××T××M××LF程序段序号准备机能字坐标字进给功能字主轴转速功能字刀具功能字辅助功能字结束符常用地址字符地址字意义A、B、C围绕X、Y、Z轴旋转的旋转轴角度尺寸字F、S、T进给速度指定机能、主轴速度机能、刀具机能G准备机能I、J、K插补参数M辅助机能N程序段序号U、V、W与X、Y、Z轴平行的第2移动坐标尺寸字X、Y、Z主坐标轴X、Y、Z移动坐标尺寸字2.4数控系统的指令代码2.4.1国际标准化组织准规定的准备功能指令代码—G代码(见教材表2.2)模态代码:一经在一个程序段中指定,其功能一直保持到被取消或被同组其它G代码所代替非模态代码:的功能仅在所出现的程序段内有效同组的两个代码不能出现在一个程序段中不同组的G代码根据需要可以在一个程序段中出现2.4.2FANUC系统G代码指令集(见教材表2.3和2.4)(1)选择机床坐标系指令(G53)G53XαYβ;(2)工件坐标系设定指令G92X400.Z250.机床原点参考点βαφ400250zx2.4.3G代码功能介绍(以FANUC系统为例)1.与坐标系有关的G代码G92X180.Y150.(3)选择工件坐标系指令(G54~G59)基准点xy150180G54G55参考点机床坐标系原点(4)设定局部坐标系指令(G52)G52X100.Y50.⊙●机床坐标系原点参考点局部坐标系局部坐标系G59G58G57G56G55G54(5)坐标平面设定指令(G17,G18,G19)G17----xy平面;G18----zx平面;G19----yz平面.Z/X平面Y/Z平面X/Y平面YXZ2.坐标值尺寸G代码(1)绝对值和增量值编程指令(G90,G91)G90X40.0Y70.0;绝对值编程G91X-60.0Y40.0;增量值编程XY70.030.040.0100.0终点起点(2)极坐标尺寸指令G16;建立极坐标指令方式G15;取消极坐标指令方式绝对值指令编程N1G17G90G16N2G81X100.0Y30.0Z-20.0R-5.0F200.0N3Y150.0N4Y270.0N5G15G80相对值指令编程N1G17G90G16N2G81X100.0Y30.0Z-20.0R-5.0F200.0N3G91Y120.0N4Y120.0N5G15G80100(3)公制,英制转换指令G20;英制输入G21;公制输入3.关于参考点的G代码(1)返回参考点校验指令(G27IP_)(2)自动返回参考点指令(G28IP_)(3)返回到第二、第三和第四参考点指令(G30piIP_)(4)自动从参考点返回指令(G29IP_)G28和G29指令应用的例子;G28G90X1000.0Y700.0;返回参考点(A→B→R)T1111;在参考点换刀G29X1500.0Y200.0;从参考点返回(R→B→C)20030070040010001500ABRCXY4.插补功能G代码(1)定位(快速)指令(G00)AB(2)单方向定位指令(G60)结束位置暂停开始位置过冲量开始位置(3)直线插补指令(G01)G01XxYyZzFfx轴方向的进给速度:其中:例:直线轴插补:(G91)G01X200.0Y100.0F200.0;旋转轴插补:G91G01C–90.0F300.0;Y110.0XO20.0(终点)220.0(起点)10.0(起点)(终点)进给速度300deg/min90°222zyxLfLxFx(4)圆弧插补指令顺时针圆弧插补指令(G02)逆时针圆弧插补指令(G03)方向:从XY平面(ZX平面,YZ平面)的Z轴(Y轴,X轴)的正向往负向观察XYG17G03G02ZXG18G03G02YZG19G03G02格式:G03XxYyIiJjFf或G03XxYyRrFfx,y----终点坐标(与G90和G91有关)I,j----圆心坐标(增量值,与G90和G91无关)r------圆弧半径(负值表示大于180度圆弧)f-------切向速度例:G03X100.Y100.I50.J50.F100.或G03X100.Y100.R50.F100.圆弧插补示例,加工轨迹如图绝对编程方式:G92X200.0Y40.0Z0;G90G03X140.0Y100.0I-60.0F300;G02X120.0Y60.0I-50.0;或G92X200.0Y40.0Z0;G90G03X140.0Y100.0R60.0F300;G02X120.0Y60.0R50.0;增量编程方式:G91G03X-60.0Y60.0I-60.0F300;G02X-20.0Y-40.0I-50.0;或G91G03X-60.0Y60.0R60.0F300;G02X-20.0Y-40.0R50.0;90120140R60R501006040OYX(5)螺旋线插补指令F代码规定为刀具沿圆弧的进给速度例:G91G17G03X-50.Y50.R50.Z30F100.;030217FRJIYXGGGPPZYX刀具轨迹(6)螺纹切削指令格式:G33IP_F_;其中IP_:螺纹终点位置F_:长轴方向导程(或螺距)例:加工螺纹长度10mm,螺距1.5mm,指令为G33Z10.0F1.5;XZ(9)跳过功能指令指令格式:G31IP_;应用场合:加工停止位置由跳过信号指定,如磨削加工,工件尺寸测量等。示例:10050YX跳过信号输入G31G91X100.0F100.0;Y50.0;G31G90X200.0F100.0;X300.0Y280.0;Y跳过信号输入(300,280)280100200300x5.进给功能G代码(1)每分进给量指令(G94)G94;每分进给G代码F_;进给速度指令(mm/min或inch/min)(2)每转进给量指令(G95)G95;每转进给G代码F_;进给速度指令(mm/rev或inch/ren)(3)时间倒数进给速度指令(G93)G93;倒数时间进指令G代码F_;进给速度指令(1/min)(4)一位进给速度F代码指令6.切削速度控制G代码(1)准确停止指令(G09)到终点之前减速并进行“到位检测”,非模态指令。(2)准确停止方式指令(G61)到终点之前减速并进行“到位检测”,模态指令。(3)切削方式指令(G64)终点前不减速而移到下一个程序段,模态指令。(4)攻丝方式指令(G63)同G64但进给倍率固定为1。(5)自动拐角倍率指令(G62)在拐角两端,运动速度会自动地减少。(6)暂停指令(G04)G04X_;或G04P_;例:暂停1秒的指令为:G04X10007.主运动速度G代码①恒表面速度控制指令格式为:G96S○○○○○;↑线速度(m/min或feet/min)②恒表面速度控制取消指令格式为:G97S○○○○○;↑主轴速度(rpm)8.补偿功能G代码(1)刀具长度补偿指令格式:G43(G44)_H_G43:正偏移G44:负偏移G49:取消长度补偿_:指定轴的位置H_:偏移值地址例:H1----刀具偏移值为20.0G90G43Z100.0H1;刀具将沿Z轴运动到120.0的位置8.补偿功能G代码(2)刀具偏移指令G45IP_D_;增加一个刀具偏移量的移动距离G46IP_D_;减少一个刀具偏移量的移动距离G47IP_D_;增加二个刀具偏移量的移动距离G48IP_D_;减少二个刀具偏移量的移动距离G代码指定正的刀具偏移值指定负的刀具偏移值G45G46G47G48N1G91G46G00X35.0Y20.0D01;N2G47G01X50.0F120.0;N3Y40.0;N4G48X40.0;N5Y-40.0;N6G45X30.0;N7G45G03X30.0Y30.0J30.0;N8G45G01Y20.0;N9G46X0;运动量为零,刀具向-X方向移动一个刀偏值;N10G46G02X-30.0Y30.0;J30.0;N11G45G01Y0;运动量为零,刀具向+Y方向移动一个刀偏值;N12G47X-120.0N13G47Y-80;N14G46G00X-35.0Y-20.04020N13N12R30N11N10N9N8R30N7N6N5N4N3N2N1N14303040503540刀具:Φ20刀偏号:01刀偏值:+10(3)刀具半径补偿C指令B刀补----尖角用圆弧过渡C刀补----尖角用折线过渡左刀补:G00(或G01)G41IP_D_;右刀补:G00(或G01)G42IP_D_;IP_指令坐标轴的运动值;D_为表示刀具半径补偿值的代码。撤消刀补指令为G40。偏移矢量建立刀补取消刀补G92X0Y0Z0;设定绝对坐标系,刀具位于开始位置(X0,Y0,Z0);N1G90G17G00G41D07X250.0Y550.0;建立刀具半径补偿;N2G01Y900.0F150;N3X450.0;N4G03X500.0Y1150.0R650.0;N5G02X900.0R-250.0;N6G03X950.0Y900.0R650.0;N7G01X1150.0;N8Y550.0;N9X700.0Y650.0;N10X250.0Y550.0;N11G00G40X0Y0;XYP1(250,550)P2(250,900)P3(450,900)P4(500,1150)P5(900,1150)C1(700,1300)R250C2(1550,1550)R650R650C3(-150,1150)P6(950,900)P7(1150,900)P8(1150,550)P9(700,650)X40R40R20(-6.195,39.517)YW10G92X0Y0Z50G00X-60Y-40S500M03Z5G01Z-10F20G42D1X-40