数控宏程序编程.ppt
《数控宏程序编程.ppt》由会员分享,可在线阅读,更多相关《数控宏程序编程.ppt(120页珍藏版)》请在三一办公上搜索。
1、数控宏程序编程,主讲:杨旭,第一章 宏程序应用概述,1.宏程序与普通程序的对比2.宏程序编程特点3.宏程序与CAD/CAM软件生成程序的加工性能对比,1.宏程序与普通程序的对比,2.宏程序编程特点,宏程序的最大特点是将有规则的形状和尺寸用最短的程序表示出来,具有极好的易读性和易修改性,编写的程序非常简洁,逻辑严密,通用性极强。宏程序具有灵活性、通用性和智能性等特点,3.宏程序与CAD/CAM软件生成程序的加工性能对比,(1)宏程序天生短小精悍,即使最廉价的数控系统,其内部程序存储空间也会有10KB左右。(2)CAD/CAM软件生成的程序通常比较大,很容易占据所有的内存空间。,怎么用手工编写半球
2、面的程序呢?,第二章 宏程序基础理论,1.Fanuc 0i系统的用户宏程序2.变量3.算术和逻辑运算 4.转移和循环 5.SIEMENS 802D系统R参数指令编程,1.Fanuc 0i系统的用户宏程序,Fanuc 0i系统提供两种用户宏程序,即用户宏程序功能A和用户宏程序功能B。由于用户宏程序功能A的宏程序需要使用“G65Hm”格式的宏程序指令来表达各种数学运算和逻辑关系,极不直观,可读性非常差,从而很少人知道它。,2.变量,普通加工程序直接用数值指定 G代码和移动距离;例如,G100和 X100.0。使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用 MDI 面
3、板上的操作改变。如:#2=30;#1=#2+100;G01 X#1 F0.3,(1)、变量的表示 变量用变量符号(#)和后面的变量号指定。例如:#1 表达式可以用于指定变量号。此时,表达式必须封闭在括号中。例如:#1+#2-12,(2)变量的类型变量根据变量号可以分成四种类型。,(3)变量的引用 为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在括号中。例如:G01X#1+#2F#3;改变引用的变量值的符号,要把负号(一)放在#的前面。例如:G00X-#1 当变量#1的值是 0,并且变量#2的值是空时,G00X#1 Z#2 的执行结果为 G00X0;,当变量值未定
4、义时,这样的变量成为“空”变量。变量#0 总是空变量。它不能写,只能读。,3.算术和逻辑运算,4.转移和循环,在程序中,使用 GOTO 语句和 IF 语句可以改变控制的流向。有三种转移和循环操作可供使用:,(1)无条件转移(GOTO 语句),格式:GOTOn;n:顺序号(199999)转移到标有顺序号 n 的程序段。当指定 1 到99999 以外的顺序号时,出现P/S 报警 No.128。可用表达式指定顺序号。例:GOTO1;GOTO#10;,(2)条件转移(IF 语句)IF GOTO n 如果指定的条件表达式满足时,转移到标有顺序号 n 的程序段。如果指定的条件表达式不满足,执行下个程序段。
5、,说明:a、条件表达式 条件表达式必须包括算符。算符插在两个变量中间或变量和常数中间,并且用括号()封闭。表达式可以替代变量。b、运算符 运算符由 2个字母组成,用于两个值的比较,以决定它们是相等还是一个值小于或大于另一个值。注意,不能使用不等符号。,下面的程序计算数值 110 的总和,(3)循环(WHILE 语句),在WHILE后指定一个条件表达式,当指定条件满足时,执行从DO到END之间的程序。否则,转到 END后的程序段。,说明:当指定的条件满足时,执行 WHILE 从 DO 到 END 之间的程序。否则,转而执行 END 之后的程序段。DO 后的号和 END 后的号是指定程序执行范围的
6、标号,标号值为 1,2,3。若用 1,2,3 以外的值会产生 P/S 报警 No.126。,循环嵌套:在 DOEND循环中的标号(1 到 3)可根据需要多次使用。但是,当程序有交叉重复循环(DO范围的重叠)时,出现 P/S报警 No.124。,FANUC宏程序的调用,1.非模态调用G65:格式:G65 Pp Ll 其中 p:要调用的程序号 L:调用次数(默认为1)自变量:数据传递到宏程序,例:G65 P8000 L2 A10.B2.;调用2次程序号8000,经自变量A传递到宏程序#1=10;自变量B传递到宏程序#2=2。,自变量指定,根据使用的字母,CNC系统自动地决定自变量指定的类型。地址不
7、需要按字母顺序指定。但应符合字地址的格式。但是,I,J 和K 需要按字母顺序指定。,自变量指定,根据使用的字母,系统自动决定自变量指定的类型。自变量指定用于传递诸如三维坐标值的变量。I,J,K 的下标用于确定自变量指定的顺序,在实际编程中不写。,如果自变量指定和自变量指定混合指定的话,后指定的自变量类型有效。,2.模态调用(G66):G66 Pp Ll;程序点G67;(取消模态),例:G66 P8000 L2 A10.B2.;G00 G90 Z-10.X-5.G67一旦发出G66 则指定模态调用,即指定沿移动轴移动的程序段后调用宏程序。移动到Z-10,调用2次程序号8000,移动到X-5,再调
8、用2次程序号8000。,5.SIEMENS 802D系统R参数指令编程,编程的计算参数从R0R299,共计300个计算参数。其中R0R99在编程时可以自由使用;R100R249主要用于加工循环传递参数;R250R299用于加工循环的内部计算参数。如果编程时没有用到加工循环,R100R249同样可以在编程时自由使用。,(1)赋值变量:用R和后面的数字(0、1、2、3)组成R0=10R1=20注意:1、一个程序中可以有多个赋值语句;也可以用计算表达式赋值。2、赋值时在地址符之后写入符号“=”;赋值也可以有正负,(2).程序跳转 跳转目标程序段中标记符后面必须为冒号;标记符号位于程序段段首。,程序举
9、例:N10 MARKE1:G01 X20;TR789:G00 X10 Z20N100,绝对跳转编程格式:GOTOF Label;向前跳转GOTOB Label;向后跳转,有条件跳转,功能:用IF 条件语句表示有条件跳转,如果满足条件,则进行跳转。编程格式:IF 条件 GOTO F Label;向前跳转 IF 条件 GOTO B Label;向后跳转,第三章 编程实例,例1:如果所示加工长半轴为40,短半轴为20的椭圆。,首先进行工艺的分析,选择相关的进行切削参数,刀具的选择,粗、精加工分开。主轴转速粗加工选择500r/min,精加工选择800r/min,、进给速度F=150mm/min。,O1
10、002G00X100Z50T0101M03S800F150G00X68.Z5.G94X0.Z0.G90X58.Z-50.X56.Z-50.X54.Z-50.X51.Z-50.G00X56.Z5.G90X51.Z-15.R-7.X51.Z-22.R-7.X51.Z-30.R-7.X40.Z-5.R-10.X40.Z-10.R-10.,G00X51Z2#50=11WHILE#50GE1DO1M98P4003#50=#50-1END1G00X51Z2M03S1500F80#50=0M98P4003G00X100Z50M05M30,主程序,子程序:O4003#1=40#2=20#4=40N10#5=#
11、2/#1*SQRT#1*#1-#4*#4G01X2*#5+#50Z#4-40F40#4=#4-0.1IF#4GE0GOTO10G00U2Z2M99,宏程序编程思路,用方程来表示Z轴,Z=a/b*sqrtb2-x2,长半轴为6,短半轴为4的椭圆。X轴作为变量,O002#1=6#2=4#3=0T0101M03 S600WHILE#3 LE#2 DO1#4=#1/#2*SQRT#2*#2-#3*#3#5=#4-6G01 X2*#3 Z#5 F50#3=#3+0.2END 1,G00 X100 Z50M05M30,作业:用方程来表示X轴,Z轴作为变量,编写长半轴为6短半轴为4的椭圆?,O002#1=6
12、#2=4#3=6T0101M03 S600WHILE#3 GE-#1 DO1#4=#2/#1*SQRT#2*#2-#3*#3G01 X2*#4 Z#3-6 F50#3=#3-0.2,END 1G00 X100 Z50M05M30,例2.编制一个车削加工如图所示具有抛物线曲线类的零件通用程序,抛物线开口距离为V,抛物线方程为y2=-2px。,抛物线的一般方程:X2=+2PZ(或者Z2=+2PX)可转换为:Z=+X2/2P(或者X=+Z2/2P)用变量表示上式为:#2=+#1*#1/2*#3#1=+#2*#2/2*#3,根据上述工艺分析,可画出宏程序结构流程框图。,FANUC 0i 数控系统对抛物
13、线曲线类零件精车削的用户宏程序,#1=X0 抛物线顶点的工件坐标横坐标绝对值#2=Z0 抛物线顶点的工件坐标纵坐标绝对值#3=P 抛物线焦点坐标点Z轴上绝对值的2倍p#4=V 抛物线的开口距离#5=K X向递减均值,Q123N10 G00 X#1 Z#2+5N15 M03 S500N20 G01 Z#2 F50N30#1=#1-#5N40#2=-#1*#1/2*#3N50 G01 X#1 Z#2 F50N60 IF#1LE#4/2 GOTO 30N70 G01 X#4 Z#2N80 G00 X100 Z50N90 M05N100 M30,例3.数控车床钻孔循环宏程序编程,O0003M03 S3
14、00M08 F10T0303 G00 Z2#1=50 孔总体深度#2=5 每次钻削递增量#3=0 Z轴初始值WHILE#3LE#1 DO1,#3=#3+#2G01 Z-#3 G00 Z1#4=#3-1G00 Z-#4END 1G00 Z100M05M30,例4.用宏程序编程实现螺纹粗、精加工。,(1)、螺纹轴加工时先粗、精车螺纹大径,螺纹大径一般应车的比基本尺寸小0.20.4mm(约0.13C,C为螺纹螺距);(2)、保证车好螺纹后牙顶出有0.125C的宽度;(3)、再车削退刀槽;(4)、最后分层粗、精车螺纹。采用直进法车削螺纹,升速进刀段为I,降速退刀段为J,螺纹精加工余量D,根据精加工余量
15、确定每次背吃刀量(直径值)分别为(n-1)D、(n-2)D、3D、2D、D,车削次数等于螺纹背吃刀量(=0.65C)除以螺纹精加工余量D后求整。,O0004#1=A A螺纹大径#2=B B螺纹长度#3=C C螺纹螺距#4=I I螺纹升速段长#5=J J螺纹减速段长#6=K K螺纹背吃刀量(K=0.65*#3)半径值#7=D D螺纹最终精加工背吃刀量#8=FUP#6/#7 切削次数上取整#9=#6/#8 背吃刀量递减均值T0101,M03 S300WHILE#8GE1 DO1#8=#8-1 切削次数递减1次#10=#8*#9 背吃刀量计算#1=#1-#10 第n次加工螺纹的X坐标计算G00 X#
16、1+5 Z#4 到螺纹起点,升速段#4 X#1 背吃刀量G32 W-#2+#5 F#3 切削螺纹到螺纹终点G00 X#1+5 X轴方向快退END1G00 X100 Z50 推出工件M30,螺纹车削动画演示,例5:用宏程序编写外圆粗车。工件毛坯为50,加工成30的圆柱。,O0005#1=50#2=30#3=100#4=2#5=5T0101M03S600N10 G00 X#1+5 Z#5 X#1G01 Z-#3 F50G00 X#1,Z#5#1=#1-#4IF#1GE#2 GOTO 10G00 X100 Z50M05M30,外圆车削循环宏程序编程演示,第四章,什么叫顺铣,什么叫逆铣?与刀补之间的关
17、系?在数控铣床上(加工中心上)加工平面是最基本、最简单的零件加工方式,平面的铣削的方法有哪几种?,例1:如图所示,长为75mm,宽为50mm的45#钢块,进行开放区域平面加工,铣削厚度为3mm。,回字形平面的铣削,1工艺分析(1).材料选用45#钢块,采用平口虎钳进行装夹工件,平口虎钳使用前要进行校正。(2).采用适切对刀法进行对刀,G54设在X、Y对称中心上,加工深度3mm,Z轴零点设在工件的表面。起刀点设在工件的左下角(-#2,-#1),选用10的平底立铣刀或者10的键槽铣刀。(3).主轴转速选择600r/min,进给速度选择80mm/min(读者可根据实际情况而定)。2编程思路或编程方法
18、 本例题采用环切法编程,深度上进行一次加工,X、Y同时递减一个刀具直进的%80,短半轴作为循环条件,循环语句一重循环。,O0001 程序号#1=25 定义短半轴#2=37.5 定义长半轴#3=10 定义刀具直径#4=#3*0.8 变量每次变化量G94 G90 G80 G40 G49 G21 G17 程序初始化G54 G00 X-#2 Y-#1 起刀点Z20 M07 安全高度M03 S600 主轴正转、转速600r/minG01 Z-3 F80 下Z轴 给进给速度WHILE#1GE0 DO1 如果#10循环继续执行G01 Y#1 G01 移到Y轴的正半轴上,X#2 移动到X轴的正半轴上Y-#1
19、移动到Y轴的负半轴上X-#2+#4 移动到减去一个变化量的X轴的负半轴上#1=#1-#4 Y轴坐标即变量#1递减#4#2=#2-#4 X轴坐标即变量#1递减#4END1 循环结束G00 Z50 M09 抬刀至安全高度M05 M30 程序结束并返回程序头,一次性平面铣削宏程序编程演示,例2:如图所示,长为75mm,宽为50mm的45#钢块,进行开放区域平面加工,其铣削厚度为8mm。,1工艺分析(1).材料选用45#钢块,采用平口虎钳进行装夹工件,平口虎钳使用前要进行校正。(2).采用适切对刀法进行对刀,G54设在X、Y对称中心上,加工深度8mm,Z轴零点设在工件的表面。起刀点设在工件的左下角(-
20、#2,-#1),选用10的平底立铣刀。(3).主轴转速选择600r/min,进给速度选择80mm/min(读者可根据实际情况而定)。2编程思路或编程方法 本例题采用环切法编程,X、Y同时递减一个刀具直进的%80,深度上作为一个循环条件进行深度控制,短半轴作为另一个循环条件进行平面的铣削,循环语句的双重调用。,%0002 程序号#1=25 定义短半轴#2=37.5 定义长半轴#3=10 定义刀具直径#4=#3*0.8 变量每次变化量#5=8 所需加工深度H(绝对值)#6=0 dz(绝对值)设为自变量,赋初始值为0#7=2 Z坐标(绝对值)每次递增量G94 G90 G80 G40 G49 G21
21、G17 程序初始化G54 G00 X-#2 Y-#1 起刀点M03 S600 主轴正转、转速600r/minWHILE#6LE#5Do1 如果#6#5,循环继续执行#1=25 重新定义短半轴,#2=37.5 重新定义长半轴Z20 M07 安全高度G00 X-#2 Y-#1 移到起刀点G01 Z-#6 F80 下Z轴 WHILE#1GE0DO2 如果#10,循环继续执行G01 Y#1 G01 移到Y轴的正半轴上X#2 移动到X轴的正半轴上Y-#1 移动到Y轴的负半轴上X-#2+#4 移动到减去一个变化量的X轴的负半轴上#1=#1-#4 Y轴坐标即变量#1递减#4#2=#2-#4 X轴坐标即变量#
22、1递减#4END2 循环结束G00 Z50 抬刀至安全高度#6=#6+#7 Z坐标(绝对)依次递增#7(层间距),END1 循环结束M09 切削液关M05 M30 程序结束并返回程序头,深度多次铣削平面加工宏程序编程演示,弓字形开放区域平面铣削,作业:如图所示,长为75mm,宽为50mm的45#钢块,进行开放区域平面加工,其厚度为3mm。,%0033 程序号#1=50 定义短轴#2=75 定义长轴#3=10 定义刀具直径#4=#3*0.8 变量每次变化量#5=-#1+#3/2+6 开始点的Y坐标#6=-#2/2 开始点的X坐标#7=#2/2+0.3*#3G94 G90 G80 G40 G49
23、G21 G17 程序初始化G54 G00 X#6 Y#5 起刀点M03 S600 主轴正转、转速600r/min,Z20 M07 安全高度G01 Z-3 F80 下Z轴WHILE#6LE#7 如果#6#7,循环继续执行G01 Y-#5 G01移至Y轴正向#6=#6+#4 X坐标即变量#6递增#4X#6 X坐标向正方向移动#4Y#5 移至Y轴负向#6=#6+#4 X坐标即变量#6递增#4X#6 X坐标即变量#6递增#4ENDW 循环结束G00 Z50 M09 抬刀M05 M30 程序结束并返回程序头,用圆的标准方程编写圆的外轮廓加工,例3 如图所示,在边长为50mm的正方形上精加工一个半径为20
24、mm整圆,深度为3mm,以顺铣方式进行加工。,%0003 程序号#1=20 圆半径#2=-#1 X负半轴#3=#1 X正半轴#4=5 刀具半径值G94 G90 G80 G40 G49 G21 G17 程序初始化G54 G00 X30 Y25 起刀点Z30 M07 安全高度M03 S600 主轴正转、转速600r/minG01 Z-3 F100 最终加工深度HY0 移动到Y0点,WHILE#3GE-#1 DO1 如果#3-#1,循环执行#6=-SQRT#1*#1-#3*#3+#4 刀具中心在Y轴坐标点值G01 X#3 Y#6 用G01移动到目标点#3=#3-0.05 X轴每次递减0.05END1
25、 循环结束WHILE#2LE#1 DO1 如果#2#1,循环继续执行#5=SQRT#1*#1-#2*#2+#4 刀具中心在Y轴坐标点值G01 X#2 Y#5 用G01移动到目标点#2=#2+0.05 X轴每次递增0.05END 1 循环结束G01 Y-10 延切线走出G00 Z50 M09 抬刀M05 M30 程序结束并返回程序头,作业:用圆的参数方程,编写整圆的宏程序加工程序。,如图所示,40圆上钻86的孔第一孔与X成0夹角,其深度都为10mm,分布在圆周上的孔。,%0001 程序号#1=40 孔所在圆的直径#2=0 第一孔与X轴的夹角#3=1 孔计数器#4=8 总共加工孔数#5=360/#
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数控 程序 编程

链接地址:https://www.31ppt.com/p-2867381.html