找回密码
 注册
查看: 8859|回复: 9

[转载教程] FUNNC用 户 宏 程 序

[复制链接]
发表于 2007-7-20 22:00:21 | 显示全部楼层 |阅读模式
用 户 宏 程 序能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来它们,使用时只需给出这个总指令就能执行其功能。 l 所存入的这一系列指令——用户宏程序 l 调用宏程序的指令————宏指令 l 特点:使用变量 一. 变量的表示和使用 (一) 变量表示  #I(I=1,2,3,…)或#[<式子>] 例:#5,#109,#501,#[#1+#2-12] (二) 变量的使用  1. 地址字后面指定变量号或公式 格式: <地址字>#I <地址字>-#I <地址字>[<式子>] 例:F#103,设#103=15 则为F15 Z-#110,设#110=250 则为Z-250 X[#24+#18*COS[#1]] 2. 变量号可用变量代替 例:#[#30],设#30=3 则为#3 3. 变量不能使用地址O,N,I 例:下述方法下允许 O#1; I#2 6.00×100.0; N#3 Z200.0; 4. 变量号所对应的变量,对每个地址来说,都有具体数值范围 例:#30=1100时,则M#30是不允许的 5. #0为空变量,没有定义变量值的变量也是空变量 6. 变量值定义: 程序定义时可省略小数点,例:#123=149
MDI键盘输一. 变量的种类 1. 局部变量#1~#33 一个在宏程序中局部使用的变量 例:   A宏程序     B宏程序       …        …      #10=20     X#10 不表示X20       …        … 断电后清空,调用宏程序时代入变量值 2. 公共变量#100~#149,#500~#531 各用户宏程序内公用的变量 例:上例中#10改用#100时,B宏程序中的   X#100表示X20 #100~#149 断电后清空 #500~#531保持型变量(断电后不丢失) 3. 系统变量 固定用途的变量,其值取决于系统的状态 例:#2001值为1号刀补X轴补偿值   #5221值为X轴G54工件原点偏置值入时必须输入小数点,小数点省略时单位为μm
一. 运算指令 运算式的右边可以是常数、变量、函数、式子 式中#j,#k也可为常量 式子右边为变量号、运算式 1. 定义 #I=#j 2. 算术运算 #I=#j+#k #I=#j-#k #I=#j*#k #I=#j/#k 3. 逻辑运算 #I=#JOK#k #I=#JXOK#k #I=#JAND#k 4. 函数 #I=SIN[#j] 正弦 #I=COS[#j] 余弦 #I=TAN[#j] 正切 #I=ATAN[#j] 反正切 #I=SQRT[#j] 平方根 #I=ABS[#j] 绝对值 #I=ROUND[#j] 四舍五入化整 #I=FIX[#j] 下取整 #I=FUP[#j] 上取整 #I=BIN[#j] BCD→BIN(二进制) #I=BCN[#j] BIN→BCD1. 说明 1) 角度单位为度 例:90度30分为90.5度 2) ATAN函数后的两个边长要用“1”隔开 例:#1=ATAN[1]/[-1]时,#1为了35.0 3) ROUND用于语句中的地址,按各地址的最小设定单位进行四舍五入 例:设#1=1.2345,#2=2.3456,设定单位1μm G91 X-#1;X-1.235 X-#2 F300;X-2.346 X[#1+#2];X3.580 未返回原处,应改为 X[ROUND[#1]+ROUND[#2]]; 4) 取整后的绝对值比原值大为上取整,反之为下取整 例:设#1=1.2,#2=-1.2时 若#3=FUP[#1]时,则#3=2.0 若#3=FIX[#1]时,则#3=1.0 若#3=FUP[#2]时,则#3=-2.0 若#3=FIX[#2]时,则#3=-1.0 5) 指令函数时,可只写开头2个字母 例:ROUND→RO FIX→FI 6) 优先级 函数→乘除(*,1,AND)→加减(+,-,OR,XOR) 例:#1=#2+#3*SIN[#4]; 7) 括号为中括号,最多5重,园括号用于注释语句 例:#1=SIN[[[#2+#3]*#4+#5]*#6];(3重)一. 转移与循环指令 1.无条件的转移 格式: GOTO 1;     GOTO #10; 2.条件转移 格式: IF[<条件式>] GOTO n 条件式: #j EQ#k 表示= #j NE#k 表示≠ #j GT#k 表示> #j LT#k 表示< #j GE#k 表示≥ #j LE#k 表示≤ 例: IF[#1 GT 10] GOTO 100;    …    N100 G00 691 X10; 例:求1到10之和   O9500;   #1=0   #2=1   N1 IF [#2 GT10] GOTO 2   #1=#1+#2;   #2=#2+1;   GOTO 1   N2 M301.循环 格式:WHILE[<条件式>]DO m;(m=1,2,3) ENDm 说明:1.条件满足时,执行DOm到ENDm,则从DOm的程序段     不满足时,执行DOm到ENDm的程序段    2.省略WHILE语句只有DOm…ENDm,则从DOm到ENDm之间形成死循环    3.嵌套4.EQ NE时,空和“0”不同 其他条件下,空和“0”相同  例:求1到10之和    O0001;    #1=0;    #2=1;    WHILE [#2LE10] DO1;    #1=#1+#2;    #2=#2+#1;    END1;    M30;


























用户宏程序在数控加工中的应用

随着数控加工设备技术的进步与发展,数控机床已成为模具加工技术中不可缺少的关键设备。然而,模具产品的小批量,多品种,短周期等特点,为数控机床的编程带来很大不便,既增加了编程的工作量,又影响着加工的进度。笔者现就实际工作中应用宏程序,较好地解决了规则对称几何形状的零件加工,简化了程序编制,赢得了时间,为模具生产中数控机床的编程提供了一种简捷的方式方法,现就有关情况介绍如下,供大家参考。
    1用户宏程序简单介绍
    1.1 变量
    变量分为四类:空变量(#0);局部变量(#1-#33);公共变量(#100-#199),(#500-#999),系统变量(#1000- )。
    1.2 宏程序语句使用
    转移和循环:在程序中,使用GOTO语句和IF语句可以改变控制的流向。有三种转移和循环操作可供使用:
    1)GOTO语句(无条件转移)
    2)IF语句(条件转移:IF…THEN…)或IF[〈条件表达式〉]
GOTON
    3)WHILE语句(当…时循环
)
    2 用户宏程序的特点及应用

    2.1 高效:数控加工中常常会遇到数量少,品种繁多,有规则几何形状的工件,我们只要稍加分析与总结,找出它们的之间共同点,把这些共同点设定为局部变量(局部变量只能用在宏程序中存储数据)应用到程序中,就能达到举一反三,事半功倍的效果。如图1所示模具零件的端面图形,该图形在零件的环形端面上有24个凸凹槽,且对称分布在Ⅰ-Ⅳ象限内。
工件分析:
     1)零件在X、Y平面内,放射槽中心在Y轴上并偏心H距离;
     2)放射槽以X轴,Y轴对称;
     3)槽与槽之间增量角相同;
     4)放射槽起始角与终止角随着槽数量变化而变化;
     5)零件中内外圆直径随放射槽分布有所变化。
此类零件按常规加工方法,我们必需利用计算机,针对每个零件的几何尺寸———编程,因此编程要浪费大量的时间,操作者还需调整程序,熟悉编程思路,效率低。现在,我们只需借助宏程序中局部变量和机床的镜象,旋转功能,进行人工编程,就能实现此类零件程序。图1模具零件的第一象限加工宏程序如下:

    O0001
  N10 #11=(偏心距H)
    N20 G90G92X0Y#11Z100(预制零件偏心中心为X0Y偏心距
Z100)
    N30 M03S300
    N40 G65P0002A (起始角#1)B(增量角#2)C(第一象限结束角#3)S(内圆直径#19)R(外圆直径#18)D(刀具直径#7)E(放射槽底部宽度#8)F(放射槽项部宽度#9)Z(加工深度#26)Q(切削深度#17)。

    N50 G00 Z100
    N60 X0Y#11(
回到零件中心)
    N70 M05
    N80 M30
    O0002
    N10 #4=#1(#4预设一个初始值为
#1)
    N20 #5=0(#5预设一个初始值为
0)
    N30 G68X0Y0R#4
    N40 G00X[#19/2-#7]
Y0
    N50 Z-#5
    N60 G01G42D01 Y[#8/2]
M08F100
    N70 X[#18/2+#7]

    N80 Y-[#8/2]F6000
    N90 X-[#19/2-#7]
F100
    N100 G00G40G69X0Y0
    N110 IF[#4GE#3]
GOTO140
    N120 #4=
#4+#2
    N130 GOTO30
    N140 IF[#54GE#26]
GOTO180
    N150 #5=
#5+#7
    N160 #4=
#1
    N170 GOTO30
    N180 M99
    另外三个象限程序可继续用O0001程序N40中增设II,Ⅲ,Ⅳ象限的变量,通过旋转来实现,或利用机床镜象功能来实现。

    此程序适用:
    (1)品种多,工艺尺寸变化频繁的零件加工;
    (2)深型腔加工更能体现它的效率;
    应用特点:
    (1)相类似的工件,只需修改相应参数量,即可满足加工要求,不易出错。
    (2)程序简单,易于修改,分析与调整。
    (3)程序切削部分与空运行部分进给量易于区分,可节约大量加工时间,提高工作效率。
    2.2 经济:本公司在实际生产中常常有各式各样带斜面型腔零件如图2,此类零件结构相似,但品种多数量少,斜面角度变化不定,按常规加工方法,往往采用成形刀加工。但零件品种多,所以成形刀需要量很大,订做一把成形铣刀要比普通铣刀费用高出2~3倍,为了降低加工成本减化管理程序,应用宏程序加工,此类问题即可解决。
模具零件的加工宏程序如下:
    O0003
    N10 G90G54M03S2000
    N20 Z100
    N30 G65P0004A(
上端宽度#1)B(下端宽度#2)Z(总深度#26)J(每刀切削深度#5)S(内圆直径#19)R(外圆直径#18)D(刀具直径#7)
    N40 G68X0Y0R180
    N50 G65P0004A(上端宽度#1)B(上端宽度#2)Z(总深度#26)J(每刀切削深度#5)S(内圆直径#19)R(外圆直径#18)D(刀具直径
#7)
    N60 G69Z100
    N70 M05
    N80 M30
    O0004
    N10 #6=0(#6预设一个初始值为
0)
    N20 #3=[#1-#2]
/2/#26
    N30 #4=
#1/2
    N40 G01X[#19/2-#7]
Y0F8000
    N50 Z-#6F5000
    N60 G17G42D01Y#4F120
    N70 X[#18/2+#7]

    N80 Y-#4F5000
    N90 X
[#19/2-#7]F120
    N100 IF[#6GE[#26-#5]]GOTO140(防止#26/#5不能整除
)
    N110 #6=
#6+#5
    N120 #4=
#1/2-#3*#6
    N130 GOTO40
    N140 IF[#6GE#26]
GOTO180
    N150 #6=
#26
    N160 #4=
#1/2-#3*#6
    N170 GOTO40
    N180 G00G40X0Y0
    N190 M99
    应用特点:

    1)无需成形刀,一把刀可加工各种斜率的斜面。
    2)形位公差能够保证。由于成形刀相对误差比较大,无法同时满足斜面上下端尺寸,也给测量带来极大不便,宏程序中零件斜率是由机床精度保证的,操作者只需用块规或其它量具测量成形尺寸的一端,即可满足工艺要求。
    3)加工粗糙度调整方便,只需修改切削深度,可达到工艺要求。
     2.3 应用范围广:宏程序还可以应用到数控加工的其它环节。例如它可对刀具长度补偿(H),刀具半径裣(D),进给量(F),主轴转速(S),G代码,M代码等进行设置,也能有效提高加工效率。如图3零件,用宏程序中系统变量编制加工零件孔系,则十分简捷方便。
    模具零件的加工宏程序如下:
    O0005
    N10 G90G92X0Y0Z100
    N20 M03 S1000
    N30 G65 P0006 X(
圆心X坐标#24)Y(圆心Y坐标#25)R(趋近点坐标#18)Z(孔深#26)F(切削进给速度#9)I(圆半径#4)A(第一孔的角度#1)B(增量角#2)H(孔数#11)
    N40 X0Y0
    N50 M30
    O0006
    N10 #3=#4003;(存储03组系统变量G代码
)
    N20 G81 Z#26 R#18 F#9 K0;(钻孔循环
)
    N30 IF[#3 EQ 90]GOTO60;(在G90方式转移到N);

    N40 #24=#5001+#24;(计算圆心的X坐标)
    N50 #25=#5002+#25;(计算圆心的Y坐标
)
    N60 WHILE[#11 GT0]DO1;(直到剩余孔数为
0)
    N70 #5=#24+#4*COS[#1],(计算X轴上的孔位
)
    N80 #6=#25+#4*SIN[#1],(计算Y轴上的孔位
)
    N90 G90X#5 Y#6;(移动到目标位置之后执行钻孔
)
    N100 #1=#1+#2;(更新角度
)
    N110 #11=#11-1;(孔数
-1)
    N120 END1;

    N130 G#3 G80;(返回到原始状态的G代码)
    N140 M99;

   
3 结束语:
    本文是笔者对宏程序在实际应用中的几个小例子,不难看出,要灵活恰当应用宏程序,有以下几点必须清楚。首先要对所加工的工件有一个整体认识。其次要熟练掌握机床的各种基本功能(例如:镜象,旋转,极坐标等)。最后要掌握宏程序的编程原理,编程格式及变量应用,就能解决实际加工中各种有规则几何形状的工件(例如:铣大平面,斜面,深型腔,放射槽,钻排孔,镗孔等)。我们经过多年实践,在实际加工中应用宏程序,使程序编制简单化,且通用性强,也使刀具品种,费用显著降低,取得了良好的生产效益和加工成果。

[ 本帖最后由 美雅破浪 于 2008-1-9 08:56 编辑 ]

FUNNC用 户 宏 程 序.rar

9.97 KB, 下载次数: 93, 下载积分: 华币 -1

评分

1

查看全部评分

发表于 2008-2-23 14:18:18 | 显示全部楼层
好文章 不错! 呵呵说的很细.
发表于 2008-11-9 19:08:23 | 显示全部楼层
学习学习,感谢分享
发表于 2009-2-7 20:49:00 | 显示全部楼层
-
学习学习,
发表于 2009-2-23 20:05:58 | 显示全部楼层
谢谢,楼主分享
发表于 2009-2-28 11:19:05 | 显示全部楼层
好!不错!
发表于 2009-4-10 16:39:18 | 显示全部楼层
谢谢分享。
发表于 2009-4-18 02:11:47 | 显示全部楼层
看看...
发表于 2015-5-12 12:09:06 | 显示全部楼层
这个学习资料好啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

本站无意传播任何侵权软件与信息,部分资源为网友搜集或发布,仅供学习和研究使用,请支持正版。站内所发布的资源,如有侵犯你的权益,请联系我们,本站将立即改正或删除。

QQ|Archiver|手机版|小黑屋|联系我们|中华设计论坛 ( 苏ICP备20023187号-1

GMT+8, 2024-9-20 09:34

Powered by Discuz! X3.5

© 2006-2024 Daliang Team.

快速回复 返回顶部 返回列表