2024年5月28日发(作者:第禾)
浅谈西门子程序结束指令
对于NC加工程序,在程序结尾必须要有一个结束指令,如M30、M2、M17等。本
期就给大家说说西门子系统NC编程中都有哪些结束指令以及它们的区别是什么? 下面就
来详细介绍:M2/M30: 程序结束指令,用于主程序结束。M17: 子程序结束指令。(类似
于ISO编程中常使用的M99指令)M32: 用于程序结束,与M30类似,但当主轴参数
MD35040=2时,程序遇到M32后,主轴不停,保持原先的运行状态。RET: 用于子程序
返回。 M2与M30指令功能基本一样,都用于主程序结束。西门子系统中,一个主程序
也可以作为子程序被调用(如图1),此时,主程序中设置的程序结束 M30 作为 M17 (程
序结束,返回到调用的程序) 使用,反之亦然,如果M17在主程序中,其作用与M2/M30
相同。图1
M17和RET指令都用于子程序返回,他们的区别是什么呢?RET必须单独一行书写,
而M17可以与其他指令同行书写。当M17单行书写时,如下所示,当子程序结束返回主
程序将会中断连续路径运行的状态,这就是为什么当子程序结束时会有停顿的感觉的原因。
N10 G64 F2000 G91 X10 Y10 N20 X10 Z10 N30 M17当M17与其它指
令同行书写时,也可保持之前的连续路径运行状态。 N10 G64 F2000 G91 X10 Y10
N20 X10 Z10 M17RET只能使用在子程序当中,而且在该子程序定义没有使用“SAVE”
指令情况下, 可用于不打断G64(G641/G642…)连续路径状态的应用,并且没有输出到
PLC的接口信号。
【知识扩展】RET指令可用于设定参数的子程序返回。格式如下:RET (, ,
, )比如想子程序结束返回到主程序中的某一段,或者进行带嵌套的跳转。具体使用示
例如下:例1,如下图2,程序中RET('N200',0)说明子程序结束返回主程序的N200
这一段。(本功能类似ISO编程中的M99 PXXXX)
图2
例2,如下图3,程序中RET('N210',1)说明子程序结束返回主程序的N220这一
段,第二个形参不为0,即从标签程序段N210之后的程序段N220开始执行。图3例3,
如下图4,程序中RET('N220',,2)说明子程序结束返回到上两级嵌套程序的N220这一
段。
图4
2024年5月28日发(作者:第禾)
浅谈西门子程序结束指令
对于NC加工程序,在程序结尾必须要有一个结束指令,如M30、M2、M17等。本
期就给大家说说西门子系统NC编程中都有哪些结束指令以及它们的区别是什么? 下面就
来详细介绍:M2/M30: 程序结束指令,用于主程序结束。M17: 子程序结束指令。(类似
于ISO编程中常使用的M99指令)M32: 用于程序结束,与M30类似,但当主轴参数
MD35040=2时,程序遇到M32后,主轴不停,保持原先的运行状态。RET: 用于子程序
返回。 M2与M30指令功能基本一样,都用于主程序结束。西门子系统中,一个主程序
也可以作为子程序被调用(如图1),此时,主程序中设置的程序结束 M30 作为 M17 (程
序结束,返回到调用的程序) 使用,反之亦然,如果M17在主程序中,其作用与M2/M30
相同。图1
M17和RET指令都用于子程序返回,他们的区别是什么呢?RET必须单独一行书写,
而M17可以与其他指令同行书写。当M17单行书写时,如下所示,当子程序结束返回主
程序将会中断连续路径运行的状态,这就是为什么当子程序结束时会有停顿的感觉的原因。
N10 G64 F2000 G91 X10 Y10 N20 X10 Z10 N30 M17当M17与其它指
令同行书写时,也可保持之前的连续路径运行状态。 N10 G64 F2000 G91 X10 Y10
N20 X10 Z10 M17RET只能使用在子程序当中,而且在该子程序定义没有使用“SAVE”
指令情况下, 可用于不打断G64(G641/G642…)连续路径状态的应用,并且没有输出到
PLC的接口信号。
【知识扩展】RET指令可用于设定参数的子程序返回。格式如下:RET (, ,
, )比如想子程序结束返回到主程序中的某一段,或者进行带嵌套的跳转。具体使用示
例如下:例1,如下图2,程序中RET('N200',0)说明子程序结束返回主程序的N200
这一段。(本功能类似ISO编程中的M99 PXXXX)
图2
例2,如下图3,程序中RET('N210',1)说明子程序结束返回主程序的N220这一
段,第二个形参不为0,即从标签程序段N210之后的程序段N220开始执行。图3例3,
如下图4,程序中RET('N220',,2)说明子程序结束返回到上两级嵌套程序的N220这一
段。
图4