1. 首页
  2. 技术文章

西门子 | 浅谈西门子程序结束指令

对于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数控技术应用】,仅供大家学习交流,如侵权请联系站长删文。

发表评论

登录后才能评论

联系我们

在线咨询:点击这里给我发消息

联系微信:QQ594673193

联系邮箱:594673193@qq.com

工作时间:08:00~20:00

QR code