您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 宏程序演示文稿完整版
一、宏程序编程概念宏程序的编制方法简单地解释就是:利用变量编程的方法。用户利用数控系统提供的变量、数学运算功能、逻辑判断功能、程序循环功能等功能,来实现一些特殊的用法。例如:椭圆的解析方程:椭圆的参数方程:其中t为变量12222byax)sin()cos(tbytax高技能人才培训宏程序教案•用户宏功能的最大特点是,可以对变量进行运算,使程序应用更加灵活、方便。•用户宏功能常用的有A类宏功能和B类宏功能两类。宏指令既可以在主程序体中使用,也可以当作子程序来调用。放在主程序体中O001……N50#100=30.0N60#101=20.0N70G01X#100Y#101F500.0……M30高技能人才培训宏程序教案高技能人才培训宏程序教案•主程序:•……•G65P1000X30.0Y20.0•……•宏程序:•O1000•……•#100=#24•#101=#25•……•M99当作子程序调用:•二、A类宏功能(FANUC-0TD)•A类宏程序采用G65HxxP#xxQ#xxR#xx或G65HxxP#xxQxxRxx格式,输入的xx的意思就是数值,是以um级的量输入的,比如你输入100那就是0.1mm1、变量在常规的主程序和子程序内,总是将一个具体的数值赋给一个地址。为了使程序更具通用性、更加灵活,在宏程序中设置了变量,即将变量赋给一个地址。(1)变量的表示变量可以用“#”号和跟随其后的变量序号来表示:#i(i=1,2,3......)例:#5,#109,#501。(2)变量的引用将跟随在一个地址后的数值用一个变量来代替,即引入了变量。例:对于F#103,若#103=50时,则为F50;对于Z-#110,若#110=100时,则Z为-100;对于G#130,若#130=3时,则为G03。•(3)变量的类型1)公共变量公共变量在不同的的宏程序中的意义相同,是在主程序和主程序调用的各用户宏程序内公用的变量。也就是说,在一个宏指令中的#i与在另一个宏指令中的#i是相同的。公共变量的序号为:#100~#131;#500~#531。其中#100~#131公共变量在电源断电后即清零,重新开机时被设置为“0”;#500~#531公共变量即使断电后,它们的值也保持不变,因此也称为保持型变量。•2)系统变量系统变量定义为:有固定用途的变量,它的值决定系统的状态。系统变量包括刀具偏置变量,接口的输入/输出信号变量,位置信息变量等。系统变量的序号与系统的某种状态有严格的对应关系。例如,刀具偏置变量序号为#01~#99,这些值可以用变量替换的方法加以改变,在序号1~99中,不用作刀偏量的变量可用作保持型公共变量#500~#531。•接口输入信号#1000~#1015,#1032。通过阅读这些系统变量,可以知道各输入口的情况。当变量值为“1”时,说明接点闭合;当变量值为“0”时,表明接点断开。这些变量的数值不能被替换。阅读变量#1032,所有输入信号一次读入。•2、宏指令G65宏指令G65可以实现丰富的宏功能,包括算术运算、逻辑运算等处理功能。一般形式:G65HmP#iQ#jR#k式中:•m--宏程序功能,数值范围01~99;#i--运算结果存放处的变量名;#j--被操作的第一个变量,也可以是一个常数;#k--被操作的第二个变量,也可以是一个常数。例如,当程序功能为加法运算时:程序P#100Q#101R#102......含义为#100=#101+#102程序P#100Q-#101R#102......含义为#100=-#101+#102程序P#100Q#101R15......含义为#100=#101+15•3、宏功能指令•(1)算术运算指令•算术运算指令表G码H码功能定义G65H01定义,替换#i=#jG65H02加#i=#j+#kG65H03减#i=#j-#kG65H04乘#i=#j×#kG65H05除#i=#j/#kG65H21平方根#i=√#jG65H22绝对值#i=|#j|G65H23求余#i=#j-trunc﹙#j/#k﹚·#kTrunc:小数部分舍去•算术宏指令表(续)G码H码功能定义G65H24BCD(十进制)码→二进制码#i=√#j2-#k2#i=BIN﹙#j﹚G65H25二进制码→BCD(十进制)码#i=BCD﹙#j﹚G65H26复合乘/除#i=﹙#i×#j﹚÷#kG65H27复合平方根1#i=√#j2+#k2G65H28复合平方根2#i=√#j2-#k21)变量的定义和替换#i=#j•编程格式G65H01P#iQ#j例G65H01P#101Q1005;(#101=1005)G65H01P#101Q-#112;(#101=-#112)•2)加法#i=#j+#k编程格式G65H02P#iQ#jR#k例G65H02P#101Q#102R#103;(#101=#102+#103)3)减法#i=#j-#k编程格式G65H03P#iQ#jR#k例G65H03P#101Q#102R#103;(#101=#102-#103)4)乘法#i=#j×#k编程格式G65H04P#iQ#jR#k例G65H04P#101Q#102R#103;(#101=#102×#103)•5)除法#i=#j/#k编程格式G65H05P#iQ#jR#k例G65H05P#101Q#102R#103;(#101=#102/#103)6)平方根#i=编程格式G65H21P#iQ#j例G65H21P#101Q#102;(#101=)7)绝对值#i=│#j│编程格式G65H22P#iQ#j例G65H22P#101Q#102;(#101=│#102│)•8)复合平方根1#i=编程格式G65H27P#iQ#jR#k例G65H27P#101Q#102R#103;(#101=9)复合平方根2#i=编程格式G65H28P#iQ#jR#k例G65H28P#101Q#102R#103(#101=•(2)逻辑运算指令•逻辑运算指令表•1)逻辑或#i=#jOR#k编程格式G65H11P#iQ#jR#k例G65H11P#101Q#102R#103;(#101=#102OR#103)表•2)逻辑与#i=#jAND#k编程格式G65H12P#iQ#jR#k例G65H12P#101Q#102R#103;(#101=#102AND#103)G码H码功能定义G65H11逻辑“或”#i=#j·OR·#kG65H12逻辑“与”#i=#j·AND·#kG65H13异或#i=#j·XOR·#k•(3)三角函数指令•三角函数指令表•1)正弦函数#i=#j×SIN(#k)•编程格式G65H31P#iQ#jR#k(单位:度)•例G65H31P#101Q#102R#103;(#101=#102×SIN(#103))G码H码功能定义G65H31正弦#i=#j·SIN﹙#k﹚G65H32余弦#i=#j·COS﹙#k﹚G65H33正切#i=#j·TAN﹙#k﹚G65H34反正切#i=ATAN﹙#j/#k﹚•2)余弦函数#i=#j×COS(#k)编程格式G65H32P#iQ#jR#k(单位:度)例G65H32P#101Q#102R#103;(#101=#102×COS(#103))3)正切函数#i=#j×TAN#k编程格式G65H33P#iQ#jR#k(单位:度)例G65H33P#101Q#102R#103;(#101=#102×TAN(#103))4)反正切#i=ATAN(#j/#k)编程格式G65H34P#iQ#jR#k(单位:度,0o≤#j≤360o)例G65H34P#101Q#102R#103;(#101=ATAN(#102/#103))•(4)控制类指令•控制类指令表G码H码功能定义G65H80无条件转移GOTOnG65H81条件转移1IF#j=#k,GOTOnG65H82条件转移2IF#j≠#k,GOTOnG65H83条件转移3IF#j>#k,GOTOnG65H84条件转移4IF#j<#k,GOTOnG65H85条件转移5IF#j≥#k,GOTOnG65H86条件转移6IF#j≤#k,GOTOnG65H99产生PS报警出现PS报警号:500+n•1)无条件转移•编程格式G65H80Pn(n为程序段号)例G65H80P120;(转移到N120)2)条件转移1#jEQ#k(=)编程格式G65H81PnQ#jR#k(n为程序段号)例G65H81P1000Q#101R#102当#101=#102,转移到N1000程序段;若#101≠#102,执行下一程序段。3)条件转移2#jNE#k(≠)编程格式G65H82PnQ#jR#k(n为程序段号)例G65H82P1000Q#101R#102当#101≠#102,转移到N1000程序段;若#101=#102,执行下一程序段。•4)条件转移3#jGT#k()编程格式G65H83PnQ#jR#k(n为程序段号)例G65H83P1000Q#101R#102当#101#102,转移到N1000程序段;若#101≤#102,执行下一程序段。5)条件转移4#jLT#k()编程格式G65H84PnQ#jR#k(n为程序段号)例G65H84P1000Q#101R#102当#101#102,转移到N1000;若#101≥#102,执行下一程序段。6)条件转移5#jGE#k(≥)编程格式G65H85PnQ#jR#k(n为程序段号)例G65H85P1000Q#101R#102当#101≥#102,转移到N1000;若#101#102,执行下一程序段。•7)条件转移6#jLE#k(≤)编程格式G65H86PnQ#jQ#k(n为程序段号)例G65H86P1000Q#101R#102当#101≤#102,转移到N1000;若#101#102,执行下一程序段。•4、使用注意为保证宏程序的正常运行,在使用用户宏程序的过程中,应注意以下几点;(1)由G65规定的H码不影响偏移量的任何选择;(2)如果用于各算术运算的Q或R未被指定,则作为0处理;(3)在分支转移目标地址中,如果序号为正值,则检索过程是先向大程序号查找,如果序号为负值,则检索过程是先向小程序号查找。(4)转移目标序号可以是变量。•A类宏程序举例:•G50X100.Z130.;T0100;M42M03G98;G65H01P#100Q15000;a=15MMG65H01P#101Q30000;b=30MMG65H01P#102Q1000;Z背吃量(粗)G65H01P#103Q10;Z背吃量(精)G65H01P#104Q500;精车余量G65H01P#105Q35000;毛坯直径G65H01P#106Q5000;刀具引入量G65H05P#113Q#100R10;a/10=a'3015(0,0)•G65H05P#114Q#101R10;b/10=b'G65H04P#109Q#109R2;起刀点半径X变直径XG65H02P#109Q#105R#106;加入刀具引入量G00X#109Z#101;刀具移动到粗车起点G65H01P#110Q#102;赋予变量背吃量之粗车被吃量G65H01P#108Q#101;赋予Z运算值.......................................(N5)G65H03P#108Q#108R#110;计算Z坐标当前值......................(N10)G65H84P15Q#108R0;判断进给是否到重点G65H01P#112Q#108;G65H26P#112Q100000R#114;G65H28P#112Q1000000R#112;G65H26P#112Q#113R100000;G65H02P#112Q#112R#104;加入精车余量G65H04P#112Q#112R2;X半径变直径G65H81P20Q#104R0;粗精车判断G94X#112Z#108F50.;粗车进给G65H80P10;转回循环•G65H81P25Q#104R0;判断整个程序是否彻底结束...........(
本文标题:宏程序演示文稿完整版
链接地址:https://www.777doc.com/doc-5518928 .html