加工中心简单宏程序高手指点。

g40g80g90g54;
m03s600;
g00x0y0;
g00z5;
g01z0f100;
#1=0;#2=-30;
while[#1 GT #2]D1;
#1=#1-0.2;
g01x-30z#1f100;
g01x30f100;
if [#1 LE #2] then #1=#2;
END1;
g00z100;
m30;
这个程序有错没?

这是一个铣边的程序。总深度-30。每刀铣0.2
这段程序意思是。
#1=0;#2=-30; #1为下刀起始Z点 #2为总深度
while[#1 GT #2]D1; 当#1大于#2的时候执行下面程序循环段
#1=#1-0.2; #1每次自减0.2 就是每次下降0.2
g01x-30z#1f100;
g01x30f100; 然后来回走一条线
if [#1 LE #2] then #1=#2 如果当#1自减到小于等于#2. 赋予#1的值等于#2,循环结束
这样满意吗
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-18
不知道你说的是哪一种数控系统,不过根据我所接触的各种国内外数控系统的经验,局部变量在断电与复位后会自动清空。如果你想手动清空,请注意一定不能在NC程序运行的时候执行。给你做一个小小的程序,以FANUC系统为例:
O1000
#1=1
WHILE[#1LE33]DO1
#[#1]=#0
#1=#1+1
END1
#1=#0
M99
你尝试一下。有问题或者还有疑问的话请加QQ:1079327522
相似回答