QQ登录

只需一步,快速开始

快捷登录

登录 或者 注册 请先

UG爱好者

查看: 10731|回复: 23
打印 上一主题 下一主题

[原创] 磨损补偿,刀具寿命管理,宏程序在简单,大批量产品(内加工)加工的应用实例,求精

[复制链接]

少校

Rank: 6Rank: 6

12

主题

432

帖子

8183

积分
跳转到指定楼层
楼主
发表于 2015-1-10 22:43:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
先介绍一下产品,6个厚的Q235板,如图

加工6个直径12孔公差0到11丝
2个48孔,1个18孔,1个24孔,1个28孔,1个38孔,公差各正6.3丝
冷却方式:吹气
工步:
1. 11.7钻头钻上面所有孔位,不点孔
2.16R0.8铣刀粗加工第二排文字所写的6个孔
3.12硬质合金两刃铣刀,镗6个直径12孔 , (方法,使用ER夹头,单边垫张厚度0.04纸张,夹紧后加工,第一个孔+0.10 1300个孔后+0.05,把刀松开垫在对面,再加工1300个孔,然后线切割割去刀具一段,磨刀再加工)
4.12硬质合金两刃铣刀光工步2的6个孔


我进厂前程序是手工编的,用子程序,存在问题: 可能因为气冷的原因,16R0.8铣刀粗加工后的尺寸变化大,导致工步4光刀后的尺寸不稳定(让刀),5到6件产品就得改尺寸,也没在半径补偿,我到现在也没发现有几个人会用半径补偿,改尺寸改错导致报废的也时有发生,16R0.8铣刀换刀片后,工步4的尺寸又得重新调整
工具3原来是两个工步,因为没有镗刀,原来8的铣刀螺旋开粗后用10的铣刀光刀,因为麻烦,所以我进厂之前人都跑光了


为了减少自己的劳动量,变智力劳动为纯体力劳动,我用心研究一下,准备用参数化编程来一次性解决上面的问题
程序介绍在二楼


以下可以不看,
参数化编程的概念可以参考UG的参数化建模,像G81,G82这样的固定循环就是,打个比方,你铣个长多少宽多少,高多少的立方体, 编程直接用宏程序做好铣立方体的宏程序,调用时输长多少宽多少深多少这样的方式就是了
版权声明  
本人声明此帖为本人原创帖,未经允许,不得转载!

有奖推广贴子: 

回复

使用道具 举报

少校

Rank: 6Rank: 6

12

主题

432

帖子

8183

积分
推荐
 楼主| 发表于 2015-1-10 22:44:42 | 只看该作者
程序头
(-----------)
(11.7ZT #508)
#5=120.( SEZI)
IF[#508GE#5]THEN#3000=1( MO 10 ZUANDOU)
(16R0.8 #509)
#5=40.( SEZI)
IF[#509GE#5]THEN#3000=2( D16R0.8 HUAN DAO PIAI)
( 12JT #512)
#5=180.( SEZI)
IF[#510GE#5]THEN#3000=3( MO 12JT)
刀具寿命管理,#5是计数器
加工数量到达后报警,要求换刀片或磨刀
IF[#508GE#5]THEN#3000=1( MO 10 ZUANDOU) 这一行10应为11.7钻头,原来是10的钻头,没改

回复 支持 1 反对 0

使用道具 举报

少校

Rank: 6Rank: 6

12

主题

432

帖子

8183

积分
沙发
 楼主| 发表于 2015-1-10 22:44:21 | 只看该作者
产品主程序,程序分工步介绍在3楼
%
O0021
(CTB V2 2015/1/8)
(8 RS.150.341 OR 342)
(-----------)
(11.7ZT #508)
#5=120.( SEZI)
IF[#508GE#5]THEN#3000=1( MO 10 ZUANDOU)
(16R0.8 #509)
#5=40.( SEZI)
IF[#509GE#5]THEN#3000=2( D16R0.8 HUAN DAO PIAI)
( 12JT #512)
#5=180.( SEZI)
IF[#510GE#5]THEN#3000=3( MO 12JT)
(-----------)
( 11.7ZT #508)
G91G28Z0.
M6T1
T2
G0G90G54X-35.Y-17.M3S700
G43H1Z80.M09
G98G73Z-11.5Q4.R2.F150.
(24)
X-21.Y-45.
(12)
X-15.Y-68.
X-140.Y-20.
(28)
X-135.Y-55.
(18)
X-155.Y-95.
(12)
X-174.Y-106.
(38)
X-200.Y-90.
(48)
X-245.Y-50.
X-309.5Y-65.
(12)
X-321.Y-106.
X-346.Y-17.
G80
M5
M9
#508=#508+1.
G91G28Z0.
M01
( D16 R0.8 #509)
M6T2
T7
G0G90G54X-309.5Y-65.M3S1800
G43H2Z80.M09
(-----)
#3=16.40( D)
#4=0.0035(MOSUN)
#5=-8.5( Z)
(------)
IF[#4GE0.01]THEN#3000=5
#2=#3-#509*#4
G65P2345A48.07B32.C1.D#2R3.H1.Z#5Q0.4F2000.X-309.5Y-65.
G65P2345A48.09B32.C1.D#2R3.H0.5Z#5Q0.4F2500.X-245.Y-50.
G65P2345A38.09C1.D#2R3.H0.5Z#5Q0.4F2400.X-200.Y-90.
G65P2345A18.12C1.D#2R3.H0.5Z#5Q0.3F1100.X-155.Y-95.
G65P2345A28.12C1.D#2R3.H0.5Z#5Q0.5F2300.X-135.Y-55.
G65P2345A24.17C1.D#2R3.H1.Z#5Q0.5X-21.Y-45.
M5
M09
#509=#509+1.
G91G28Z0.Y0.
M01
(12JT #512)
M6T7
T5
(12)
G0G90G54X-15.Y-68.M3S1000
G43H7Z80.M09
G98G81Z-8.5R1.P1000F120.
X-35.Y-17.
X-140.Y-20.
X-174.Y-106.
X-321.Y-106.
X-346.Y-17.
M9
M5
G91G28G0Z0.Y0.
#512=#512+1.
M00
( D12 J)
M6T5
T1
G0G90G54X-309.5Y-65.M3S2000
G43H5Z80.M09
(------)
#3=11.98( D)
#4=0.0003(MOSUN)
#5=-8.( Z)
(------)
IF[#4GE0.001]THEN#3000=5
#2=#3-#511*#4
F500
( D48)
G65P2345A48.10C4.D#2R-5.H0.5Z#5X-309.5Y-65.
G65P2345A48.11C4.D#2R-5.H0.5Z#5X-245.Y-50.
( D38)
G65P2345A38.11C4.D#2R-5.H0.5Z#5X-200.Y-90.
( D18)
G65P2345A18.11C4.D#2R-5.H0.5Z#5X-155.Y-95.
( D28)
G65P2345A28.11C4.D#2R-5.H0.5Z#5X-135.Y-55.
( D24)
G65P2345A24.11C4.D#2R-5.H0.5Z#5X-21.Y-45.
#511=#511+1.
M5
M09
G91G28Z0.Y0.
G0G90X-150.
M01
M6T1
#501=#501+1.
#513=#513+1.
M30
%
回复 支持 反对

使用道具 举报

少校

Rank: 6Rank: 6

12

主题

432

帖子

8183

积分
地板
 楼主| 发表于 2015-1-10 22:45:07 | 只看该作者
工步1钻头不说明了,工步2 16R0.8铣刀
( D16 R0.8 #509)
M6T2
T7
G0G90G54X-309.5Y-65.M3S1800
G43H2Z80.M09
(-----)
#3=16.40( D) 刀具直径补偿
#4=0.0035(MOSUN) 刀具自动磨损补偿因子
#5=-8.5( Z)
(------)
IF[#4GE0.01]THEN#3000=5 保险,防输错
#2=#3-#509*#4 根据刀具直径补偿和磨损补偿以及加工数量求得的实际刀具直径
以下为宏程序调用,也就是上面的说的参数化编程,
G65P2345A48.07B32.C1.D#2R3.H1.Z#5Q0.4F2000.X-309.5Y-65.
G65P2345A48.09B32.C1.D#2R3.H0.5Z#5Q0.4F2500.X-245.Y-50.
G65P2345A38.09C1.D#2R3.H0.5Z#5Q0.4F2400.X-200.Y-90.
G65P2345A18.12C1.D#2R3.H0.5Z#5Q0.3F1100.X-155.Y-95.
G65P2345A28.12C1.D#2R3.H0.5Z#5Q0.5F2300.X-135.Y-55.
G65P2345A24.17C1.D#2R3.H1.Z#5Q0.5X-21.Y-45.
M5
M09
#509=#509+1. 计数器,本刀具加工数量加1 #509在换刀片后手工清零,不清零程序报警
G91G28Z0.Y0.
M01
计数器和磨损补偿因子的存在使16R0.8铣刀开粗的尺寸达到稳定
工步4就不介绍了,与工具2类似,下一楼介绍宏子程序的调用格式及功能
回复 支持 反对

使用道具 举报

少校

Rank: 6Rank: 6

12

主题

432

帖子

8183

积分
5#
 楼主| 发表于 2015-1-10 22:45:28 | 只看该作者
G65 P2345 A B C D R H Z Q X Y F
C模式
C1 螺旋下刀,不光底 G65 PXXXX ABCDRHZQXYF
C2 光刀,一刀 G65 PXXXX ACDRZXYF
C3 分层下刀, 不光底 G65 PXXXX ACDRHZQXYF
C4 Z抬高1MM,螺旋0.5光两刀 G65 PXXXX ACDRZXYF
C5 螺旋下刀,光底 G65 PXXXX ABCDRHZQXYF
C6 T型刀模式,绕圈 G65 PXXXX ABCDRZQXYF
A B参数,A加工大孔,B加工小孔,针对需要分两次加工完的模式,如C1,C5,,,对于C6模式来说,B参数为起始加工直径
D为刀具直径
R为最小安全平面
H为进刀点
Z为深度
Q为吃刀量
XY为孔中心点坐标
F为进给


求大神做个UG8.5螺旋铣后处理,直接生成以上的宏程序
回复 支持 反对

使用道具 举报

少校

Rank: 6Rank: 6

12

主题

432

帖子

8183

积分
6#
 楼主| 发表于 2015-1-10 22:45:50 | 只看该作者
下面的M00实为M99,但M99只能传入机床一段,余下的为传入另外一个程序,只好用M00代替了,传入机床后再改为M99,程序第一段有中文说明的为规则,约束操机者的行为,防止程序出错,我认为建立规则是宏程序里很重很重的一部分
%
O2345( XI YUAN 2013/06/14)
( A B C D R H Z Q X Y F)
(---------)
IF[#1LE0.] THEN #3000=1(A ERROR) A参数不能小于等于0
IF[#2LT0.] THEN #3000=2(B ERROR) B参数不能小于等于0
IF[#2GE#1] THEN #3000=2(B ERROR) B参数不能大于等于A
IF[#7GE#1] THEN #3000=3(D ERROR) D参数不能大于等于A
IF[#18EQ#0] THEN #3000=4(R ERROR) R参数不能为空
IF[#26EQ#0]THEN #3000=5(Z ERROR) Z参数不能为空
IF[#24EQ#0]THEN#24=#5001 如果X为空则X为当前MCS值X
IF[#25EQ#0]THEN#25=#5002 如果Y为空则Y为当前MCS值Y
IF[#11EQ#0]THEN#11=#18 如果H参数值为空则H参数等于R
IF[#11GT#18]THEN#11=#18 如果H参数大于R则H参数等于R
IF[#26GT#11]THEN#26=#11 如果Z参数于等H则Z参数等于H
IF[#9EQ#0]THEN#9=#4109 如果F参数为空则F参数等于当前模态F值
#17=ABS[#17] Q值为绝对值
#6=#5003 #6为当前MCS Z值
#100=[#1-#7]/2 #100为(A-D)/2
#101=[#2-#7]/2 #101为(B-D)/2
#102=#24+#101 #102为X+#101
#103=#24+#100 #103为X+#100
(---------) 模式选择
IF[#3EQ1.]GOTO1
IF[#3EQ2.]GOTO3
IF[#3EQ3.]GOTO6
IF[#3EQ4.]GOTO7
IF[#3EQ5.]GOTO9
IF[#3EQ6.]GOTO11
#3000=6( C ERROR)
N1
( --- C1---)
(ABCDRHZQXYF)
IF[#17EQ0.]THEN #3000=7(Q ERROR)
IF[#2EQ#0]GOTO2
IF[#7GE#2]THEN #3000=2(B ERROR)
(B)
G0G90X#102Y#25
Z#18
#104=#11
G01Z#104F[#9/8]
WHILE[#104GE#26]DO1
#104=#104-#17
G03I-#101Z#104F#9
END1
G91G01X-0.1
G0G90Z#18
(A)
N2G0G90X#103Y#25
Z#18
#104=#11
G01Z#104F[#9/8]
WHILE[#104GE#26]DO2
#104=#104-#17
G03I-#100Z#104F#9
END2
G91G01X-0.1
G0G90Z#6
M00
N3
(--- C2---)
(ACDRZXYF)
IF[#100GT2.]THEN#24=#24+#100-2.
#106=#100/2.
IF[#100GT2.]THEN#106=1.
G0G90X#24Y#25
Z#18
G01Z#26F[#9/2]
G03X#103Y#25R#106F#9
G03I-#100
G01G91X-0.1
G0G90Z#6
M00
N6
(---C3---)
(ACDRHZQXYF)
IF[#17EQ0.]THEN #3000=7(Q ERROR)
G0G90X#24Y#25
Z#18
#104=#11
G01Z#104F#9
WHILE[#104GE#26]DO2
G01Z#104F[#9/3]
G03X#103Y#25R[#100/2]F#9
G03I-#100
G03X#24Y#25R[#100/2]
#104=#104-#17
END2
G0G90Z#6
M00
N7
(---C4---)
(ACDRZXYF)
IF[#100GT2.]THEN#24=#24+#100-2.
#106=#100/2.
IF[#100GT2.]THEN#106=1.
G0G90X#24Y#25
Z#18
G01Z[#26+1.]F[#9/2]
G03X#103Y#25R#106F#9
G91
G03I-#100Z-0.5
G03I-#100Z-0.5
G01G91X-0.1
G0G90Z#6
M00
N9
(---C5---)
(ABCDRHZQXYF)
IF[#17EQ0.]THEN #3000=7(Q ERROR)
IF[#2EQ#0]GOTO8
IF[#7GE#2]THEN #3000=3(D ERROR)
(B)
G0G90X#102Y#25
Z#18
#104=#11
G01Z#104F[#9/8]
WHILE[#104 NE#26]DO1
#104=#104-#17
IF[#104 LT #26] THEN #104=#26
G03I-#101Z#104F#9
END1
G03I-#101 F[#9/2]
G91G01X-0.1
G0G90Z#18
(A)
N8G0G90X#103Y#25
Z#18
#104=#11
G01Z#104F[#9/8]
WHILE[#104 NE#26]DO2
#104=#104-#17
IF[#104 LT #26] THEN #104=#26
G03I-#100Z#104F#9
END2
G03I-#100 F[#9/2]
G91G01X-0.1
G0G90Z#6
F#9
M00
N11
(---C6---)
(ABCDRZQXYF)
IF[#17EQ0.]THEN #3000=7(Q ERROR)
IF[#2EQ#0]THEN #3000=2(B ERROR)
G0G90X#24Y#25
Z#18
#104=#101
G01Z#26F#9
#107=#9
WHILE[#104 NE#100]DO2
#104=#104+#17
IF[#104 GT #100] THEN#104=#100
#105=#24+#104
IF[#104 EQ #100] THEN#107=#107/2
F#107
G03X#105Y#25R[#104/2]
G03I-#104
G03X#24Y#25R[#104/2]
END2
G0G90Z#6
F#9
M00
N119#3000=1( ERROR)
%
回复 支持 反对

使用道具 举报

少校

Rank: 6Rank: 6

12

主题

432

帖子

8183

积分
7#
 楼主| 发表于 2015-1-10 22:46:27 | 只看该作者
结束语,经过二年的实际加工检测,使用非常舒服,整批产品上千件几乎不用改尺寸(实际加工过程中还是要改的,因为孔变小可以返修,变大就报废,所以我的磨损补偿因子稍稍改小了一点)
装工件,按启动,报警的话看一下信息,如果显示要更换刀具,就换一下备用刀具,加工,拆产品,再装夹,二年后,我觉得好像手工编程不太会了,不过我的UG电脑编程的水平大大提高了
回复 支持 反对

使用道具 举报

上尉

Rank: 6Rank: 6

0

主题

36

帖子

5777

积分
8#
发表于 2015-1-11 08:06:48 | 只看该作者
版主
功夫不负有心人。值得学习。谢谢。
回复 支持 反对

使用道具 举报

二级士官

Rank: 2

0

主题

102

帖子

286

积分
9#
发表于 2015-6-23 22:05:28 | 只看该作者
谢谢师傅。
回复 支持 反对

使用道具 举报

六级士官

Rank: 4

4

主题

179

帖子

1060

积分
10#
发表于 2015-6-26 10:48:53 | 只看该作者
简单问题复杂化了。
回复 支持 反对

使用道具 举报

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

本版积分规则

 
 
QQ:1359218528
工作时间:
9:00-17:00
 
微信公众号
手机APP
机械社区
微信小程序

手机版|UG爱好者论坛 ( 京ICP备10217105号-2 )    论坛管理员QQ:1359218528

本站信息均由会员发表,不代表本网站立场,如侵犯了您的权利请联系管理员,邮箱:1359218528@qq.com  

Powered by UG爱好者 X3.2  © 2001-2014 Comsenz Inc. GMT+8, 2024-11-23 20:10

返回顶部