资源描述
第一部分编程代码及轮廓线基础编程1 数控铳削编程2.1程序的编制流程2.2数控机床编程种类2.3典型数控糸统24教控机床的坐标糸2.5程序段格式2.6基本编程指令(大畏系统)2.7数呈如1.1程序的编制流程1. 柱数控机床上加工工件,首先要编制加工程序,编制 加工程序的过程就是将工件的工艺过程、切削参数、 刀具的移动极其輔助动作按顺序用数控糸统规定的指 令格式编写出加工程序单。2. 不同的数控糸统、不同的机床,程序编制基本上是相 似的,但又各不相同,我们要学习的是目本大隈(OKUM)数控糸统。大隈教控糸统的许多功能指令与 其他数控糸统很近似。1.2数控机床编程种类121手工编程是从分析零件图样、确认加工工艺过程、编写零件加工 程序等都是人工完成。对形状简单、计算量小、程序不 多的零件,釆用手工编程较简单,而且经济、及对。A 加工直线与圆孤组成的轮廊加工中,手工编程的应用较 广泛。1.2.2i动编程是利用计算机专用轶件编制数控加工程序的过程。扌艮据 零件图样的要求,使用数控语专,由计算机自动进行数 值计算及后置戏理,编写出零件加工程序单,以直接通 训的方式送入数控机床。1.3.3计算机辅助编程:随着计算机的发展, 利用高度集成的CAD/CAM图形交互软件进 行计算机辅助编程。代表软件有PRO/E、 UG、CAXA等。1.3典型数控糸统1. FANUC法那科(Z)数控糸统2. SIEMENS西门子教控糸统3. FAGOR比格数控糸统4OKUM丸隈数控糸统5. 华中数務糸统6. 广州数控糸统7. 航夭数務糸统14数控机床的坐标糸241机床坐标糸又称机械坐标糸,其坐标原点的住置则由机 床生产厂设定。机床坐标糸的原点也称为机 床零点。若采用增量式住置检测裝置,则毎 次机床上电后,必须进行回参考点(也称回 零点丿的运行操作,以建立苑床坐标糸;如 果采用绝对式住置检测裝置,则可以省去这 个操作。机床坐标糸的确之方法右手第卡余坐标糸:站存机床前面右手 中捋从主轴进给方向捋岀图7.1机床坐标系统x工件坐标系工件坐标的的设定,实际上是在机床坐标中建立工件 坐标系。使刀具在工件的编程轨迹运动,实现零件的切 削加工。当工件在机床上固定以后,工件原点与机床原 点也就有了确定位置关系,即两坐标原点的偏差就已确 定。这个偏差值通常是由机床操作者在手动操作下,通 过一定的方式测量的,该测量值预存到数控系统或编程 G代码中,这时即可实现工件原点向机床原点的偏移使 两点重合。OpXpG17、G18、G19选择加工平面G17选择XY平面G18选择ZX平面G19选择YZ平面1.5程序段格式 N10 G01 X12Y20Z18用英文字母和数字构成字准备功能字G:用地址G和两位数字表示程序段序号N:由地址及后面的数字组成16程序的结构与格式程序号:由英丈字母或英丈和数字组成。 程序的内彖:由若干程序段组成。 程序段:由若干字组成。毎个字又由字母和数字组成。程序结束:以结束指令M02或M30作为整个程序的结O 既字母和教字组成字,字组成程序段,程序段组成程O 每个程序都由程序号、程序内彖和程序结束三部分组 成。1.7程序的书写格式OSKX程序号G15H1建立坐标系G90G17进给方式T1M03选刀具、主轴正转、主轴转速GOO X0Y0Z50刀具快速定位G01 Z5 F100程序内容N10 N20 GOO XOYOZIOO返回坐标点N30 M30;程序结束1.8基本编程指令(大号系统)通过编程并运行这些程序而使数控机床能够实现的功能我们称z 为可编程功能。一般可编程功能分为两类:一类用来实现刀具轨 迹控制即各进给轴的运动,如直线/圆弧插补、进给控制、坐标系 原点偏置及变换、尺寸单位设定、刀具偏置及补偿等,这一类功 能被称为准备功能,以字母G以及两位数字组成,也被称为G代码。 另一类功能被称为辅助功能,用来完成程序的执行控制、主轴控 制、刀具控制、辅助设备控制等功能。在这些辅助功能屮,Txx 用于选刀,Sx x x x用于控制主轴转速。其它功能由以字母M与 两位数字组成的M代码来实现 1)准备功能代码G代码; 2)辅助功能代码M代码; 3)其它功能代码H F S T D o1.8.1 G功能指令是使数控机床做好慕种操作准备的 指令,用地址G和两佞数字表示,从G00 G99共 100种。我们要学习的是大限糸列代码。1. 模态方式和非模态方式2. G代码为模态代码肘一但该代码牲程序段中指定,其功 能艮后续程序段中保持有效,直到出现同组的另一个代 码肘才失效。3. G代码为非模态代码肘柱写有该代码的程序段中才有效。G01G08G15G19G41G53G80G02G09G16G20G42G54G81G03GIOG17G21G50G55G73G04GHGtB640GMG56G831.8.2 M代码:辅助功能代码作用:用于控制CNC机床开关量,如主轴正反转、冷却液的开停、 工件的夹紧松开等。组成:M后带二位数字组成。M00-程序停止M08冷却液开启MO 1 选择性停止M09冷却液关闭M02-程序结朿M30.程序结束M03起动主轴(正转)M98- 了程序调用*M04主轴反转M99-子程序调用结束*M05-主轴停止1.8.3其它功能代码 F进给速度指令 -F后跟的数字是进给速度的大小,如F100表示进给速度为 10 Omm/mino进给率F是续效代码,也是有效直到赋予新植,不需要在每个程序段都指定。 -F码指定的进给率是沿刀具轨迹测量的。 -如果不指定尸值,则认为进给率为零。 -Z在程序启动第一个G01或G02或G03功能时,必须 同时驱动F功能。 S主轴速度功能指令 -S是续效代码,S代码后的数值为主轴转速,要求 为整数,如S1000表示主轴转速为1000r/min-组成:在零件加工之前一定要启动主轴运转(M03或 M04) T指令一刀具功能指令 -Tnn代码用于选择刀具库中的刀具,rm表示刀号。 D指令一刀具半径补偿号-组成:它由地址“D”及其后面的几位数字表示 -D及其后的数字为存放刀具半径补偿值的寄存器地址字。 一表示:D16表示刀具半径补偿量用第16号的值。 H指令一刀具长度补偿号-组成:它由地址“H”及其后而的几位数字表示 -H及其后的数字为存放刀具长度补偿值的寄存器地址字。 f表示:H18義示刀具上度补偿量加第18号的值。1.8.4绝对坐标编程和相对坐标编程1. 采用绝对坐标编程时,尺寸字描述的是刀具运动的终 点坐标。绝对坐标:G902. 而采用相对坐标编程,尺寸字描述的是刀具相对前一 个程序段中运动终点的位移。相对坐标:G911.8.5建立工件坐标系用数字化加工机床加工的第一步,是要建立工件坐标系, 即建立编程零点和程序零点。冃的是用数字形式把工件 的位置,告知机床/吏机床能准确地判断出被加工零件的 位置。工件坐标系是建立在机床坐标系的基础上/把机 床坐标系通过G15(G54、G55、G56、G57、G58、 G59、G92)等形式,偏置到工件上一个方便各象关尺寸 换算的位置上。工件坐标系位置选择位置不同,对编程 的难易程度至关重要。法那克:G54大隈:G15 H01为了方便编程,工件编程坐标一律采用工件固定、 刀具移动的坐标糸,由CNC糸统自动转换成刀具的 运动。在编程肘,直接使用机床坐标糸计算彼加工 工件的坐标点会很不方便,所以一般要建立工件坐 标糸,要确之工件原点。工件原点也称编程原点,设 在工件的工艺基准处。OpXpz/p/ Op卄J/ X265运动指令 G01 :直线插补y刀位点G01X100Y80F100 GOO :快速移动yi i80 -刀位点G00X100Y80(点定位)歿占k、 八八100 G02 (G03):顺时针圆弧插补(逆时针圆弧插补)8060R10刀位点(终点)终点(刀位点)1 X100G02X100Y60R10F100G03X100Y80R10F100 G02 :顺时针圆弧插补刀位点80 100G02X80Y70R-10F100 G02 :顺时针圆弧插补41 X80 100G02I0J-10F100小结口圆心角小于等于180度时半径值写正值口圆心角大于180度时半径值写负值 整圆时,要用圆心相对于起点的相对坐标2轮廓线基础编程在轮廓线基础编程中,我们要沿着计算 岀各个基点坐标,即直线、圆弧含有插补 命令的轨迹线段的交点坐标。然后利用代 码和这些点的坐标对轨迹进行编辑。其主 要编程工作量在基点的计算上。2.1练习程序:G01X0Y0F100X230X300Y40Y120X230G02X180R25G01Y140G03X120R30G01Y120G02X70R25GO 1X0YO31数控铳编程特例整圆的遍程G15 Hl T1 M03G90 XO YO Z5GOO X30 Y0G01 Z-3 F100G03 1-30 J0GOO Z5GOO XO Y0MO5M302.2数控铳床训练试题部分 立体编程、简化编程及宏编程懈甦去的基础编程中,把刀具看作是一个理想 零在实际编程时是根据刀具中心沿着理论轮 嶋动来进行导轨的编辑。体工件。=中,刀具是有特定形状和大小实 而被加工的对象也不是简单的线条,而是具 三士N有立体形状的实体。因此我们要利用刀具补偿功 能,是我们能利用不同的刀具在同一条理论轨迹 -的加工程序控制下,加工出相同大小和形状的立1.1半径补偿指令G41:半径左补偿G42:半径右补偿G40:取消半径补偿面对走刀方向,刀具根据要保留的材 料,其中心相对于理论轨迹向左移动一 个刀具半径值,从而形成一个新的刀具 中心轨迹。此时被称为左补偿。半径左补偿(G41)GO 1X0G40G01X-30Y-30GO 1X0G40G01X-30Y-30程序:G41G01X0Y0D01F100G01Y120GO1X70G03X120R25G01Y140G02X180R30G01Y120G03X230R25G01X300G01Y40G01X230Y0GO 1X0G40G01X-30Y-30.2右补偿(G42)的扌面对走刀方向,刀具根据要保留的材料,其中心相对于理论轨迹向右移动二 个刀具半径值,从而形成一个新的刀具 中心轨迹。此时称为右补偿。半径右补偿(G42)G42G01X0Y0D01F100G01X2301.1.3取消刀具补偿宦 fl HI 每完成一个封闭轮廓的加工,为了不 把刀补代入过渡轨迹以及不同刀具补偿 的重新建立,我们都需要取消补偿。补 偿与取消补偿是成对使用的。取消半径补偿(G40)取消半径补偿(G40)程序:G41G01X0Y0D01F100G01Y120GO1X70G03X120R25G01Y140G02X180R30G01Y120G03X230R25G01X300G01Y40G01X230Y0例:N01 G15H1N02 G90G17yN03 G00Z50 N04M03S300 N05G00X-30Y-30 N06G00Z2 N07G01Z-3F100 N08G41G01X20Y14D01 N09G01Y62M08 N10G02X44Y86R24 Nil G01X10010 N12G03X120Y62R24 N13G01Y40N14 X100Y14N15 X20 N16 G00G40X0Y0M09 N17 G00Z50N18 M05 N19 M30小结建立和取消补偿必须在有GOO或G04的 程序段中来完成,而不能在有圆弧插补. 的程序段中完成。建立补偿之前的刀位点必须使刀具远离 工件。其补偿距离应至少大于刀具半径。建立和取消补偿之间的刀具轨迹尽可能 是一个平面内的连续轨迹。补偿结束时,应取消补偿。2简化编程固定循环几何变换表达式赋值21固定循环系统开发商将一些具有相同加工过程的 通用加工模式开发成一些可以循环调用的 宏程序存储在系统中。当用户需要时通过 固定循环指令调用。G81(用 G99)G81(fflG98)2.1.1较为常用的几种孔加工固定循环(大 隈及法那克系统为例)G80取消固定循坏功能;G81 一般钻孔循环;G73高速深孔钻固定循坏(断削功能);G83深孔钻固定循环(排削功能)。大隈:G81X Y Z R FX、Y:空的坐标伐置Z: 孔底佞置R:其卖平面的Z向坐标例程序: G15G90H03 T1 M03S235 G56H1Z150 G81X10Y10Z-15R5P1F100 Y30_口X50 Y10飞 G80Z150 M05 M30和0yI1Xc、cc、cI c丿J丿o1050X602.2表达式赋值的编程方法在我们编程的过程当中,不免存在着根号的输入与计算,如果用人工或计算器计 算都是比较麻型的-如果能将根号直接输入就能节省很多时间与精力- SQRT代表V例如: 10 V 3 就写成 10*SQRT (3)例如:G15H1T1MO3G90G17GOZIOOG01X15 * SQRT (3) Y14.5MO5M30z2.3其它几种功能,方法子程序调用程序镜像的功能程序缩放(比例)的方法程序旋转功能231子程序的调用:我们把相同的程序段编成子程序,存 储在子程序区域里,以便在主程序需要使 用时随时调用。而在主程序中就不需要反 固书写。2. 5. 2主程序与子程序了程序:语句的下一个淮.一个工件加工程序中,如果有一定量的程序段是完全重复 的,则可将这些重复的程序段抽出,以一良格式作成子程序。使用肘将主 程序和子程序都输入存储器中,执行程序的过程中可通过主程序里的子程 序调用指令运行子程序。子程序可读次调用,这样可大大的简化编程工作。 主程序与子程序的不同点:1、存储肘文件犷畏名不同,主程序犷畏名 为MIN,子程序扩展名为,SSB 2、结束符不同,子程序以RTS结束,主 程序以M02、M 30结束。惟圭程序里怠样调用子程序帝用的方法是单纯调用,印用CALL来调用。格式:CALLOQO是指朗要调用的子程序名,Q是指朗重复调用的次数。最多可调 用9999次,如果省略Q糸统默认为调用一次2. 5. 3主程序与子程序的关系 0100 N02 . N10 CALL 0A11 N30 CALL 0A11N60 M30子程序结束符RTS使子程序运行结束后返曰主程序,即埶 行CALL OA11语句的下一个程序段巨程序: 0SKX3 G15 Hl M03 S475G90G17 GOO Z50 GOO X30 Y15 CALL OlOO GOO X30 Y65 CALL OlOO GOO X1OO Y65 CALL OlOOGOOX1OO Y15CALLOlOOGOOZ50M05M30* * *乂 乂 乂 士 乂T*OlOOGO1Z-4 F1OOG91GO1 X50Y30X-50Y-30 口 口GOO Z14G90RST3宏编程定义: 用户可以使用变量进行算术运算、逻辑运算 和函数混合运算及赋值。并提供了循环语句、分支语句和 子程序调用语句。针对具有规律性变化的动作及计算的复 杂程序进行编程。通过变量计算,免除了手工编程时的繁琐的 数值计算,精简了程序;通过变量编程使NC程序不仅适 用于特定数值下的一次加工,而是适用于相似的一类加工。 增加了程序的灵活性和通用性;利用变量的函数运算、逻 辑运算可以对非圆曲线及立体曲面进行编程。非圆曲线包 括除园以外的各种可以用方程描述的圆锥二次曲线(如抛 物线、椭圆、双曲线)、阿基米德螺旋线及各种参数方程、 极坐标方程所描述的平面曲线和列表曲线。3J娈量编程的表示方法及格式是一种能够在数控加工程序内部使用的特殊形式的实数变量。从使用类型上 _可以分为系统变量和。是专门留给数控加工程序编制人员使用的,可以任意读写、使用,并且能够代替程序中的坐标值、主轴转速、进给 速度值以及G功能代码值等。宏变量的形式大隈系统:VCn (n = l,2,3,4,-.) 法那克系统:#n (n = l,2,3A-.) 引用方法例如:VC1 = 1OOOF=VC1VC2=Z=VC2VC1=VC2运算指令1.变量的赋值与置换VC1 = 5VC2=VC12 加法运算VC1=VC1+VC2 VCl=100+VC2 VC1=VC1-VC2 VCl = 100-VC23 乘法运算VC1=VC1 *VC2VC1=VC1/VC24 函数运算正弓玄:VC1 = SINVC2余弦:VC1=COSVC2正切:VC1=TANVC2 反正弦:VC1=ASINVC2平方根:VC1=SQRTVC2 绝对值:VC1=ABSVC2 取整:VC1 = ROUNDVC2控制命令转移指令:IF条件式GOTO n(n为跳转的位置, 一般写成程序段号)条件为:EQ (等于)NE (不等于)GT (大于) GE (大于等于)LT (小于)LE (小于等于)例如:VC10=0N01 GOO X=VC10VC10=VC10+10IF VC10 LT 100 GOTO N013.2利用宏程序实现非圆曲线轮廓的加工数控系统一般只有直线和圆弧插补功能,也就是说通 过运动代码G01G02G03只能实现直线和圆弧两种轨迹 运动。那么众多的非圆曲线轨迹运动怎么实现呢?其数学 处理方法就是利用极限的原理。对于非圆曲线轮廓,用直 线或圆弧逼近它。在这里我们又遇到了一个“节点”的概念, “节点”就是逼近线段与非圆曲线的交点。它不同于我们先 前学到的基础编程里的“基点”概念。一个已知曲线方程的 节点数主要取决于所用逼近线段的形状、曲线方程的特性 以及允许的误差。321逼近原理解析及编程时算法的猜析下面以直线段逼近整园来说明。首先在数学当中我们通过割圆术说 明了极限的概念。即当正内接多边形边数N趋于无穷人时,那么它就 可以看成为园。推广到任意曲线,我们先报据公差要求,把曲线离散 成N个点。再用直线或圆弧将这些点连接左-起。用折线和相切圆弧 连成的线逼近曲线。在直线逼近整园的数控加匚编程屮我们就要先求 出内接多边形与圆的N个交点坐标(即“节点”坐标)。然后通过在“节 点”之间的N个直线运动癥现圆周轮廓的加工。接卜来我们要看看程序编制的问题。首先我们要设计好解决任务 的步骤、数学计算等(即算法的设计)。算法是“灵魂”,而编程语言 是工具。在本例中我们要选择合适的描述曲线的方程和循环变量。这 样才能使程序简单并保证曲线精度。为了用-个正多边形均匀地逼近 曲线,我们选择了角度做为循环变量。让其均匀变化。并用参数方程 描述园。3.2.2编程实例(正多边形逼近园)大隈系统:VC1 = O (角度变虽赋初值)VC2=50 (半径变量赋值)VC3=H (加工深度绝对值)VC4=360 (判断变量的最终值)G15H01 (调用匸件寥点)G0G90XVC2 + 10Y0 (快速定位到落刀点)Z10 (快速下降到安全高度)G01Z-VC3F100 (工进到加工深度)N01 G01XCOSVC1 *VC2YSINVC:L *VC2 (用变呈数学R込代对坐标地址赋值)VC1=VC1 + 1 (循环变虽均匀递增)IF VC1 LE VC4 N01 (控制语句)G0Z10 (抬刀)M30 (程序结束柱这个程序中,我们不但庇函教 中使用了计算参数,而且对所有的 地址复赋值都采用了变量。这个程 序就彼称为老程序。卜-面我们针对一个特定数值的整园直线段逼近的变量编程。看看普 通的变量编程与宏程序的区别。宏是针对的是某一类的加工。再调用时 不用修改程序,而只需对初始变量赋值。而且初始变量的赋值也町以通 过在主程序中的调用指令进行传递。而不需要对宏程序进行修改。其灵 活性和通用性显而易见。G15H01G90G00X60Y0Z10G01Z-3F100N01 G01X50*cosVClY50*SINVClVC1=VC1+1IF VC1 LE 360 N01G0Z50M30322立体曲面的宏编程在立体曲面加工时,多在三轴联动的数机床上采用二轴 半或三轴联动用“行切法”进行加工。所谓“行切法”是指刀 具与零件轮廓的切点轨迹是一行一行的,而行间的距离是 按零件加工精度的要求确定的。对于不太复杂的空间曲面, 我们采用两个坐标轴联动,另一个坐标轴周期性进给。即 两轴半联动来加工。因此,我们要在空间两个正交平面内确定两条与空间 曲面的相交线。一条是保证曲面加工精度的由两轴联动实 现其轨迹运动的截面线。曲面就是由微分得到的N条截面 线构成。一条是引导周期性进给的引导线。在引导线方向 上对曲面进行微分。对这两条线进行数学方程的描述和变 量设计是编程的关键。下面我们举例说明3.0宏变量曲面编程实例例题:半球体(fanuc系统)#24=Y1;(球心的Y绝对坐标)#25=T;(球的最终加工深度)#7=H;(球顶的Z绝对坐标)#8=1;(球的半径)#9=J;(立铳刀的半径)#16=Q; (Z向下每刀深度)#5=F;(切削速度)#23=X1;(球心的X绝对坐标)#2=C;(切入圆弧半径)#36=#16G90G0G54X#23+#8+#9+#2Y#24 (指令刀具快速移动到落刀点)M3S4500Z#刀M8 (刀具快速下降到安全高度) N01#7 = #7-#16 (任意层的高度计算) #30 = SQRT#8*#8#8#36*#8#36(刀具中心轨迹在任意 层的圆弧半径计算) G90G01Z#刀F3*#5(绝对赋值方式,刀具下降到当前层高) Glx#23+#30+#9+#2Y#24#2F#5(直线插补到切入园起点) G91G02X卜#2Y#2R#2F#5(增量方式以1/4|员【弧方式切入) G03I#30+#9(在当前层高上进行整园插补) G02X#2Y#2R#2(以 1/4圆弧切岀) G01Y-#2(直线插补到X轴上) #36=#36+#16 IF #7GE#25 GOTO 01 (控制语句) G90G0Z50.(抬刀) M99 在此例中,其引导线为圆弧,我们采用了直线段逼近。截而线为整园, 整园有插补指令。因此较为简单。如果截面线为非圆曲线,那么还需要 对非圆曲线进行逼近。那么就需要用到循环嵌套。思考练习题下面对一个引 导线为圆弧,截 面线为椭圆的曲 面加工进行编程。 再次要用到嵌套。宏变量编程练习2:斜方
展开阅读全文