发布于 2004-11-04 22:20:35
0楼
这个程序我看过了,有点问题。
我不清楚楼主的本意是什么,但是如果楼主的本意是:在X=200 Y=0的那一点为起点走一个FULL圆的话,不应该这么编。
这里不能上图,我无法图示给楼主看。
我的意思是楼主在走圆的前面一步加RND是错误的。
我这样子给你解释:
你加上RND=50以后,其实siemens840D在运动的时候,最后走到的那一点并不是你想要的X=200 Y=0,而是走到了X=194.499 Y=28.338这一点,
走单步的时候,你可以注意一下这一步是不是走到这一点的,你可以验证我计算错了没有(如果错了请原谅,我没有条件给你在设备上验证了,因为最近我辞职了,离开了那个伤心地。)。然后,系统在X=194.499 Y=28.338这一点进行G3 X200 I-200的运动,根据G3的原理知道:这时候做圆是做的以圆心为:X=-5.501 Y=0,终点为:X=200 Y=0 做圆的。
根据作图知道,这样子的话,起点(X=194.499 Y=28.338)并不在以圆心为:X=-5.501 Y=0,终点为:X=200 Y=0 做圆的上,所以,我怀疑是否可以走出你理想中的结果。严重怀疑是否可以走到X=200 Y=0那一点去。
即使是系统走到那一点去了,我怀疑中间的那个插补过程的连贯性和正确性。
呵呵,我也是第一次遇见这种很特殊的情况。
系统走两个圆运动是没有错的,我想这两个圆应该不是相同的,你模拟的显示精度限制,你是看不出区别来的。
这是我对你程序的看法,情况很特殊,看结合实际情况来分析了。
走单步,走慢一点,观察坐标值的变化趋势,再说吧。
不过,如果我是你,我不会这样子写程序的。
我猜想你起初的目的是想圆弧过渡到X200Y0一点进行FULL圆加工吧。不应该你这样子编写的,具体怎么写你可以参考其他人写的程序来看,我
没有时间给你举例子了。
如果是我,我会这样子写的:
...
G54 G17 G90
S300 M3 F200
M8
G111 X0 Y0 ;其实没有必要用极坐标写,将就你的想法吧。
G1 AP=100 RP=0
G3 X200 Y0 CR=180 ;or G3 AP=200 RP=0 CR=180
G3 I-200 J0 ;只给圆心,不给终点,就是自动做FULL圆了
G0 X0 Y0
Z50
Z_MAX
M30
希望是你要的结果了,这种写法其实就是很多螺纹子程序的进到方式写法,根据具体情况来变一下就行了。
祝你调试顺利。