2022年2022年宏程序在数控编程中的应用 .pdf
-
资源ID:32172121
资源大小:336.23KB
全文页数:17页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年2022年宏程序在数控编程中的应用 .pdf
数控教研室第七章 宏程序在数控编程中的应用7.1 概述用户宏程序是以变量的组合,通过各种算术和逻辑运算、转移和循环等命令, 而编制的一种可以灵活运用的程序,只要改变变量的值,即可完成不同的加工或操作。用户宏功能是提高数控机床性能的一种特殊功能。使用中,通常把能完成某一功能的一系列指令像子程序一样存入存储器,然后用一个总指令代表它们,使用时只需给出这个总指令就能执行其功能。用户宏功能主体是一系列指令,相当于子程序体。既可以由机床生产厂提供,也可以由机床用户自己编制。宏指令是代表一系列指令的总指令,相当于子程序调用指令。用户宏功能的最大特点是,可以对变量进行运算,使程序应用更加灵活、方便。用户宏功能有A、B 两类。7.2 A类宏程序7.2.1变量在常规的主程序和子程序内,总是将一个具体的数值赋给一个地址。为了使程序更具通用性、更加灵活,在宏程序中设置了变量,即将变量赋给一个地址。(1) 变量的表示变量可以用 “#”号和跟随其后的变量序号来表示:#i(i1,2,3.) 例: #5, #109 , #501 。(2) 变量的引用将跟随在一个地址后的数值用一个变量来代替,即引入了变量。例:对于 F#103,若 #10350 时,则为 F50;对于 Z-#110,若 #110100 时,则 Z 为-100 ;对于 G#130,若 #1303 时,则为 G03。(3) 变量的类型0MC系统的变量分为公共变量和系统变量两类。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 17 页 - - - - - - - - - 数控教研室1)公共变量公共变量是在主程序和主程序调用的各用户宏程序内公用的变量。 也就是说, 在一个宏指令中的#i 与在另一个宏指令中的 #i 是相同的。公共变量的序号为:#100#131;#500#531。其中#100#131 公共变量在电源断电后即清零,重新开机时被设置为“ 0” ;#500#531 公共变量即使断电后,它们的值也保持不变,因此也称为保持型变量。2)系统变量系统变量定义为:有固定用途的变量,它的值决定系统的状态。系统变量包括刀具偏置变量,接口的输入/ 输出信号变量,位置信息变量等。系统变量的序号与系统的某种状态有严格的对应关系。例如,刀具偏置变量序号为#01#99,这些值可以用变量替换的方法加以改变,在序号199 中,不用作刀偏量的变量可用作保持型公共变量#500#531。接口输入信号#1000#1015,#1032。通过阅读这些系统变量,可以知道各输入口的情况。当变量值为“1”时,说明接点闭合;当变量值为“0”时,表明接点断开。这些变量的数值不能被替换。阅读变量#1032,所有输入信号一次读入。7.2.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 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 17 页 - - - - - - - - - 数控教研室#102 程序P#100 Q#101 R15. 含义为 #100#10115 7.2.3 宏功能指令1. 算术运算指令(表7.1 )表 7.1算术运算指令G码H码功能定义G65 H01 定义,替换# i # j G65 H02 加# i # j # k G65 H03 减# i # j-# k G65 H04 乘# i # j # k G65 H05 除# i # j/# k G65 H21 平方根# i # j G65 H22 绝对值# i |# j| G65 H23 求余# i # j-trunc# j/# k # k Trunc ; 丢弃小于 1的分数部分G65 H24 BCD 码二进制码# i BIN# j G65 H25 二 进 制码 BCD码# i BCD # j G65 H26 复合乘 /除# i # i # j # k G65 H27 复 合 平方根 1 # i # j2 # k2 G6H28 复 合 平# i # j2-# k2 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 17 页 - - - - - - - - - 数控教研室5 方根 2 1)变量的定义和替换 #i #j 编程格式 G65 H01 P#i Q#j 例 G65 H01 P#101 Q1005 ; (#101 1005) 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) 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 j#编程格式 G65 H21 P#i Q#j 例 G65 H21 P#101 Q#102 ;(#101 102#) 7)绝对值 #i #j 编程格式 G65 H22 P#i Q#j 例 G65 H22 P#101 Q#102 ;(#101 #102) 8)复合平方根1 #i 22#kj编程格式 G65 H27 P#i Q#j R#k 例 G65 H27 P#101 Q#102 R#103 ;( #101=22103#102# 9)复合平方根2 #i 22#kj编程格式 G65 H28 P#i Q#j R#k 例 G65 H28 P#101 Q#102 R#103(#10122103#102#2. 逻辑运算指令(表7.2 )表 7.2逻辑运算指令G码H码功能定义G6H11 逻辑# i# 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 17 页 - - - - - - - - - 数控教研室5 “或”j OR # k G65 H12 逻辑“与”# i# j AND # k G65 H13 异或# i# j XOR # k 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) 3. 三角函数指令(表 7.3 )表 7.3 三角函数指令G码H码功能定义G65 H31 正弦# i# j SIN # k G65 H32 余弦# i# j COS # k G65 H33 正切# i# j TAN# k G65 H34 反正切# i ATAN # j/# k1)正弦函数 #i #j SIN(#k) 编程格式 G65 H31 P#i Q#j R#k (单位:度 ) 例G65 H31 P#101 Q#102 R#103; (#101 #102 SIN(#103) 2)余弦函数 #i #j COS(#k) 编程格式 G65 H32 P#i Q#j R#k (单位:度 ) 例 G65 H32 P#101 Q#102 R#103; (#101 #102COS(#103) 3)正切函数 #i #j TAN#k 编程格式 G65 H33 P#i Q#j R#k (单位:度 ) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 17 页 - - - - - - - - - 数控教研室例 G65 H33 P#101 Q#102 R#103; (#101 #102TAN(#103) 4 )反正切 #i ATAN(#j/#k) 编程格式 G65 H34 P#i Q#j R#k ( 单位:度, 0o #j 360o) 例G65 H34 P#101 Q#102 R#103 ; (#101 ATAN(#102/#103) 4. 控制类指令(表7.4 )表 7.4控制类指令G码H码功能定义G65 H80 无 条 件转移GO TO n G65 H81 条 件 转移 1 IF # j # k, GOTOn G65 H82 条 件 转移 2 IF # j # k, GOTOn G65 H83 条 件 转移 3 IF # j # k, GOTOn G65 H84 条 件 转移 4 IF # j # k, GOTOn G65 H85 条 件 转移 5 IF # j # k, GOTOn G65 H86 条 件 转移 6 IF # j # k, GOTOn G65 H99 产生PS报警PS 报警号500n出现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 ,执名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 17 页 - - - - - - - - - 数控教研室行下一程序段。 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,执行下一程序段。 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,执行下一程序段。7.2.4 使用注意为保证宏程序的正常运行,在使用用户宏程序的过程中,应注意以下几点;(1)由 G65规定的 H码不影响偏移量的任何选择;(2)如果用于各算术运算的Q或 R 未被指定,则作为0 处理;(3)在分支转移目标地址中,如果序号为正值,则检索过程是先向大程序号查找,如果序号为负值,则检索过程是先名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 17 页 - - - - - - - - - 数控教研室向小程序号查找。(4)转移目标序号可以是变量。7.2.5 用户宏程序应用举例例 1:用宏程序和子程序功能顺序加工圆周等分孔。设圆心在O 点,它在机床坐标系中的坐标为(X0,Y0) ,在半径为 r 的圆周上均匀地钻几个等分孔,起始角度为,孔数为n。 以零件上表面为Z向零点。见图 7.1 。使用以下保持型变量:#502:半径 r;#503:起始角度;#504:孔数 n,当 n0 时,按逆时针方向加工,当 n0 时, 按顺时针方向加工;#505:孔底 Z 坐标值;#506:R平面 Z 坐标值;#507:F 进给量。使用以下变量进行操作运算:#100:表示第 i 步钻第 i 孔的记数器;#101:记数器的最终值( 为 n 的绝对值) ;#102:第 i 个孔的角度位置i 的值;#103:第 i 个孔的 X坐标值;#104:第 i 个孔的 Y坐标值;用用户宏程序编制的钻孔子程序如下:O9010 N110 G65 H01 P#100 Q0 /#100 = 0 N120 G65 H22 P#101 Q#504 /#101 = #504N130 G65 H04 P#102 Q#100 R360 /#102 = #100 360o N140 G65 H05 P#102 Q#102 R#504 /#102 = #102 / #504 N150 G65 H02 P#102 Q#503 R#102 /#102 = #503 + #102当前孔角度位置i = + (360o i) / n N160 G65 H32 P#103 Q#502 R#102 /#103 = #502 COS(#102)当前孔的 X 坐标N170 G65 H31 P#104 Q#502 R#102 /#104 = #502 图 7.1 等分孔计算方法名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 17 页 - - - - - - - - - 数控教研室SIN(#102) 当前孔的 Y 坐标N180 G90 G00 X#103 Y#104 / 定位到当前孔(返回开始平面)N190 G00 Z#506 / 快速进到 R平面N200 G01 Z#505 F#507 / 加工当前孔N210 G00 Z#506 / 快速退到 R平面N220 G65 H02 P#100 Q#100 R1 /#100 = #100+1孔计数N230 G65 H84 P-130 Q#100 R#101 /当#100 j LT k 表示 j GE k 表示j LE k 表示(2)重复执行编程格式: WHILE 条件表达式 DO m (m 1,2 ,3) . . . END m 上述“ WHILE END m ”程序含意为:1)条件表达式满足时,程序段DO m至 END m即重复执行;2)条件表达式不满足时,程序转到END m后处执行;3)如果WHILE 条件表达式 部份被省略,则程序段DO m至 END m之间的部份将一直重复执行;注意: 1) WHILE DO m和 END m必须成对使用; 2)DO语句允许有3 层嵌套,即:DO 1 DO 2 DO 3 END 3 END 2 END 1 3)DO语句范围不允许交叉,即如下语句是错误的:DO 1 DO 2 END 1 END 2 以上仅介绍了B类宏程序应用的基本问题,有关应用详名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 17 页 - - - - - - - - - 数控教研室细说明,请查阅FANUC 0i 系统说明书。7.3.2 应用举例如图 7.4 所示的圆环点阵孔群中各孔的加工,我们曾经用 A类宏程序解决过这类问题,这里再试用B类宏程序方法来解决问题:宏程序中将用到下列变量:1 第一个孔的起始角度A,在主程序中用对应的文字变量A赋值;3 孔加工固定循环中R 平面值C,在主程序中用对应的文字变量 C赋值;9 孔加工的进给量值F,在主程序中用对应的文字变量F 赋值;11 要加工孔的孔数H,在主程序中用对应的文字变量H赋值;18 加工孔所处的圆环半径值R ,在主程序中用对应的文字变量 R赋值;26 孔深坐标值Z,在主程序中用对应的文字变量Z 赋值;30 基准点,即圆环形中心的X坐标值 XO ;31 基准点,即圆环形中心的Y坐标值 YO ;32 当前加工孔的序号i ;33 当前加工第i 孔的角度;100 已加工孔的数量;101 当前加工孔的X 坐标值,初值设置为圆环形中心的 X坐标值 XO ;102 当前加工孔的Y 坐标值,初值设置为圆环形中心的 Y坐标值 YO 。用户宏程序编写如下:O8000 N801030=101 图 7.4 圆环点阵孔群的加工名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 17 页 - - - - - - - - - 数控教研室/ 基准点保存N8020 31=102 / 基准点保存N8030 32=1 / 计数值置 1 N8040 WHILE 32 LE ABS11 DO1 / 进入孔加工循环体N8050 33= 1+360321/11 / 计算第 i 孔的角度N8060101 30 18 COS 33 / 计算第 i 孔的 X坐标值N8070102 31 18 SIN33 / 计算第 i 孔的 Y坐标值N8080 G90 G81 G98 X 101 Y 102 Z 26 R 3 F 9 / 钻削第 i 孔N809032321 / 计数器对孔序号i 计数累加N81001001001 / 计算已加工孔数N8110 END1 / 孔加工循环体结束N8120 #101=#30 / 返回 X坐标初值 XO N8130 #102=#31 / 返回 Y坐标初值 YO M99 / 宏程序结束在主程序中调用上述宏程序的调用格式为:G65 P8000 A C F H R Z上述程序段中各文字变量后的值均应按零件图样中给定值来赋值。练习与思考题名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 17 页 - - - - - - - - - 数控教研室一、判断题1.( ) 一般规定加工中心的宏编程采用A 类宏指令, 数控铣床宏编程采用B类宏指令。2. ()在“ G65 H01 P#100 Q1” 中, H01是指 01 号偏移量。二、选择题1. 下列字符中, _不适合用于B类宏程序中文字变量。A、 F ; B 、 G; C、 J ;D 、 Q。 2. G65 P9201 属于 _宏程序。 A 、 A 类; B、B 类; C、SIMENS ; D、FAGOR 。3. 宏程序中的 #110 属于 _。A、公共变量; B、局部变量; C、系统变量; D、常数。三、简答题1. B 类宏程序中,为何英文字母G 、L、N、O 、P 一般不作为文字变量名?2.B 类宏程序中,有哪些变量类型,其含义如何?3. 宏程序的功能是什么?宏程序变量有哪些?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 17 页 - - - - - - - - -