-
-
94各位贴友:看到宏程序吧里好几位贴友希望了解宏程序和编写宏程序的方法,我找到了自己写的培训课教案。此教案介绍了FANUC数控系统提供的B类宏程序,主要内容来自于随机带来的编程手册,补充了自己的理解、使用体会和简单实例,在原教案基础上稍加修改免费分享给年青朋友们。拟按照内容分为若干小块发帖,前面是基础知识,然后按照变量、运算方法、控制指令、各种表达式、变量的使用、宏程序的调用方法、系统的规定和简单加工实例等顺
-
4
-
438FANUC加工中心如何让程序无法修改,但刀具偏置和坐标都可修改且能够正常使用,程序要可以看见? 两种办法: 1,用面板上的程序锁,用钥匙锁住虽然是一个办法,但是不够好。 2,可以将你不想让别人修改的程序设置成只读模式,那么别人只能使用而绝对无法修改! 设置方法如下: 打开参数界面,在里面找到参数No.3202这个参数是专门用来设置程序只读模式的参数,里面有NE9 NE8,而这两个位置的主要用途如下: # 0 NE8是否禁止程序号8000~8999的程序16Tr95*13 G99 T101 G0 X97.0 Z5.0 #1=7(单边牙高) N2 #2=TAN[15]*#1(Z轴位置,15为牙型半角度数) #3=#2+6(加6mm安全距离) #4=#2*2+6-3(计算每层车削宽度 6为牙底宽度,3为刀宽) #5=81+#1*2(X轴位置 81为牙底直径) #6=#3-#4 N1 G0 Z#3 G92 X#5 Z-31.0 F13 #3=#3-2(刀具每次偏移量,切记要小于刀宽) IF[#3GE#6]GOTO1 G0 Z#6 G92 X#5 Z-31.0 F13 #1=#1-0.1(X轴每层切削量) IF[#1GE0]GOTO2 M3048部分带注释,应该还是有人有需要的5加工梯形螺纹时,由于螺纹的加工深度较大无法采用直进法加工。因此梯形螺纹宜选用G76指令,采用斜进法进行编程加工。名称 代号 计算公式 牙形角 a a=30° 螺距 P 牙顶间隙 ac P/mm 1.5~5 6~12 14~44 ac/mm 0.25 0.5 1 外螺纹 大径 d 公称直径 中径 d2 d2=d-0.5P 小径 d3 d3=d-2h3 牙高 h3 h3=0.5P+ac 内螺纹 大径 D4 D4=+2a 中径 D2 D2=d2 小径 D1 D1=d-p 牙高 H4 h4=h3 牙顶宽 0.366p 牙槽底宽 0.336p-0.536ac 举例哈双头左旋梯形螺纹,大径70MM,中径68MM,小径65.5MM,P=6 P=6.这么大要分粗精车1172429104565531.1 概述 (1)宏程序的分类 首先我们来讲一下宏程序的分类,A类和B类。首先在数控车系统比较老的时候,我们系统里面有A类宏,A类宏格式为G65格式,现在已经基本淘汰。随着科技发达,系统的升级优化,现在的数控系统大多支持B类宏程序,总体而言,现在B类宏是一个主流发展趋势,所以接下来我们的实例讲解都以B类宏程序为例。 (2)宏程序的概念 简单来理解宏程序是什么?可以这样理解,宏程序就是利用数学公式,函数等计算方式,配合数控610这个问题源于一个吧友:@loyou22 原帖:http://tieba.baidu.com/f?ct=335675392&tn=baiduPostBrowser&am11简单的铣圆程序,就是刀小,怎么把直径也宏程序下,就是不用老改啊! 是45的圆20的刀,粗钻到35了。#1=38/2-20/2 #2=0 #3=-10深度 G90 G57X0 Y0 Z100; S600 M03 ; G52 X0 Y0;G0Z Z5;G01 Z0 F400;Y#1 ;N10 G03 J-#1 Z#2;#2=#2-1; IF[#2 GE #3] GOTO10: G01 X0 Y0; Z#3;Y#1;G03 J-#1;G01 X0 Y0; G0..... G28 M05 ....你看我编的,要是铣到45要把#1改好多次,有怎么编,能一次成型?谢了2刀具沿着椭圆中心加工一个深度为5mm的椭圆槽,长半轴20mm,短半轴15mm。 工件坐标系原点定在工件上表面中心,则程序编制如下: G90G54G64G00X0Y0Z100 M3S800 G0X20Y0 Z5 #5=-1 N5 G1Z[#5]F20 #1=0 加工完整椭圆 N10 #1=20*COS[#1] #2=15*SIN[#1] G1X[#1]Y[#2]F600 沿小段直线插补加工 #1=#1+3 递减一小段距离,此值越小,椭圆越光滑。 IF [#1 LE 360] GOTO 10 条件判断是否到达终点。 #5=#5-1 IF [#5 GE -5] GOTO 5 G0Z100 M5 M304本宏程序示例中假设刀具沿着椭圆中心加工一个深度为5mm的椭圆槽,椭圆长半轴20mm,短半轴15mm。 注意:如果用椭圆的标准方程编制椭圆宏程序,则椭圆需要分两部分来编制。 工件坐标系原点定在工件上表面中心,则程序编制如下: G90G54G64G00X0Y0Z100 M3S800 G0X20Y0 Z5 #5=-1 N5 G1Z[#5]F20 #1=20 加工椭圆的上半部分 N10 #2=15*SQRT[1-20*20/#1*#1] SQRT表示开平方 G1X[#1]Y[#2]F600 沿小段直线插补加工 #1=#1-1 递减一小段距离,此值越小,椭圆越光滑。 IF [#1 GE -20] GOTO 10 条件判断是112911s = x cos(b) – y sin(b) t = x sin(b) + y cos(b) 根据下图,原来的点(#1,#2),旋转后的点(#4,#5),则公式: #4=#1*COS[b]- #2*SIN[b] #5=#1*SIN[b]+ #2*COS[b] 公式中角度b,逆时针为正,顺时针为负。 下图中正弦曲线如果以其左边的端点为参考原点,则此条正弦曲线顺时针旋转了16度,即b=-16 此正弦曲线周期为24,对应直角坐标系的360 对应关系 【0,360】 y=sin(x) 【0,24】 y=sin(360*x/24) 可理解为: 360/24是单位数值对应的角度 360*x/24是当变量在【0,24】范围取值为x时对应的1不在轴线上的椭圆宏程序编制也没有什么特殊的,只是改下偏置的数值罢了。 椭圆的参数方程为:X=a*COSθ Y=b*SINθ 可改写为: #1=30*cos[#3] #3为参数方程对应的中角度 #2=20*sin[#3] 图中椭圆长半轴30mm,短半轴20mm,椭圆中心位置如图所示,不在轴线上,因此在计算编程所用的坐标值时,X方向要再加上40,Z方向要减去30+10=30 相应程序如下: T0101 M3S800 G0X82Z5 #6=36 N5 G0X[#6+40] G1Z-10F0.1 #3=0 N10#1=30*COS[#3] #2=20*SIN[#3] #4=2*#2+#6+40 计算出的为半径值,需转化为直径值才能与1椭圆的参数方程为:X=a*COSθ Y=b*SINθ 可改写为: #1=30*cos[#3] #3为参数方程对应的中角度 #2=20*sin[#3] 相应程序修改如下: T0101 M3S800 G0X42Z5 #6=36 N5 G0X[#6] G1Z0F0.1 #3=0 N10#1=30*COS[#3] #2=20*SIN[#3] #4=2*#2+#6 计算出的为半径值,需转化为直径值才能与直径编程对应。 #5=#1-30 G1X[#4]Z[#5]F0.1 沿小段直线插补加工 #1=#1+3 递减3度,此值越小,工件表面越光滑。 IF[#1 LE 90] GOTO 10 条件判断是否到达终点。 G1X42 直线插补切到工件外圆之外 G0Z5 #6=#6-4 IF [#6 GE 0] GOTO 5 G0X150Z150 M5 M3017552512#500=2;<?xml:namespace prefix="o" ns="urn:schemas-microsoft-com:office:office"></?xml:namespace> #501=10; #502=#501/#500-1; WHILE[#502 GE 0] DO 1; G00 Z100.;(Z方向安全距离) G01 [-12.+#502*#500] F1000; G65 P8000 X#24 Y#25 A#1 B#2 Q#17 D#7 S#19 F#9; G00 Z[-12.+#502*#500+#500] #33=#33-1; END 1; G65 P8000 X#24 Y#25 A#1 B#2 Q#17 D#7 S#19 F#9; O8000 IF[#24 EQ #0] THEN #3000=1; IF[#25 EQ #0] THEN #3000=2; IF[#1 EQ #0] THEN #3000=3 IF[#2 EQ #0] THEN #3000=4; IF[#3 EQ #0] THEN #3000=5; IF[#19 EQ #0] THEN #3000=8; IF[#9 EQ #0] THEN #3000=9; IF[[#7 EQ #0] AND[#7 GT 200]]THEN #3000=758首先在这里由衷的感谢作者@liuqirxjh0501 (鬼谷老师)感谢他的无私奉献 以及众位吧友一直以来的不懈支持 和鬼谷老师对我的淳淳教诲 在此谨以我个人名义再次向鬼谷老师表达衷心的感谢20举个西门子的例子,车长半轴为16短半轴为9的椭圆右半部分,毛坯20,长度自定 G95 T1D1; M3 S1200; R2=18;(利用偏移法,X往上偏移18mm) G0 X22 Z3;定位 AA1: R1=0;用角度为变量,初始角度赋值为0 G0 X=R2;定位 G1 Z0 F0.08; AA2: R3=18*SIN(R1);椭圆的x坐标,直径值 R4=16*COS(R1);椭圆的长度 R5=R3+R2;椭圆的X坐标加偏移量 G1 X=R5 Z=R4-16;用直线插补拟合椭圆轮廓 R1=R1+1角度每次加1度 IF R5>20 GOTOF AA3;如果X坐标超过20mm跳转到AA3处退刀以减少空刀量! IF R1<=90 GOTOB AA2;如果角度不满90度13此程序是基于FANUC数控系统编写 此程序只是提供一个思路 希望能抛砖引玉9自上而下,右旋螺纹铣削. #100=(等分孔半径) #101=(孔数) #102=(螺纹导程) #103=(螺纹深度,非绝对值) #104=(起始角度) #105=(螺纹直径) #106=(刀具直径) #107=(安全距离) T01 M06 G0 G90 G54 X0 Y0 G43 Z50 H01 S300 M03 M08 #110=360/#101(计算各等分孔之间角度) #111=#104(起始角度) #112=#105-#106(计算去除刀具直径后的径向偏移量) #113=#112/2(计算去除刀具直径后的半径偏移量) #114=[#103+#107]/#102(计算达到螺纹深度后螺旋线所需的圈数) #114=ROUND[#114](取整) N100#115=1 G90 G16 G17 G0 X#100 Y#111(极741L防止偷窥15062
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!友情贴吧