当前位置:首页 >> 机械/仪表 >>

用户宏程序


用户宏程序(或变量编程) 宏程序是一种特殊的子程序,是用户根据实际需要,用变量,计算机指令,控制指令等编制的用以完 成某一机能的子程序。例如非圆曲线的加工程序,自动换刀,自动交换工作台,数控滚齿机的窜刀程序, 数控磨床砂轮修正程序等。 特点:1 可以引用变量,可以通过主程序给变量赋值。 2 变量之间可以进行运算(加、减、乘、除、开方、平方等;函数) 3 增加了逻缉功能。 FANU

C 系统的用户宏程序 一 变量 1 变量的表示 变量用变量符号(#)和后面数字、变量、表达式构成。如#1,#[#5],#[#1+#5-12]。 2 变量的类型-----四种 #0-#1~#33--空变量。 -局部变量。 该变量总是空,没有值能赋给该变量。 局部变量只能用在宏程序中存储数据。断电时局部变量被初始化为空。调

用宏程序时,自变量对局部变量赋值。 #100~#149, #500~#549 公共变量。它在不同的宏程序中的意义相同。其中#100~#149 为操作型变量,断 电初始化为空,而#500~#549 为保持型,断电数据也不丢失。 系统变量 3 变量的引用 将跟随在地址后的数值用变量来代替。当用表达式指定变量时,要把表达式放在方括号内。如 G01 X#100 Z-#101 F#102;G01 X[#1+#3] F#5 在编程时,变量的定义,变量的运算只允许每行写一个。否则系统报警。 二 算术和逻缉运算 例 加法 运算次序 括号嵌套 #i=#j+#k 乘法 #i=#j*#k 平方根 #i=SQRT[#j] 正弦 #i=SIN[#j] 或 #i=#jOR#k 函数-----乘和除------加和减 括号(方括号) 用于改变运算次序. 括号可以使用 5 级, 包括函数内部使用的括号。如: 不等于(≠)-----NE 小于 (<)-----LT 大于(>)-----GT 小于或等于(<= ) LE 用于读和写 CNC 的各种数据,有固定用途的变量。系统变量包括接口信号,刀具补偿值,报 警,模态信息,当前位置,工件坐标系补偿值等。

#1=COS[[#2+#3]*#4]*#5] 运算符:等于(=)-----EQ 大于或等于(>=)---- GE 三 转移和循环 1 无条件转移 编程格式:GOTO N; 2 条件转移 编程格式:IF[条件表达式] GOTO N; IF[条件表达式] THEN 宏程序语句。只执行一个宏程序语句。

例 IF[#1EQ#2]THEN #3=0;如果#1 的值与#2 的值相等,则将 0 赋值给#3。 3 循环指令 编程格式:WHILF [条件式] Dom(m=1、2、3); …………

1

ENDm; 当条件式满足时, 就循环执行 WHILE 与 END 之间的程序段 m 次, 当条件不满足时, 就执行 ENDm 的下一个程 序段. 四 零件加工宏程序编程的步骤 非圆曲线的数控编程加工的思路:当数控系统只具备直线插补,圆弧插补功能时,如何加工非圆曲线轮 廓的零件时,在确保加工精度的前提条件下,往往采用短直线或圆弧去近似替代非圆曲线。将曲线细分成 若干段,每一段用直线拟合法拟合曲线轮廓,进行直线插补。曲线细分越密加工出的曲线精度越高。 一般由分析图形特征、建立数学模型、定义变量和程序出口、编写参数程序四步组成。 例 1 用?16mm 的立铣刀加工长半轴为 50, 短半轴为 30 的椭圆的周边轮廓部分. 椭圆的方程为 X2/50*50+Y2/30*30=1 椭圆的方程的另一种表达方式(参数方程) 为:X=50*COSα Y=30*SINα “α” 是自变量, 坐标值 X Z 随角度的变化而变化, 是因变量。 #1:自变量角度 #2:因变量 X 坐标值 #3:因变量 Z 坐标值 O9001; N05 #1=0; N10 WHILE[#1LE360]DO1; N15 #2=50*COS[#1] N20 #3=30*SIN[#1]; N30 G01 X#3 Y#4 F100; N35 #1=#1+1; N40 END1; N50 M99; 例 2 数控车加工抛物线曲面 ; 定义变量初值(角度) 循环语句, 当#1 的值小等于 360°时 在 N10~N40 之间循环 变量计箅 变量计箅 加工 计算变量更新角度,角度增量为 1 度 循环语句结束

2

抛物线方程:Z=-X*X/40 #101: 曲线上各点的 Z 坐标 #102: 曲线上各点的 X 坐标 曲线精加工程序如下: SEIMENS 编程: R1:Z 坐标值变量 R2:X 函数值变量(半径) FANUC 编程: O111; G00 X10. Z2.0; #101=0; Z 坐标赋初值 G00 X10.0 Z2.0. R1=0; MA1:R2=SQRT(-R1*40.0) ; R3=R2*2 ; N10 #101=#101-0.1; Z 坐标变量每次减 0.1mm #103=SQRT[-#101*40] ;中间变量 #104=#103*2; ; G01 X#104 Z#101 F100 ; IF [#101GE-50.]GOTO 10 ; G01 X40.; G00 X100.0 Z120.0; M05; M30; 例 3 椭圆手柄的数控车精加工程序 中间变量 GOO Z5. G00 X100. Z100.; M05; M30; G01 X=R3 Z=R1 F100; R1=R1-0.1; IF R1>=-50. GOTOB MA1; R3: X 坐标值变量(直径)

椭圆的标准方程为:X*X/a*a+Y*Y/b*b=1 在数控车床坐标系中 X 轴为标准方程的 Y 轴,Z 轴为标准方程的 X 轴。当编程原点与椭圆中心不重合时需 进行坐标平移,得到新的方程。 椭圆手柄的曲线方程为:X*X/12.5*12.5+(Z+25)2/25*25=1 椭圆手柄的曲线方程的另一种表达方式(参数方程) 为: X=12.5*SINα Z=25*COSα-25 注意: 用极坐标编写椭圆时, 应注意终点处的极角不等于图样上已知的平面角 146.3 度, 经换算后

3

锝到该点的极角为 126.86 度. 10=12.5*sinα 变量设定: #100: 椭圆 X 向半轴 a 的长度 #101: 椭圆 Z 向半轴 b 的长度 #102: 自变量角度α #103: a*sinα #104: b*cosα #105: 椭圆上各点在编程坐标系中的 X 坐标 #106: 椭圆上各点在编程坐标系中的 Z 坐标 O1234; T0101; M03 S1200; G00 X0 Z5.0; M98 P402; G02 X20. Z-70. R40; G01 Z-85.; G00 X100. Z100.; M30; O402; #100=12.5; #101=25.; #102=0; 椭圆精加工宏程序 短半轴赋值 长半轴赋值 角度自变量α赋值 宏程序起点 调用子程序(精加工宏程序) 1 号刀(93 度硬质合金外圆车刀) sinα=10/12.5=0.8 α=126.86 度

N40 #103=#100*SIN[#102]; #104=#101*COS[#102]; #105=2*#103; #106=#104-25.; #102=#102+1; M99; X 坐标因变量 Z 坐标因变量 自变量角度增量为 1 度 返回主程序

G01 X#105 Z#106 F0.1; 直线轨迹拟合 IF [#102 LE 126.86] GOTO 40; 条件判断, 极角<=126.86 度

SIEMENS 802D 编程: R1:椭圆 X 向半轴 a 的长度 R2: 椭圆 Z 向半轴 b 的长度 R3:自变量角度α R4:a*sinα R5: b*cosα R6: 椭圆上各点在编程坐标系中的 X 坐标 R7: 椭圆上各点在编程坐标系中的 Z 坐标 AA402; R1=12.5; R2=25.; 短半轴赋值 长半轴赋值

4

R3=0; MA1:R4=R1*SINR3; R5=R2*COSR3; R6=2*#103; R7=R4-25.; R3=R3+1; M99;

角度自变量α赋值

X 坐标因变量 Z 坐标因变量 自变量角度增量为 1 度 返回主程序

G01 X=R6 Z=R7 F0.1; 直线轨迹拟合 IF [R3 < 126.86] GOTOB MA1; 条件判断, 极角<=126.86 度

用代数方程编制数控加工程序:自变量为 Z,每次变化为 1,X 为因变量。加工宏程序格式如下: #1=××; 椭圆 Z 轴起点坐标 WHILE[#1 GT××(椭圆 Z 轴终点坐标)]DO1; #2=[#1-(Z 原点至椭圆心距离)]×[#1-(Z 原点至椭圆心距离)]/ 长半轴*长半轴; #3=[1-#2]* 短半轴*短半轴; #4=SQRT[#3]; #5=2*#4+(X 原点至椭圆心距离) 轴直径编程 ;X G01 X#5 Z#1 F0.1; #1=#1-1; END1;

例 4 凸模曲线(双曲线) 的精加工程序

双曲线方程:X=36/Z+3 变量.

编制程序时, 根据方程找出各点的 X 坐标和 Z 坐标之间的对应关系并设定相应的

#101 为方程中的 Z 坐标(起点 Z=72) #102 为方程中的 X 坐标(起点半径值 X=3.5)

5

#103 为工件坐标系中的 Z 坐标,#103=#101-72. #104 为工件坐标系中的 X 坐标,#104=2*#102 (直径值) O555; ……. G00 X9.0 Z2.0; #101=72.; #102=3.5; N100 #103=#101-72.; #104=2*#102; G01 X#104 Z#103 F0.1; #101=#101-0.1; #102=36/#101+3; G28 U0 W0; M30; 例 5 绕线筒曲线轮廓的数控车加工程序 自变量 Z 每次递减 0.1mm 因变量 X 坐标(运算)

IF [#101 GE 2.0] GOTO100; 判断 Z 坐标值大于等于 2, 跳转到 N100 程序段

该正弦曲线由两个周期组成, 总角度为 720 度(-630~90 度) 正弦曲线方程为:X=34+6*sinα 沿 Z 轴方向将该曲线分成 1000 条线段, 每段直线在 Z 轴方向的间距为 0.04mm, 对应其正弦曲线的角度增 加 720/1000=0.72 度 X 坐标值,X=34+6sinα 变量设定 例 6 数控车加工油槽

6

油槽形状为渐进渐出

O0012; (宏 B) M03 S360 N1 T0404; G10 P4 U-0.2; G00 X6. Z6; G32 X-0.3 Z3.3 F3.18; G32 X-3.2 Z1.3 F3.18; G32 X-3.2 Z-0.8 F3.18; G32 X-0.3 Z-3.3 F3.18; G32 X6. Z-6. F3.18; G00 Z6.0; #511=#5081; #512=ABS[#511]; (#5081:读取当 X 轴刀具长度补偿值。 ) (ABS: 取绝对值) (可编程数据设定,4 号刀刀补。 )

IF [#512GT#501] GOTO2;

7

IF [#512LT#501] GOTO1; N2 G0 X100;. G10 P4 X#500; M99; % 若用宏 A,只需更改宏语句 G65 H01 P#511 Q#5081; G65 H22 P#512 Q#511; G65 H83 P2 Q#512 R#511; G65 H84 P1 Q#512 R#511; 例 7:数控滚齿机窜刀子程序 O9000 G90G01Y#504F100 IF[#505LE#506]GOTO5 IF[#503NE0]GOTO2 N1#504=#504+#502 IF[#504GE#501]GOTO3 G90G01Y#504F20 #505=1 GOTO6 N2#504=#504-#502 IF[#504LE#500]GOTO4 G90G01Y#504F20 #505=1 #500:Y 向起始点 #501:Y 向终点 #502: 窜刀量 #503: #504:当前坐标 #505:几件活一窜 GOTO6 N3G90G01Y#501F20 #504=#501 #503=1 #505=1 GOTO6 N4G90G01Y#500F20 #504=#500 #503=0 #505=1 GOTO6 N5#505=#505+1 N6M99 H83:大于 H84:小于 (#500=0;#501=3200)

例 8 求 1~100 之和 O1; #1=0; #2=1;

两种程序:

变量和的初始值设定 加数变量的始值设定 加数变量的值设定>100 转移到 N2 求和计算 下一个加数 转移到 N1 程序段 程序结束

N1 IF[#2GT100] GOTO2; #1=#1+#2; #2=#2+1; GOTO 1; N2 M30;

8

O2; #1=0; #2=1; WHILE[#2LE100] DO1; #1=#1+#2; #2=#2+1; END1; M30; 例 9 自动换刀程序 O9000; #100=#4001; #101=#4003; #102=#4120; #103=#1032AND255; #104=BIN[#103]; IF [#102LT1]GOTO 2000; IF [#102GT16]GOTO 2000; IF [#102EQ#104]GOTO 1000; G91 G00 G30 Z0 M80; M81; M87; G28 Z0 M77; T#149; G30 Z0 M77; M88; M86; M82; G#100 G#101; N1000 M99; N2000 #3000=20 (TOOLNO.ALARM) 五 用户宏程序调用指令(宏 B) 1 宏程序非模态调用 G65 格式:G65 P(p)L(l) (自变量赋值) ; (p) :要调用的程序号 (l) :重复次数(默认值为 1) (自变量赋值) :数据传递到宏程序 例 O123; . . G65 P9011 A10 I5; O9011; #3=#1+#4; G01 X#1 Y#3 F150; . . (自变量赋值 1 地址 A=用用户宏程序本体中的变 量#1; 地址 I=#4 ) 变量和的初始值设定 加数变量的初始值设定 当加数小于等于 100 时,执行从 DO1 到 END1 之间的程序 求和计算 下一个加数 条件满足,执行从 DO1 到 END1 之间的程序

9

. M30; 2 宏程序调用还有模态调用(G66,G67) 代码调用;M 代码调用;T 代码调用 ;G 附:常用非圆曲线方程 1、参数方程 (1)渐开线 的渐开线方程为: 圆(半径为 a)的渐开线方程为:

? x = a (cosθ + θ sin θ ) ? ? y = a (sin θ ? θ cosθ )
(2)摆线 的摆线方程为: 圆(半径为 a)的摆线方程为:

? x = a (θ ? sin θ ) ? ? y = a (1 ? cos θ )
2、椭圆、双曲线、抛物线方程 椭圆、双曲线、 见表 椭圆、 表 椭圆、双曲线和抛物线方程

10

椭圆、双曲线抛物线的一般参数方程: 1 2 3 椭圆: X=a*cosα Y=b*sinα (a: 长半轴,b: 短半轴) Y=tgα Y=2pt 双曲线: X=a*secα 抛物线: X=2pt*t

加工如图所示零件椭圆槽, YL12。使用? 键槽铣刀分两层铣削, 实例 1、加工如图所示零件椭圆槽,材料为 YL12。使用?10 键槽铣刀分两层铣削,每一次切削深度为 ㎜,试编程并加工零件 试编程并加工零件。 4 ㎜,试编程并加工零件。

图 1 椭圆槽加工编程 (1)零件图分析 该零件材料为 YL12,已知毛坯尺寸为 100×100×15 的方形坯料,且顶面、底面和四个侧面均已加工 好。 (2)工艺分析 ①装夹定位的确定 ②加工刀具的确定 每次铣削深度为 4 ㎜。 (3)确定加工坐标原点 根据零件图,可设置程序原点为工件中心的上表面。 装夹采用压板或平口钳均可。 为了提高切削效率,采用 T01 为φ10mm 的键槽铣刀,按椭圆槽中心轨迹运动,

(4)椭圆长半轴 a=40,短半轴 b=25,由椭圆方程

x2 y2 + =1 a2 b2



y=

25 ? 40 ? 40 ? x ? x 40
工件)的刀具清单 图 1(工件)的刀具清单

11

产品名称及代号 刀具 编号 T01

Xxxxx 刀具规格/名称 刀具规格 名称

零件名称

零件图 Xxxx 加工内容 号 刀具半 径/mm 5 Xxxx 刀具材 料

序号 1

数量 1

Φ10 键槽刀

Φ10 椭圆槽

图 1(工件)加工工艺表 产品名称 材 或 单位名称 代号 零件名称 零件图号 料

工序号

工序编号

夹具名称 平口+ 平口+垫

夹具编号

使用设备

立式铣床 块 主轴 刀具 工序 加工内容 号 刀具号 名称 (mm) min) ) 1 铣椭圆槽 T01 键槽铣刀 min) ) 80 0 刀具 规格 (r / (mm / (mm) ) (mm) ) 转速 度 量 量 备注 进给速 背吃刀 加工余

Φ10

900

图 1(工件)加工程序单 (工件) 序号 %1510 N10 N20 N30 N40 N50 N60 N70 N80 N90 N100 N110 N120 N130 G90 G54 G00 X0 Y0 Z100 M03 S900 X-40 Y0 G43 Z5 H01 #10=-4 IF [#10 GE -8] M98 P0001 #10=#10-4 ENDIF G01 Z5 G00 G49 X0 Y0 Z100 M05 M30 程序内容 注释 程序名 调用 G54 坐标系,初始定位 主轴正转,转速 900 r / min 快速定位至椭圆左端点 快速下到 Z5 Z 坐标赋值 条件语句 调用子程序 修改 Z 坐标 条件语句结束 抬刀 返回起始点 主轴停 程序结束

12

序号 %0001 N10 N20 N30 N40 N50 N60 N70 N80 N90 N100 N110 N120 N130 N140

子程序内容

注释 程序名

G01 Z[#10] F100 #1=-40 WHILE[#1LE40] #2=25/40*SQRT[40*40-#1*#1] G01 X{#1} Y[#2] F200 #1=#1+0.5 ENDW #1=40 WHILE[#1GE-40] #2=25/40*SQRT[40*40-#1*#1] G01 X{#1} Y-[#2] F200 #1=#1-0.5 ENDW M99

下刀至铣削深度 给自变量 X 赋值,起点为-40 循环语句,加工上半椭圆 计算因变量 Y 的值 直线插补至相邻节点 修改 X 坐标 循环语句结束 给自变量 X 赋值,起点为 40 循环语句,加工下半椭圆 计算因变量 Y 的值 直线插补至相邻节点 修改 X 坐标 循环语句结束 子程序结束返回

13


相关文章:
用户宏程序的应用
龙源期刊网 http://www.qikan.com.cn 用户宏程序的应用 作者:韩长军 高原 来源:《职业· 下旬》2011 年第 04 期 用户宏程序是 FANUC 系统提供的一种变量...
用户宏程序
而我们一般将含有变量的子程序称为用户宏程序体, 简称“用户宏程序” ,在程序中调用用户宏程序的那条指令称为“用户宏指令” 。 用户宏程序有三个要点:一,在...
用户宏程序
用户宏程序(或变量编程) 宏程序是一种特殊的子程序,是用户根据实际需要,用变量,计算机指令,控制指令等编制的用以完 成某一机能的子程序。例如非圆曲线的加工...
用户宏程序
用户宏程序 1.概念 反复进行同一切削动作时,使用子程序效果较好,但若使用用户宏程序的话,可以使用运算 指令、条件转移等,适于编制更简单、通用性更强的程序。并且...
用户宏程序
用户宏程序(或变量编程)宏程序是一种特殊的子程序,是用户根据实际需要,用变量,计算机指令, 控制指令等编制的用以完成某一机能的子程序。例如非圆曲线的加工程序,...
用户宏程序简介X
宏程序宏程序隐藏>> 用户宏程序简介一.概述: 用户宏程序是以变量的组合,通过各种算术和逻辑 运算、转移和循环等命令,而编制的一种可以灵活运用 的程序。可以简化...
用户宏程序应用举例 FANUC
发那科宏程序编辑 179页 2财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 用户宏程序应用举例 FANUC 隐藏>> 用户...
第五章 用户宏程序
数控车宏程序完成稿 41页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 第五章 用户宏程序 隐藏>> 第五章 用户...
用户宏程序的运用以及相关用量的计算
用户宏程序的运用以及相关用量的计算用户宏程序的运用以及相关用量的计算隐藏>> 用户宏程序的运用以及相关用量的计算用户宏程序作为数控设备的一项重要功能, 由于允许使...
FANUC系统用户宏程序基础
FANUC系统用户宏程序基础_一年级语文_语文_小学教育_教育专区。FUANC系统使用宏程序的入门级备用资料,加工人员人守一册FANUC 系统用户宏程序基础 相关搜索: 相关搜索...
更多相关标签:
宏程序编程入门 | 宏程序 | 宏程序编程实例 | 数控宏程序实例教程 | 数控宏程序 | fanuc宏程序编程实例 | 数控宏程序编程入门 | 加工中心宏程序 |