下面这个是个用户自己编制的循环,但你知道它的功能吗?
N10 proc mytest(AXIS _myp1=NO_AXIS)
N20 if _myp1<>NO_AXIS
N30 g01 G91 AX[_myp1]=100 F1000
N40 endif
N50 m17
这里对这个小程序做个说明:
N10,带参数循环的写法,其中括号内是参数,这里只有一个参数_myp1,它的类型是AXIS,表示它应该是一根轴的轴名,“=NO_AXIS”是默认参数,这里默认表示没有轴名。当然一般这段程序还会增加其它关键字,用来禁止单段执行、禁止显示等等。
N20,判断_myp1是否不等于“NO_AXIS”,若是表示调用这个循环时,给参数赋值了,那么执行N30,否则执行N50循环结束
N30,让参数指定的轴按增量方式移动100mm
在主程序中,可以调用mytest(X),那么X轴将增量移动100mm
若是执行mytest(Y),那么Y轴将增量移动100mm
如果执行mytest(),则没有轴移动
SINUMERIK为用户编写自己的循环提供了大量的系统变量和NC语句,用户也可以开发特定的循环编程支持画面(就像西门子的标准循环一样),还能将这个用户循环加密。