{冶金行业管理}生产实习用宏程序

上传人:卓****库 文档编号:140899907 上传时间:2020-08-02 格式:PPTX 页数:57 大小:974.94KB
返回 下载 相关 举报
{冶金行业管理}生产实习用宏程序_第1页
第1页 / 共57页
{冶金行业管理}生产实习用宏程序_第2页
第2页 / 共57页
{冶金行业管理}生产实习用宏程序_第3页
第3页 / 共57页
{冶金行业管理}生产实习用宏程序_第4页
第4页 / 共57页
{冶金行业管理}生产实习用宏程序_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《{冶金行业管理}生产实习用宏程序》由会员分享,可在线阅读,更多相关《{冶金行业管理}生产实习用宏程序(57页珍藏版)》请在金锄头文库上搜索。

1、数控车床用户宏程序,目录,一、概述 二、宏程序基础理论 三、用户宏程序应用实例,学习目标和重点,目标: 学习和了解用户宏程序的编程思路和程序结构。 掌握宏程序的调用规定及其特点。 能运用宏程序编制中等难度零件的加工程序。 重点: 宏程序各种控制指令的灵活应用及技巧。 编制宏程序时数学模型的建立、数学关系的表达思路。,1.宏程序的定义 用变量及变量运算,系统变量输入、输出,逻 辑判断语句组成的程序叫宏程序。 2.宏程序与普通程序的对比 用户宏程序与普通程序存在一定的区别,简要对比如下:,一、概述,3.宏程序编程的特点 (1)能将有规律的形状或尺寸用最短的程序段表示出来。 (2)具有极好的易读性和

2、易修改性。 (3)编写出的程序非常简洁,逻辑性严密,通用性极强。 (4)机床在执行宏程序时,较执行CAD/CAM软件生成的程序更加快捷,反应更迅速。,4.宏程序与CAD/CAM软件生成程序的加工性能对比 (1)宏程序:在执行宏程序时,数控系统的计算机可以直接进行插补运算,且运算速度极快,在加上伺服电动机和机床的迅速响应,使得加工效率极高。 (2)CAD/CAM软件生成的程序:程序比较庞大,绝大部分都不得不以DNC方式进行在线加工。那么机床与电脑之间的传输速度成了影响加工速度的第一个“瓶颈”因素。再加上RS-232口通信抗干扰能力有限,DNC在线加工方式下的加工效率便大打折扣。程序执行时,相邻的

3、每两个逼近点之间数控系统都要进行直线插补运算。系统计算机的工作量巨大,反映到机床上,必然表现为运动迟钝,不连贯。,(一)FANUC 0i系统提供两种用户宏程序: 1、用户宏程序功能A: 用户宏程序功能A是FANUC 系统标准配置功能,但需要用“G65Hm”(m:0199)格式来表达各种数学运算和逻辑运算,极不直观,可读性差,现在已经很少使用它。 2、用户宏程序功能B: 用户宏程序功能B虽然不算是FANUC 系统的标准配置功能,但绝大部分的FANUC系统也都支持它。 我们学习的是用户宏程序功能B及应用技巧。,二、宏程序基础理论(FANUC Oi系统),用户宏程序作用: 对由直线、圆弧组成的零件,

4、数控系统有标准的指令编程G01/G02/G03。 对于一些非圆曲线或形状复杂的零件(如椭圆、抛物线等二次曲线),G01/G02/G03等标准指令无能为力了,为了处理这些要素的编程,数控系统提供了用户宏程序的功能。 用户宏程序的功能是对数控系统功能的扩展,为用户利用数控系统提供了工具,是数控系统对用户的部分开放。,(二) 变量 普通加工程序直接用数值指定G代码和移动距离。例如:G01和X100.0 ,这些直接指定的数值,在程序运行过程中其值不能被改变,这些数值称为常量。 使用用户宏程序时,数值可以直接指定或用变量指定。在程序运行过程中,其值可以改变的量,称为变量。当用变量时,变量值可以用程序或由

5、MDI设定或修改。,1 、变量的表示 计算机允许使用变量名,用户宏程序则不行。用户宏程序中的变量需用变量符号“#”和后面的变量号指定。表达式可以用来指定变量号,这时表达式必须封闭在中括号中。 #i #变量符号; i变量号 #i (变量号i=0,1,2,3) 例:#8、#110、#1100 #表达式 表达式必须用括号括起来 例:#1#212,2、 变量的类型和功能,说明: 局部变量、公共变量、系统变量 局部变量( #1#33 )是在宏程序中局部使用的变量,当宏程序P调用宏程序Q而且都有变量#1时,由于变量#1服务于不同的的局部,所以P中的#1与Q中的#1不是同一个变量,因此可以赋予不同的值,且互

6、不影响。 公共变量(#100#199、#500#999)贯穿于整个程序过程,当宏程序M调用宏程序N而且都有变量#100时, 由于#100是公共变量,所以P中的#100与Q中的#100是同一个变量。 系统变量( #1000以上 )决定系统的状态,禁止一般用户使用。,3、变量值的范围 局部变量和公共变量可以是0值或以下范围的值:-1047-10-29或10-29 1047,如果计算结果超出有效范围,则触发程序错误P/S报警NO.111 4、小数点的省略 当在程序中定义变量值时,整数值的小数点可以省略。 例如:当定义#11=123; 变量#11的实际值是123.000,5、变量的引用 (1)在程序中

7、使用变量值时,应指定后跟变量号的地址,当用表达式指定变量号时,必须把表达式放在括号中。 例如:G01 X#11+#123 F#3; (2)被引用变量值根据地址的最小设定单位自动的舍入(四舍五入)。 例如:X#150当#150=12.3456时, 如系统最小设定单位为0.001时, 则X12.346被指定,(3)改变引用变量的值的符号,要把负号(-)放在#号前面,例如:G01X-#11。 (4)当引用未定义的变量时,变量及地址都被忽略。例如:变量#11的值是0,并且变量#22的值是空时,G01 X#11 Z#22;执行结果为G01 X0。 注意:“变量的值是0”与“变量值是空”是两个完全不同的概

8、念。 (5)不能用变量代表的地址符有:程序号O,顺序号N,任选程序段跳转号/。 (6)使用ISO代码编程时,可用“#”代码表示变量。使用EIA代码,则应用“”代码代替“#”代码,因EIA代码中无“#”代码。,1、算术运算,(三)算术和逻辑运算,混合运算时运算顺序 上述运算和函数运算可以进行混合,这样就涉及到运算的优先级。其运算顺序与一般数学上的定义基本一致,优先级顺序从高到低依次为:,运算的优先顺序: 函数; 乘除、逻辑与; 加减、逻辑或、逻辑异或。 可以用 来改变顺序。,例如:#1 = #2 + #3*COS#4,赋值就是将一个数据赋予一个变量。 例如: #110,则表示#11的值是0,其中

9、#11代表变量,“”是赋值符号,起语句定义作用,0就是给变量#11赋的值。 说明: 1、赋值符号“”两边的内容不能够随意互换,左边只能够是变量,右边可以是表达式、数值或者常量。 2、一个赋值语句只能够给一个变量赋值。 3、可以多次给一个变量赋值,新变量值将取代原变量值。,(四) 赋值与变量,4、赋值语句具有运算功能。 一般形式:变量表达式 表达式:可以是变量自身与其它数据的运算结果,如#11 #111,则表示#11的值为#111。 #11= #111 可以说是宏程序的原动力,任何宏程序都离不开这种类型的赋值运算。 5、赋值表达式的运算顺序同数学运算。,运算符号如下表:,(五) 表达式中的运算符

10、号,宏程序的控制指令主要有转移和循环两种。转移又分为无条件转移和条件转移。用控制指令可以改变程序的运行顺序。,1、无条件转移(GOTO语句) 格式:GOTO n; 式中:n顺序号(199999),可用变量表示。 举例:GOTO 1; GOTO #10;,(六)控制指令,2、条件转移(IF语句) 格式:IF 条件表达式 GOTO n; 式中:条件表达式转移的条件 n转移的目标程序段号 语义:表示如果条件表达式满足时,则转移 (跳转)到标有顺序号n的程序段,如果不满 足指定的条件表达式,则顺序执行下一个程序 段。,举例:求1到10之和。 O7100; #1=0; 存储和的变量初值 #2=1; 被加

11、数变量初值 N1IF#2GT10GOTO 2;#2大于10转到N2程序段 #1=#1+#2; 计算和 #2=#2+1; 下一个被加数 GOTO 1; 无条件转到N1程序段 N2 M30;,格式:IF 条件表达式 THEN; 举例:IF #1GT#2 THEN #3=10; 如果#1#2那么#310 说明: 1)条件表达式必须包括运算符,且运算符插在变量中间或变量与常量之间,用中括号 封闭。 2)运算符有两个字母组成,用于两个值的比较。由于误差一般不要使用不等号和等号,以免出现判断错误。,3、循环(WHILE语句) 格式:WHILE 条件表达式 DO m; END m; 式中:条件表达式循环条件

12、 m循环执行范围的识别号, 只能是1、 2和3,否则系统报警 语义:,循环和嵌套的格式说明,2. DO范围不能交叉 WHILEDO1; 程序 WHILEDO2; 错 END1; 程序 END2,1.标号1-3可根据需要多次使用 WHILEDO1; 程序 END1; : WHILEDO1; 程序 END1; :,4.(条件)转移可以跳 出循环的外边 WHILEDO1; IFGOTOn; END1; Nn; 5.(条件)转移不能进 入循环区内 IFGOTOn; WHILEDO1; 错 Nn END1;,3.DO循环可以3重嵌套 WHILEDO1; : WHILEDO2; : WHILEDO3; 程

13、序 END3; : END2; : END1;,举例:求1到10之和。,O7200; #1=0;存储和的变量初值 #2=1;被加数变量初值 WHILE #2 LE 10 DO 1;当被加数小于等于10时, 执行DO1到END1之间的程序段 #1 =#1+#2;计算和 #2=#2+1;下一个被加数 END 1;循环1结束 M30;,说明: 1、 DOm和ENDm必须成对使用,而且DOm一定要在ENDm指令之前。 2、当指定DO而没有指定WHILE语句时,为一个无限循环。 3、在使用EQ或者NE的条件表达式中,值为空和值为零将会有不同的效果.其它形式的表达式中,空被当作零。 4、IF语句和WHIL

14、E语句,从逻辑关系上说,二者不过是从正反两个方面描述一件事情,从实现的功能上说,具有相当的可替代性。 IF语句使用更多、更灵活。,三、用户宏程序应用实例,(一)、椭圆宏程序的编制,椭 圆 标 准 方 程,|x| a,|y| b,|x| b,|y| a,关于x轴、y轴成轴对称;关于原点成中心对称。,( a ,0 ),(0, b),( b ,0 ),(0, a),( c,0),(0, c),长半轴长为a,短半轴长为b.,焦距为2c;,a2=b2+c2,用户宏程序应用实例,椭圆方程的数学变形,椭圆标准方程,X,Z,椭圆宏程序的编制,此即为椭圆的参数方程,其中的几何意义为离心角(极角), 椭圆几何角度

15、。,椭圆参数方程,椭圆宏程序的编制,G01 X#24 Z#26 F#9;,椭圆宏程序的编制,【例1】编制如图所示椭圆的精加工程序。,1、椭圆本体宏程序编制,自变量赋值说明 1(A)椭圆长半轴(40) #2=(B)椭圆短半轴(23) #24=(X)椭圆X坐标(因变量) #26=(Z)椭圆Z坐标(自变量),椭圆起点坐标(38.4 0),O0001; M03 S600; T0101; G00 X40. Z2.; #1=40; #2=23; #7=0.5;Z坐标每次变化量 #23=-22;椭圆中心在工件坐标系Z向坐标 26=22;自变量Z的起始坐标 N20 IF 26 LT -22 GOTO 50; 24 = #2*SQRT#1*#1 - #26*#26 /#1 ; G01 X2*#24 Z#26 +#23 F0.1; #26 = #26 #7; GOTO 20; N50 G00 U10. Z2.; X100. Z100.; M30;,2、实际加工中宏程序的灵活运用,【例2】零件材料45钢,毛坯为50mm100mm,按图要求完成零件右端外圆部分数控加工程序。,使用G73与宏程序的嵌套编程,O0001; M03 S600; T0101 M08; G40 G00 X55. Z2.; G73 U8.5 W0. R9; G73 P

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号