千江月影 发表于 2014-9-25 17:16:48

矩阵等距孔加工宏程序

本帖最后由 千江月影 于 2014-9-25 19:07 编辑

这是我在12年编的矩阵等距孔加工宏程序,可以进行=G81,G82,G83,G76,G84的孔加工,在现在看算法还是有不足,希望大家来看看,发表一下意见

%
O8080(MATRIX EQUIDISTANT HOLE DRILLING)
(DATE=2012/07/31)
(NAME=XU YI)
(REV=1)
(MACHINE=FANUC 31I)
(USE MACRO #620-#625)
GOTO1
(CORD EXPLAIN)
(X =COORDINATEX)
(Y =COORDINATE Y)
(I =X HOLE NUMBER)
(J =Y HOLE NUMBER)
(W =X HOLE DISTANCE)
(H =Y HOLE DISANCE)
(C =G81,G82,G83,G76,G84)
(R =PROCESSING STARTING POINT)
(Z =WORKING DEPTH)
(Q =EACH LAYER CUTTING )
(T =PAUSE TIME)
(S =SPEED)
N1
IF[#2EQ#0]THEN#3000=1(B NOT HAVE VALUE)
IF[#3EQ#0]THEN#3000=1(C NOT HAVE VALUE)
IF[#11EQ#0]THEN#3000=1(H NOT HAVE VALUE)
IF[#4EQ#0]THEN#3000=1(I NOT HAVE VALUE)
IF[#5EQ#0]THEN#3000=1(J NOT HAVE VALUE)
IF[#18EQ#0]THEN#3000=1(R NOT HAVE VALUE)
IF[#23EQ#0]THEN#3000=1(W NOT HAVE VALUE)
IF[#24EQ#0]THEN#3000=1(X NOT HAVE VALUE)
IF[#25EQ#0]THEN#3000=1(Y NOT HAVE VALUE)
IF[#26EQ#0]THEN#3000=1(Z NOT HAVE VALUE)

G52X#24Y#25(START)
#620=0(X START POINT CLEAN)
#621=0(Y START POINT CLEAN)
#622=0(X START NUMBER CLEAN)
#623=0(Y START NUMBER CLEAN)
#624=#19(S-#19)
#625=#20*1000(T-#20)
(*******************)
IF[#3EQ84]GOTO20(G84)
(*******************)
G0X#620Y#621
Z#2
G98G#3R#18Z#26Q#17P#625K0
N11 WHILE[#622 LT ABS[#4]]DO1
X#620Y#621
#620=#620+#23(X+)
#622=#622+1
END1
#620=#620-#23
#621=#621+#11 (Y+)
#623=#623+1
IF[#623GE ABS[#5]]GOTO50
#622=0
WHILE[#622LT ABS[#4]]DO1
X#620Y#621(X-)
#620=#620-#23(X-)
#622=#622+1
END1
#622=0
#620=#620+#23
#621=#621+#11 (Y+)
#623=#623+1
IF[#623LT ABS[#5]]GOTO11
IF[#623GT ABS[#5]]GOTO50
GOTO50

N20
IF[#19EQ#0]THEN#3000=1(S NOT HAVE VALUE)
G0 X#620 Y#621
Z#2
M29 S#624
G98G#3R#18Z#26Q#17K0
GOTO11

N50G80
N70G52X0Y0Z0(END)
N99999M99
%

若枫 发表于 2014-9-25 17:47:23

回复 1# 千江月影


    这个我只能膜拜啦

haoyuan366 发表于 2014-9-25 20:17:53

厉害···宏程序只能膜拜了

bruceding 发表于 2014-9-27 00:49:04

我是这样的,自动偏置完后,调用子程序,感觉这样好些,灵活可变,很简单的打孔没必要集成到里面,另外还可以一个做一个大板子上干很多一样的小零件,曾经干过一个3m*2m的板子上铣几百个孔的工装,很方便,相互交流:handshake

千江月影 发表于 2014-9-27 08:30:06

回复 4# bruceding


    呵呵,谢谢你把好的程序结构,好的想法写出来。
    关于你的问题,大家对于程序结构的发展方向不同,我的目的:把宏程序模块化,数据统一化。觉得这个钻孔程序不需要这么复杂,但不知道有没有想到如果矩形阵列孔结构是D30的孔径深度50mm,或者M22*1.5的螺纹孔,是不是又需要编一个子程序进行加工,难道大家手只有一个宏程序,没有铣圆,铣螺纹等等的宏程序,难道没有考虑过如何利用这些资源吗?
不可以利用这个程序来计算点位置,箱套铣圆,铣螺纹的宏程序加工。

bruceding 发表于 2014-9-27 12:48:00

:handshake 回复 5# 千江月影

wangdi768 发表于 2014-9-28 11:26:31

我在继续努力

jy0668 发表于 2014-10-7 00:28:46

不错,写得很规范,谢谢分享

fz16899 发表于 2014-10-7 12:37:33

这个我只能膜拜啦

千江月影 发表于 2014-10-27 12:25:37

本帖最后由 千江月影 于 2014-10-27 12:35 编辑

页: [1] 2
查看完整版本: 矩阵等距孔加工宏程序