收藏 分销(赏)

用户宏程序.doc

上传人:s4****5z 文档编号:9009380 上传时间:2025-03-11 格式:DOC 页数:13 大小:2.41MB 下载积分:10 金币
下载 相关 举报
用户宏程序.doc_第1页
第1页 / 共13页
用户宏程序.doc_第2页
第2页 / 共13页


点击查看更多>>
资源描述
用户宏程序(或变量编程) 宏程序是一种特殊的子程序,是用户根据实际需要,用变量,计算机指令,控制指令等编制的用以完成某一机能的子程序。例如非圆曲线的加工程序,自动换刀,自动交换工作台,数控滚齿机的窜刀程序,数控磨床砂轮修正程序等。 特点:1 可以引用变量,可以通过主程序给变量赋值。 2 变量之间可以进行运算(加、减、乘、除、开方、平方等;函数) 3 增加了逻缉功能。 FANUC系统的用户宏程序 一 变量 1 变量的表示 变量用变量符号(#)和后面数字、变量、表达式构成。如#1,#[#5],#[#1+#5-12]。 2 变量的类型-----四种 #0-- -空变量。 该变量总是空,没有值能赋给该变量。 #1~#33-- -局部变量。 局部变量只能用在宏程序中存储数据。断电时局部变量被初始化为空。调用宏程序时,自变量对局部变量赋值。 #100~#149, #500~#549 公共变量。它在不同的宏程序中的意义相同。其中#100~#149为操作型变量,断电初始化为空,而#500~#549 为保持型,断电数据也不丢失。 系统变量 用于读和写CNC的各种数据,有固定用途的变量。系统变量包括接口信号,刀具补偿值,报警,模态信息,当前位置,工件坐标系补偿值等。 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级, 包括函数内部使用的括号。如:#1=COS[[#2+#3]*#4]*#5] 运算符:等于(=)-----EQ 不等于(≠)-----NE 大于(>)-----GT 大于或等于(>=)---- GE 小于 (<)-----LT 小于或等于(<= ) LE 三 转移和循环 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); ………… 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; 循环语句, 当#1的值小等于360°时 在N10~N40之间循环 N15 #2=50*COS[#1] ; 变量计箅 N20 #3=30*SIN[#1]; 变量计箅 N30 G01 X#3 Y#4 F100; 加工 N35 #1=#1+1; 计算变量更新角度,角度增量为1度 N40 END1; 循环语句结束 N50 M99; 例2数控车加工抛物线曲面 抛物线方程:Z=-X*X/40 #101: 曲线上各点的Z坐标 #102: 曲线上各点的X坐标 曲线精加工程序如下: SEIMENS编程: R1:Z坐标值变量 R2:X函数值变量(半径) FANUC编程: R3: X坐标值变量(直径) O111; G00 X10. Z2.0; G00 X10.0 Z2.0. #101=0; Z坐标赋初值 R1=0; MA1:R2=SQRT(-R1*40.0); R3=R2*2 ; N10 #101=#101-0.1; Z坐标变量每次减0.1mm G01 X=R3 Z=R1 F100; #103=SQRT[-#101*40] ;中间变量 R1=R1-0.1; #104=#103*2; 中间变量 IF R1>=-50. GOTOB MA1; ; GOO Z5. G01 X#104 Z#101 F100 ; G00 X100. Z100.; IF [#101GE-50.]GOTO 10 ; M05; G01 X40.; M30; G00 X100.0 Z120.0; M05; M30; 例3 椭圆手柄的数控车精加工程序 椭圆的标准方程为: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度, 经换算后锝到该点的极角为126.86度. 10=12.5*sinα sinα=10/12.5=0.8 α=126.86度 变量设定: #100: 椭圆X向半轴a的长度 #101: 椭圆Z向半轴b的长度 #102: 自变量角度α #103: a*sinα #104: b*cosα #105: 椭圆上各点在编程坐标系中的X坐标 #106: 椭圆上各点在编程坐标系中的Z坐标 O1234; T0101; 1号刀(93度硬质合金外圆车刀) 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; 角度自变量α赋值 N40 #103=#100*SIN[#102]; #104=#101*COS[#102]; #105=2*#103; X坐标因变量 #106=#104-25.; Z坐标因变量 G01 X#105 Z#106 F0.1; 直线轨迹拟合 #102=#102+1; 自变量角度增量为1度 IF [#102 LE 126.86] GOTO 40; 条件判断, 极角<=126.86度 M99; 返回主程序 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.; 长半轴赋值 R3=0; 角度自变量α赋值 MA1:R4=R1*SINR3; R5=R2*COSR3; R6=2*#103; X坐标因变量 R7=R4-25.; Z坐标因变量 G01 X=R6 Z=R7 F0.1; 直线轨迹拟合 R3=R3+1; 自变量角度增量为1度 IF [R3 < 126.86] GOTOB MA1; 条件判断, 极角<=126.86度 M99; 返回主程序 用代数方程编制数控加工程序:自变量为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) #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; 自变量Z每次递减0.1mm #102=36/#101+3; 因变量X坐标(运算) IF [#101 GE 2.0] GOTO100; 判断Z坐标值大于等于2, 跳转到N100程序段 G28 U0 W0; M30; 例5绕线筒曲线轮廓的数控车加工程序 该正弦曲线由两个周期组成, 总角度为720度(-630~90度) 正弦曲线方程为:X=34+6*sinα 沿Z轴方向将该曲线分成1000条线段, 每段直线在Z轴方向的间距为0.04mm, 对应其正弦曲线的角度增加720/1000=0.72度 X坐标值,X=34+6sinα 变量设定 例6数控车加工油槽 O0012;(宏B) M03 S360 N1 T0404; G10 P4 U-0.2; (可编程数据设定,4号刀刀补。) 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; (#5081:读取当X轴刀具长度补偿值。) #512=ABS[#511]; (ABS: 取绝对值) IF [#512GT#501] GOTO2; IF [#512LT#501] GOTO1; N2 G0 X100;. G10 P4 X#500; M99; (#500=0;#501=3200) % 若用宏A,只需更改宏语句 G65 H01 P#511 Q#5081; G65 H22 P#512 Q#511; G65 H83 P2 Q#512 R#511; H83:大于 G65 H84 P1 Q#512 R#511; H84:小于 例7:数控滚齿机窜刀子程序 13 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 GOTO6 N3G90G01Y#501F20 #504=#501 #503=1 #505=1 GOTO6 N4G90G01Y#500F20 #504=#500 #503=0 #505=1 GOTO6 N5#505=#505+1 N6M99 #500:Y向起始点 #501:Y向终点 #502: 窜刀量 #503: #504:当前坐标 #505:几件活一窜 例8求1~100之和 两种程序: O1; #1=0; 变量和的初始值设定 #2=1; 加数变量的始值设定 N1 IF[#2GT100] GOTO2; 加数变量的值设定>100转移到N2 #1=#1+#2; 求和计算 #2=#2+1; 下一个加数 GOTO 1; 转移到N1程序段 N2 M30; 程序结束 O2; #1=0; 变量和的初始值设定 #2=1; 加数变量的初始值设定 WHILE[#2LE100] DO1; 当加数小于等于100时,执行从DO1到END1之间的程序 #1=#1+#2; 求和计算 #2=#2+1; 下一个加数 END1; 条件满足,执行从DO1到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; O9011; . #3=#1+#4; G01 X#1 Y#3 F150; . . . G65 P9011 A10 I5; (自变量赋值1地址A=用用户宏程序本体中的变 量#1; 地址I=#4 ) . M30; 2宏程序调用还有模态调用(G66,G67);G代码调用;M代码调用;T代码调用 附:常用非圆曲线方程 1、参数方程 (1)渐开线 圆(半径为a)的渐开线方程为: (2)摆线 圆(半径为a)的摆线方程为: 2、椭圆、双曲线、抛物线方程 见表 表 椭圆、双曲线和抛物线方程 椭圆、双曲线抛物线的一般参数方程: 1 椭圆: X=a*cosα Y=b*sinα (a: 长半轴,b: 短半轴) 2 双曲线: X=a*secα Y=tgα 3 抛物线: X=2pt*t Y=2pt 实例1、加工如图所示零件椭圆槽,材料为YL12。使用¢10键槽铣刀分两层铣削,每一次切削深度为4㎜,试编程并加工零件。 图1 椭圆槽加工编程 (1)零件图分析 该零件材料为YL12,已知毛坯尺寸为100×100×15的方形坯料,且顶面、底面和四个侧面均已加工好。 (2)工艺分析 ①装夹定位的确定 装夹采用压板或平口钳均可。 ②加工刀具的确定 为了提高切削效率,采用T01为φ10mm的键槽铣刀,按椭圆槽中心轨迹运动,每次铣削深度为4㎜。 (3)确定加工坐标原点 根据零件图,可设置程序原点为工件中心的上表面。 (4)椭圆长半轴a=40,短半轴b=25,由椭圆方程 得 图1(工件)的刀具清单 产品名称及代号 Xxxxx 零件名称 Xxxx 零件图号 Xxxx 序号 刀具 编号 刀具规格/名称 数量 加工内容 刀具半径/mm 刀具材料 1 T01 Φ10键槽刀 1 Φ10椭圆槽 5 图1(工件)加工工艺表 单位名称 产品名称或 代号 零件名称 零件图号 材料 工序号 工序编号 夹具名称 夹具编号 使用设备 平口+垫块 立式铣床 工序号 加工内容 刀具号 刀具 名称 刀具规格 (mm) 主轴转速 (r / min) 进给速度 (mm / min) 背吃刀量 (mm) 加工余量 (mm) 备注 1 铣椭圆槽 T01 键槽铣刀 Φ10 900 80 0 图1(工件)加工程序单 序号 程序内容 注释 %1510 程序名 N10 G90 G54 G00 X0 Y0 Z100 调用G54坐标系,初始定位 N20 M03 S900 主轴正转,转速900 r / min N30 X-40 Y0 快速定位至椭圆左端点 N40 G43 Z5 H01 快速下到Z5 N50 #10=-4 Z坐标赋值 N60 IF [#10 GE -8] 条件语句 N70 M98 P0001 调用子程序 N80 #10=#10-4 修改Z坐标 N90 ENDIF 条件语句结束 N100 G01 Z5 抬刀 N110 G00 G49 X0 Y0 Z100 返回起始点 N120 M05 主轴停 N130 M30 程序结束 序号 子程序内容 注释 %0001 程序名 N10 G01 Z[#10] F100 下刀至铣削深度 N20 #1=-40 给自变量X赋值,起点为-40 N30 WHILE[#1LE40] 循环语句,加工上半椭圆 N40 #2=25/40*SQRT[40*40-#1*#1] 计算因变量Y的值 N50 G01 X{#1} Y[#2] F200 直线插补至相邻节点 N60 #1=#1+0.5 修改X坐标 N70 ENDW 循环语句结束 N80 #1=40 给自变量X赋值,起点为40 N90 WHILE[#1GE-40] 循环语句,加工下半椭圆 N100 #2=25/40*SQRT[40*40-#1*#1] 计算因变量Y的值 N110 G01 X{#1} Y-[#2] F200 直线插补至相邻节点 N120 #1=#1-0.5 修改X坐标 N130 ENDW 循环语句结束 N140 M99 子程序结束返回
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服