FANUC0i系统_宏程序
FANUC 0I数控车床的宏程序编制
FANUC 0I数控车床的宏程序编制摘要:用户宏程序是提高数控车床性能的一种特殊功能,它是使用变量来代替程序中的功能代码或地址值面编制的加工程序。
这些变量可同因数一样进行逻辑运算,因而可以使复杂的程序大大简化。
关键词:宏程序、宏指令、非圆二次曲线、变量Macro Programming of CNC Lathe with FANUC oi SystemAbetract: User macro programs are special functions to improve the performance of CNC lathe which replaces the functional codes or addresses with variables. These variables can do logical operations like the factors so that they can simplify the complex programs effectively. Keywords:macro program,macroinstruction,non-circular quadratic curves,variable0、引言随着我国机械行业的飞速发展,数控加工技术在机械制造业中得到了越来越广泛的运用,很多企业都引进了数控机床设备。
用户在使用数控机床设备加工工件时,只需按照各种数控编程指令的格式编程即可。
通用的数控系统在处理插补和伺服时都是采用边插补边控制伺服的方式。
由于非圆曲线形状较为复杂,在插补时需要处理的数据量大,同时响应速度的要求较高,因此,一般的数控系统只有直线插补和圆弧插补两种插补功能,并不具备其它曲线的插补功能。
在传统的CNC编程时有时这些指令满足不了用户的要求,入加工椭圆、抛物线、双曲线等,这时就可使用用户宏程序功能,用户可以根据需要自己扩展数控系统的功能。
FANUC宏程序讲解-优质课件
条件表达式
EQ和NE中的<空>不同于0
当#1=<空>时
#1 EQ #0 ↓
成立
#1 NE 0 ↓
成立
#1 GE #0 ↓
成立
#1 GT 0 ↓
不成立
Hale Waihona Puke 当#1=0时#1 EQ #0 ↓
不成立
#1 NE 0 ↓
不成立
#1 GE #0 ↓
成立
#1 GT 0 ↓
不成立
条件表达式
二、运算指令
• 运算命令的种类 • 运算顺序
屏幕显示:3001 WRONG DATA INPUT
3.时间信息
变量号 单位
功能
赋值
#3001 毫秒 计时器。电源接通时复位为0。
可以
#3002
小时
计时器。循环启动灯亮时开始计时。 即使在断电时也保存该值
可以
#3011 #3012
年月日 读取当前的日期。 1999年12月31日 19991231 读取当前的时间。
3.循环(WHILE 语句 )
• DO 循环可以 嵌套3级
• 可以从DO区域的 内部向外部转移
WHILE[…] DO 1;
●
WHILE[…] DO 2;
●
WHILE[…] DO 3; 程序
END3;
●
END2;
●
END1;
WHILE[…] DO 1; 程序 IF[…] GOTO n; END1; 程序 Nn …;
.
宏程序讲解
交流内容
用户宏程序 程序保护与快捷程序编辑 图形对话编程 — Manual Guide i
用户宏程序相关
一、变量 二、运算指令 三、控制指令 四、系统变量 五、宏程序调用 六:典型应用举例
基于FANUC-0i系统下螺旋槽宏程序的
参考文献: [1] 陈海舟. 数控铣削加工宏程序及应用实例[M]. 北京:机械工
业出版社,2007.
FANUC- 0i System based on Macro Program of Spiral Groove
ZHANG Bin (Jiangsu zhangjiagang vocational education center,Zhangjiagang Jiangsu 215600,China)
52
《装备制造技术》2012 年第 12 期
表 1 实例参考程序
O1000; N10 G17 G94 G54 G90 G40 G49; N20 M06 T1; N30 G00 X0 Y0; N40 G00 G43 H1 Z100; N50 M03 S2000; N60 G00 X0 Y60; N70 G00 Z2 M08; N80 G01 Z- 5 F50; N90 G01 Y37.75 F200; N100 #1=450; N110 WHILE [#1GE0] DO1; N120 #2=0.035*#1+22; N130 #3=#2*COS[#1]; N140 #4=#2*SIN[#1]; N150 G01 X#3 Y#4 F200; N160 #1=#1- 3; N170 END1; N180 G00 Z100; N190 G00 X0 Y0; N200 M30;
中图分类号:1672- 545X(2012)12- 0052- 02
37.75 #4 37.75
在数控编程中,常见的编程方法有手动编程和自 动编程。手动编程在院校教学中应用的较多,因为手 动编程是编程的基础,需熟练掌握才能为今后的自动 编程打下基础,而自动编程则在企业生产中应用较 广,主要是为了提高加工精度和生产效率,以便获得 更多的经济利润。手动编程不仅可以实现简单的轮廓 编程,如直线、圆构成的轮廓,还可以实现二次函数曲 线轮廓编程,如:椭圆、抛物线、双曲线构成的轮廓。上 述轮廓编程比较常见,那对于螺旋槽这样的宏程序又 是怎样编程的呢?现通过实例来介绍 FANUC 数控系 统螺旋槽宏程序的编制。零件图尺寸及实体模型,如 图 1 所示,函数方程为 R = 0.035×a + 22。
FANUC 0i-MC系统加工中心A或铣床宏程序
FANUC-0i-MC 系统宏程序虽然子程序对编制相同的加工程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制同样的加工程序更简便。
(一)变量 1.变量的表示变量用变量符号(#)和后面的变量号指定,如:#1;表达式可以用于指定变量号,此时表达式必须封闭在括号中,如:#[#1+#2-12]。
变量号可用变量代替,如#[#3],设#3=1,则#[#3]为#1。
2.变量的类型变量根据变量号可以分成四种类型,具体见表1-1。
表1-1 变量的类型在地址后指定变量号即可引用其变量值。
当用表达式指定变量时,要把表达式放在括号中。
如:G01 X[#1+#2] F#3;改变引用变量值的符号,要把负号“-”放在#的前面,如:G00 X -#1;当引用未定义的变量时,变量及地址字都被忽略,如:当变量#1的值是0,并且变量#2的值是空时,G00 X#1 Y#2的执行结果为G00 X0。
在编程时,变量的定义、变量的运算只允许每行写一个(见表1-2),否则系统报警。
表1-2 变量的正确和错误编程方法对比变量的算术和逻辑运算见表1-3。
表1-3 算术和逻辑运算1.上取整和下取整CNC 处理数值运算时,若操作后产生的整数绝对值大于原数的绝对值时为上取整;若小于原数的绝对值为下取整。
对于负数的处理应注意。
如:#1=1.2,#2=-1.2,则#3=FUP[#1]→#3=2;#3=FIX[#1]→#3=1;#3=FUP[#2]→#3=-2;#3=FIX[#2]→#3=-1。
2.运算次序函数→乘和除运算(*、/、AND )→加和减运算(+、-、OR 、XOR )。
3.括号嵌套括号(方括号)用于改变运算次序。
括号可以使用5级,包括函数内部使用的括号。
圆括号用于注释语句。
如:#1=SIN[[[#2+#3]*#4+#5]*#6] (3重括号) 4.运算符运算符见表1-4。
表1-4 运算符5.(1)# i=ASIN[# j]当参数No.6004#0设为“0”时,90°~270°;当参数No.6004#0设为“1”时,-90°~90°。
FANUC系统宏程序编程
本系统宏程序体系采用FANUC系统宏程序B方式实现一变量普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。
使用用户宏程序时,数值可以直接指定或用变量指定。
当用变量时,变量值可用程序或用MDI面板上的操作改变。
#1=#2+100G01 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。
数控FANUC系统宏程序及教程
宏程序设计宏程序与子程序类似,对编制相同加工的操作可以使程序简化.同时宏程序中可以使用变量,算术和逻辑运算及转移指令,还可以方便地实现循环程序设计。
使相同加工操作的程序更方便,更灵活。
本章以FANUC系统为例介绍宏程序设计的内容。
12.1 变量的定义宏程序中使用的变量与日常生活中使用的变量不同,变量用符号“#”后跟变量的变量号指定。
变量可分为四种类型。
1. 空变量#0为空变量,该变量不能赋值。
2. 局部变量#1~#33为局部变量,局部变量只能在宏程序中存储数据。
当断电时局部变量被初始化为空,调用宏程序时,自变量对局部变量赋值。
局部变量的数值范围10-29~1047或-1047~-10-29,如果计算结果超过该范围则发出P/S报警No.111。
3. 公共变量#100~#199、#500~#999为公共变量,公共变量在不同的宏程序中意义相同。
当断电时,变量#100~#199被初始化为空,变量#500~#999的数据不会丢失。
全局变量的数值范围10-29~1047或-1047~-10-29,如果计算结果超过该范围则发出P/S报警No.111。
4. 系统变量#1000~为系统变量,系统变量用于读和写CNC运行时的各种数据,如刀具的当前位置和补偿值等。
5. 变量与地址(自变量)的对应关系系统可用两种形式的自变量指定,表12-1为自变量指定I的自变量与变量的对应关系。
表12-2为自变量指宾II的自变量与变量的对应关系。
表12-1 自变量指定I的变量对应关系地址(自变量)变量号地址(自变量)变量号地址(自变量)变量号A #1 I #4 T #20B #2 J #5 U #21C #3 K #6 V #22D #7 M #13 W #23E #8 Q #17 X #24F #9 R #18 Y #25H #11 S #19 Z #26在自变量指定I中,G、L、O、N、P不能用,地址I、J、K必须按顺序使用,其它地址顺序无要求。
基于FANUC 0i数控系统宏程序应用研究
2、宏 程 序 与 普 通 程 序 的 对 比
通常所讲 的数控指 令是 指I0代码指令 编程 , s 即每个代码 的功 部 的各 种 指 令 代码 , 如 圆 弧插 补 或螺 旋 插补 指 令 等 。 执 行 宏程 序 例 在
能 是 定 的 , 系 统 生 产 厂 家 开 发 , 用 者 只 需 ( 能 ) 照规 定 编 时 , 系统 可 以直 接 识别 这些 指 令进 行插 补运 算 , 由 使 只 按 数控 且运 算速 度极 快 , 程 即 可 。 有 时 候 这 些 指 令 满 足 不 了用 户 的 需 要 , 统 因 此提 供 了 再 加 上伺 服 电动 机 和 机 床 的迅 速 响 应 , 得 加 工 效率 极 高 。 但 系 使 用户 宏程 序 功 能 , 用 户 可 以 对 数 控 系 统 进 行 … 定 的 功 能 扩 展 , 使 实 际上 是 数 控 系 统 对 用 户 的 开放 , 可 视为 用 户 利 用 数 控 系 统 提 供 的 也 而 对 于 CAD C / AM软 件 生 成 的 程 序 , 况 则要 复 杂 的 多 。 情 首先, CAD/CAM软 件 生 成 的 了路 轨迹 生 成 不 够优 化 合 理 。 J 工上 , 数控 系 统 的 平 台 上 进 行 二 次开 发 , 然 这 的开 放 和 开 发 c I C M软件 中, 在 当 ) A A / 生成刀路轨迹的实质就是在允许的误差值范同内滑 都是有条件 和有限制 的。 每条路径用直线去逼近曲面的过程。 这样任意曲面 自然都能对付 , 日 而 ・ 的 区 别 , 识 和 』解 这 些 区 也 是完 全合理 的做 法 , 是枉 加工 规则 曲面 (『 定 认 , 但 女 1球面 ) , 艺 就 …现 l 时 工 卜 别, 将 ‘ r宏 序 的学 >押 解 和 掌 握运 用 , 1 1 E, 宏程 序 和 r ‘ 题 , 助 J 表 .为 jL }r I 些 由丁 C D C M ̄件 构造 曲 面的底层 数学 模 型所 限 , H A /A  ̄ 也 I 黹通程序 的简要对 比。
FANUC系统宏程式详解
宏程序的简单调用格式:格式:G65 P程序序号 L重复次数变量分配控制命令1.If [条件表达式] GOTO n2.While [条件表达式] DO mEnd m运算符号相等:EQ 不等于: NE 大于:GT 小于:LT 大于等于:GE 小于等于:LEFANUC系统宏程式FANUC系统宏程序编程一变量普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。
使用用户宏程序时,数值可以直接指定或用变量指定。
当用变量时,变量值可用程序或用MDI面板上的操作改变。
#1=#2+100G01 X#1 F300说明:变量的表示计算机允许使用变量名,用户宏程序不行。
变量用变量符号(#)和后面的变量号指定。
例如:#1表达式可以用于指定变量号。
此时,表达式必须封闭在括号中。
例如:#[#1+#2-12]变量的类型变量根据变量号可以分成四种类型变量号变量类型功能#0 空变量该变量总是空,没有值能赋给该变量.#1-#33 局部变量局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空.调用宏程序时,自变量对局部变量赋值,#100-#199 #500-#999 公共变量公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失.#1000 系统变量系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置和补偿值.变量值的范围局部变量和公共变量可以有0值或下面范围中的值:-1047到-10-29或-10-2到-1047如果计算结果超出有效范围,则发出P/S报警NO.111.小数点的省略当在程序中定义变量值时,小数点可以省略。
例:当定义#1=123;变量#1的实际值是123.000。
变量的引用为在程序中使用变量值,指定后跟变量号的地址。
当用表达式指定变量时,要把表达式放在括号中。
例如:G01X[#1+#2]F#3;被引用变量的值根据地址的最小设定单位自动地舍入。
FANUC 0i系统 B类宏程序
FANUC 0i系统B类宏程序本文来自:宏程序图数控程序中含有变量的程序称为宏程序。
宏程序可以让用户利用数控系统提供的变量、数学运算、逻辑判断和程序循环等功能,来实现一些特殊的用法,从而使得编制同样的加工程序更加简便。
1.变量普通加工程序直接用数值指定G代码和移动距离,例如,GO1和X100. 0。
使用用户宏程序时,数值可以直接指定或用变量指定。
当用变量时,变量值可用程序或用M D I面板上的操作改变。
如:#1=#2+100或G01 X#1 F300。
(1)变量的表示及类型一般编程方法允许对变量命名,但用户宏程序不行。
变量用变量符号“#”和后面的变量号指定。
例如:#1、#100 等。
表达式可以用于指定变量号。
此时,表达式必须封闭在括号中。
例如:#[#1+#2-12]。
变量根据变量号可以分成四种类型,如表1所示。
(2)变量的运算变量常用算术、逻辑运算和运算符(如表2和表3所示)。
运算符右边的表达式可包含常量,或由函数或运算符组成的变量。
表达式中的变量“#j”和“#k”可以用常数赋值。
左边的变量也可以用表达式赋值。
其中有些需要注意的问题:1)角度单位。
函数正弦、余弦、正切、反正弦、反余弦和反正切的角度单位是度(°)。
例如:90°30′表示为90.5°。
2)运算符的优先级。
按照优先级的先后顺序依次是:函数→乘和除运算(* 、/、AND、MOD)→加和减运算(+、-、OR、XOR)。
3)括号嵌套。
括号用于改变运算优先级。
括号最多可以嵌套使用5级,包括函数内部使用的括号。
2.功能语句(1)无条件转移(GOTO)语句转移到有顺序号n 的程序段。
格式为:GOTOn,其中n 表示程序段号。
例:GOTO1,表示转移到第一程序段。
本文来自:再如:GOTO#10,表示转移到变量#10决定的程序段。
(2)条件转移(IF)语句在IF后指定一条件,当条件满足时,转移到顺序号为n 的程序段,不满足则执行下一程序段。
FANUC0i系统CNC铣机的递推平行铣制程编写与宏程序的方法分析说明书
Reciprocating Parallel Milling Macro ProgrammingMingyao WangCollege of Mechanical Engineering, Dalian Vocational Technical College, Dalian ,116037,China****************Key words: CNC milling machine; reciprocating parallel milling; macro programAbstract. The reciprocating parallel milling processing program is written by using the plunge count and plunge height in the Z direction on CKA6136 CNC milling machine of FANUC0i system and the method and idea of writing the milling open parts surface program by macro programming are analyzed.In the parts processing with CNC milling machine, the parts are often required to have open surfaces. If there are a small batch and a large variety of parts, the conventional manual programming will cause heavy workload and mistakes easily, so MasterCAM, UG and other software can be used for automatic programming. However, a simple plane may produce hundreds or thousands of programs. Considering this and according to their similarities that require milling open surfaces, the assignments of several variables can be changed for the processing of milling open surfaces of parts with a program if the macro programming is adopted, even if the size of parts to be processed is different, without writing any special program.Figure IThe basic idea of programming is to first determine the milling route of a single layer and then determine the changes in height. According to figure I, the surface of parts to be processed is ABCD, the milling cutter moves from AB side to CD side parallel according to the route of a →b→c→d and a reciprocating parallel milling of a single layer can be completed by using the plunge count and plunge height in the Z direction after single-layer milling to reach the processing depth or height.2016 International Conference on Engineering and Advanced Technology (ICEAT-16)1. Write reciprocating parallel milling processing program by using the plunge count in the Z directionIt writes the reciprocating parallel milling processing program by using the plunge count in the Z direction. The origin of coordinates is the center of parts, the flat-bottomed end mill is adopted and the cutter diameter is Φ16.Writing of reciprocating parallel milling program parallel to X-axis:%O0001G54G91 G28 Z0G90 G00 Z100M03 S800#1=100 (Length of rectangle in the X direction: 100mm)#2=100 (Length of rectangle in the Y direction: 100mm)#3=16 (Use the flat-bottomed end mill and the cutter diameter is Φ16)#4=-#2/2 (Determine the coordinate in the Y direction according to the assignment of start point and length of rectangle in the Y direction)#5=0.8 (Modify the gradient of independent variable according to the material and the step is 0.8 times)#7=#5*#3 (The step value is 0.8 times of the cutter diameter)#8=[#1+#3]/2+15 (Determine the coordinate of milling start point of rectangle in the X direction, 15 is the safe distance of displacement)#9=0 (Processing count in the Z direction, the initial assignment is 0)#10=10 (Total removal rate in the Z direction)#11=4 (Working allowance in the Z direction is removed by 4 times)#12=#10/#11 (Determine the cutting depth according to the total amount and count)#13=0 (Coordinate of parts in the Z direction)N1000 G00 X#8 Y#4 F200#9=#9+1 (Determine the start point of X-axis of reciprocating milling, the cycle count in the Z direction plus 1 for each time)#13=#13+#12 (Determine the coordinate of circulatory cutting in the Z direction)G01 Z-#13 (Straightly feed to the cutting depth)#14=#4 (Determine the start point coordinate of Y-axis of reciprocating milling)N2000 G01 X-#8 (Process from the right side to the left side of workpiece parallel )#14=#14+#7 (Determine the step value)Y#14 (Process on the left side of parts parallel to Y-axis)X#8 (Process from the left side to the right side of workpiece parallel )#14=#14+#7 (Determine the step value)Y#14 (Process on the right side of parts parallel to Y-axis)I F [#14 L T[#2/2+0.2*#3]] GOTO2000 (Conditional transfer statement, conditional judgment of processing location at Y-axisG0 Z30 (Lift the cutter to the safe location after parallel milling)I F [#9 L T#11] GOTO1000 (Conditional transfer statement, conditional judgment of count in the Z direction)G0 Z200M05M30%2. Write reciprocating parallel milling processing program by using the plunge height in the Z directionIt writes the reciprocating parallel milling processing program by using the plunge height in the Z direction. The origin of coordinates is the center of parts, the flat-bottomed end mill is adopted and the cutter diameter is Φ16.%O0002G54G91 G28 Z0G90 G00 Z100M03 S800#1=100(Length of rectangle in the X direction: 100mm)#2=100 (Length of rectangle in the Y direction: 100mm)#3=16 (Use the flat-bottomed end mill and the cutter diameter is Φ16)#4=-#2/2 (Determine the coordinate in the Y direction according to the assignment of start point and length of rectangle in the Y direction)#5=0.8 (Modify the gradient of independent variable according to the material and the step is 0.8 times)#7=#5*#3 (The step value is 0.8 times of the cutter diameter)#8=[#1+#3]/2+15 (Determine the coordinate of milling start point of rectangle in the X direction, 15 is the safe distance of displacement)#9=0 (Coordinate assignment in the Z direction, the initial value is 0)#10=30 (Total removal rate in the Z direction)#11=5 (Removal height in the Z direction)N3000 G00 X#8 Y#4 F200 (Determine the start point of X-axis of reciprocating milling)#9=#9+#11 (Processing height assignment in the Z direction)Z-#9F200 (Height from plunge to assignment in the Z direction)#14=#4 (Determine the start point of Y-axis of reciprocating milling)N2000 G01 X-#8 (Process from the right side to the left side of workpiece parallel )#14=#14+#7 (Determine the step value)Y#14 (Process on the left side of parts parallel to Y-axis)X#8 (Process from the left side to the right side of workpiece parallel )#14=#14+#7 (Determine the step value)Y#14 (Process on the right side of parts parallel to Y-axis)I F [#14 L T[#2/2+0.2*#3]] GOTO3000 (Conditional transfer statement, conditional judgment of processing location at Y-axisG0 Z30 (Lift the cutter to the safe location after parallel milling)I F [#9 L T#10] GOTO4000 (Conditional transfer statement, judgment of processing height in the Z direction)G0 Z200M05M30%3. ConclusionThe programming should first determine the independent variable and then determine the plunge direction whether it is parallel to X-axis or Y-axis according to the milling direction of parts and finally conduct conditional judgment of end point by using the conditional transfer statement. During parallel reciprocating milling, the step determines the processing speed. If the step is small, there will be more operations of CNC system and plunge counts, thus the processing efficiency is low and the precision is high; if the step is large, there will be less operations of CNC system and plunge counts, thus the processing efficiency is high and the precision is low. Therefore, the step must be chosen reasonably according to the processing requirements. Generally, a larger step is chosen on the premise of meeting the processing requirements. The single-layer processing is completed by using the plunge count or plunge height in the Z direction. In addition, attention should be paid to the location of the origin of coordinate of program during programming and tool setting.References[1]Peter Smid, CNC Programming Handbook. Beijing: Chemical industry Press, 2005.[2]Shen Jianfeng, Yujun. Numerical Control Lathe Worker( advanced). Beijing: Engineering Industry Press, 2006.[3]Zhou Baoniu. CNC Programming and Machining Technology. Beijing: Engineering Industry Press, 2009.。
基于FANUC+0i系统宏程序在二次曲面铣削加工中的应用研究
Applied Research on Macro Program in Quadrics Milling Based on FANUC 0i CNC System Abstract
In the macro programming, using variables of similar to a computer high-level programming language, make programming more easy and flexible, can achieve the functions of common programs difficult to achieve, greatly expanded the areas of manual programming. For some typical secondary surface milling, CAD / CAM software be able to automatic programming, but the program is often very long, poor technology, poor readability. Programs written by macros, which is short and simple, occupy less system memory, versatility, easy to modify and edit , high efficiency processing , so are used widely. In-depth study line approximation algorithm in Non-circular curve and Quadrics straight, which is based on FANUC 0i CNC system macro program., completed Non-circular curve and Quadrics Approximation interpolation successfully, carried out some typical tests of targeted successfully. Key words: macro program 、 Variable 、 straight line approximation algorithm in Quadric
FANUC0i系统_宏程序例
非圆公式曲线加工
-宏程序法(FANUC0i系统)
机自0821班 ——杨立乐
精选课件
1
宏程序编程实例
加工如图1所示椭圆零件。毛坯尺寸 62mm棒料, 材料为45#钢。
图1
精选课件
2
计算方法一:
1、椭圆参数方程
z2 a2
x2 b2
1
式中:a—长轴半径; b—短轴半径。
以X为自变量,可求得Z值。经推导得:
z
a2
1
x2 b2
精选课件
3
2、零件分析
图1 中: a 40 b 25
z160 1 06x22 51602.5 0 6x2
精选课件
4
精选课件
5
精选课件
6
计算方法二:
1、椭圆参数方程
X 2bsin
Z
acos
式中:a—长轴半径; b—短轴半径。
以为自变量,可求得X和Z值。
精选课件
7
2、零件分析
图1 中: a 40 b 25
X 2 25 sin
ZБайду номын сангаас
40 cos
式中 0 ~ 90
精选课件
8
精选课件
9
精选课件
10
巩固练习
1、毛坯尺寸为Φ55棒料,材料为45#钢,试车削如图2所示零件。
椭圆曲线
图2
精选课件
11
❖ 谢谢大家
精选课件
12
FANUC0i系统_宏程序教学教材
2.非规则曲面的编程方法
(1)自动编程法
(2)宏程序法
宏程序的编程加工,一般是采用厂方所提供的宏程
序(或用户自行开发的宏程序)通过对变量进行赋值及处
理后完成程序的加工任务。 普通加工程序直接用数值指定G代码和移动距离;例
如,G01X100.0Z2.0。 使用用户宏程序时,数值可以直接指定或用变量指
表3 比较运算符
运算符
含义
EQ 相等equal to (=)
NE 不等于not equal to (≠)
GT 大于Greater than (>)
GE 大于等于greater than or equal to(≥)
LT 小于less than (<)
LE 小于等于less than or equal to (≤)
定。当用变量时,变量值可用程序或用MDI 面板上的 操作改变。
二、宏程序编程 1、变量的表示
一个变量由符号“#”和变量序号组成,如:#i (i=1, 2,3,…),此外,变量还可以用表达式进行表示,但 其表达式必须全部写入方括号“[ ]”中。
例: #100,#500,#5,#[#1+#2+10];
5、宏程序指令
(1)无条件转移
格式:GOTO n; n——(转移到的程序段)顺序号
例:GOTO1;
GOTO#10;
(2)条件分支IF语句
在IF后指定一条件,当条件满足时,转移到顺序号为n的程
序段,不满足则执行下一程序段。
格式:
例:O0002(宏程序)
IF [表达式] GOTOn;
N5 IF
…;
[#3GT90.0]GOTO10; …;
数控铣床fanuc 0i系统的宏程序方圆转换编程使用技巧
在美术课中,我们经常会听到老师讲,画圆是需要用方形来切 的,那么在我们编程中可不可以使用圆来定方呢?答案是可以的。 举个例子,一个半径为 20 mm,深度为 5 mm 的圆形凸台,设圆心 处为坐标系的原点,我们可以写出一段宏程序:
关键词 : 数控铣 ;宏程序 ;方形圆形 ;轮廓
引言 众所周知,宏程序存在着计算量大,计算复杂等问题。针对上
述问题,结合生产和轮廓,采用具有逻辑运算功能和算术运算功能 的宏程序,加之一些相关的位置指令,使得一些形状相同或比例不 等的零件结构简化处理,实现了手工编程的事半功倍。
正文 方形与圆形在众多的零件中经常见到,当然,现在的数控系
《装备维修技术》2019 年第 6 期(总第 174 期)
doi:10.16648/ki.1005-2917.2019.06.068
数控铣床 FANUC 0i 系统的 宏程序方圆转换编程使用技巧
王德义 朱立鹏
(泰州技师学院,江苏 泰州 225300)
摘 要:数控编程人员都知道宏程序,随着 CAD/CAM 软件技术的高速发展,越来越多的新数控人,统统都掌握了新的自动编程技能,却忽略 了一种深具魅力宏技能,采用宏程序可高效、方便地处理数控铣削加工中具有形状相同或比例相似的零件。在实际的生产和使用过程 中,有着很重要的作用。
参考文献 [1] 王继文 . 浅谈宏程序数控加工中的应用及优势 [J]. 黑龙江科技信
息,2015,(13):45–45.
– 79 –
ห้องสมุดไป่ตู้
结束语 数控铣床 FANUC 0 i 系统的宏程序具有非常的典型性,编程思
第五章FANUC 0I 系统数控铣床宏编程实例修改
第五章FANUC 0I 系统数控铣床宏编程实例5.1特殊曲线轮廓零件的编程零件的轮廓加工,既包括简单几何轮廓零件的加工,又包括特殊曲线几何轮廓零件的加工。
对于由直线和圆弧组成的简单几何轮廓零件的加工,编程人员可直接用零件图上给定的已知条件,或经过简单的数学计算,可获得基点坐标值,直接编写出零件的加工程序。
对于特殊曲线轮廓零件的编程,采用一般的编程方法,通常编程人员计算量较大,有时并不能得到某些基点的精确坐标,这是在编程过程中的难点所在,对于这一类特殊曲线轮廓零件的加工,这里仅介绍轮廓曲线的方程式为已知时,可采用宏程序编程的方法,既大大减小了计算量,又具有一定的通用性,在工程中具有一定的适应性。
5.1.1 椭圆形零件的轮廓编程(1)零件图分析如图5-1所示,编制一个宏程序加工椭圆的外轮廓。
毛坯尺寸φ110×40mm.材料为45钢。
已知椭圆的长半轴为50mm,椭圆短半轴为40mm,加工椭圆轮廓的高度为20mm.图5-1(2)工艺分析1)程序原点及工艺路线采用三爪自定心夹盘装夹,工件坐标系原点设定在工件上表面中心处。
2)变量设定#1=(A) *椭圆长半轴长#2=(B) *椭圆短半轴长#3=(C) *椭圆轮廓的高度#4=(I) *四分之一圆弧切入的半径#7=(D) *平底立铣刀半径#9=(F) *进给速度#11=(H) *Z方向自变量赋初值#17=(Q) *自变量每层递增量3)刀具选择φ20平底立铣刀(3)参考程序主程序:O0511;G28 G91 Z0.;G17 G40 G49 G80;S1200 M03;G54 G90 G00 X0. Y0.;G43 H01 Z30.;G65 P1511 A50. B40. C20. I20.D10. H0. Q2. F300.;M05;M03;子程序:O1511;G00 X0. Y-[#2+#4]; *定位到起刀点上方WHILE[#11GT-#3] DO1; *当#11>-#3时,循环1继续#11=#11-#17; *铣刀Z方向的坐标值Z#11; *Z向快速进刀到#11处G01G41 X#4 D01 F#9; *加入刀具半径左补偿G03 X0. Y-#2 R#4 F#9; *圆弧切入到椭圆起点#12=-90.; *椭圆角度自变量赋初值WHILE[#12GT-450.] DO2; *当#12>-450.时,循环2继续#12=#12-0.5; *角度#12减0.5度#21=#1*COS[#12]; *角度#12时的椭圆X方向坐标值#22=#2*SIN[#12]; *角度#12时的椭圆X方向坐标值G01 X#21 Y#22; *椭圆加工END2; *循环2结束G03 X-#4 Y-[#2+#4] R#4; *圆弧切出G00 G40 X0.; *取消刀具半径补偿END1; *循环1结束G00 Z30.; *刀具返回初始平面M99; *程序结束返回(4)本题回顾:5.1.2角度线段的轮廓编程(1)零件图分析;如图5-2所示,编制一个宏程序加工角度线段的形外轮廓。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
O7000;(子程序) … G91 G00 X#24 Y#25 Z0; G01 Z#26 F#9; #100=#18+#26; G00 Z-#100; M99;
表4 变量引数赋值方法
引数 (自变量)
变量
引数 (自变量)
变量
引数 (自变量)
变量
引数 (自变量)
变量
A #1
H #11 R #18 X #24
3、宏变量的类型
根据变量号,宏变量可分1~#33
#100~#199 #500~#999 #1000~#9999
变量类型
功
能
空变量 该变量总是空,没有值能赋给该变量。
局部变量
局部变量只能用在宏程序中存储数据,例 如,运算结果。当断电时,局部变量被初 始化为空。调用宏程序时,自变量对局部 变量赋值。
例: #100,#500,#5,#[#1+#2+10];
2、变量的引用
将跟随在地址符后的数值用变量来代替的过程称为 引用变量。同样,引用变量也可以采用表达式。
例: G01 X#100 Y-#101 F[#101+#103]; 当#100=100.0、#101=50.0、#103=80.0时,上 例即表示为: G0l Xl00.0 Y-50.0 F130;
数控车仿真训练
非圆公式曲线加工
-宏程序法(FANUC0i系统)
一、非圆公式曲线的加工方法 1.非圆公式曲面的加工特点
椭圆曲线
2.非规则曲面的编程方法
(1)自动编程法
(2)宏程序法
宏程序的编程加工,一般是采用厂方所提供的宏程
序(或用户自行开发的宏程序)通过对变量进行赋值及处
理后完成程序的加工任务。 普通加工程序直接用数值指定G代码和移动距离;例
正弦 余弦 正切 反正切
平方根 绝对值 四舍五入 向下取整 向上取整
或OR 异或XOR 与AND
十—二进制转换 二—十进制转换
格式
#i=#j
#i=#j+#k #i=#j-#k #i=#j*#k #i=#j/#k
#i=SIN[#j] #i=COS[#j] #i=TAN[#j] #i=ATAN[#J]/[#k]
6、宏程序使用格式
7、宏程序使用方法
(1)非模态调用(单纯调用) 非模态调用指一次性调用宏主体,即宏程序只在一个程序段
内有效。格式: G65 P(宏程序号)L(重复次数)<指定引数值> 一个引数是一个字母,对应于宏程序中变量的地址,引数后
边的数值赋给宏程序中对应的变量,同一语句可以有多个引数。
O0001;(主程序) … G65 P7000 L2 X100.0 Y100.0 Z-12.0 R-7.0F80.0; G00 X-200.0 Y100.0; … M30;
(3)循环语句 在WHILE 后指定一条件表达式,当条件满足时,执
行WHILE到END之间的程序,(然后返回到WHILE 重新 判断条件,) 不满足则执行END后的下一程序段。
格式:
WHILE [条件表达式]DOm ;
…
ENDm ;
例:O0002 WHILE[#3LE90.0]DO2;
…;
END 2; M99;
全局变量
公共变量在不同的宏程序中的意义相同。
当断电时,变量#100-#199 初始化为空, 变量#500-#999 的数据保存,即使断电也 不丢失。
系统变量
系统变量用于读和写CNC 运行时的各种 数据,例如,刀具的当前位置和补偿值。
4、算术和逻辑运算(见表2)
表2 算术和逻辑运算
函数
赋值
求和 求差 乘积 求商
如,G01X100.0Z2.0。 使用用户宏程序时,数值可以直接指定或用变量指
定。当用变量时,变量值可用程序或用MDI 面板上的 操作改变。
二、宏程序编程 1、变量的表示
一个变量由符号“#”和变量序号组成,如:#i (i=1, 2,3,…),此外,变量还可以用表达式进行表示,但 其表达式必须全部写入方括号“[ ]”中。
三、宏程序编程实例
加工如图1所示椭圆零件。毛坯尺寸 62mm棒料, 材料为45#钢。
图1
计算方法一:
1、椭圆参数方程
z2 a2
x2 b2
1
式中:a—长轴半径; b—短轴半径。
表3 比较运算符
运算符
含义
EQ 相等equal to (=)
NE 不等于not equal to (≠)
GT 大于Greater than (>)
GE 大于等于greater than or equal to(≥)
LT 小于less than (<)
LE 小于等于less than or equal to (≤)
5、宏程序指令
(1)无条件转移
格式:GOTO n; n——(转移到的程序段)顺序号
例:GOTO1;
GOTO#10;
(2)条件分支IF语句
在IF后指定一条件,当条件满足时,转移到顺序号为n的程
序段,不满足则执行下一程序段。
格式:
例:O0002(宏程序)
IF [表达式] GOTOn;
N5 IF
…;
[#3GT90.0]GOTO10; …;
B
#2
I
#4
S #19 Y #25
C #3
J
#5
T #20 Z #26
D #7
K #6 U #21
E
#8
M #13 V #22
F
#9
Q #17 W #23
(2)模态调用
模态调用功能近似固定循环的续效作用,在调用后,机床在指定的多 个位置循环执行宏程序。用G67指令取消模态调用。格式:
G66 P(宏程序号)L(重复次数)<指定引数>;此时机床不动 X_Y_;机床在这些点开始加工 X_Y_; … G67;停止宏程序调用
#i=SQRT[#j] #i=ABS[#j] #i=ROUND[#j] #i=FIX[#j] #i=FUP[#j]
#I=#J OR #K #I=#J XOR #K #I=#J
#I=BIN[#J] #I=BCD[#J]
备注
角度用十进制度表示。 90°30′表示为90.5 度。
逻辑运算用二进制数按位操作 用于转换发送到PMC的信号或从PMC 接收的 信号
Nn …; n:顺序号(1~99999) GOTO5;
N10 M99;
①条件表达式 条件表达式由两变量或一变量一常数中间夹比较运算 符组成,条件表达式必需包含在一对方括号内。条件表达 式可直接用变量代替。 ②比较运算符 比较运算符由两个字母组成,用于比较两个值,来判 断它们是相等,或一个值比另一个小或大。注意不能用不 等号(见表3)。