对于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 M17
- RET只能使用在子程序当中,而且在该子程序定义没有使用“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
问答社区 发起问答 报警查询 技术文章 维修服务 资料下载 加交流群 申请 VIP
本文转载来自【公众号:Siemens数控技术应用】,仅供大家学习交流,如侵权请联系站长删文。