如何编制宏程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何编制宏程序
摘要用户宏程序是以变量的组合,通过这种算术和逻辑运算,转移和循环等命令,编制的一种可以灵活运用的程序,只要改变变量的值,即可以完成不同的加工和操作。用户宏程序可以简化编程,提高工作效率。
关键词宏程序;编制;变量
宏程序用变量代替真值,宏程序编程员可根据当前应用给变量赋值,变量不仅使宏程序更灵活,也带来很多方便,下面我以定位销为例说明如何编写宏程序。如图;
要加工一个零件,首先要仔细审阅它的零件图,我们一看上面这张图纸,便知道它不仅仅是单个零件的图纸,他要求加工4个销,所有的尺寸和材料都已给出。零件的设计者选择了一张图纸而不是四张单独的图纸来描述。从某种意义上来讲,设计者已经把这个方案看做一类零件,这和编程员一样。所有4个销相似,它们有几个共同特征。图中标出了7个尺寸,其中2个是固定的,其它5个是不一样的。
2宏程序目标
编写宏程序最重要的目标是设计出能够用一个程序加工出这个系列中的4个销的程序,因此只通过改变主程序中G65自变量(变量)就可完成加工。
3确定实际刀具路径
第一步:快速靠近工件进行表面切削;
第二步:离开工件右端面一点距离作为循环起点;
第三步:快速退到G71循环起点;
第四步:粗加工成型,留有合适的余量;
第五步:用G70完成加工。
4编写标准程序并确定其中的变量
因为这4个零件的程序相似我们只编第一个销的程序(销-001)其程序如下;
G99 T0101 M03 S600 N10 G01 X24.0 Z-1.0F0.1
G0 X53.0 Z0.0 M08N11 Z-23.0 R3.0
G01 X-1.8 F0.1 N12 X46.0 R-2.0
G0 Z3.0N13 Z-47.0
G42 X51.0N14 X54.0
G71 U2.5 R0.1 F0.3 N15 G70 P9 Q14
G71 P9 Q14 U1.5 W0.125 G0 G40 X100.0 Z50.0
N9 G0 X16.0 M30
通过以上程序可以看出来,用下划线标出的数值即为加工这4个零件时变化的数值,我们把它们全部设为变量或自变量,需要计算的将产生组合变量输入,即我们编写NC程序时如何计算的这个数值,按规定计算的顺序把公式代入即可,系统会自动计算。
变量表;4个零件的自变量和变量赋值
零件尺寸A 尺寸B 尺寸C 尺寸D 尺寸R
A=#1 B=#2 C=#3 D=#7 R=#18
销-001 A23.0 B44.0 C24.0 D46.0 R3.0
销-002 A25.0 B46.0 C28.0 D48.0 R2.0
销-003 A19.0 B45.0 C21.0 D47.0 R4.0
销-004 A16.0 B40.0 C25.0 D49.0 R3.0
5使用变量后的程序段
我们把以上程序段中带有下划线的数字,用以上表中的变量来代替,其程序段如下:
N9G0 X[#3-2*1-2*3] N12 X#7 R-2.0
N10 G01 X#3 Z-1.0 F0.1 N13 Z-[#2+3.0]
N11 Z-#1 R#18
我们把这些带有宏程序特征的标准程序编写成真正的宏程序。
编写后的程序如下:
主程序:G71 U2.5 R0.1 F0.3
G99 T0101 M03 S600 G71 P9 Q14 U1.5 W0.125
G0 X53.0 Z0.0 M08N9 G0 X[#3-2*1-2*3]
G01 X-1.8 F0.1 N10 G01 X#3 Z-1.0 F0.1
G0 Z3.0N11 Z-#1 R#18
G42 X51.0N12 X#7 R-2.0
G65P8021A23.0B44.0C24.0D46.0R3.0 N13 Z-[#2+3.0]
G0 G40 X100.0 Z100.0 N14 X54.0
M30 N15 G70 P9 Q14
子程序:O8021 M99
6最终的宏程序
这样我们便把第一个零件的宏程序编出来了,但这不是我们的最终目的,而我们所需要的是编写一个程序把4个零件都加工出来。在宏程序O8021中,对不同的销,修改变量赋值的唯一方法是在程序段N8中的G65命令。这是一种很常见的方法,但不是最好的方法。更好的方法是将4种定义变量都包括在一个主程序当中,然后只通过修改一个变量号(在程序的开头)来选择要加工的零件(销),这个目标可通过在主程序中使用IF 函数包含4个定义来达到:
(销001-销004加工的程序)
N1 #33=1(选择零件;1=001 2=002 3=003 4=004 )N20 GOTO22
N2 IF [#33GT4] GOTO 991 N21 G65 P8021 A16.0 B40.0 C25.0 D49.0 R3.0
N3 IF [#33LT1] GOTO 991 N22 G0 G40 X100.0 Z100.0
N4 G99 T0101 M03 S600 N23 GOTO999
N7 G0 X53.0 Z0.0 M08 N991 #3000=991
N8 G01 X-1.8 F0.1 N992 #3000=991
N9 G0 Z3.0 N999 M30
N10 G42 X51.0 子程序O8021;
N11 IF [#33EQ1] GOTO 15 G71 U2.5 R0.1 F0.3
N12 IF [#33EQ2] GOTO 17 G71 P9 Q14 U1.5 W0.125
N13 IF [#33EQ3] GOTO 19 N90 G0 X[#3-2*1-2*3]
N14 IF [#33EQ4] GOTO 21 N100 G01 X#3 Z-1.0 F0.1
N15 G65 P8021 A23.0 B44.0 C24.0 D46.0 R3.0 N110 Z-#1 R#18
N16 GOTO22 N120 X#7 R-2.0
N17 G65 P8021 A25.0 B46.0 C28.0 D48.0 R2.0 N130 Z-[#2+3.0]
N18 GOTO22 N140 X54.0
N19 G65 P8021 A19.0 B45.0 C21.0 D47.0 R4.0 N150 G70 P9 Q14
M99
以上便是加工4个零件的完整程序,通过程序可以总结出宏程序的特征:1)需要考虑安全事项,选择正确的刀具路径;
2)仔细选择变量赋值;
3)使用内部计算而不是定义变量;
4)包含的信息与报警。
抓住了编制宏程序的特征,对编写宏程序来说有很大的帮助,这是编写宏程序重要的一面。但对任何实际应用程序来讲,其首要的和主要的目的是开发基本程序的核心,要尽可能运用最短的程序来实现要加工的目标。编写出最简洁最实用的宏程序来。