为什么发那科车床宏程序格式错误啊 WHILE[ #3 GE 0] DO1;

G50 X100 Z200;
T0101;
G95 G0 X41 Z2 M03 S800;
G1 Z-100 F0.3; 粗加工开始
G0 X42;
Z2;
#1=20*20*4; 4a2
#2=60; b
#3=35 ; X初值(直径值)
WHILE[ #3 GE 0] DO1; 粗加工控制
#4=#2*SQRT[1-#3*#3/#1]; Z
G0 X[#3+1] ; 进刀
G1 Z[#4-60+0.2] F0.3; 切削
G0 U1; 退刀
Z2; 返回
#3=#3-7; 下一刀切削直径
END1;
#10=0.8; x向精加工余量
#11=0.1; z向精加工余量
WHILE[ #10 LE 0] DO1; 半精、精加工控制
G0 X0 S1500; 进刀,准备精加工
#20=0 ; 角度初值
WHILE [#20 LE 90] DO2; 曲线加工
#3=2*20*SIN[#20]; X
#4=60*COS[#20]; Z
G1 X[#3+#10] Z[#4+#11] F0.1;
#20=#20+1;
END2;
G1 Z-100;
G0 X45 Z2;
#10=#10-0.8;
#11=#11-0.1;
END1;
G0 X100 Z200 T0100;
M30;

首先你的程序中出现了两个DO1,DO后面可以跟1,2,3,尽量不要重复,你试试不重复do有没有改善,还有一个你看看你的程序输入机器中的括号是中括号[ ],还是圆括号(),若是圆括号肯定会报警格式错误,要改参数。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-04
首先,机床的报警都是格式的错误或者语法错误,数据有问题一般不会报警的,我看你的程序没有什么问题,你是不是用的模拟软件,模拟软件不靠谱,报警太多。在机床上应该不会报警
还有一点就是你的粗加工坐标原点在椭圆最右的端点上而精加工坐标原点在椭圆的中心这个不对吧
第2个回答  2013-09-04
#4=#2*SQRT[1-#3*#3/#1]; 这是嘛意思?看不懂。。
相似回答