




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、FANUC 0i Mate-TC系统宏程序B功能实例应用William.YangFANUC 0i Mate-TC系统宏程序B功能序宏程序作为一种数控程序编制指令现在已经被广大数控机床用户所认识,尤其是近年来随着各类数控大赛的不断开展,宏程序在大赛中的广泛应用,在数控行业中掀起了宏程序的热潮。宏程序根据所用的数控机床的不同略有不同,但大同小异,我们学会了一种机床的宏程序后,再学习其它机床的宏程序就容易了。本文以国际上比较流行的FANUC 0i Mate数控系统为例,介绍一下宏程序的编程。FANUC 0i Mate数控系统中宏程序分为用户宏程序功能A和用户宏程序功能B两类。A类宏程序是采用了G代码
2、和引数进行赋值来表达各种数学运算和逻辑关系的一种方法,现在这种方法由于编制起来相对复杂,一般只有数控机床上没有配置用户宏程序功能B的用户才使用用户宏程序功能A。目前大多数用户都使用用户宏程序功能B进行编制,所以本书仅以用户宏程序功能B为重点深入介绍宏程序的相关知识。讲座中编写了近年广泛应用的一些例子和笔者最近开发 的零件使用宏程序的复杂例子。以FANUC 0i Mate数控系统数控车床和加工中心为例进行讲解,本讲座已经作为我学院的宏程序教案进行推广,同时在我学院进行培训的高级技师、技师及高级工中进行了讲授反映良好,特将本教案作为实例供广大使用FANUC 0i Mate数控系统的用户和有兴趣研究
3、宏程序的读者作为参考。一、宏程序的基本概念在一般的程序中,程序字为常量,只能描述固定的几何形状,缺乏灵活性和适用性。若能用改变参数的方法使同一主程序能加工形状(属性)相同但尺寸(参数)不同的零件,加工就会非常方便,也提高了可靠性。加工不规则形状零件时,机床可能要作非圆曲线运动,一般手工编程达不到要求。在进行自动测量时机床要对测量数据进行处理,这些数据属于变量, 一般程序是不能处理的。针对这种情况,数控机床提供了另一种编程方式,即宏编程。在程序中使用变量,通过对变量进行赋值及处理使程序具有特殊功能,这种有变量的程序叫宏程序。二、宏程序与普通程序的区别1) 普通程序: 只能使用常量 常量之间不可以
4、运算 程序只能顺序执行2) 宏程序: 使用变量可赋值 变量之间可以运算 程序执行时可以跳转三、宏程序中变量的使用1) 变量的类型 空变量:#0 功能:空变量总是空,不能赋值。 用户变量 局部变量:#1#33 (断电时清除)功能:局部变量只能在本宏程序中存储数据。公共变量:#100#199 (断电时清除)#500#999 (断电时不清除)功能:公共变量在不同的宏程序中的意义相同。 系统变量:#1000以上功能:系统变量用于读和写CNC运行时各种数据变化。编程中常用的系统变量,见表1 。表1 刀具补偿存贮器C的系统变量补偿号X轴Z轴刀尖半径 R刀尖位置 T磨损几何磨损几何磨损几何1#2001#27
5、01#2101#2801#2201#2901#230149#2049#2749#2149#2849#2249#2949#234964#2064#2164#2264#23642) 变量的赋值 直接赋值 变量可在操作面板 MACRO 内容处直接输入 , 也可用 MDI 方式赋值 , 也可在程序内用以下方式赋值 , 但等号左边不能用表达式,# _ = 数值 ( 或表达式 ) 。 如:#1=20; G01 X#1; 自变量赋值宏程序体以子程序方式出现 , 所用的变量可在宏调用时在主程序中赋值。如:G65 P9120 X100.0 Y20.0 F20.0;其中X 、Y 、F 对应于宏程序中的变量号,变量
6、的具体数值由自变量后的数值决定。自变量与宏程序体中变量的对应关系有2种,2种方法可以混用,其中G 、L 、N 、O 、P不能作为自变量为变量赋值。变量赋值方法、见表2 、表3表2 变量赋值方法自变量变量自变量变量自变量变量自变量变量A#1H#11R#18X#24B#2I#4S#19Y#25C#3J#5T#20Z#26D#7K#6U#21E#8M#13V#22F#9Q#17W#23表3 变量赋值方法自变量变量自变量变量自变量变量自变量变量A#1I3#10I6#19I9#28B#2J3#11J6#20J9#29C#3K3#12K6#21K9#30I1#4I4#13I7#22I10#31J1#5J4
7、#14J7#23J10#32K1#6K4#15K7#24K10#33I2#7I5#16I8#25J2#8J5#17J8#26K2#9K5#18K8#27 四、运算指令 宏程序具有赋值、算术运算、逻辑运算等功能 , 见表4表4 变量的各种运算形式意义具体实例定义转换#i =#j定义、转换#20=500#102=#10算术运算#i =#j + #k和#5=#10+#102#i =#j - #k差#8=#3+100#i =#j * #k积#120=#1*#24#20=#7*360#i =#j / #k商#104=#8/#7#110=#21/12#i =SIN#j #i =ASIN#j#i =COS#
8、j#i =ACOS#j#i =TAN#j#i =ATAN#j正弦(度)反正弦(度)余弦(度)反余弦(度)正切反正切#10=SIN#5#10=ASIN#16#133=COS#20#10=ACOS#16#30=TAN#21#148=ATAN#1/#2#i =SQRT#j#i =ABS#j#i =ROUND#j#i =FIX#j#i =FUP#j#i =LN#j#i =EXP#j平方根绝对值四舍五入上取整下取整自然对数指数ex#131=SQRT#10#5=ABS#102#112=ROUND#23#115=FIX#109#114=FUP#33#3=LN#100#7=EXP#9逻辑运算#i =#j AN
9、D #k#i =#j OR #k#i =#j XOR #k与或异或#11=#1 AND #18#20=#3 OR #8#12=#5 XOR 25五、控制指令控制指令起到控制程序流向的作用。1)分支语句 ( GOTO )其格式为:IF 条件表达式 GOTO nIF 条件表达式 THEN 表达式若条件表达式为成立则程序转向段号为 n 的程序段 , 若条件不满足就继续执行下一句程序 , 条件式的种类见表5 。表5 条件式种类条件式意义# j EQ # k# j NE # k# j GT # k# j LT # k# j GE # k# j LE # k2)循环指令格式:WHILE 条件式 DO m
10、(m =1,2,3);END m ;当条件式满足时,就循环执行WHILE 与END m 之间的程序段,若条件不满足就执行END m; 的下一个程序段。注意:1)同一识别号可以使用多次,但DO m与END m必须成对使用。例 WHILE DO2; END2;WHILE DO2; END2; 2)循环可以嵌套,但最多嵌套三层。例WHILE DO1; WHILE DO2;WHILE DO3; END3;END2;END1;3)循环不可以交叉。例 WHILE DO2; WHILE DO3; END2; END3;4)可以从循环内向循环外转移。 例 WHILE DO2; GOTO11; END2; N1
11、1;5)不可以从循环外向循环内转移。 例 GOTO11; WHILE DO2; N11; END2; 6)在循环内可以调用用户宏程序或子程序。循环在用户宏程序或子程序中嵌套三层。 例 WHILE DO2; WHILE DO2; G65; M98; G66; END2; G67; END2; 六、宏程序的使用方法1) 宏程序使用格式宏程序格式与子程序一样,结尾用M99返回主程序。O1; 主程序O8000; 宏程序 G65P8000 (自变量赋值); 变量 运算指令 宏程序体 控制指令 M30; M99;2) 选择程序号 程序在存储器中的位置决定了该程序一些权限,根据程序的重要程度和使用频率 ,
12、用户可选择合适的程序号(适用于任何程序),具体如表6 所示。表6 程序的存储区间O0001O7999 程序能自由存储、删除和编辑O8000O8999 不经设定 , 该程序就不能进行存储、删除和编辑O9000O9019 用于特殊调用的宏程序O9020O9899 如果有设定参数就不能进行存储、删除和编辑O9900O9999 用于机器人操作程序3) 宏程序调用方法 非模态调用(单纯调用):指一次性调用宏主体,即宏程序只在一个程序段内有效,叫非模态调用。其格式为:G65 P ( 宏程序号 ) L ( 重复次数 ) 自变量赋值 ;一个自变量是一个字母,对应于宏程序中变量的地址,自变量后边的数值赋给宏程序
13、中与自变量对应的变量。同一语句中可以有多个自变量。 模态调用:模态调用功能近似固定循环的续效作用,在调用宏程序的语句后,机床在指定的多个位置循环执行宏程序。宏程序工的模态调用要用G67取消,其格式为: G66 P ( 宏程序号 ) L ( 重复次数 ) 自变量赋值 ; G67; 七、常用数学公式(1)椭圆的标准方程:椭圆的参数方程:(2) 旋转公式: 八、编程举例例1、 利用G73和参数方程编程参数方程:O0001;N1G99S500M3T0101;G0X100.0Z100.0;X26.0Z2.0;G73U16.0R10;G73P10Q20U0.5W0.2F0.2;N10G0X0;G1Z0F0
14、.1;#1=1.0; (起始角的每次增量)#2=0.0; (角的起始值)#9=90.0; (角的终止值)#3=10.0; (椭圆的短半轴b,X向)#4=20.0; (椭圆的长半轴a,Z向)WHILE #2 LE #9 DO1; (#2值#9值时,循环执行)#5=2*#3*SIN#2; (X =2*b * sin,X为直径值)#6=#4*COS#2; (Z= a * cos)G1X#5 Z#6-#4 F0.1; (直线插补,用许多很短直线来拟合椭圆)#2=#2+#1; (角递增)END1; (循环结束)G1W-5.0F0.1;N20X26.0;G0X100.0Z100.0;M00;N2G99S6
15、00M3T0101;G0X26.0Z2.0;G70P10Q20F0.1;G0X100.0Z100.0;M5;M30;例2、 利用宏程序调用方法编程参数方程:O0001;N1G99S500M3T0101;G0X100.0Z100.0;X56.0Z2.0;G73U16.0R10;G73P10Q20U0.5W0.2F0.2;N10G0X50.0;G1Z-5.0F0.1;G65P0002;(宏程序调用)G1W-5.0F0.1;N20X56.0;G0X100.0Z100.0;M00;N2G99S600M3T0101;G0X56.0Z2.0;G70P10Q20F0.1;G0X100.0Z100.0;M5;
16、M30;O0002;#1=1.0; (起始角的每次增量)#2=0.0; (角的起始值)#3=10.0; (椭圆的短半轴b,X向)#4=20.0; (椭圆的长半轴a,Z向)WHILE #2 LE 90. DO1;(#2值90时,循环执行)#5=2*#3*SIN#2; (X =2*b * sin,X为直径值)#6=#4*COS#2; (Z= a * cos)G1X#5 Z#6-#4 F0.1; (直线插补,用许多很短直线来拟合椭圆)#2=#2+#1; (角递增)END1; (循环结束)M99; (宏程序调用返回)例3、 利用标准方程编程标准方程:注1: 注2:注1和注2由标准方程推导而来!O000
17、1;N1G99S500M3T0101;G0X100.0Z100.0;X26.0Z2.0;G73U16.0R10;G73P10Q20U0.5W0.2F0.2;N10G0X0.0;G1Z0.0F0.1;G65 P0002 A0 B0.1 C20. 0 I10.0 J10.0;(宏程序调用同时对自变量赋值)G1W-5.0F0.1;N20X26.0;G0X100.0Z100.0;M00;N2G99S600M3T0101;G0X26.0Z2.0;G70P10Q20F0.1;G0X100.0Z100.0;M5;M30;自变量赋值(详见表2)A0为#1=0.0 (X向的起始值)B0.1为#2=0.1 (X值
18、的每次增量)C20.0为#3=20.0(椭圆的长半轴a,Z向)I10.0为#4=10.0 (椭圆的短半轴b,X向)J10.0为#5=10.0 (X向的终止值,注:#5值要#4值)O0002;WHILE #1 LE #5 DO1; (#1值#5值时,循环执行)#7=1-#1*#1/#4*#4*#3*#3; (见注1)#9=SQRT#7; (z值)(见注2)G1X2*#1 Z#9-#3 F0.1; (直线插补,用许多很短直线来拟合椭圆)#1=#1+#2; (X值递增)END1; (循环结束)M99; 例4、数车椭圆旋转O0001;(以a为旋转半径,以椭圆的圆心为原点,旋转角。)G99 M3 S80
19、0 T0101;G0 X100. Z100.;G0 X62. Z5.;#1=0; (x初值)#2=10; (x终值)#11=0.05; (步距)#3=20; (椭圆的长半轴a)#4=10; (椭圆的短半轴b)#12=45; (旋转角)#15=0; (椭圆的圆心在x方向上的位置)WHILE#1 LE #2 DO1; (#1值#2值时,循环执行)#6= #1; (x值) #9=#3*#3*1-#6*#6/#4*#4; (见注1)#5=SQRT#9; (z值)(见注2)#7= #5*COS#12-#6*SIN#12; (z向旋转)#8= #5*SIN#12+#6*COS#12; (x向旋转)G1 X#15+2*#8 Z#7-#3 F0.1; (直线插补,用许多很短直线来拟合椭圆)#1= #1+#11; (X值递增)END1; (循环结束)G0 X100. Z100.;M30;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新乡学院《现代食品营养与安全自科类》2023-2024学年第一学期期末试卷
- 兴安职业技术学院《配器Ⅰ》2023-2024学年第一学期期末试卷
- 2024届山东省临沂市经济开发区中考数学模拟试题含解析
- 甘肃省高台县重点达标名校2024年中考数学五模试卷含解析
- 广东韶关曲江重点中学2024届中考数学最后冲刺模拟试卷含解析
- 2025员工三级安全培训考试试题【考点提分】
- 2025公司厂级员工安全培训考试试题有答案
- 2025年项目部安全培训考试试题答案4A
- 2024-2025企业级安全培训考试试题及答案【名校卷】
- 2025年项目部安全管理人员安全培训考试试题附答案【A卷】
- GB/T 3045-2024普通磨料碳化硅化学分析方法
- 2024至2030年中国擦窗机器人产业竞争现状及投资决策建议报告
- 益母草颗粒的保肝作用机制
- 婚姻家庭法教学课件
- 部编版语文四年级下册第四单元大单元作业设计
- 金融大数据银行项目使用手册
- 《装饰构造与施工工艺实习》课程标准
- 中考数学解题技巧专题巧用旋转进行计算全国公开课一等奖百校联赛微课赛课特等奖课件
- 环境设计创新创业项目计划书
- 新概念第一册单词默写表
- 海迈工程量清单计价软件使用说明书样本
评论
0/150
提交评论