




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,一、宏程序编程概念宏程序的编制方法简单地解释就是:利用变量编程的方法。用户利用数控系统提供的变量、数学运算功能、逻辑判断功能、程序循环功能等功能,来实现一些特殊的用法。例如:椭圆的解析方程:椭圆的参数方程:其中t为变量,.,用户宏功能的最大特点是,可以对变量进行运算,使程序应用更加灵活、方便。用户宏功能常用的有A类宏功能和B类宏功能两类。宏指令既可以在主程序体中使用,也可以当作子程序来调用。,.,放在主程序体中O001N50#100=30.0N60#101=20.0N70G01X#100Y#101F500.0M30,.,高技能人才培训宏程序教案,主程序:G65P1000X30.0Y20.0,宏程序:O1000#100=#24#101=#25M99,当作子程序调用:,.,二、A类宏功能(FANUC-0TD)A类宏程序采用G65HxxP#xxQ#xxR#xx或G65HxxP#xxQxxRxx格式,输入的xx的意思就是数值,是以um级的量输入的,比如你输入100那就是0.1mm1、变量在常规的主程序和子程序内,总是将一个具体的数值赋给一个地址。为了使程序更具通用性、更加灵活,在宏程序中设置了变量,即将变量赋给一个地址。(1)变量的表示变量可以用“#”号和跟随其后的变量序号来表示:#i(i1,2,3.)例:#5,#109,#501。(2)变量的引用将跟随在一个地址后的数值用一个变量来代替,即引入了变量。例:对于F#103,若#10350时,则为F50;对于Z-#110,若#110100时,则Z为-100;对于G#130,若#1303时,则为G03。,.,(3)变量的类型1)公共变量公共变量在不同的的宏程序中的意义相同,是在主程序和主程序调用的各用户宏程序内公用的变量。也就是说,在一个宏指令中的#i与在另一个宏指令中的#i是相同的。公共变量的序号为:#100#131;#500#531。其中#100#131公共变量在电源断电后即清零,重新开机时被设置为“0”;#500#531公共变量即使断电后,它们的值也保持不变,因此也称为保持型变量。2)系统变量系统变量定义为:有固定用途的变量,它的值决定系统的状态。系统变量包括刀具偏置变量,接口的输入/输出信号变量,位置信息变量等。系统变量的序号与系统的某种状态有严格的对应关系。例如,刀具偏置变量序号为#01#99,这些值可以用变量替换的方法加以改变,在序号199中,不用作刀偏量的变量可用作保持型公共变量#500#531。,.,接口输入信号#1000#1015,#1032。通过阅读这些系统变量,可以知道各输入口的情况。当变量值为“1”时,说明接点闭合;当变量值为“0”时,表明接点断开。这些变量的数值不能被替换。阅读变量#1032,所有输入信号一次读入。2、宏指令G65宏指令G65可以实现丰富的宏功能,包括算术运算、逻辑运算等处理功能。一般形式:G65HmP#iQ#jR#k式中:m-宏程序功能,数值范围0199;#i-运算结果存放处的变量名;#j-被操作的第一个变量,也可以是一个常数;#k-被操作的第二个变量,也可以是一个常数。例如,当程序功能为加法运算时:程序P#100Q#101R#102.含义为#100#101#102程序P#100Q-#101R#102.含义为#100-#101#102程序P#100Q#101R15.含义为#100#10115,.,3、宏功能指令(1)算术运算指令算术运算指令表,.,算术宏指令表(续),.,1)变量的定义和替换#i#j编程格式G65H01P#iQ#j例G65H01P#101Q1005;(#1011005)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),.,(3)三角函数指令三角函数指令表1)正弦函数#i#jSIN(#k)编程格式G65H31P#iQ#jR#k(单位:度)例G65H31P#101Q#102R#103;(#101#102SIN(#103),.,2)余弦函数#i#jCOS(#k)编程格式G65H32P#iQ#jR#k(单位:度)例G65H32P#101Q#102R#103;(#101#102COS(#103)3)正切函数#i#jTAN#k编程格式G65H33P#iQ#jR#k(单位:度)例G65H33P#101Q#102R#103;(#101#102TAN(#103)4)反正切#iATAN(#j/#k)编程格式G65H34P#iQ#jR#k(单位:度,0o#j360o)例G65H34P#101Q#102R#103;(#101ATAN(#102/#103),.,(4)控制类指令控制类指令表,.,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,执行下一程序段。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,.,G65H05P#114Q#101R10;b/10=bG65H04P#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;判断整个程序是否彻底结束.(N15)G65H02P#115Q#100R#104;G65H04P#115Q#115R2;G94X#115Z0.;粗车进给到终点防止计算出现小数而车不到终点M44;提速4档G00X0.Z#101;刀快速走到精车起点G65H01P#110Q#103;赋予变量背吃刀量为精车背吃G65H01P#104Q0;精车余量赋0;G65H80P5;转回循环进行精车坐标计算G01X#112Z#108F10;精车进给.(N20)G65H80P10;转计算坐标环节G65P#100Q#100R2;.(N25)G01X#100Z0.;进给到终点防止因为计算出现小数而车不到终点G00X100.退刀Z100.M42M05M30程序结束,.,三、B类宏程序(FANUC-0i)(一)、变量1变量的表示变量可以用“#”号和跟随其后的变量序号来表示,即#i(i1,2,3,.)。例如:#5,#109,#501。也可用表达式来表示变量,即#(表达式)。例如:#50,#2001-1,#1+#2-12,.,在地址号后可使用变量,例如:F#9若#9=200.0,则表示F200Z#26若#26=10.0,则表示Z10.0G#13若#13=3.0,则表示G03M#5若#5=08.0,则表示M08,.,2.变量的种类变量有局部变量、公用变量(全局变量)和系统变量三种。(1)局部量变#1#33。局部变量是一个在宏程序中局部使用的变量。例如,当宏程序A调用宏程序B而且都有#1变量时,因为它们服务于不同局部,所以A中的#1与B中的#1不是同一个变量,互不影响。(2)公用变量(全局变量)。#100#149、#500#509。公用变量贯穿整个程序过程,包括多重调用。上例中若A与B同时调用全局变量#100,则A中的#100与B中的#100是同一个变量。,.,(3)系统变量。宏程序能够对机床内部变量进行读取和赋值,从而完成复杂任务。系统变量主要包括:接口信号。刀具补偿#200#2200,其中长度补偿与半径补偿均在此区域内。工件偏置量#5201#5326。报警信息#3000。#3000中存储报警信息地址,如:#3000=n,则显示n号警告。,.,时钟#3001,#3002。禁止单程序段停止和等待辅助机能结束信号#3003。进给保持(不能手动调节机床进给速率)#3004。模态信息#4001#4120。如:#4001为G00G03,若当前为G01状态,则#4001中值为01;#4002为G17G19,若当前为G17平面,则#4002值为17。位置信息#5001#5105。保存各种坐标值,包括绝对坐标、距下一点距离等。系统变量还有多种,它们为编制宏程序提供了丰富的信息来源。,.,常用变量局部变量:#1#33公共变量:#100#149,#500#509系统变量:#1000#5335,.,3.变量的赋值1)直接赋值变量可在操作面板上直接输入,也可用MDI方式赋值,还可在程序内用以下所示方式赋值,但等号左边不能用表达式:#_=数值(或表达式)例:O0521#1=10#2=8.1000M03,.,2)引数赋值宏程序体以子程序方式出现,所用的变量可在宏调用时赋值。例如:G65P9120X100.Y20.F20;其中X、Y、F对应于宏程序中的变量号,变量的具体数值由引数后的数值决定。引数与宏程序体中变量的对应关系有两种(见表1和表2),这两种方法可以混用。其中G、L、N、O、P不能作为引数为变量赋值。,.,表1变量赋值方法,.,表2变量赋值方法,.,例:采用自变量赋值的螺旋插补法铣多孔宏程序刀具10,.,主程序O0522S1000M03G54G90G00X0Y0G52X-30.Y0在孔1处建立局部坐标系G65P1522A18.B19.C10.I0Q0.95F200精加工18通孔G52X25.Y9.5G65P1522A28.B5.6C10.I0Q1.12F200精加工28通孔G65P1522A16.B19.C10.I5.6Q1.34F200精加工28通孔G52X0Y0取消局部坐标系M30宏程序O1522#5=#1-#3/2螺旋加工时刀具中心的回转半径,.,G00X#5G00移动到起始点上方Z-#4+1.G00下降至Z-#4面以上一点G01Z-#4F#9*0.2Z方向下降至当前开始加工深度Z-#4WHILE#4LT#2DO1如果加工深度#4圆孔深度#2,循环1继续#4=#4+#17Z坐标依次递增#17G03I-#5Z-#4F#9逆时针螺旋加工至下一层END1循环1结束G03I-#5到达圆孔深度逆时针走一整圆G01X#5-1.G01向中心退1mmG00Z30快速退刀至安全高度M99宏程序结束返回,.,自变量赋值说明:#1=(A)圆孔直径#2=(B)孔深#3=(C)刀具直径#4=(I)Z坐标设为自变量#9=(F)进给速度#17=(Q)每次切深递增量(层间距),.,(二)、功能指令:宏程序具有赋值、算术运算、逻辑运算、函数运算等功能算术运算加法:#i=#j+#k减法:#i=#j-#k乘法:#i=#j*#k除法:#i=#j/#k,.,函数运算:正弦#i=SIN#j单位:度余弦#i=COS#j单位:度正切#i=TAN#j单位:度反正切#i=ATAN#j/#k单位:度平方根#i=SQRT#j绝对值#i=ABS#j取整#i=ROUND#j,.,逻辑运算:等于:EQ格式:#jEQ#k不等于:NE格式:#jNE#k大于:GT格式:#jGT#k小于:LT格式:#jLT#k大于等于:GE格式:#jGE#k小于等于:LE格式:#jLE#k,.,(三)、控制指令控制指令可起到控制程序流向的作用。1.无条件转移(GOTO语句)格式:GOTOn;n为顺序号,范围19999转移至标有顺序号n(俗称行号)的程序段。当指定19999以外的顺序号时,会出现报警信号。例如:GOTO99;即转移至第99行,.,2.条件转移(IF语句)格式如下:IFGOTOn如果指定的条件表达式满足时,则转移到标有顺序号n的程序段。如果不满足指定的条件,则顺序执行下一个程序段。说明:1、条件表达式必须包括运算符,运算符插在两个变量或常量中间,并且用“”封闭,表达式可以替代变量。2、运算符由2个字母组成,用于两个值的比较,以决定它们是相等,还是一个值小于或大于另一个值。不能使用不等号。,.,例:用IF语句编制1100的累加程序O009#1=0;存储和数变量的初值#2=1;被加数变量的初值N5IF#2GT100GOTO99;当被加数大于100时转移到N99#1=#1+2计算和数#2=#2+1;下一个被加数GOTO5;转到N5N99M30;程序结束,.,3、循环(WHILE语句)格式:WHILE条件表达式DOm.ENDm在WHILE后指定一个条件表达式,当条件满足时,执行从DOm到END之间的程序;当条件不满足时,程序就执行END下一条语句。DO后面的号m是指定程序执行范围的标号,标号值为1,2,3(即m=1,2,3),.,循环(WHILE语句)的有关说明1、DOm和ENDm必须成对使用,而且DOm一定要在ENDm指令之前。用识别号m来识别。2、无限循环:当指定DO而没有指定WHILE语句时,将产生从DO到END之间的无限循环。3、条件转移(IF语句)和循环(WHILE语句)的关系:从逻辑关系上来说,两者是从正反两个方面描述的同一件事情;从实现的功能上来说,两者具有相当程度的相互替代性;从具体的用法和使用的限制上来说,条件转移(IF语句)受到系统的限制相对更少,使用更灵活。,.,例题:椭圆铣削加工程序椭圆的解析方程:椭圆的参数方程:,.,O0001N2#100=1角度步长N4#101=0初始角度N6#102=361终止角度N8#103=45长半轴N10#104=25短半轴N12#105=-10.0深度N13G90G00X#103+20Y0Z100.0刀具运行到(65,0,100)的位置N14S1000M03N15G01Z#105F1000.0刀具
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业灌溉智能化升级路径:2025年行业深度剖析报告
- 东兴市艺佳种苗进出口贸易有限公司年产1万吨矿粉加工项目环境影响报告表
- 安全教育训练培训总结课件
- 扶贫搬迁工程方案范文(3篇)
- 安全教育活动培训课件
- 狂欢节的最后一天课件
- 牧歌电气安全培训班课件
- 安全教育平台应用培训课件
- 江苏省常州市2025年初中化学学业水平考试试卷附真题答案
- 安全教育培训资料台账课件
- FZT 51005-2011 纤维级聚对苯二甲酸丁二醇酯(PBT)切片
- 兼职市场总监合同
- 全国初中数学优质课一等奖《黄金分割》教学设计
- 湘教版小学信息技术三年级上册教案(打印)
- 小学生演讲与口才社团
- 财务决策实训课件
- 现代信号处理课件
- 第三章平面机构的结构分析
- 狂犬病健康宣教课件
- 20道云南白药销售代表岗位常见面试问题含HR常问问题考察点及参考回答
- 一年级《道德与法治》教材分析
评论
0/150
提交评论