数控车床椭圆宏程序编程,程序即将走到终点时出现“引数指定错误”报警提示,这是为什么,谢谢!

椭圆长半轴为60(Z向),短半轴为20.(X方向)
程序(FANUC系统):G0 X45. Z2.;
X0.;
G1 Z0.;
#1=0;
#2=60;
WHILE[#1LE20}DO1;
G1X{#1*2]Z[#2-60]F0.3;
#1=#1+0.1;
#2=60/20*SQRT[20*20-#1*#1];
END1;
G1 Z-90.;
G0 X100. Z100.;
M5;
M30;

第1个回答  2011-07-02
#2=60/20*SQRT[20*20-#1*#1];
方程换算错了吧
#2=SQRT[400-#1*#1/9]
或者也可以写成#2=400*SQRT[1-#1*#1/3600]
你也可以用参数方程追问

长半轴是60短半轴是20

第2个回答  2011-07-09
来做个极限测试:#1=0 60/20*SQRT[20*20]=60/400 Z=0.15
#1=20 60/20*SQRT[400-400]=60/20 Z=3
最终结果是 当#1=0时Z=0.15-60=-59.85
当#1=20时Z=3-60=-57.0
怎么看都是错的!
第3个回答  2011-07-06
你变量改成#1小于等于60,#2=20。然后x#2 z#1 。干出来光滑