当前位置:文档之家› 基于FANUC系统的圆锥曲线成形面及倒角加工的宏程序编制研究

基于FANUC系统的圆锥曲线成形面及倒角加工的宏程序编制研究

基于FANUC系统的圆锥曲线成形面及倒角加工的宏程序编制研究
基于FANUC系统的圆锥曲线成形面及倒角加工的宏程序编制研究

FANUC宏程序编程

运算符 运算符由2个字母组成,用于两个值的比较,以决定它们是相等还是一个值小于或大于另一 示例程序下面的程序计算数值1~10的总和 O9500;#1=0;………………………………….存储和的变量初值 #2=1;………………………………….被加数变量的初值 N1 IF[#2GT 10]GOTO 2;…………….当被加数大于10时转移到N2 #1=#1+#2;…………………………….计算和 #2=#2+#1;…………………………….下一个被加数 GOTO 1;………………………………转移到N1 N2 M30;................................................程序结束 算术和逻辑运算

角度单位: SIN、ASIN、COS、ACOS、TAN和A TAN的角度单位是度 ARCSIN #i=ASIN[#j]: ●取值范围如下:当参数(N0.6004¥0)NA T位设为0时,270~90度;当参数(N0.6004¥0)NA T位设为1时,-90~90度。 ●当#j超过-1到1的范围时,发出P/S报警N0.111。 ●常数可替代变量#j。 ARCCOS #i=ACOS[#j]; ●取值范围从180~0度。 ●当#j超过-1到1的范围时,发出P/S报警N0.111。 ●常数可替代变量#j。 ARCTAN #i=A TAN[#j]; ●指定两边的长度,并用斜杠(/)分开 ●取值范围如下:当参数(N0.6004¥0)NA T位设为0时,0~360度[例如:当指定 #i=A TAN[-1]/[-1];时,#1=225度]。当参数(N0.6004¥0)NA T位设为1时,-180~180度[例如:当指定#i=A TAN[-1]/[-1];时,#1=-135度] ●常数可替代变量#j。 自然对数#i=LN[#j]; ●注意,相对误差可能大于10-8。 ●当反对数(#j)为0或小于0时,发出报警N0.111。 ●常数可替代变量#j。 指数函数#i=EXP[#j]: ●注意,相对误差可能大于10-8 ●当运算结果超过3.65×1047(j大约是110)时,出现溢出报警N0.111 ●常数可替代变量#j。 上取整下取整: CNC处理数值运算时,若操作后产生整数绝对值大于原数的绝对值时为上取整;小于为下取整。例如: 假设#1=1.2,#2=-1.2。当执行#3=FUP[#1]时,2.0赋给#3;当执行#3=FIX[#1]时1.0赋给#3;当执行#3=FUP[#2]时,-2.0赋给#3;当执行#3=FIX[#2]时,-1.0赋给#3。 宏程序语句:包含算术或逻辑运算(=)的程序;包含控制语句(例如,用GOTO,DO,END)的程序;包含宏程序调用指令(例如,用G65,G66,G67或其它G代码,M代码调用宏程序)的程序段;除宏程序以外任何程序段都为NC语句。 与NC语句的不同: 即使置于单段程序运行方式,机床也不停止。但是,当参数N0.6000#5SBM设定位、为1时,在单段程序方式中,机床停止。在刀具半径补偿方式中宏程序语句段不做为移动程序段处理 与宏程序语句相同性质的NC语句: 含有子程序调用指令(例如,用M98或其它M代码或用T代码调用子程序)但没有除O,N,P或L地址之外的其它地址指令的NC语句,其性质与宏程序语句相同;不包含除O,N,P或L以外的指令地址的程序段其性质与宏程序语句相同。 无限循环; 当指定DO而没有指定WHILE语句时,产生从DO到END的无限循环。

圆角和倒角的方法

掌握倒圆角及倒斜角的方法 圆角, 斜角 打开文件“2-11.dwg”,用FILLET、CHAMFER命令将图2-32中的左图修改为右图。这个练习的目的是使读者掌握倒圆角及倒斜角的方法。 2-32倒圆角及倒斜角 操作范例——创建圆角及斜角 1. 用FILLET命令连接两条线段、画圆弧连接及创建圆角,如图2-33所示。 命令: _fillet //用FILLET命令连接两条直线 选择第一个对象或 [放弃(U)/多段线(P)/半径(R)/修剪(T)/多个(M)]: r //设定圆角半径指定圆角半径 <10.0000>: 0 //输入圆角半径值 选择第一个对象或 [放弃(U)/多段线(P)/半径(R)/修剪(T)/多个(M)]: //选择线段A 选择第二个对象: //选择线段B 命令:FILLET //重复命令 选择第一个对象或 [放弃(U)/多段线(P)/半径(R)/修剪(T)/多个(M)]: r //设定圆角半径指定圆角半径 <0.0000>: 5 //输入圆角半径值选择第一个对象: //选择线段B 选择第二个对象: //选择圆C 命令:FILLET //重复命令 选择第一个对象或 [放弃(U)/多段线(P)/半径(R)/修剪(T)/多个(M)]: r //设定圆角半径指定圆角半径 <5.0000>: 20 //输入圆角半径值选择第一个对象: //选择圆C 选择第二个对象: //选择圆D 命令:FILLET //重复命令

选择第一个对象或 [放弃(U)/多段线(P)/半径(R)/修剪(T)/多个(M)]: r //设定圆角半径 指定圆角半径 <20.0000>: 8 //输入圆角半径值 选择第一个对象: //选择线段E 选择第二个对象: //选择线段F 命令:FILLET //重复命令 选择第一个对象或 [放弃(U)/多段线(P)/半径(R)/修剪(T)/多个(M)]: r //设定圆角半径 指定圆角半径 <8.0000>: 3 //输入圆角半径值 选择第一个对象: //选择线段G 选择第二个对象: //选择线段H 命令:FILLET //重复命令 选择第一个对象或 [放弃(U)/多段线(P)/半径(R)/修剪(T)/多个(M)]: p //使用“多段线(P)”选项选择二维多段线: //选择矩形I 结果如图2-33所示。 2-33用FILLET命令倒圆角 提示:若设定圆角半径零,则FILLET命令(圆角后修剪)将使两条不直接相交的线段交于一点。同样,若设定倒角距离为零,CHAMFER命令(倒角后修剪)也 具有相同的功能。 2. 用CHAMFER命令倒斜角,如图2-34所示。 命令: _chamfer 选择第一条直线或 [放弃(U)/多段线(P)/距离(D)/角度(A)/修剪(T)/多个(M)]: d //使用“距离(D)”选项 指定第一个倒角距离 <10.0000>: 6 //输入第一条倒角边的距离 指定第二个倒角距离 <6.0000>: 10 //输入第二条倒角边的距离 选择第一条直线: //选择线段J

倒角和倒圆角

倒角和倒圆角 启动AutoCAD 2010,打开附盘中的素材文件,如图6-23(a )所示。 在“修改”工具栏上单击“倒角”按钮 ,启动倒角命令。按照命令行提示,在命令行内输入“ m ”并按Enter 键,选择“连续倒角”。按照命令行提示,在命令行内输入“d ”并按Enter 键,选择“距离倒角”方法,并设置第一倒角距离及第二倒角距离。按照命令行提示,选择矩形左侧边为第一条倒角边,如图6-23(b )所示,选择矩形上侧边为第二倒角边,如图6-23(c )所示。倒角后效果如图6-23(d )所示。 按照命令行提示,在命令行内输入“a ”并按Enter 键,选择角度倒角方法,并设置第一倒角距离,设置倒角角度。按照命令行提示,分别选择矩形右侧边及上侧边为第一条倒角边和第 二条倒角边。按Esc 键退出倒角命令,效果如图6-23(e )所示。 在“修改”工具栏上单击“圆角”按钮,启动圆角命令。按照命令行提示,在命令行中输入“m ”并按Enter 键,选择连续倒圆角。按照命令行提示,在命令行中输入“r ”并按Enter 键,选择设置圆角半径。按照命令行提示设置圆角半径。选择矩形左侧边和下侧边为倒圆角边,选择矩形右侧边和下侧边为倒圆角边。按Esc 键退出圆角命令,最终效果如图6-23(f )所示。 图6-23 倒角和倒圆角 命令行的操作如下。 命令: _chamfer (启动倒角命令) (“修剪”模式) 当前倒角长度 = 5.0000,角度 = 30 选择第一条直线或 [放弃(U)/多段线(P)/距离(D)/角度(A)/修剪(T)/方式(E)/多个(M)]: m (在命令行内输入m 并按Enter 键,选择连续倒角) 选择第一条直线或 [放弃(U)/多段线(P)/距离(D)/角度(A)/修剪(T)/方式(E)/多个(M)]: d (在命令行内输入d 并按Enter 键,选择距离倒角) 指定第一个倒角距离 <0.0000>: 10 (输入第一倒角距离,并按Enter 键) 指定第二个倒角距离 <10.0000>: 10 (输入第二倒角距离,并按Enter 键) 选择第一条直线或 [放弃(U)/多段线(P)/距离(D)/角度(A)/修剪(T)/方式(E)/多个(M)]: (选择矩形左侧边为第一条倒角边) 选择第二条直线,或按住 Shift 键选择要应用角点的直线:(选择矩形上侧边为第二条倒角边) 选择第一条直线或 [放弃(U)/多段线(P)/距离(D)/角度(A)/修剪(T)/方式(E)/多个(M)]: a (在命令行内输入a 并按Enter 键,选择角度倒角) 指定第一条直线的倒角长度 <5.0000>: 10 (输入第一倒角距离,并按Enter 键) 指定第一条直线的倒角角度 <30>: 45 (输入倒角角度,并按Enter 键) 选择第一条直线或 [放弃(U)/多段线(P)/距离(D)/角度(A)/修剪(T)/方式(E)/多个(M)]: (选择矩形右侧边为第一条倒角边) 选择第二条直线,或按住 Shift 键选择要应用角点的直线: (选择矩形上侧边为第二条倒角边) (f ) (e ) (d ) (c ) (b ) (a ) 选择第一条直线或 选择第二条直线

FANUC用户宏程序(椭圆篇)

用户宏程序 宏程序是指含有变量的子程序,在程序中调用用户宏程序的那条指令叫做用户宏指令(这里用G65) 1、变量 用一个可赋值的代号代替具体的坐标值,这个代号称为变量。变量分为系统变量、全局变量和局部变量三类,它们的性质和用途个不相同。(1)系统变量是固定用途的变量,它的值决定了系统的状态。FANUC 中的系统变量为#1000~#1005、#1032、#3000等。 (2)全局变量是指在主程序内和由主程序调用的各用户宏程序内公用的变量。FANUC中的全局变量有60个,它们分两组,一组是#100~#149;另一组是#500~#509。 (3)局部变量是仅局限于在用户宏程序内使用的变量。同一个局部变量在不同的宏程序内的值是不通用的。FANUC中的局部变量有33个,分别为#1~#33。 (1)加减型运算加减型运算包括加、减、逻辑加和排它的逻辑加。分别用以下四个形式表达: #i = #j +#k #i = #j -#k #i = #j OR #k #i = #j XOR #k 式中,i、j、k为变量;+、-、OR、XOR称为为演算子。 (2)乘除型运算乘除型运算包括乘、除和逻辑乘。分别用以下形式表达: #i = #j * #k #i = #j / #k #i = #j AND #k 4.变量的赋值

由于系统变量的赋值情况比较复杂,这里只介绍公共变量和局部变量的赋值。变量的赋值方式可分为直接和间接两种。 (1)直接赋值 例:#1=115(表示将变量115赋值于#1变量) #100=#2(表示将变量#2的即时值赋于变量#100) (2)间接赋值间接赋值就是用演算式赋值,即把演算式内演算的结果赋给某个变量。在演算式中有自变量代号,自变量每得到一个即时值,相应就得到一个演算结果,该结果就赋值给变量,该变量也叫应变量。5.转向语句 转向语句分为无条件转向语句和条件转向语句两种。 (1)无条件转向语句 程序段格式:GOTO N ;其中N后面的数值为程序段号。 例如:GOTO 55;表示无条件转向执行N55程序段,而不论N55程序段在转向语句之前还是之后。 (2)条件转向语句条件转向语句一般由判断条件式和转向目标两部分构成。 程序段格式:IF [a GT b ] GOTO c;表示为“如果a>b,那么转向执行第Nc句程序段”。a和b可以是数值、变量或含有数值及变量的算式,c是转向目标的程序段。 大于、等于、大于等于、小于等于分别用GT、EQ、GE、LE表示。 三、用户宏程序的应用 下面就以椭圆为例,介绍宏程序间接赋值法的应用。 1、椭圆的中心偏离工件原点一个Z向距离 如下图是一个椭圆,椭圆的中心偏离工件原点一个Z向距离W=40,欲车削1/4椭圆(图中粗线部分)的回转轮廓线,要求在数控程序中用任意一点D的Z值(用#3号变量指定)来表达该点的X值(用#5号变量指定),由此可知,这里是以Z作为自变量,以X作为应变量。根据椭圆的方程即可以写出自变量Z与应变量X之间的关系表达式。那么,如果我们在Z向分段,以0.5mm为一个步距给Z赋值,就可以得到相应的一个X值。然后把所得各个点的坐标值用直线插补方式来逼近,就可以得到椭圆的近似轨迹。步距取的越小,所得的轨迹就越接近椭圆。 如下图所示椭圆方程为:(式中X为半径值)

FANUC系统宏程序配合G10指令倒角分析

FANUC系统宏程序配合G10指令倒角分析 湖南科技工业职业技术学院戴继东摘要: G10指令是可编程参数输入指令,在数控编程中经常会碰到倒角或加工曲面的宏程序,但一般编辑较复杂,如果我们可以根据零件结构的特点,灵活运用G10指令与用户宏指令配合使用,可以使零件的加工程序更加简化,达到事半功倍的效果。 关键词: G10指令刀具补偿宏程序简化编程 一、G10指令分析 在数控加工中输入补偿值通常有两种方式,一种是通过MDI 面板直接输入另一种是利用指令输入。G10指令是可编程参数输入指令,可用来输入系统参数.坐标系参数、刀具补偿值等,在输入刀具补偿值时的格式为: H的几何补偿值编程格式:G10 L10 P_R_ H的磨损补偿值编程格式:G10 L11 P_ R_ D的几何补偿值编程格式:G10 L12 P_ R_ D的磨损补偿值编程格式: G10 L13 P_ R_ 其中L为补偿对象P为补偿值地址R刀具补偿量,当系统运行G10的程序段时系统会按指令中指定的位置、地址输入补偿值,补偿值既可以为常量也可以为变量,用G10指令倒圆角就是利用了补偿值可以为变量的特点实现的。

二、零件分析 图一是一个100*80*28的一块矩形毛坯,在四条边上各有一个R12圆弧,现要在其上表面轮廓线上加工出一个半径为R6的圆弧倒角。为了编程方便将编程原点设在工件的对称中心和工件上表面的交点上。 图一 三、程序构思 利用G10指令倒圆角,是将刀具的半径补偿设为变量来实现的刀具的半径补偿是指刀具轴线与编程轮廓线之间的距离,在图中用#5表示,当自变量#1发生改变时,下刀深度变量#4和刀具半径补偿变量#5就会随着改变,也就是说只要当自变量#1从0度变化到90度,而不断的改变加工深度和调用新的刀具补偿值就可以完成零件的倒角。现以下图为例介绍轮廓圆角的等高外形的刀路程序编辑。 根据图二中的图形关系可以得出各变量的表达式: #1=0 角度变量 #2=6 倒圆角半径

5-4.3数控编程手工用户宏程序.倒角.球角

课题五.用户宏程序.倒角.球角.5-4.3 导入:复习提问:孔口R角相关函数坐标关系 组织教学: 1、检查学生的出勤情况,工作服和工作帽的穿戴情况。 2、各工位安全文明生产检查,各项准备工作检查和设备检查保养。 3、强调实习时的安全文明生产,确保人生安全和设备安全。 4、机床的保养与车间卫生。 5、教具准备情况 入门指导: 一. 分析图样 1. 本工件为典型孔口球角编程加工 2. 直角三角形公式控制变量数值的变化规律 3.选择: 键槽铣刀φ12 T1 4.注意进退刀位置 二.相关知识 此类零件加工的内容为孔口倒球角,在孔口X ,Z方向的值与孔口球角间建立直角三角形公式关系,即让Z X 球角之间实行关联互动. 本工件采用从上向下的加工方法. 三.工艺制定(程序) #1 30. 球半径 #2 19. 孔半径 #3 7. 倒角深度 #4 6. 刀具半径

O0001 (主程序) T1D1 G54G90M3S1000F100 G43G0Z100.H1 G0 X0 Y0 Z10. M8 #1=30. #2=19. #3=7. #4=6. #5=SQRT[#1*#1-#2*#2] #6=#5-#3 #11=0 WHILE[#6LE#5] DO1 #9=SQRT[#1*#1-#6*#6] #10=#9-#4 G1 X#10 Y0 F50 Z#11 G2 I-#10 F1000 #6=#6+0.1 #11=#11-0.1 END1 G0 X0 T0 Z100. M30 巡回指导: 1.程序注意进刀退刀的位置 2.注意将G54原点在孔口中心处,为便于编程也可将原点移至球心处。即:G52 X0 Y0 Z#5 3.注意数值加减关系。 4.分组进行加工先模拟 5.安全文明操作 结束指导: 1.面批工件 2.对加工情况进行分析 3. 预习5- 4.4并做好相关加工准备

FANUC宏程序编程25909

FANUC宏程序编程 2017-03-28 运算符 运算符由2个字母组成,用于两个值的比较,以决定它们是相等还是一个值小于或大于 另一个值。注意,不能使用不等号 运算符含义 EQ 等于(=) NE 不等于 GT 大于 GE 大于或等于 LT 小于 LE 小于或等于 示例程序下面的程序计算数值1~10的总和 O9500;#1=0;………………………………….存储和的变量初值 #2=1;………………………………….被加数变量的初值 N1 IF[#2GT 10]GOTO 2;…………….当被加数大于10时转移到N2 #1=#1+#2;…………………………….计算和 #2=#2+#1;…………………………….下一个被加数 GOTO 1;………………………………转移到N1 N2 M30;................................................程序结束 算术和逻辑运算 功能格式备注 定义#i=#j: 加法#i=#j+#k 减法#i=#j-#k 乘法#i=#j*#k 除法#i=#j/#k 正弦#i=SIN[#j]: 角度以度指定090度30分 表示为90.5度 反正弦#i=ASIN[#j]: 余弦#i=COS[#j]: 反余弦#i=ACOS[#j]: 正切#i=TAN[#j]: 反正切#i=ATAN[#j]: 平方根#i=SQRT[#j]: 绝对值#i=ABS[#j]: 舍入#i=ROUND[#j]: 上取整#i=FIX[#j]: 下取整#i=FUP[#j]: 自然数对数#i=LN[#j]: 指数函数#i=EXP[#j]:

或#i=#jOR#k: 逻辑运算一位一位地按二 进制数执行 异或#i=#jXOR#k: 与#i=#jAND#k: 从BCD转为BIN #i=BCD#j;用于与PMC的信号交换从BIN转为BCD #i=BCD#j; 角度单位: SIN、ASIN、COS、ACOS、TAN和ATAN的角度单位是度 ARCSIN#i=ASIN[#j]: ●取值范围如下:当参数(N0.6004¥0)NAT位设为0时,270~90度;当参数(N0.6004¥0)NAT位设为1时,-90~90度。 ●当#j超过-1到1的范围时,发出P/S报警N0.111。 ●常数可替代变量#j。 ARCCOS#i=ACOS[#j]; ●取值范围从180~0度。 ●当#j超过-1到1的范围时,发出P/S报警N0.111。 ●常数可替代变量#j。 ARCTAN#i=ATAN[#j]; ●指定两边的长度,并用斜杠(/)分开 ●取值范围如下:当参数(N0.6004¥0)NAT位设为0时,0~360度[例如:当 指定#i=ATAN[-1]/[-1];时,#1=225度]。当参数(N0.6004¥0)NAT位设为1时,-180~180度[例如:当指定#i=ATAN[-1]/[-1];时,#1=-135度] ●常数可替代变量#j。 自然对数#i=LN[#j]; ●注意,相对误差可能大于10-8。 ●当反对数(#j)为0或小于0时,发出报警N0.111。 ●常数可替代变量#j。 指数函数#i=EXP[#j]: ●注意,相对误差可能大于10-8 ●当运算结果超过3.65×1047(j大约是110)时,出现溢出报警N0.111 ●常数可替代变量#j。 上取整下取整: CNC处理数值运算时,若操作后产生整数绝对值大于原数的绝对值时为上取整;小于 为下取整。例如: 假设#1=1.2,#2=-1.2。当执行#3=FUP[#1]时,2.0赋给#3;当执行#3=FIX[#1]时1.0 赋给#3;当执行#3=FUP[#2]时,-2.0赋给#3;当执行#3=FIX[#2]时,-1.0赋给#3。 宏程序语句:包含算术或逻辑运算(=)的程序;包含控制语句(例如,用GOTO,DO,END)的程序;包含宏程序调用指令(例如,用G65,G66,G67或其它G代码,M 代码调用宏程序)的程序段;除宏程序以外任何程序段都为NC语句。 与NC语句的不同:

FANUC宏程序使用举例

FANUC宏程序使用举例 单轴外圆数控磨床,径向采用数控轴(X轴)控制,轴向仍用液压油缸驱动,因此无法使用两轴磨床数控系统提供的磨削循环功能。在实践中,可以使用FANUC系统提供的用户宏程序,编制单轴的磨削循环功能。根据机床的具体结构,又编制了砂轮手动修整、自动补偿及手动测量工件、自动补偿的控制功能。在青海重型机床厂生产的CA8311B轴颈车磨床上,经过一年多的生产使用,证明是实用的。下面分别介绍软件的内容。 1 功能介绍 1.1 外圆磨削循环 由于只有径向控制轴(X轴),无法实现连续进给磨削,只能实现两端进给的轴向磨削循环。因此在左右两端各设1个轴向行程识别开关(如图1所示)。 当砂轮移到工件的左端时,左端行程开关闭合,发出到位信号,程序中用接口输入变量#1005=1表示。控制系统接到该信号后,发出X轴进给移动指令,砂轮前进一个A值;同理,当系统接到右端行程开关发出的到位信号,程序中用接口输入变量#1006=1表示,砂轮前进一个B值。依次循环,直到到达指令的位置。 实现给定磨削量的磨削加工,可以按A、B两值相加为一个循环,将被磨除量均分。砂轮快速移至R点,经n次(A+B)磨削之后,其剩余量为h ?。若砂轮在工件左端,且h?<A时,按h?进给,否则按A值进给。若在工件右端,且h?<B值时,按h?进给,否则按B值进给。软件必须保证只在工件两端进给,中间不得进给。当磨除量变为零时,必须磨到另一端才能退砂轮。整个磨削过程分粗磨、精磨和光磨。在实际使用中,在R点设置一个暂停,操作者可以插入手动磨削,以利于修活使用,也可以再转为自动磨削。磨削初值用现在位置变量#5041取值。

几种倒圆角的方法

1.由于构造曲面的截面线不适当而造成的倒圆角失败 在构造曲面时我们一般是通过先在一个视窗内绘制出一条平面曲线,然后通过Extrude拉伸而形成曲面。在构造这条曲线时,有时并不是一条线一次绘制完成的,而是绘制多次,因而由若干条曲线来组成的。如图1所示图形,它就是由三段曲线组成的。此时,在利用该曲线构造曲面时又分为以下几种情况: [ 本帖最后由 yaya 于 2008-3-3 19:38 编辑 ] 2.gif (9 KB, 下载次数: 90) 2008-3-3 19:36:30 上传 下载次数: 90 本主题由 carrot 于 2012-2-15 12:51:40 添加图章精华 分享到: QQ空间腾讯微博腾讯朋友 分享0 收藏4 评分 我爱牛牛

温馨提示:大洋获取方法、附件下载成php 的解决方案!点击查看 回复 举报 yaya yaya 当前离 线 最后登录 2012-3-4 大洋 140 块 注册时间 2008-2-23 积分 421 精华 2 帖子 127 设计助理 2# 发表于 2008-3-3 19:38:25 |只看该作者 1)直接将所有曲线同时选中进行拉伸形成曲面, 这时形成的曲面是多段的,为了演示倒圆角,可在其上部加一盖子,然后用FilletSrf 对它们进行倒圆角,这时会发现,周围的面不能同时都选中,只能选中其中一段,这时倒出的圆角只是其中一段曲面与顶面的倒圆角,如图2所示,如果再继续对周边其它面进行倒圆角,会发现倒角接头处无法光滑连接。 3.gif (13 KB, 下载次数: 63) 2008-3-3 19:38:25 上传 下载次数: 63 我爱牛牛

FANUC宏程序编程方法教你如何进行刀具补偿

宏程序作为数控编程的一种方法,具有编程简单、修改方便及程序量小等优点。宏程序分为A类和B类,在一些较老的FANUC系统中采用A类宏程序,现在较先进的系统中则采用B类宏程序。B类宏程序是使用变量进行编程的,变量分为局部变量(#1~#33)、公共变量(#100~#149、#500~#549)和系统变量(#1000~)。对于局部变量和公共变量的使用,经过短期的学习很容易掌握,而系统变量一般不会轻易地使用和更改,但是如果能够掌握好,使用系统变量可以实现一些特殊的功能。 在加工时,当刀具发生磨损需要改变磨损值时,为了及时提醒操作者进行换刀以及防止操作者更改错误,可以通过在程序中的设定,使刀具半径补偿的磨损量控制在一定的范围,超出这个范围时程序就会产生报警而无法执行程序。 用系统变量可以读写刀具补偿值,通过对系统变量赋值,可以设定刀具补偿值范围。在FANUC0i系统中,刀具补偿分为几何补偿和磨损补偿,刀具补偿号可达400个。当补偿号小于等于200时,刀具长度补偿也可以使用#2001~#2400,补偿号与刀具长度补偿值(H)和刀具半径补偿值(D )的对应关系如附表所示。 下面以刀具半径磨损补偿系统变量为例进行说明。当加工某个零件的轮廓时,如果想要将刀具补偿的磨损值控制在-0.2~0mm的范围内,通过编程设定可以对该刀具的磨损值进行判断,如果磨损值在-0.2~0mm范围内继续执行程序,超出范围则机床报警,显示报警信息。假设使用1号刀具T1,刀具半径补偿号为1,它所对应的刀具半径磨损补偿系统变量号为 #12001。具体程序如下:

N10 T1 M6 N20 G90 G54 G00 G40 Z100. N30 S2000 M03 N40 G43 H5 Z30. M08 N50 G00 X__ Y__ (刀具到达下刀位置) N60 G00 Z-5.0 N70 #1=#12001 (将补偿号1的磨损补偿值赋值给#1) N80 IF[#1 LE -0.2] GOTO 110 (判断#12001的值,如果≤-0.2,转到程序段110) N90 IF[#1 GE 0.0] GOTO 110 (判断#12001的值,如果≥0,转到程序段110) N100 GOTO 120 N110 #3000=80 (range error) (显示报警号为3080,内容为range error的报警信息) N120 G01 G41 X__ Y__ D1 F200 … N200 G01G40 X__ Y__ (N120~N200 轮廓轨迹程序略) N210 Z100. N220 M05 N230 M30 当刀具较多时的编程方法(以两把刀具为例):

用宏程序加工凹槽的45°倒角、凸缘的R4倒圆角

用的立铣刀加工凹槽的45°倒角、凸缘的R4倒圆角。凹槽的加工程序及凸缘外轮廓的加工程序均略。 %3018 程序名 N10 M6 T1 换上1号刀,立铣刀 N20 G54 G90 G0 G43 H1 Z200 刀具快速移动Z200处 N30 M3 S2000 主轴正转,转速2000r/min N40 X-20 Y29 刀具快速定位(#1=0时,#5=1。30-#5=29) N50 Z2 M8 Z轴下降,切削液开 N60 G1 Z0 F50 刀具下降到工件表面 N70 #1=0 定义变量(深度) N80 #3=6 定义变量(刀具半径) N90 #6=5 定义变量(倒角尺寸) N100 #7=44.427 定义变量(图中角度之一) N110 #8=16.2602 定义变量(图中角度之二) N120 WHILE[#1LE#6]DO1 循环语句。当#1≤#6在N120~N280之间循环 N130 #4=#1 计算变量 N140 #5=#3+#1-#6 计算变量 N150 G1 X-20 Y[30-#5] F500 宏程序加工定位点 N160 Z-#4 F50 向下加工 N170 G3 X-[20+[30-#5]*COS[#7]] Y-[30-#5]*SIN[#7] R[30-#5] F500 加工R30圆弧部分倒角 N180 G1 X-[20+[16-#5]*COS[#7]] Y-[20+[16-#5]*SIN[#7]] 加工R30与R16之间直线段的倒角 N190 G3 X-[20-[16-#5]*SIN[#8]] Y-[20+[16-#5]*COS[#8]]R[16-#5] 加工R16圆弧部分倒角 N200 G1 X[35+[15-#5]*SIN[#8]] Y-[5+[15-#5]*COS[#8]] 加工R16与R15之间直线段的倒角 N210 G3 X[50-#5] Y-5 R[15-#5] 加工R15圆弧部分倒角 N220 G1 X10 加工R15与R20之间直线段的倒角 N230 G3 X30 Y[30-#5] R[20-#5] 加工R20圆弧部分倒角 N240 X[30-[10-#5]] Y20 加工R10圆弧部分倒角 N250 G2 X-#5 R-[10+#5] 加工R10半圆部分倒角,此处为凸圆弧 N260 G3 X-20 Y[30-#5] R[30-#5] 加工R10圆弧部分倒角 N270 #1=#1+0.2 更新深度(加工精度越高,增量应越小) N280 END1 循环语句结束 N290 G0 Z5 快速上升到Z5处,准备刀具移动加工圆角 N300 X-67 Y35.784 快速定位 N310 G1 Z0 F50 进给下降到Z0 N320 #9=0 定义变量(角度) N330 #10=4 定义变量(圆角半径) N340 WHILE[#9LE90]DO2 循环语句。当#9≤90°在N330~N460之间循环 N350 #11=#10*[1-COS[#9]] 计算变量

应用宏程序在数控铣床加工倒角、圆角-常州铁道高等职业技术学校

宏程序在轮廓倒圆角编程中的应用 (常州铁道高等职业技术学校江苏,常州213011) 赵太平 摘要:本文通过在立式加工中心上倒圆角加工的原理和过程的分析,确定了倒圆角编程要解决的关键问题,并结合实例分析了应用宏程序编制倒圆角编程的方法。 关键词:倒圆角;编程;宏程序 圆角是零件轮廓常见的结构部分之一,在立式加工中心上采用立铳刀来加工零件轮廓圆角的用一般手工编程方法编制加工程序往往比较复杂,应用宏程序可以简化编程。 、倒圆角加工的原理与过程 如图1所示,对于圆角园弧AB的成形是通过折线拟合完成的。将园弧AB按一定规 律进行等份,立铳刀切削刀尖在高度方向按要求下到每个等份点位置, 加工一周,圆角就 可加工完成。刀具的切削加工轨迹如图2的俯视图所示,这样根据加工精 度要求的需要,将园弧AB的等份数不断增加,折线就无限逼近园弧,达到加工要求。 二、倒圆角编程要解决的关键问题分析 在进行零件加工程序编制时,一般按零件实际轮廓编程,实际加工时,机床控制刀具 走的是刀具中心轨迹,编程轨迹与刀具中心轨迹必然存在位置偏差,现代数控系统一般都具 有刀具补偿功能,加工时操作者在数控机床面板上将刀具半径输入到补偿寄存器中, 统根据输入的刀具参数,自动使刀具轨迹相对于编程轨迹(零件轮廓轨迹)偏移一个刀具半径,使刀具沿其中心轨迹运动,正确加工出工件轮廓。 采用这种方法来编制倒圆角的加工程序,立铳刀切削刀尖在高度方向每下降一个深 然后按工件轮廓切削 数控系 图2

度,将要按如图2俯视图所示的一条刀具切削轨迹的实际尺寸编制一段程序, 证圆角部分的加工精度,圆角园弧将被划分成很多等份,程序将会很烦琐,另一方面如果工件侧面轮廓复杂的话,每条刀具切削轨迹节点坐标计算量将很大,使编程工作量大大增加, 甚至手工编程无法完成。 如图3所示每条刀具切削轨迹好象是把工件侧面轮廓不断等距偏移形成的。每条刀具 刀具中心轨迹。 -工件侧面轮廓 如果按照工件侧面轮廓的尺寸编程,并在半径补偿寄存器中输入实际的铳刀半径值 加工出就是工件侧面轮廓,若按照同样的工件侧面轮廓的尺寸编程,但在半径补偿寄存器中 输入值为(「一△),刀具实际半径不变,实际加工时,刀具中心轨迹会向内偏移△, 实际轮廓就是把工件侧面轮廓小可以看出,按照同样的工件侧面轮廓的尺寸编程,通过 改变补偿寄存器中的半径补偿值,就可以得到不同的刀具切削轨迹。 以按照工件侧面轮廓的尺寸编程,立铳刀切削刀尖在不同高度位置时的提供不同的半径补偿 值就可完成加工,程序大大简化。关键是求出立铳刀在不同高度位置时的半径补偿量(r-△) k A 11 LJ 乂7 \R (a)凸圆角 一方面为了保 中心轨迹与对应的刀具切削轨迹存在一定距离的偏差, 在实际加工时,机床控制刀具走的是 铣刀 刀具切削轨迹 r, 加工出的对于具备刀具半径补偿量可变量赋值的数控系统(如FANUC-Oi系统),倒圆角加工可 值,即求出刀具中心线与工件侧面轮廓之间的距离L ( L1 ),如图4所示。 (b)凹圆角

FANUC系统宏程序编程

本系统宏程序体系采用FANUC系统宏程序B方式实现 一变量 普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。 #1=#2+100 G01 X#1 F300 说明: 变量的表示 计算机允许使用变量名,用户宏程序不行。变量用变量符号(#)和后面的变量号指定。例如:#1 表达式可以用于指定变量号。此时,表达式必须封闭在括号中。 例如:#[#1+#2-12] 变量的类型 变量根据变量号可以分成四种类型 变量号变量类型功能 #0-#49 局部变量局部变量只能用在宏程序中存储数据,例如,运算结果.当断电 时,局部变量被初始化为0.调用宏程序时,自变量对局部变量赋 值, #50-#499 公共变量公共变量在不同的宏程序中的意义相同.当断电时, 公共变量 初始化为0. 目前版本中,某些公众变量被赋予特殊意义(系统变量),用于描 述CNC运行时各种数据的变化,这些变量包括: #449用于指明固定循环退刀模式(G98,G99), 如在G99方式 下,#449变量为1;如在G98方式下,#449变量为-1. #450用于指明当前程序段处于绝对坐标编程模式(G90)还是 相对坐标编程模式(G91).如在G90方式下,#450变量为1;如在 G91方式下,#450变量为-1. #451,#452,#453,#454用于存储刀具当前位置(X,Y,Z,A轴) 在后期的版本中,将会安排专门的空间作为系统变量区. 变量值的范围 局部变量和公共变量在系统内采用浮点数方式存储

小数点的省略 当在程序中定义变量值时,小数点可以省略。 例:当定义#1=123;变量#1的实际值是123.000。 变量的引用 为在程序中使用变量值,指定后跟变量号的地址。 例如:G01X#1+#2F#3或者G01X[#1+#2]F#3 限制 程序号,顺序号和任选程序段跳转号不能使用变量。 例:下面情况不能使用变量: 0#1; /#2G00X100.0; N#3Y200.0; 二算术运算和逻辑运算 置换 #I=#j 算术运算 加:#I=#j+#k,减:#I=#j-#k,乘:#I=#j*#k,除:#I=#j/#k。 逻辑运算 下一版本将增加以下函数调用: 与:#I=#J AND #k或:#I=#J OR #k, 异:#I=#J XOR #k, 函数 正弦:#I=SIN[#j],余弦:#I=COS[#j] 正切:#I=TAN[#j] (目前版本角度单位为弧度,后续版本将改为度) 下一版本将增加以下函数调用: 反正切:#I=ATAN[#j] 平方根:#I=SQRT[#j],绝对值:#I=ABS[#j] 下取整:#I=FIX[#j],上取整:#I=FUP[#j] 四舍五入:#I=ROUND[#j] 转移与循环 在宏程序中,使用GOTO语句和IF语句可以改变程序的执行方向,转移和循环指令有3种。 无条件的转移 格式:GOTO n;n为程序的顺序号(1—9999)

倒角与圆角宏程序

G40 G80 G15 G17 G69; G0 G90 G54 X0 Y0; G43 H24 Z150 M3S3000; Z50 M08; #1=5.25;(小孔半径) #2=0.72;(加工深度) #3=60;(锥面与垂直面夹角)#4=3;(球刀半径) #6=0;(Z方向初始值) #16=0.02;(Z方向进刀量)#11=#1+#2*TAN[#3]; #7=#4*[1-COS[#3]]; #8=#4*SIN[#3]; WHILE [#6 LE #2] DO1; #12=#11+#7-#4-#6*TAN[#3]; #13=#8-#4-#6: G1 G90 Z#13F300; G1 G90 X-#12F800; G02 I #12; #6=#6+#16; END 1; G0 G90 G40 G80Z150M09; M05; M01;

G40 G80 G15 G17 G69; G0 G90 G54 X0 Y0; G43 H24 Z150 M3S3000; Z50 M08; #1=0;(初始角); #10=3(球刀半径); #11=0.5(加工R大小); #12=#10+#11; WHILE [#1 LE 60] DO1; #2=#12*SIN[#1]; #3=#12*COS[#1]; #4=-4.02+#2;(-4.02为初始状态刀尖位置)#5=5.75-#3;(5.77为孔中心到R中心距离)G1 G90 Z #4F300; G1 G90 X -#5F800; G02 I #5; #1=#1+2; END 1; G0 G90 G40 G80Z150M09; M05; M01;

FANUC宏程序编程

运算符由2个字母组成,用于两个值的比较,以决定它们就是相等还就是一个值小于或大于另 示例程序下面的程序计算数值1~10的总与 O9500;#1=0;…………………………………、存储与的变量初值 #2=1;…………………………………、被加数变量的初值 N1 IF[#2GT 10]GOTO 2;……………、当被加数大于10时转移到N2 #1=#1+#2;……………………………、计算与 #2=#2+#1;……………………………、下一个被加数 GOTO 1;………………………………转移到N1 N2 M30;、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、程序结束 算术与逻辑运算

SIN、ASIN、COS、ACOS、TAN与ATAN的角度单位就是度 ARCSIN #i=ASIN[#j]: ●取值范围如下:当参数(N0、6004¥0)NAT位设为0时,270~90度;当参数(N0、6004¥0)NAT 位设为1时,-90~90度。 ●当#j超过-1到1的范围时,发出P/S报警N0、111。 ●常数可替代变量#j。 ARCCOS #i=ACOS[#j]; ●取值范围从180~0度。 ●当#j超过-1到1的范围时,发出P/S报警N0、111。 ●常数可替代变量#j。 ARCTAN #i=ATAN[#j]; ●指定两边的长度,并用斜杠(/)分开 ●取值范围如下:当参数(N0、6004¥0)NA T位设为0时,0~360度[例如:当指定 #i=A TAN[-1]/[-1];时,#1=225度]。当参数(N0、6004¥0)NA T位设为1时,-180~180度[例如:当指定#i=ATAN[-1]/[-1];时,#1=-135度] ●常数可替代变量#j。 自然对数#i=LN[#j]; ●注意,相对误差可能大于10-8。 ●当反对数(#j)为0或小于0时,发出报警N0、111。 ●常数可替代变量#j。 指数函数#i=EXP[#j]: ●注意,相对误差可能大于10-8 ●当运算结果超过3、65×1047 (j大约就是110)时,出现溢出报警N0、111 ●常数可替代变量#j。 上取整下取整: CNC处理数值运算时,若操作后产生整数绝对值大于原数的绝对值时为上取整;小于为下取整。例如: 假设#1=1、2,#2=-1、2。当执行#3=FUP[#1]时,2、0赋给#3;当执行#3=FIX[#1]时1、0赋给#3;当执行#3=FUP[#2]时,-2、0赋给#3;当执行#3=FIX[#2]时,-1、0赋给#3。 宏程序语句:包含算术或逻辑运算(=)的程序;包含控制语句(例如,用GOTO,DO,END)的程序;包含宏程序调用指令(例如,用G65,G66,G67或其它G代码,M代码调用宏程序)的程序段;除宏程序以外任何程序段都为NC语句。 与NC语句的不同: 即使置于单段程序运行方式,机床也不停止。但就是,当参数N0、6000#5SBM设定位、为1时,在单段程序方式中,机床停止。在刀具半径补偿方式中宏程序语句段不做为移动程序段处理 与宏程序语句相同性质的NC语句: 含有子程序调用指令(例如,用M98或其它M代码或用T代码调用子程序)但没有除O,N,P或L地址之外的其它地址指令的NC语句,其性质与宏程序语句相同;不包含除O,N,P或L以外的指令地址的程序段其性质与宏程序语句相同。 无限循环; 当指定DO而没有指定WHILE语句时,产生从DO到END的无限循环。 宏程序调用与子程序调用之间的差别:

Fanuc系统宏程序教程

15.用户宏程序 用户宏程序允许使用变量、算术和逻辑运算及条件转移,使得编制相同加工操作的程序更方便,更容易。可将相同加工操作编为通用程序,使用时,加工程序可用一条简单指令调出宏程序,和调用子程序完全一样。 15.1变量 变量值可用程序或MDI面板上的操作改变。 #1=#2+100; G01 X#1 F300; 说明: 变量的表示变量用符号(#)和后面的变量号指定,例如:#1 表达式可以用于指定变量号,例如:#[#1+#2-12] ~-10或~10如果计算结果超出则发出P/S报警No.111 小数点的省略#1=123 相当于#1=123.000 变量的引用G01 X[#1+#2] F#3 G00 X-#1 当引用未定义的变量时,变量及地址号都被忽略,如 #1=0,#2为空时,G00 X#1 Y#2; == G00 X0; 限制程序号、顺序号和任选程序段跳转号不能使用变量。如下面情况不能使用变量:O#1; 1#2 G00 X100.0; N#3 Y200.0 15.2系统变量(略) 15.3算术和逻辑运算

表算术和逻辑运算 说明: 角度单位函数SIN,COS,ASIN,ACOS,TAN,ATAN的角度单位是度。 ARCSIN #i=ASIN[#j] 取值范围如下: 当参数(No.6004#0)NAT位设为0时,270°~90° 当参数(No.6004#0)NA T位设为0时,-90°~90° 当#j超出-1到1的范围时,发出P/S报警No.111 常数可替代变量#j ARCCOS #i=ACOS[#j] 取值范围从180°~0° 当#j超出-1到1的范围时,发出P/S报警No.111 常数可替代变量#j 运算次序 1.函数 2.乘除运算 3.加碱运算 括号嵌套括号可以使用5级,包括函数内部使用的括号。 当超过5级时,P/S报警No.118

相关主题
文本预览
相关文档 最新文档