用M99实现循环,跳转和返回
通常我们见到的 M99都出现在子程序的结尾,用来结束子程序并返回到主程序。
但 M99这个代码的功能远不止如此。
除了我们常见的返回主程序的功能, M99可以实现 循环 和 跳转 功能。
在自动化加工时,我们可以利用机器人或者送料机保持机器的持续加工状态,实现 "熄灯工厂 "。
当操作人员准备好了原料,机器人会根据程序的设定及时的进行原料和半成品的装卸工作。因为这个动作是重复性的,所以我们的加工程序也需要重复的执行,自动的打开机床的防护门,等待加工材料的装卸,自动的关上防护门,重新执行加工代码 ……
这时,我们就会用到 M99的循环功能。是否再次执行加工代码,需要等待机器人或者送料机的信号。
根据原材料在送料机或者机器人中的设定,一旦托盘或者送料机处于待料状态,这个加工程序将会有条件的停止,而不是无限循环执行。
M99用在主程序的结尾,会让整个加工程序循环执行;
用在子程序的结尾,则会返回到主程序。
在使用 M99的跳转功能前,有一点要特别提醒:
*不要使用重复的行号 *
不管是利用 GOTOnnnn还是 M99 Pnnnn,都会无条件的跳转到 Nnnnn这一行上。一旦程序里出现多个 Nnnnn行,控制系统将会跳转到它们中的任意一行上,这对加工来说非常危险,所以设置独一无二的行号非常重要。
要跳过大量的代码我们会用到跳转功能,如果我只想跳过程序里的几行代码,我该怎么办?