数控加工中宏程序的编制方法概述(PPT 97页).ppt_第1页
数控加工中宏程序的编制方法概述(PPT 97页).ppt_第2页
数控加工中宏程序的编制方法概述(PPT 97页).ppt_第3页
数控加工中宏程序的编制方法概述(PPT 97页).ppt_第4页
数控加工中宏程序的编制方法概述(PPT 97页).ppt_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数控加工中宏程序的编制方法,普通程序中,只能指定常量,常量之间不能进行运算,程序只能顺序执行,不能跳转,因此功能固定的,不能变化。用户宏功能是用户提高数控机床性能的一种特珠功能,在相类似工件的加工中巧用宏程序将起到事半功倍的效果。,一、宏程序概述,用户宏程序 用户宏程序(Custom macro)是以变量的组合,通过各种算术和逻辑运算,转移和循环等命令,而编制的一种可以灵活运用的程序,只要改变变量的值,即可以完成不同的加工和操作。用户宏程序可以简化程序的编制,提高工作效率。宏程序可以像子程序一样用一个简单的指令调用。 用户宏程序与普通程序区别:用户宏程序本体中,能使用变量,可以给变量赋值,变量

2、间可以运算,程序可以跳转;而普通程序中,只能指定常量,常量之间不能运算,程序只能顺序执行,不能跳转,功能是固定,不能变化。用户宏功能是用户提高数控机床性能一种特殊功能,相类似工件加工中巧用宏程序将起到事半功倍效果。,二、FANUC宏程序简介,在数控编程中,宏程序编程灵活、高效、快捷。宏程序不仅可以实现象子程序那样,对编制相同的加工操作程序非常有用,还可以完成子程序无法实现的特殊功能,例如,型腔加工宏程序、固定加工循环宏程序、球面加工宏程序、锥面加工宏程序等。,1.变量的表示 变量是用符号 # 后面加上变量号码表示的,即: #i(i=0,1,2,3) 例如:#8,#110,#20 变量号也可以用

3、一个表达式来指定,这时表达式必须用括弧括起来。 例如:#1+#12-12 2.变量的引用 跟在地址后面的数字可以被变量替换。假设程序中出现有地址#1 或地址-#1时,就意味着把变量值或它的负值作为地址的指令值。 为了在程序中引用变量,指定一个字地址其后跟一个变量号。 例如:G#104;,当用表达式指定一个变量时,须用方括号括起来。 例如:G01 X#1+#2 ; 引用的变量值根据地址的最小输入增量自动进行四舍五入。 例如:G00 X#1;其中#1 值为12.3456,CNC 最小输入增量 1/1000mm,则实际命令为G00X12.346。 为了将引用的变量值的符号取反,在#号前加“-”号。

4、例如:G00 X-#1;,当引用一个未定义的变量时,这个变量被当作空变量。变量#0始终被当作空变量,它不被赋任何值。忽略变量及引用变量的地址。 例如:#1=0 ,#2=“空”, 则 G00 X#1 Y#2 的执行结果是G00 X0; 注意 程序号“O”、顺序号“N”、任选段跳跃号“/”不能使用变量。例如:变量不能用于下列方法: O#1; /#2 G00 X100.0; N#3 Y200.0;,3. FANUC 变量的类型,注意: 1)公共变量是在主程序和主程序调用的各用户内公用的变量。也就是说,在一个宏指令中的# i与在另一个宏指令中的# i是相同的。其中#100#199公共变量是电源断电后即

5、清零,重新开机时被设置为“0”;#500#599公共变量即使断电后,它们的值也保持不变,因此也称为保持性变量。 2)系统变量的序号与系统的某种状态有严格的对应关系。例如,刀具偏置序号为#01#99,这些值可以用变量替换的方法加以改变,在序号199中,不用作刀具偏置变量的变量可以用作保持性公共变量#500#531。,5.系统变量,(1)刀具补偿存储器C的系统变量,4.FANUC宏程序的构成 1) 包含变量 2) 包含算术或逻辑运算(=)的程序段 3) 包含控制语句(例如:GOTO,DO ,END)的程序段 4) 包含宏程序调用指令 (G65,G66, G67或其他G代码,M代码调用宏序)的程序段

6、,三、FANUC宏程序运算符,三、 FANUC宏程序的条件表达式运算符,运算符含义 EQ 等于 NE 不等于 GT 大于 GE 大于或等于 LT 小于 LE 小于或等于,功能 格式 备注 平方根 #i=SQRT#j 绝对值 #i=ABS#j 舍入 #i=ROUND#j 上取整 #i=FIX#j 下取整 #i=FUP#j 自然对数 #i=LN#j 指数函数 #i=EXP#j,运算中的误差,注: 1 相对误差取决于运算结果。 2 使用两类误差的较小者。 3 绝对误差是常数,而不管运算结果。 4 函数TAN 执行SIN/COS。 5 如果SIN、COS 或TAN 函数的运算结果小于 1.010-8

7、或由于运算精度的限制不为0 的话, 设定参数o.60041 为1,则 运算结果可以规算为0。 变量值的精度约为8 位十进制数。当在加/减运算中处理非常大的数时,将得不到期望的结果。,无条件转移:GOTOn (n为顺序号,199999) 例1 下面的程序计算数值110的总和。 O9500 #1=0 ;存储和数变量的初值 #2=1 ;被加数变量的初值 N1 IF#2 GT 10 GOTO 2 ;当被加数大于10 时转移到N2 #1=#1+#2 ;计算和数 #2=#2+1 ;下一个被加数 GOTO 1 ;转到N1 N2 M30 ;程序结束,四、FANUC宏程序的转移和循环,四、 FANUC宏程序的转

8、移和循环,条件转移:(IF语句) 格式: IF 条件表达式 GOTOn 当指定的条件表达式满足时,转移到标有顺序号n的程序段,如果指定的条件表达式不满足时,执行下个程序段,四、 FANUC宏程序的转移和循环,IF 条件表达式 THEN 当指定的条件表达式满足时,执行预先决定的宏程序语句。 例: IF #1EQ #2 THEN #3=0;,四、 FANUC宏程序的转移和循环,WHILE 条件表达式 Dom; (m=1,2,3),注:循环允许嵌套,最多3层,但不允许交叉;,条件不满足,条件满足,ENDm,四、 FANUC宏程序的转移和循环,四、 FANUC宏程序的转移和循环,四、 FANUC宏程序

9、的转移和循环,当指定的条件满足时,执行从WHILE DO 到END 之间的程序。否则,转而执行END 之后的程序段。这种指令格式适用于IF 语句。DO 后的号和END 后的号是指定程序执行范围的标号,标号值为1,2,3。若用1,2,3 以外的值会产生P/S 报警No.126。,说明,例:O0001;(1+10的和) #1=0; #2=1; WHILE#2 LE 10DO 1; #1=#1+#2; #2=#2+1; END 1; M30;,五、FANUC宏程序的类型及调用,一、A类宏程序 格式:G65 Hm P#i Q#j R#k 现已基本不用,FANUC宏程序的调用,二、B类宏程序 1.非模态

10、调用指令 G65: 格式: G65PpLl 其中 p:要调用的程序号 L:调用次数(默认为1) 自变量:数据传递到宏程序 2.模态调用指令(G66): 格式: G66 PpLl; 参数意义 G67;(取消模态) 其中 p:要调用的程序号 L:调用次数(默认为1) 自变量:数据传递到宏程序,六、FANUC宏程序特殊用法,宏程序还可以实现系统参数的控制,如,坐标系的读写、刀具偏置的读写、时间信息的读写、倍率开关的控制等。 当偏置组数小于等于200时,也可以用#2001#2400,1.刀具补偿存储器C用G10指令进行设定,P:刀具补偿号 R:绝对值指令(G90)方式时的刀具补偿值。增量值指令(G91

11、)方式时的刀具补偿值为该值与指定的刀具补偿号的值相加。,2.自动运行控制的系统变量,3.自动运行控制的系统变量,4. 工件原点偏移值的系统变量,4.工件原点偏移值的系统变量,4. 工件原点偏移值的系统变量,4. 工件原点偏移值的系统变量,4. 工件原点偏移值的系统变量,4. 工件原点偏移值的系统变量,4. 工件原点偏移值的系统变量,4. 工件原点偏移值的系统变量,5.用G10改变工件坐标系零点偏移值,格式:G10L2PpIP ; P=0:外部工件零点偏移值 P=1:工件坐标系G54的零点偏移值 P=2:工件坐标系G55的零点偏移值 P=3:工件坐标系G56的零点偏移值 P=4:工件坐标系G57

12、的零点偏移值 P=5:工件坐标系G58的零点偏移值 P=5:工件坐标系G59的零点偏移值 IP: 对于绝对值指令(G90),为每个轴的工件零点偏移值。 对于增量值指令(G91),为每个轴加到设定的工件零点偏移值。,七、示例 1. 攻丝加工循环,2.车削类宏程序练习,(1)练习一,#1 Z 坐标值变量 ; #2 X 函数值变量 ; #4 X 坐标值变量 ; 0001; G98 G97 G40 G21; M03 S800 ; T010l; G00 G42 X45.0 Z5.0 ; G73 U20.O R20.O ; G73 Pl0 Q50 U0.3 W0.0 F1O0.0 ; Nl0 G01 X0

13、.0 F8O Sl000; Z0.0 ; #1 =25.0 ; N20 #2=SQRT1 - #1*#1 /625. * 225. ; #3=#1-25.0 ; #4=#2 * 2.0 ; G01 X#4 Z # 3; #l=#l-0.1; IF# lGE 0.0 GOTO20; G01 Z-35.0 ;,G02 X40.0 Z -40.0 R5.0 ; N50 G0l X45.0 ; G7O P1O Q50; G00 G40 X100.0 Zl00.0 ; M05; M30;,(2)练习二,O0002 M03 S600; G00 X65 Z5; G73 U22 W0 R12; G73 P1

14、Q3 U0.5 W0 F0.2; N1 G00 X0; G01 Z0; 1=40; N2 2=SQRT 1-1*1/1600*225; 3=1 40; 4=21+2*2; G01 X4 Z3 F0.1; 1=1-0.1 IF1GE10.2 GOTO 2 GO1 Z-29.8;,Z-46; G02 X58 W-4 R4; G01 X60 Z-60 N3 G01 X65; G70 P1 Q3 S1000; G00 X100 Z100; M05 M09; M30;,(3)练习三,O0003 M03 S600 T0101 G00 X60 Z1 G73 U25 WO R22 G73 P1 Q3 U0.0

15、5 WO F0.01 N1 G01 X18.802 Z0 F0.2 #1=15 N2 #2=-SQRT1-#1*#1/400*169 #3=#1-15 #1=#1-0.1 G01 X36+2*#2Z#3 F0.15 IF #1GE-16 GOTO 2 G01 Z-31 G03 X26 Z-38.706 R12,G01 Z-46 X30 X32 W-1 Z-59.9 X37 G02 X57 W-10 R10 G01 Z-105 N3 X60 G70 P1 Q3 G00 X100 Z100 M05 M30,(4)练习四,(5)练习五 配合件,(6)练习五 综合件,(6)练习五 综合件,FANUC宏

16、程序的G代码调用,七 FANUC宏程序的G代码调用,FANUC宏程序的M代码调用,FANUC宏程序中刀具半径补偿,SIEMENS参数编程,格式:Rn (n的缺省取值范围为0-99) 例如:R1 R2 R99,西门子参数化的几种形式 1)用DEF命令,在.MPF或者.SPF程序中制定变量,以达到调用的目的; 2)通过siemens自带的1001000个R参数进行参数的编制;(802D有300个) 3)直接调用siemens系统变量,进行参数化程序编制。,SIEMENS参数编程,与FANUC类似,但功能要弱一些。变量以“R”开始,如:R0、R1、R99。不包含系统变量,系统变量以 “$”开头。,8

17、02D R0R99可自由使用; R100R249加工循环传递参数(如程序中 没有使用加工循环,这部分参数可自由使用); R250R299加工循环内部计算参数(如程 序中没有使用加工循环,这部分参数可自由使用)。(2)赋值方式 为程序的地址赋值时,在地址字之后应使用 “=”,N、G、L除外。,提示:请确定是否你的设备供应商已经占用了一 些R参数,如果有设备制造商占用了一些R参数,最好不要使用这些R参数,选取其他R参数就可以了。 R参数的用法和用DEF定义的变量用法是一样的,重要的区别是R参数不用定义,可以直接在程序中任何位置进行调用就可以了。而且不受SPF,MPF的控制,任何程序都可以直接调用。

18、 不过,最好在使用R参数的时候,进行一些约定俗成,以便以后不会因为人员的变动造成参数含义的错乱,那时候就非常麻烦了!,SIEMENS参数编程中的数学运算符,SIEMENS参数编程中的数学运算符,SIEMENS参数编程中的比较或逻辑运算符,变量编程中的数学知识椭圆 椭圆的解析方程: 椭圆的参数方程: 实轴长=2a,短轴长=2b,t,a,b,x,y,t,a,b,x,y,变量编程中的数学知识抛物线(1) 抛物线方程: 几何意义:是焦点到准线的距离。 焦点 : 准线方程:,变量编程中的数学知识抛物线(2) 抛物线方程: 几何意义:是焦点到准线的距离。 焦点 : 准线方程:,变量编程中的数学知识抛物线(

19、3) 抛物线方程: 几何意义:是焦点到准线的距离。 焦点 : 准线方程:,变量编程中的数学知识抛物线(4) 抛物线方程: 几何意义:是焦点到准线的距离。 焦点 : 准线方程:,变量编程中的数学知识抛物线(5)抛物线参数方程,参数编程中的数学知识双曲线 双曲线方程: 焦点: F1(-c, 0), F2(0, c). 渐近线方程: y=(b/a)*x,双曲线的参数方程: 以原点为圆心,分别 以a、b为半径作圆,如 图,NoH= ,过 N、H分别作切线 确定点M的横坐标、 纵坐标,根据三角函 数的定义 x= asec y=btg 参数也称作离心角。,b,a,o,x,y,),M,H,N,SIEMENS

20、参数编程示例,SIEMENS参数编程程序跳转,无条件跳转 GOTOB LABEL (向后跳转,向程序头跳转) GOTOF LABEL (向前跳转,向程序尾跳转) LABEL 为程序段标示,SIEMENS参数编程程序跳转,条件跳转 IF 表达式 GOTOB LABEL (向后跳转,向程序头跳转) IF 表达式 GOTOF LABEL (向前跳转,向程序尾跳转) LABEL 为程序段标示,SIEMENS参数编程程序跳转,宏程序示例,例一: 采用20R4铣刀加工SR30的球,已知球心坐标为(X0Y0Z-5.) 如下图所示:,宏程序示例一图,宏程序示例一分析,分析: 铣球程序一般采用自动编程来实现,但

21、是,利用宏程序强大的功能同样也可以实现,而且程序更加简洁。 编程思路: 铣球可以认为是多个铣圆的组合。 排刀分布: 有两种方案,一是按Z向分布,二是按圆心角分布。从保证表面质量来看,最佳方案为按圆心角分布。,宏程序示例一计算,圆弧起点计算,从X正向开始起刀。 刀具根部R4的圆心在XZ平面的运动轨迹为与R30等距的圆R34(见图示中红色轨迹),刀尖点上4mm处的轨迹(即褐色轨迹)为红色轨迹沿X正向平移6毫米,刀尖点坐标为褐色轨迹沿Z轴向下平移4mm(即绿色轨迹)。 起始角度=ARCSIN(5+4)/34)=15.349 起始位置X值=34*COS(15.349)+6=38.787 起始位置Z值=

22、0 (通用表达式=34*sin(15.349)-5-4),宏程序示例一编程,变量定义: #1为圆心角,范围由(15.349,90) #2为刀尖中心X值,=34*COS#1+6 #3为刀尖中心Z值,=34*SIN#1-5-4,宏程序示例一程序,宏程序示例,例二: 用20R10铣刀加工轮廓处R5圆角,宏程序示例,G00X2.5Y26.664 G01G41D01X-8.991Y2.023 G03X2.5Y-3.336I11.491J9.641 X32.969Y-.208I0.J150. G02X44.955Y-10.952I2.031J-9.792 G03Y-49.048I199.09J-19.048 G02X33.452Y-59.88I-9.955J-.952 G03X-28.452I-30.952J-197.59 G02X-39.922Y-48.75I-1.548J9.88 G03Y-11.25I-148.823J18.75 G02X-27.969Y-.208I9.922J1.25 G03X2.5Y-3.336I30.469J146.872 X

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论