ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:236.51KB ,
资源ID:10455427      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10455427.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数控FANUC系统宏程序及教程.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数控FANUC系统宏程序及教程.docx

1、数控FANUC系统宏程序及教程宏 程 序 设 计宏程序与子程序类似,对编制相同加工的操作可以使程序简化.同时宏程序中可以使用变量,算术和逻辑运算及转移指令,还可以方便地实现循环程序设计。使相同加工操作的程序更方便,更灵活。本章以FANUC系统为例介绍宏程序设计的内容。12.1 变量的定义 宏程序中使用的变量与日常生活中使用的变量不同,变量用符号“#”后跟变量的变量号指定。变量可分为四种类型。 1. 空变量 #0为空变量,该变量不能赋值。 2. 局部变量 #1#33为局部变量,局部变量只能在宏程序中存储数据。当断电时局部变量被初始化为空,调用宏程序时,自变量对局部变量赋值。局部变量的数值范围10

2、-291047或-1047-10-29,如果计算结果超过该范围则发出P/S报警No.111。 3. 公共变量 #100#199、#500#999为公共变量,公共变量在不同的宏程序中意义相同。当断电时,变量#100#199被初始化为空,变量#500#999的数据不会丢失。全局变量的数值范围10-291047或-1047-10-29,如果计算结果超过该范围则发出P/S报警No.111。 4. 系统变量 #1000为系统变量,系统变量用于读和写CNC运行时的各种数据,如刀具的当前位置和补偿 值等。 5. 变量与地址(自变量)的对应关系系统可用两种形式的自变量指定,表12-1为自变量指定I的自变量与变

3、量的对应关系。表12-2为自变量指宾II的自变量与变量的对应关系。表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、O、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 P30

4、00 L2 B3 A4 D5 K6 J5 不正确(J、K不符合顺序要求)表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并赋给宏程

5、序中相应的变量号。如果自变量指定I和自变量指定II混合使用,则后指定的自变量类型有效。 举例:G65 A1.0 B2.0 I-3.0 I4.0 D5.0 p1000宏程序中: #1:1.0#2:2.0, #3: #4:-3.0 #5: #6: #7:5.0 说明:I4.0为自变量指定II,D为自变量指定I,所以#7使用指定类型中的D5.0,而不使用自变量指定II中的I4.0。6. 本级变量#1#33作用于宏程序某一级中的变量称为本级变量,即这一变量在同一程序级中调用时含义相同,若在另一级程序(如子程序)中使用,则意义不同。本级变量主要用于变量间的相互传递,初始状态下未赋值的本级变量即为空白变量

6、。 局部变量#1#33(一个宏程序中的同名变量)从0到4级,主程序是0级。每调用一个含有同名变量的宏程序,级别加1,前一级的变量被保存。当一个宏程序结束(执行M99)时,级别减1。例如:主程序 宏程序 宏程序 宏程序 宏程序(0级) (1级) (2级) (3级) (4级)O0001 O0002 O0003 O0004 O0005#1=1; #1=2 #1=3 #1=4 #1=5G65P2A2; G65P3A3 G65P4A4 G65P5P5 M99M30 M99 M99 M9912.2 变量的运算 对宏程序中的变量可以可以进行算术运算和逻辑运算。 1. 算术运算 可以进行加、减、乘、除运算。运

7、算功能和格式如表12-3所示。举例:G00X#1+#2X坐标的值是变量1与变量2之和。 2. 三角函数计算对宏程序中的变量可进行正弦(SIN)、反正弦(ASIN)、余弦(COS)、反余弦(ACOS)、正切(TAN)、反正切(ATAN)函数运算。三角函数中的角度以度为单位。运算功能和格式如表12-3所示。表12-3 变量运算功能表类型功能格式举例备注算术运算加法#i=#j+#k#1=#2+#3常数可以代替变量减法#i=#j-#k#1=#2-#3乘法#i=#j*#k#1=#2*#3除法#I=#j*#k#1=#2/#3三角函数运算正弦#i=SIN#j#1=SIN#2角度以度指定3530表示为35.5

8、常数可以代替变量反正弦#i=ASI#j#1=ASIN#2余弦#i=COS#j#1=COS#2反余弦#i=ACOS#j#1=ACOS#2正切#i=TAN#j#1=TAN#2反正切#i=ATAN#j#1=ATAN#2其它函数运算平方根#i=SQRT#j#1=SQRT#2常数可以代替变量绝对值#i=ABS#j#1=ABS#2舍入#i=ROUN#j#1=ROUN#2上取整#i=FIX#j#1=FIX#2下取整#i=FUP#j#1=FUP#2自然对数#i=LN#j#1=LN#2指数对数#i=EXP#j#1=EXP#2逻辑运算与#i=#jAND#k#1=#2AND#2按位运算或#i=#j OR #k#1=

9、#2OR#2异或#i=#j XOR #k#1=#2XOR#2转换运算BCD转BIN#i=BIN#j#1=BIN#2BIN转BCD#i=BCD#j#1=BCD#2对于反反正弦(ASIN)取值范围如下: 当参数(No.6004#0)NAT位设为0时:27090 当参数(No.6004#0)NAT位设为1时:-9090 当#j超出-11时发出P/S报警No.111。对于反余弦(ACOS)的取值范围如下: 取值范围1800 当#j超出-11时发出P/S报警No.111。对于反正切(ATAN)的取值范围如下: 当参数(No.6004#0)NAT位设为0时:0360 当参数(No.6004#0)NAT位设

10、为1时:-1801803. 其它函数计算对宏程序中的变量还可以进行平方根(SQRT)、绝对值(ABS)、舍入(ROUN)、上取整(FIX)、下取整(FUP)、自然对数(LN)、指数(EXP)运算。运算功能和格式如表12-3所示。对于自然对数LN#j,相对误差可能大于10-8。当#j0时,发出P/S报警No.111。对于批数函数EXP#j,相对误差可能大于10-8。当运算结果大于3。651047(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=-1.2,则#2=FIX#1的值是-2.0。 假设#1=-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) 格式:GOTOn;n为顺序号(19999)例如,GOTO6; 语句组 N6 G00X100; 执行GOTO6语句时,转去执行标号为N6的程序段。 2. 条件转移(IF) 格式:IF关系表达式GOTOn;例如,IF#1LT30 GOTO7 语句组 N7G00X100X5 如果#1大于30,转去执行标号为N7的程序段,否则执行GOTO7下面的语句组。 3. 条件转移(IF) 格式:IF表达式THEN THEN后只能跟一个语句。例如,IF#1EQ#2THEN#3=0; 当#1等于#2时,将0赋

16、给变量#3。4. 循环(WHILE)格式:WHILE关系表达式DO m; 语句组; END m;当条件表达式成立时执行从DO到END之间的程序,否则转去执行END后面的程序段。例如,#1=5;WHILE#1LE30DO 1; #1=#1+5; G00X#1Y#1;END 1;M99; 当#1小于等于30时,执行循环程序,当#1大于30时结束循环返回主程序。12.4 宏程序的调用与返回 1. 宏程序的简单调用宏程序的简单调用是指在主程序中,宏程序可以被单个程序段单次调用。调用指令格式:G65P(宏程序号)L(重复次数)(变量分配)其中:G65宏程序调用指令P(宏程序号)被调用的宏程序代号;L(重

17、复次数)宏程序重复运行的次数,重复次数为1时,可省略不写;(变量分配)为宏程序中使用的变量赋值。宏程序与子程序相同的一点是,一个宏程序可被另一个宏程序调用,最多嵌套4层。2. 宏程序的开始与返回宏程序的编写格式与子程序相同。其格式为:O0010(00018999为宏程序号) /程序名N10 /指令 N30 M99 /宏程序结束 宏程序以程序号开始,以M99结束。12.5 宏程序应用举例例1:加工如图12-1所示的椭圆表面,材料为中碳钢。由于一般的数控系统无椭圆插补功能,手工编程可用宏程序实现编程计算。本例使用20键槽铣刀分两层铣削,每一次切削深度为5mm。按刀具刀具轨迹编程。图12-1 椭圆轮

18、廓图主程序O0001N0001 G92X0.0Y0.0Z150.0; 工件坐标系原点设在工件中心距顶面上N0002 M03S300; 主轴正转,转速N0003 G00X-80.0; 刀具移至椭圆左端点处N0004 G00Z1.0; 快速接近工件N0005 G01Z0.0F100.0 慢速接近工件N0006 G65P0100A80.0B50.0C-5.0 椭圆长半轴为80,短半轴为50。Z向进刀5mmN0007 G65P0100A80.0B50.0C-10.0 椭圆长半轴为80,短半轴为50。Z向进刀5mmN0007 G00Z150.0; 抬刀N0008 G00X0.0Y0.0; 刀具回起点N0

19、009 M05; 主轴停N0010 M30; 程序结束宏程序O1000#10=-#1; #1为长半轴=80,#2为短半轴=50,#10为X坐标N1000 G01Z#3; #3为Z向进刀深度WHIL#10LE#1DO1; X坐标小于等于80循环加工上半椭圆#11=SQRT#1*#1-#10*#10*#2/#1; #11为Y坐标用椭圆公式计算N1001 G01X#10Y#11F100.0; 切削进给#10=#10+0.05; 修改X坐标,X+0.05END1;#10=#1; #1为长半轴=80,#2为短半轴=50,#10为X坐标WHIL#10GE-#1DO2; X坐标小于等于80循环加工下半椭圆#

20、11=-SQRT#1*#1-#10*#10*#2/#1; #11为Y坐标用椭圆公式计算N1002 G01X#10Y#11F100; 切削进给#10=#10-0.05; 修改X坐标,X-0.05END2;N1003 M99 返回主程序例2:加工如图12-2所示的凹槽表面。零件材料为中碳钢。为保证表面质量,内外轮廓先粗加工后精加工,粗加工内轮廓时刀补半径比刀具半径大0.2mm,作为精加工余量。精加工的刀补半径与刀具半径相同。工序卡片和刀具卡片见表12-4和表12-5所示。图12-2 凹槽表面零件表12-1 实例3用刀具卡片产品名称或代号数控车实训零件名称典型零件3零件图号03序号刀具号刀具规格名称

21、数量加工表面刀具直径mm备注1T0120键槽铣刀1中心岛轮廓粗第1层20.0刀补号12T0120键槽铣刀1深度进刀20.0刀补号13T0120键槽铣刀1中心岛轮廓粗第2层20.0刀补号14T0120键槽铣刀1中心岛轮廓精20.0刀补号25T0120键槽铣刀1矩形凹槽第1层20.0无刀补6T0120键槽铣刀1深度进刀20.0无刀补7T0120键槽铣刀1矩形凹槽第2层20.0无刀补8T0120键槽铣刀1异形凹槽第1层20.0无刀补9T0120键槽铣刀1深度进刀20.0无刀补10T0120键槽铣刀1异形凹槽第2层20.0无刀补11T028键槽铣刀1凹槽外轮廓粗第1层8.0刀补号312T028键槽铣刀

22、1深度进刀8.0刀补号313T028键槽铣刀1凹槽外轮廓粗第2层8.0刀补号314T028键槽铣刀1凹槽外轮廓精8.0刀补号415T0120键槽铣刀1中心处的上斜面20.0刀补号216T0120键槽铣刀1中心处的下斜面20.0刀补号217T0120键槽铣刀1中心处的右斜面20.0刀补号218T0120键槽铣刀1中心处的左斜面20.0刀补号2表12-2 数控加工工序卡单位名称北华航天工业学院产品名称或代号零件名称零件图号数控铣实训典型零件303工序号程序编号夹具名称使用设备车间001O0010平口钳XH714实训中心工步工步内容刀具号刀具规格mm主轴转速r/min进给速度mm/min切削深度mm

23、备注1中心岛轮廓粗第1层T01203001006D1=20.42深度进刀T0120300506D1=20.43中心岛轮廓粗第2层T01203001006D1=20.44中心岛轮廓精T012030010012D2=20.05矩形凹槽第1层T012030010066深度进刀T01203005067矩形凹槽第2层T012030010068异形凹槽第1层T012030010069深度进刀T012030050610异形凹槽第2层T0120300100611凹槽外轮廓粗第1层T028350806D3=8.412深度进刀T028350506D3=8.413凹槽外轮廓粗第2层T028350806D3=8.41

24、4凹槽外轮廓精T0283508012D4=8.015中心处的上斜面T0120300100计算D2=20.016中心处的下斜面T0120300100计算D2=20.017中心处的右斜面T0120300100计算D2=20.018中心处的左斜面T0120300100计算D2=20.0 图12-3 工步1工步4的走刀路线图 图12-4 工步5工步7的走刀路线图 图12-5 工步8工步10的走刀路线图 图12-16 工步5工步7的走刀路线图图12-3至图12-6给出了有关工步的走刀路线图。主程序O0100N0101 G92X0.0Y0.0Z150.0; 设定坐标系N0102 M06T01H01; 换第

25、1号刀N0103 G00Z1.0M03S300.0; 接近工件起动主轴N0104 G00X30.0Y25.0; 进入切削起点AN0105 G01Z-6.0F50.0; Z向切入工件(粗加工第1次深度)N0106 G01X15.0Y15.0G42D1F100.0; A-B(D1刀补比实际直径大0.2mm,右刀补)N0107 G65P0200I15.0J15.0; 调用切矩形宏程序N0108 G01X30.0Y25.0G40; 回切削起点AN0109 G01Z-12.0F50.0; Z向切入工件(粗加工第2次深度)N0110 G01X15.0Y15.0G42D1F100.0; A-B(D1刀补比实

26、际直径大0.2mm,右刀补)N0111 G65P0200I15.0J15.0; 调用切矩形宏程序N0112 G01X30.0Y25.0G40; 回切削起点AN0113 G01X15.0Y15.0G42D2F100.0; A-B(D2与实际直径相同,精加工)N0114 G65P0200I15.0J15.0; 调用切矩形宏程序N0115 G01X30.0Y25.0G40; 回切削起点AN0116 G00Z-6.0; 抬刀(粗加工第1次深度)N0117 G01X35.0Y29.0; A-B(切削矩形无刀补)N0118 G65P0200I35.0J29.0; 调用矩形宏程序N0119 G01X30.0Y25.0 回切削起点AN0120 G01Z-12.0F50.0; Z向切入工件(粗加工第2次深度)N0121 G01X35.0Y29.0; A-B(切削矩形无刀补)N0122 G65P0200I35.0J29.0; 调用矩形宏程序N0123 G01X30.0Y25.0 回切削起点AN0124 G01Z-6.0; 切削两端余量(粗加工第1次深度)N0125 G65P0300;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1