版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、宏程序设计宏程序与子程序类似,对编制相同加工的操作可以使程序简化同时宏程序中可以使用变量,算术和逻辑运算及转移指令,还可以方便地实现循环程序设计。使相同加工操作的程序更方便,更灵活。本章以FANUC系统为例介绍宏程序设计的内容。12.1变量的定义宏程序中使用的变量与日常生活中使用的变量不同,变量用符号“#”后跟变量的变量号指定。变量可分为四种类型。1. 空变量#0为空变量,该变量不能赋值。2. 局部变量#1#33为局部变量,局部变量只能在宏程序中存储数据。当断电时局部变量被初始化为 空,调用宏程序时,自变量对局部变量赋值。局部变量的数值范围10-291047或-10 47-10-29,如果计算
2、结果超过该范围则发出P/S报警No.111。3. 公共变量#100#199、#500#999为公共变量,公共变量在不同的宏程序中意义相同。当断电时, 变量#100#199被初始化为空,变量#500#999的数据不会丢失。全局变量的数值范围 10-291047或-1047-10-29,如果计算结果超过该范围则发出P/S报警No.111 o4. 系统变量#1000为系统变量,系统变量用于读和写CNC运行时的各种数据,如刀具的当前位置和补偿值等。5. 变量与地址(自变量)的对应关系系统可用两种形式的自变量指定,表12-1为自变量指定I的自变量与变量的对应关系。表12-2为自变量指宾II的自变量与变量
3、的对应关系。表12-1自变量指定I的变量对应关系地址(自变量)变量号地址(自变量)变量号地址(自变量)变量号A#1I#4T#20B#2J#5U#21C#3K#6V#22D#7M#13W#23E#8Q#17X#24F#9R#18Y#25H#11S#19Z#26在自变量指定I中,G、L、0、N、P不能用,地址I、J、K必须按顺序使用,其它地址顺序无要求。举例:G65 P3000 L2 B4 A5 D6 J7 K8正确(J、K符合顺序要求)在宏程序中将会把 4赋给#2,把5赋给#1,把6赋给#7,把7赋给#5,把8赋给#6举例:G65 P3000 L2 B3 A4 D5 K6 J5不正确(J、K不符
4、合顺序要求)表12-2自变量指定II的变量对应关系地址(自变量)变量号地址(自变量)变量号地址(自变量)变量号A#1K3#12J7#23B#2I4#13K7#24C#3J4#14I8#25I1#4K4#15J8#26J1#5I5#16K8#27K1#6J5#17I9#28I2#7K5#18J9#29J2#8I6#19K9#30K2#9J6#20I10#31I3#10K6#21J10#32J3#11I722K10#33自变量指定II使用A、B、C和1次,使用I、J、K各10次。系统能够自动识别自变量指定I和自变量指定II并赋给宏程序中相应的变量号。如果自变量指定I和自变量指定II混合使用,则后指
5、定的自变量类型有效。举例:G65 A1.0 B2.0 I-3.0 I4.0 D5.0 plOOO 宏程序中:#1:1.0#220,#3:#4:-3.0#5:#6:#7:5.0说明:14.0为自变量指定II,D为自变量指定I,所以#7使用指定类型中的 D5.0,而不使 用自变量指定II中的14.0。6.本级变量#1#33作用于宏程序某一级中的变量称为本级变量,即这一变量在同一程序级中调用时含义相 同,若在另一级程序(如子程序)中使用,则意义不同。本级变量主要用于变量间的相互传递, 初始状态下未赋值的本级变量即为空白变量。局部变量#1#33 (一个宏程序中的同名变量)从 0到4级,主程序是0级。每
6、调用一个 含有同名变量的宏程序,级别加1,前一级的变量被保存。当一个宏程序结束(执行M99 )时,级别减1。例如:主程序宏程序宏程序宏程序宏程序(0级)(1级)(2级)(3级)(4级)O0001O0002O0003O0004O0005#1=1;#1=2#1=3#1=4#1=5G65P2A2 ;G65P3A3G65P4A4G65P5P55 55 55 55 55 5M99M30M99M99M9912.2变量的运算对宏程序中的变量可以可以进行算术运算和逻辑运算。1. 算术运算可以进行加、减、乘、除运算。运算功能和格式如表12-3所示。举例:G00X#1+#2X坐标的值是变量1与变量2之和。2. 三
7、角函数计算对宏程序中的变量可进行正弦(SIN八 反正弦(ASIN八 余弦(COS八 反余弦(ACOS)、正切(TAN )、反正切(ATAN )函数运算。三角函数中的角度以度为单位。运算功能和格式 如表12-3所示。表12-3 变量运算功能表类型功能格式举例备注算 术 运 算加法#i=#j+#k#仁 #2+#3常数可以代替变量减法#i=#j-#k#仁 #2-#3乘法#i=#j*#k#仁 #2*#3除法#I=#j*#k#仁 #2/#3三角函数运算正弦#i=SIN#j#仁 SIN#2角度以度指定35 30表示为35.5常数可以代替变量反正弦#i=ASI#j#仁 ASIN#2余弦#i=COS#j#仁
8、COS#2反余弦#i=ACOS#j#仁 ACOS#2正切#i=TAN#j#仁 TAN#2反正切#i=ATAN#j#仁 ATAN#2其它函数运算平方根#i=SQRT#j#仁 SQRT#2常数可以代替变量绝对值#i=ABS#j#仁 ABS#2舍入#i=ROUN#j#仁 ROUN#2上取整#i=FIX#j#1=FIX#2下取整#i=FUP#j#1=FUP#2自然对数#i=LN#j#1= LN#2指数对数#i=EXP#j#仁 EXP#2逻辑运算与#i=#jAND#k#仁 #2AND#2按位运算或#i=#j OR #k#仁 #2OR#2异或#i=#j XOR #k#仁 #2XOR#2转换运算BCD 转
9、BIN#i=BIN#j#仁 BIN#2BIN 转 BCD#i=BCD#j#1= BCD#2对于反反正弦(ASIN )取值范围如下:当参数(No.6004#0)NAT 位设为 0 时:270 90 当参数(No.6004#0)NAT 位设为 1 时:-90 90 当#j超出-11时发出P/S报警No.111。对于反余弦(ACOS)的取值范围如下:取值范围180 0当#j超出-11时发出P/S报警No.111。对于反正切(ATAN )的取值范围如下:当参数(No.6004#0)NAT 位设为 0 时:0 360 当参数(No.6004#0)NAT 位设为 1 时:-180 1803. 其它函数计算
10、对宏程序中的变量还可以进行平方根(SQRT)、绝对值(ABS)、舍入(ROUN )、上取整(FIX )、下取整(FUP)、自然对数(LN八指数(EXP)运算。运算功能和格式如表 12-3所示。对于自然对数LN#j,相对误差可能大于10-8。当#j 0时,发出P/S报警NO.111。对于批数函数 EXP#j,相对误差可能大于10-8。当运算结果大于 3。65 X 1047 (j大约110) 时,出现溢出并发出 P/S报警No.111。对于取整函数 ROUN#j,根据最小设定单位四舍五入。例如,假设最小设定单位为1/1000mm , #1=1.2345,则#2=ROUN#1的值是1.0。对于上取整
11、FIF#j,绝对值值大于原数的绝对值。对于下取整FUP绝对值小于原数的绝对值。例如,假设#1=1.2,则#2=FIX#1的值是2.0。假设 #1=1.2,则 #2=FUP#1的值是 1.0。假设#仁-1.2,则#2=FIX#1的值是-2.0。 假设#仁-1.2,则#2=FUP#1的值是-1.0。4. 逻辑运算对宏程序中的变量可进行与、或、异或逻辑运算。逻辑运算是按位进行。运算功能和格式 如表12-3所示。5. 数制转换变量可以在BCD码与二进制之间转换。6. 关系运算由关系运算符和变量(或表达式)组成表达式。系统中使用的关系运算符如下。(1)等于(EQ)用EQ与两个变量(或表达式)组成表达式,
12、当运算符EQ两边的变量(或表达式)相等时,表达式的值为真,否则为假。例如,#1EQ#2,当#1与#2相等时,表达式的值为真。(2)不等于(NE)用NE与两个变量或表达式组成表达式,当运算符NE两边的变量(或表达式)不相等时,表达式的值为真,否则为假。例如,#1NE#2,当#1与#2不相等时,表达式的值为真。(3)大于等于(GE)用GE与两个变量或表达式组成表达式,当左边的变量(或表达式)大于或等于右边的变量(或表达式)时,表达式的值为真,否则为假。例如,#1GE#2,当#1大于或等于#2时,表达式的值为真。否则为假。(4)大于(GT)用GT与两个变量或表达式组成表达式,当左边的变量(或表达式)
13、大于右边的变量(或 表达式)时,表达式的值为真,否则为假。例如,#1GT#2,当#1大于#2时,表达式的值为真。否则为假。(5)小于等于(LE)用LE与两个变量或表达式组成表达式,当左边的变量(或表达式)小于或等于右边的变 量(或表达式)时,表达式的值为真,否则为假。例如,#1LE#2,当#1小于或等于#2时,表达式的值为真。否则为假。(6)小于(LT)用LT与两个变量或表达式组成表达式,当左边的变量(或表达式)小于右边的变量(或 表达式)时,表达式的值为真,否则为假。例如,#1GE#2,当#1大于#2时,表达式的值为真。否则为假。7. 运算优先级运算符的优先顺序是(1)函数。函数的优先级最高
14、。(2 )乘、除、与运算。乘、除、与运算的优先级次于函数的优先级。(3 )加、减、或、异或运算。加、减、或、异或运算的优先级次于乘、除、与运算。乘、 除、与运算的优先级。(4 )关系运算。关系运算的优先级最低。用方括号可以改变优先级,括号不能超过5层。超过5层时,发出P/S报警No.111。8. 变量值的精度变量值的精度为8位十进制数。例如,用赋值语句 #1=9876543210123.456 时,实际上 #1=9876543200000.000。 用赋值语句 #2=9876543277777.456 时,实际上 #1=9876543300000.000。12.3宏程序结构宏程序从结构上可以有
15、顺序结构、分支结构和循环结构。本节介绍分支和循环结构的实现方法。1. 无条件转移(GOTO )格式:GOT On ; n为顺序号(19999)例如,GOTO6 ;语句组N6 G00X100 ;执行GOTO6语句时,转去执行标号为 N6的程序段。2. 条件转移(IF)格式:IF关系表达式GOTOn;例如,IF#1LT30GOTO7语句组N7G00X100X5如果#1大于30,转去执行标号为 N7的程序段,否则执行 GOTO7下面的语句组。3. 条件转移(IF)格式:IF表达式THENTHEN后只能跟一个语句。例如,IF#1EQ#2THEN#3=0;当#1等于#2时,将0赋给变量#3。4. 循环(
16、WHILE)格式:WHILE关系表达式D0 m;语句组;END m ;当条件表达式成立时执行从DO到END之间的程序,否则转去执行 END后面的程序段。例如,#1=5 ;WHILE#1LE30DO 1;#仁#1+5 ;G00X#1Y#1 ;END 1 ;M99 ;当#1小于等于30时,执行循环程序,当#1大于30时结束循环返回主程序。12.4宏程序的调用与返回1. 宏程序的简单调用宏程序的简单调用是指在主程序中,宏程序可以被单个程序段单次调用。调用指令格式:G65 P (宏程序号)L (重复次数)(变量分配)其中:G65 宏程序调用指令P (宏程序号)一一被调用的宏程序代号;L (重复次数)一
17、一宏程序重复运行的次数,重复次数为1时,可省略不写;(变量分配)为宏程序中使用的变量赋值。宏程序与子程序相同的一点是,一个宏程序可被另一个宏程序调用,最多嵌套4层。2. 宏程序的开始与返回宏程序的编写格式与子程序相同。其格式为:O0010 (00018999为宏程序号)/程序名N10 指令J JN30 M99/宏程序结束宏程序以程序号开始,以 M99结束。12.5宏程序应用举例例1:加工如图12-1所示的椭圆表面,材料为中碳钢。由于一般的数控系统无椭圆插补功能,手工编程可用宏程序实现编程计算。本例使用?20键槽铳刀分两层铳削,每一次切削深度为5mm。按刀具刀具轨迹编程。图12-1椭圆轮廓图主程
18、序00001N0001 G92X0.0Y0.0Z150.0 ;N0002 M03S300 ;N0003 G00X-80.0 ;N0004 G00Z1.0 ;N0005 G01Z0.0F100.0N0006 G65P0100A80.0B50.0C-5.0N0007 G65P0100A80.0B50.0C-10.0N0007 G00Z150.0 ;N0008 G00X0.0Y0.0 ;N0009 M05 ;N0010 M30 ;工件坐标系原点设在工件中心距顶面上主轴正转,转速刀具移至椭圆左端点处快速接近工件慢速接近工件椭圆长半轴为80,短半轴为50。Z向进刀5mm 椭圆长半轴为80,短半轴为50。
19、Z向进刀5mm 抬刀刀具回起点主轴停程序结束宏程序01000#10=-#1 ;N1000 G01Z#3 ;WHIL#10LE#1DO1 ;#1 仁SQRT#1*#1-#10*#10*#2/#1;N1001 G01X#10Y#11F100.0 ;#10=#10+0.05 ;END1;#10=#1;WHIL#10GE-#1DO2 ;#1 仁-SQRT#1*#1-#10*#10*#2/#1;#1为长半轴=80,#2为短半轴=50,#10为X坐标#3为Z向进刀深度X坐标小于等于80循环加工上半椭圆#11为Y坐标用椭圆公式计算 切削进给修改X坐标,X+0.05#1为长半轴=80,#2为短半轴=50,#1
20、0为X坐标X坐标小于等于80循环加工下半椭圆#11为Y坐标用椭圆公式计算切削进给修改X坐标,X-0.05返回主程序N1002 G01X#10Y#11F100 ;#10=#10-0.05;END2;N1003 M99例2:加工如图12-2所示的凹槽表面。零件材料为中碳钢。为保证表面质量,内外轮廓先粗加工后精加工,粗加工内轮廓时刀补半径比刀具半径大0.2m m,作为精加工余量。精加所示。工的刀补半径与刀具半径相同。工序卡片和刀具卡片见表12-4和表产品名称或代号数控车实训零件名称典型零件3零件图号03序号刀具号刀具规格名称数量加工表面刀具直径mm备注1T01?20键槽铳刀1中心岛轮廓粗第1层20.
21、0刀补号12T01?20键槽铳刀1深度进刀20.0刀补号13T01?20键槽铳刀1中心岛轮廓粗第2层20.0刀补号14T01?20键槽铳刀1中心岛轮廓精20.0刀补号25T01?20键槽铳刀1矩形凹槽第1层20.0无刀补6T01?20键槽铳刀1深度进刀20.0无刀补7T01?20键槽铳刀1矩形凹槽第2层20.0无刀补8T01?20键槽铳刀1异形凹槽第1层20.0无刀补9T01?20键槽铳刀1深度进刀20.0无刀补10T01?20键槽铳刀1异形凹槽第2层20.0无刀补11T02?8键槽铣刀1凹槽外轮廓粗第1层8.0刀补号312T02?8键槽铣刀1深度进刀8.0刀补号313T02?8键槽铣刀1凹槽
22、外轮廓粗第2层8.0刀补号314T02?8键槽铣刀1凹槽外轮廓精8.0刀补号415T01?20键槽铳刀1中心处的上斜面20.0刀补号216T01?20键槽铳刀1中心处的下斜面20.0刀补号217T01?20键槽铳刀1中心处的右斜面20.0刀补号218T01?20键槽铳刀1中心处的左斜面20.0刀补号2表12-2 数控加工工序卡单位北华航天工业学院产品名称或代号零件名称零件图号名称数控铣实训典型零件303工序号程序编号夹具名称使用设备车间001O0010平口钳XH714实训中心工步工步内容刀具号刀具规格mm主轴转速r/min进给速度mm/min切削深度mm备注1中心岛轮廓粗第1层T01?2030
23、01006D仁 20.42深度进刀T01?20300506D仁 20.43中心岛轮廓粗第2层T01?203001006D仁 20.44中心岛轮廓精T01?2030010012D2=20.05矩形凹槽第1层T01?2030010066深度进刀T01?203005067矩形凹槽第2层T01?2030010068异形凹槽第1层T01?2030010069深度进刀T01?2030050610异形凹槽第2层T01?20300100611凹槽外轮廓粗第1层T02?8350806D3=8.412深度进刀T02?8350506D3=8.413凹槽外轮廓粗第2层T02?8350806D3=8.414凹槽外轮廓精
24、T02?83508012D4=8.015中心处的上斜面T01?20300100计算D2=20.016中心处的下斜面T01?20300100计算D2=20.017中心处的右斜面T01?20300100计算D2=20.018中心处的左斜面T01?20300100计算D2=20.0JJJ丿图12-3 工步1工步4的走刀路线图 图12-4 工步5工步7的走刀路线图O0100N0101 G92X0.0Y0.0Z150.0;N0102 M06T01H01;N0103 G00Z1.0M03S300.0;N0104 G00X30.0Y25.0;N0105 G01Z-6.0F50.0;N0106 G01X15.
25、0Y15.0G42D1F100.0;N0107 G65P0200I15.0J15.0;N0108 G01X30.0Y25.0G40;N0109 G01Z-12.0F50.0;N0110 G01X15.0Y15.0G42D1F100.0;N0111 G65P0200I15.0J15.0;N0112 G01X30.0Y25.0G40;N0113 G01X15.0Y15.0G42D2F100.0;N0114 G65P0200I15.0J15.0;N0115 G01X30.0Y25.0G40;N0116 G00Z-6.0;N0117 G01X35.0Y29.0;N0118 G65P0200I35.0J
26、29.0;N0119 G01X30.0Y25.0N0120 G01Z-12.0F50.0 ;N0121 G01X35.0Y29.0;N0122 G65P0200I35.0J29.0;N0123 G01X30.0Y25.0N0124 G01Z-6.0;N0125 G65P0300;N0126 G01X30.0Y25.0图12-5 工步8工步10的走刀路线图图12-16 工步5工步7的走刀路线图图12-3至图12-6给出了有关工步的走刀路线图。主程序设定坐标系换第1号刀接近工件起动主轴进入切削起点AZ向切入工件(粗加工第 1次深度)A-B( D1刀补比实际直径大 0.2mm,右刀补) 调用切矩形宏
27、程序回切削起点AZ向切入工件(粗加工第 2次深度)A-B( D1刀补比实际直径大 0.2mm,右刀补) 调用切矩形宏程序回切削起点AA-B( D2与实际直径相同,精加工)调用切矩形宏程序回切削起点A抬刀(粗加工第1次深度)A-B (切削矩形无刀补)调用矩形宏程序回切削起点AZ向切入工件(粗加工第 2次深度)A-B (切削矩形无刀补)调用矩形宏程序回切削起点A切削两端余量(粗加工第1次深度)切第1层回切削起点AN0127 G01Z-12.0;N0128 G65P0300;N0129 G01X30.0Y25.0N0130 M06T02H02;N0131 G01X30.0Y25.0;N0132 G0
28、0Z1.0;N0133 G01Z-6.0F50.0;N0134 G01X0.0Y44.0G41D3F100.0;N0135 G65P0400;N0136 G01X30.0Y25.0G40;N0137 G01Z-12.0F50.0;N0138 G01X0.0,Y44.0G41D3F100.0;N0139 G65P0400;N0140 G01X30.0Y25.0G40;N0141 G01X0.0Y44.0G41D4F100.0 ;N0142 G65P0400;N0143 G01Z-2;N0144 G01X30.0Y25.0G40;N0145 M06T01H01;N0146 G01X30.0Y0.0
29、G42D2N0147 G65P0500I30.0J0.0I-30.0J30.0;N0148 G00Z-2.0;N0149 G00X30.0Y25.0G40;N0150 G01X30.0Y0.0G41D2F100.0 ;N0151 G65P0600I30.0J0.0I-30.0J-30.0;N0152 G00Z1.0;N0153 G00X30.0Y25.0G40;N0154 G01Z-2.0F100.0N0155 G01X0.0Y30.0G41D2 ;N0156 G65P0700I0.0J30.0I30.0J-30.0;N0157 G00Z1.0N0158 G00X30.0Y25.0Z-2G42
30、F100.0;N0159 G01Z-2.0N0160 G01X0.0Y30.0G42D2N0161 G65P0800I0.0J30.0I-30.0J-30.0;N0162 G00Z150.0;N0163 G00X0.0Y0.0G42;N0164 M30;Z向进刀(粗加工第 2次深度) 切第2层回切削起点A 换第2把刀 进入切削起点 接近工件切入6mm深(粗加工第1次深度) A-B (切入曲线轮廓到上部长边的中点) 调曲线轮廓宏程序进入切削起点AZ向切入深度12mm (粗加工第2次深度) A-B (切入曲线轮廓到上部长边的中点) 调曲线轮廓宏程序回起刀点AA-B (切入到长边中点第 4号刀补)
31、调用曲线轮廓宏程序 抬刀至斜面顶点高度加工切削起点A 换第1号刀进入上斜面起点处加工上斜面抬刀回切削起点 进入下斜面起点处 加工下斜面抬刀回切削起点下刀进入右斜面起点加工右斜面 抬刀回切削起点下刀进入左斜面起点 加工左斜面Z向回初始位置XY回坐标原点 程序结束切削矩形宏程序,直刀路线如图0020012-3和12-4所示。N0201 G01X-#4F100.0;N0202 G01Y-#5;N0203 G01X#4;N0204 G01Y#5;N0205 M99;B-CC-DD-EE-B返回主程序切削内内腔两端余量宏程序,走刀路线如图12-5所示。00300N0301 G01X48.0Y29.0F1
32、00 ;A-BN0302 G01X-48.0 ;B-CN0303 G01X-35.0Y0.0 ;C-DN0304 G01X-48.0Y-29.0;D-EN0305 G01X48.0 ;E-FN0306 G01X35.0Y0.0 ;F-GN0307 G01X48.0Y29.0;G-BN0308 M99;返回主程序切削曲线轮廓宏程序,走刀路线如图12-6所示。00400N0401 G01X-53.0F100.0 ;B-CN0402 G03X-63.0Y34.0R10.0 ;C-DN0403 G01Y20.365 ;D-EN0404 G03X-58.8Y12.219R10.0 ;E-FN0405 G02X-58.8Y-12.219R15.0 ;F-GN0406 G03X-63.0Y-20.3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 运载工具用光反射镜市场环境与对策分析
- 西装外套市场需求与消费特点分析
- 小型双眼望远镜市场发展现状调查及供需格局分析预测报告
- 2024年度广告投放委托合同
- 2024年度物业承包合同文本
- 藤手杖市场需求与消费特点分析
- 2024年度原料供应与质量保证合同
- 2024年度农家乐停车场建设及管理合同
- 皮旅行箱市场发展预测和趋势分析
- 2024年度安居客与大连房产中介佣金分配合同
- 广告设计的图形创意课件
- 关务简介及操作指南课件
- 2023新高考数学PPT:第69讲 轨迹方程
- HFMEA实战案例概述课件
- 广东开放大学计算机应用技术(互联网营销)专业毕业设计0
- 《普通话训练手册》word版
- XX项目交付准备工作计划倒排表
- [江苏]苏州姑苏区石湖地块启动会报告(PPT+113页)
- (完整版)新概念英语第1册.pdf
- 2022年《破阵子为陈同甫赋壮词以寄之》课堂实录与名师评点教学反思
- 《我的压岁钱》课件
评论
0/150
提交评论