帮我看看这个加工中心宏程序错在哪里?

O0001
#1=-0.11;
#2=-0.41:
WHILE[#1GE#2] DO1;
G90 G10 L13 P45 R#1;
M01;
G00 G90 B0;
G00 G90 G54 X0 Y0;
G43 H45 Z50.0;
M03 S1000;
Z5.0 M08;
G01 Z-5.0 F2000;
G01 G42 D45 X-19.0 Y0 F20;
G02 I19.0 F40;
G01 G40 X0;
G00 Z5.0 M09;
M05;
G91 G30 Z0;
G91 G30 X0 Y0;
M01;
#1=#1-0.03;
END1;
M00;
第一轮加工时,看到磨损值是-0.11,没错,返回去,读完“G90 G10 L13 P45 R#1;”后,查看磨损值竟然是999.97,这是为什么???
我改动一下程序:
O0002
G00 G90 B0;
G00 G90 G54 X0 Y0;
G43 H45 Z50.0;
M03 S1000;
Z5.0;
#1=-0.11;
#2=-0.41:
WHILE[#1GE#2] DO1;
G90 G10 L13 P45 R#1;
M01;
M08;
G01 Z-5.0 F2000;
G01 G42 D45 X-19.0 Y0 F20;
G02 I19.0 F40;
G01 G40 X0;
G00 Z5.0 ;
#1=#1-0.03;
END1;
M09;
M05;
G91 G30 Z0;
G91 G30 X0 Y0;
M01;
M00;
这样就能正常加工下去。
问,为什么程序O0001错了,错在哪里?

一直都是同一把刀,要把刀具长度补偿放到循环外面,不然循环过程中会发生多次补偿和取消补偿动作,这样子不好。不知道你的刀长是多少,是不是很长啊,你程序里面又没有G49取消长度补偿,第二次走的时候又添加了一次刀长。 记住一把刀停工之前要取消长度补偿。追问

长度补偿并没有影响,读取G43时默认用前面的G90,只是半径磨损补偿L13位置变成999.97

温馨提示:答案为网友推荐,仅供参考
相似回答