资源预览内容
第1页 / 共53页
第2页 / 共53页
第3页 / 共53页
第4页 / 共53页
第5页 / 共53页
第6页 / 共53页
第7页 / 共53页
第8页 / 共53页
第9页 / 共53页
第10页 / 共53页
亲,该文档总共53页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1,一、宏程序编程概念 宏程序的编制方法简单地解释就是:利用变量编程的方法。 用户利用数控系统提供的变量、数学运算功能、逻辑判断功能、程序循环功能等功能,来实现一些特殊的用法。 例如:椭圆的解析方程: 椭圆的参数方程:其中t为变量,2,用户宏功能的最大特点是,可以对变量进行运算,使程序应用更加灵活、方便。 用户宏功能常用的有A类宏功能和B类宏功能两类。 宏指令既可以在主程序体中使用, 也可以当作子程序来调用。,3,放在主程序体中 O001 N50 #100=30.0 N60 #101=20.0 N70 G01 X#100 Y#101 F500.0 M30,4,高技能人才培训宏程序教案,主程序: G65 P1000 X30.0 Y20.0 ,宏程序: O1000 #100 = #24 #101 = #25 M99,当作子程序调用:,5,二、A类宏功能(FANUC-0TD) A类宏程序采用G65 Hxx P#xx Q#xx R#xx或G65 Hxx P#xx Qxx Rxx格式,输入的xx的意思就是数值,是以um级的量输入的,比如你输入100那就是0.1 mm 1、变量在常规的主程序和子程序内,总是将一个具体的数值赋给一个地址。为了使程序更具通用性、更加灵活,在宏程序中设置了变量,即将变量赋给一个地址。(1)变量的表示变量可以用“#”号和跟随其后的变量序号来表示:#i(i1,2,3.)例:#5, #109, #501。(2)变量的引用将跟随在一个地址后的数值用一个变量来代替,即引入了变量。例:对于F#103,若#10350时,则为F50;对于Z-#110,若#110100时,则Z为-100;对于G#130,若#1303时,则为G03。,6,(3)变量的类型 1)公共变量 公共变量在不同的的宏程序中的意义相同,是在主程序和主程序调用的各用户宏程序内公用的变量。也就是说,在一个宏指令中的#i与在另一个宏指令中的#i是相同的。公共变量的序号为:#100#131;#500#531。其中#100#131公共变量在电源断电后即清零,重新开机时被设置为“0”;#500#531公共变量即使断电后,它们的值也保持不变,因此也称为保持型变量。 2)系统变量 系统变量定义为:有固定用途的变量,它的值决定系统的状态。系统变量包括刀具偏置变量,接口的输入/输出信号变量,位置信息变量等。系统变量的序号与系统的某种状态有严格的对应关系。例如,刀具偏置变量序号为#01#99,这些值可以用变量替换的方法加以改变,在序号199中,不用作刀偏量的变量可用作保持型公共变量#500#531。,7,接口输入信号#1000#1015,#1032。通过阅读这些系统变量,可以知道各输入口的情况。当变量值为“1”时,说明接点闭合;当变量值为“0”时,表明接点断开。这些变量的数值不能被替换。阅读变量#1032,所有输入信号一次读入。 2、宏指令G65宏指令G65可以实现丰富的宏功能,包括算术运算、逻辑运算等处理功能。一般形式: G65 Hm P#i Q#j R#k式中: m-宏程序功能,数值范围0199;#i-运算结果存放处的变量名;#j-被操作的第一个变量,也可以是一个常数;#k-被操作的第二个变量,也可以是一个常数。例如,当程序功能为加法运算时:程序P#100 Q#101 R#102.含义为#100#101#102程序P#100 Q-#101 R#102.含义为#100-#101#102程序P#100 Q#101 R15.含义为#100#10115,8,3、宏功能指令 (1)算术运算指令 算术运算指令表,9,算术宏指令表(续),10,1)变量的定义和替换 #i#j 编程格式G65 H01 P#i Q#j例 G65 H01 P#101 Q1005; (#1011005) G65 H01 P#101 Q-#112;(#101-#112) 2)加法 #i#j#k编程格式 G65 H02 P#i Q#j R#k 例 G65 H02 P#101 Q#102 R#103;(#101#102#103)3)减法 #i#j-#k编程格式 G65 H03 P#i Q#j R#k例 G65 H03 P#101 Q#102 R#103;(#101#102-#103)4)乘法 #i#j#k编程格式 G65 H04 P#i Q#j R#k例 G65 H04 P#101 Q#102 R#103;(#101#102#103),11,5)除法 #i#j / #k编程格式 G65 H05 P#i Q#j R#k例 G65 H05 P#101 Q#102 R#103;(#101#102/#103)6)平方根 #i编程格式 G65 H21 P#i Q#j例 G65 H21 P#101 Q#102;(#101 )7)绝对值 #i#j编程格式 G65 H22 P#i Q#j例 G65 H22 P#101 Q#102;(#101#102) 8)复合平方根1 #i编程格式 G65 H27 P#i Q#j R#k例 G65 H27 P#101 Q#102 R#103;( #101= 9)复合平方根2 #i编程格式 G65 H28 P#i Q#j R#k例 G65 H28 P#101 Q#102 R#103(#101,12,(2)逻辑运算指令 逻辑运算指令表 1)逻辑或#i#j OR #k编程格式G65 H11 P#i Q#j R#k例G65 H11 P#101 Q#102 R#103;(#101#102 OR #103)表 2)逻辑与 #i#j AND #k编程格式 G65 H12 P#i Q#j R#k例 G65 H12 P#101 Q#102 R#103;(#101#102 AND #103),13,(3)三角函数指令 三角函数指令表 1)正弦函数#i#jSIN(#k) 编程格式G65 H31 P#i Q#j R#k (单位:度) 例G65 H31 P#101 Q#102 R#103;(#101#102SIN(#103),14,2)余弦函数#i#jCOS(#k)编程格式G65 H32 P#i Q#j R#k (单位:度)例G65 H32 P#101 Q#102 R#103;(#101#102COS(#103)3)正切函数#i#jTAN#k编程格式G65 H33 P#i Q#j R#k (单位:度)例G65 H33 P#101 Q#102 R#103;(#101#102TAN(#103)4)反正切#iATAN(#j/#k)编程格式G65 H34 P#i Q#j R#k (单位:度,0o #j 360o)例G65 H34 P#101 Q#102 R#103;(#101ATAN(#102/#103),15,(4)控制类指令 控制类指令表,16,1)无条件转移 编程格式G65 H80 Pn (n为程序段号)例G65 H80 P120;(转移到N120)2)条件转移1 #j EQ #k()编程格式G65 H81 Pn Q#j R#k (n为程序段号)例G65 H81 P1000 Q#101 R#102当#101#102,转移到N1000程序段;若#101 #102,执行下一程序段。3)条件转移2 #j NE #k()编程格式G65 H82 Pn Q#j R#k (n为程序段号)例G65 H82 P1000 Q#101 R#102当#101 #102,转移到N1000程序段;若#101#102,执行下一程序段。,17,4)条件转移3 #j GT #k ( )编程格式G65 H83 Pn Q#j R#k (n为程序段号)例G65 H83 P1000 Q#101 R#102当#101 #102,转移到N1000程序段;若#101 #102,执行下一程序段。5)条件转移4 #j LT #k()编程格式G65 H84 Pn Q#j R#k (n为程序段号)例G65 H84 P1000 Q#101 R#102 当#101 #102,转移到N1000;若#101 #102,执行下一程序段。6)条件转移5 #j GE #k()编程格式G65 H85 Pn Q#j R#k (n为程序段号)例G65 H85 P1000 Q#101 R#102当#101 #102,转移到N1000;若#101#102,执行下一程序段。,18,7)条件转移6 #j LE #k()编程格式G65 H86 Pn Q#j Q#k (n为程序段号)例G65 H86 P1000 Q#101 R#102当#101#102,转移到N1000;若#101#102,执行下一程序段。 4、使用注意为保证宏程序的正常运行,在使用用户宏程序的过程中,应注意以下几点;(1)由G65规定的H码不影响偏移量的任何选择;(2)如果用于各算术运算的Q或R未被指定,则作为0处理;(3)在分支转移目标地址中,如果序号为正值,则检索过程是先向大程序号查找,如果序号为负值,则检索过程是先向小程序号查找。(4)转移目标序号可以是变量。,19,A类宏程序举例: G50 X100. Z130.;T0100;M42M03G98;G65 H01 P#100 Q15000; a=15MMG65 H01 P#101 Q30000; b=30MMG65 H01 P#102 Q1000; Z背吃量(粗)G65 H01 P#103 Q10; Z背吃量(精)G65 H01 P#104 Q500; 精车余量G65 H01 P#105 Q35000; 毛坯直径G65 H01 P#106 Q5000; 刀具引入量G65 H05 P#113 Q#100 R10; a/10=a,20,G65 H05 P#114 Q#101 R10; b/10=bG65 H04 P#109 Q#109 R2; 起刀点半径X变直径XG65 H02 P#109 Q#105 R#106; 加入刀具引入量G00 X#109 Z#101; 刀具移动到粗车起点G65 H01 P#110 Q#102; 赋予变量背吃量之粗车被吃量 G65 H01 P#108 Q#101; 赋予Z运算值.(N5) G65 H03 P#108 Q#108 R#110; 计算Z坐标当前值.(N10)G65 H84 P15 Q#108 R0; 判断进给是否到重点 G65 H01 P#112 Q#108;G65 H26 P#112 Q100000 R#114;G65 H28 P#112 Q1000000 R#112;G65 H26 P#112 Q#113 R100000;G65 H02 P#112 Q#112 R#104; 加入精车余量G65 H04 P#112 Q#112 R2; X半径变直径G65 H81 P20 Q#104 R0; 粗精车判断G94 X#112 Z#108 F50.; 粗车进给G65 H80 P10; 转回循环,21,G65 H81 P25 Q#104 R0 ; 判断整个程序是否彻底结束.(N15) G65 H02 P#115 Q#100 R#104;G65 H04 P#115 Q#115 R2;G94 X#115 Z0.; 粗车进给到终点防止计算出现小数而车不到终点M44; 提速4档G00 X0. Z#101; 刀快速走到精车起点 G65 H01 P#110 Q#103; 赋予变量背吃刀量为精车背吃G65 H01 P#104 Q0; 精车余量赋0;G65 H80 P5; 转回循环进行精车坐标计算G01 X#112 Z#108 F10; 精车进给.(N20)G65 H80 P10; 转计算坐标环节G65 P#100 Q#100 R2;.
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号