发布于 2008-09-21 00:35:47
0楼
啃了几天书,又折腾了好几天终于编了一个能实现该功能的程序如下,经空车试运行发现虽然可实现该功能,但还是有点小缺陷仍无法解决,就是有时功丝无法达到设定深度。具体为如果程序段N39 中R1/(2*R2-R2/2)运算结果为整数的话则程序正常能攻到设定深度,如果结果为小数则功丝无法达到设定深度,比如攻丝总深度设为R1=30 的话则正常,而如果攻丝总深度设为R1=29 的话R1/(2*R2-R2/2)运算结果为4.8333则实际攻丝深度只能攻到-24mm攻丝就结束了,有5mm攻不到位。如何解决???哪位高手给指点指点
N10 GEOAX()
N11 M41
N12 G0 G90 G54 W0
N13 X=76.266 Y=31.591
N14 REPEAT AA2 END
N15 G0 X=31.591 Y=76.266
N16 REPEAT AA2 END
N17 X=-31.591 Y=76.266
N18 REPEAT AA2 END
N19 X=-76.266 Y=31.591
N20 REPEAT AA2 END
N21 X=-76.266 Y=-31.591
N22 REPEAT AA2 END
N23 X=-31.591 Y=-76.266
N24 REPEAT AA2 END
N25 X=31.591 Y=-76.266
N26 REPEAT AA2 END
N27 X=76.266 Y=-31.591
N28 AA1:
N29 AA2:
N30 R1=30 ; 攻丝总深度
N31 R2=4 ; 螺距
N32 R3=1
N33 SPOS=0
N34 Z2
N35 AA3: G331 Z=IC(-2*R2) K=R2 S40 ; 每次攻深量(正转两转)
N36 G4 F1
N37 ENDAA1: G332 Z=IC(R2/2) K=R2 S40 ; 每次回退量(反转半转)
N38 R3=R3+1
N39 IF R3<=R1/(2*R2-R2/2) GOTOB AA3
N40 G332 Z=2 K=R2 S50
N41 G0 Z50
N42 ENDAA2: Z50 M30