cnc加工中心怎么退出子程序

cnc加工中心怎么退出子程序,第1张

在CNC加工中心中,退出程序有两种方式:

使用M99指令:在子程序中添加M99指令,即可退出子程序并返回主程序。例如,您可以在子程序中添加以下代码迹隐,当程序执行到M99指令时,即可退出子程序并返回主程序。

N10 G00 X0 Y0

N20 G01 Z-10 F100

N30 M99

使用M30指令:在子程序中添加M30指令,即可退出子程序并停止程序。例如,您前州巧可以在子程序中添加以下代码,当程序执行到M30指令时,即可退慧键出子程序并停止程序。

N10 G00 X0 Y0

N20 G01 Z-10 F100

N30 M30

需要注意的是,在使用M99指令或M30指令退出子程序之前,需要确保子程序中的所有指令都已经执行完毕,否则可能会导致程序异常退出或者机床出现异常情况。

1、首先新建一个按键精灵脚本,方法很简单。我就不给大闭者辩家演示了。下图是我打开的按键精灵脚本。

2、首先在按键精灵中源文件的输入界面中输入子程序:Sub dzh()End Sub。

3、在子程序里面输轿缺入一个打招呼的命令:MessageBox "你好啊?"。

4、然后在第4行输入调用子程序命令:Call dzh()。

5、单击调试,我们看一下效果。(嫌旅在这里启动程序的快捷键是F10)。

6、按下启动键自动d出子程序里面打招呼的内容。

子程序的调用和返回是一对互逆 *** 作,也是一种特殊的转移 *** 作。

一方面,之所以说是转移,是因为当调用一个子程序时,程序的执行顺序被改变,CPU将转而信哪执行滑念码子程序中的高亮指令序列,在这方面,调用子程序的 *** 作含有转移指令的功能,子程序的返回指令的转移特性与此类似;

另一方面,转移指令是一种“一去不复返”的 *** 作,而当子程序完后,还要求CPU能转而执行调用指令之下的指令,它是一种“有去有回”的 *** 作。

为了满足子程序调用和返回 *** 作的特殊性,在指令系统中设置了相应的特定指令。

调用指令(CALL)

调用子程序指令的格式如下:

CALL 子程序名/Reg/Mem

子程序的调用指令分为近(near)调用和远(far)调用。如果被调用子程序的属性是近的,那么,CALL指令将产生一个近调用,它把该指令之后地址的偏移量(用一个字来表示的)压栈,把被调用子程序入口地址的偏移量送给指令指针寄存器IP即可实现执行程序的转移。近调用指令的堆栈 *** 作.

如果被调用子程序的属性是远的,那么,CALL指令将产生一个远调用。这时,调用指令不仅要把该指令之后地址的偏移量压进栈,而且也要把段寄存器CS的值压进栈。在此之后,再把被调用子程序入口地址的偏移量和段值分别送给IP和CS,这样完成了子程序的远调用 *** 作。远调用指令的堆栈 *** 。

子程序调用指令本身的执行不影响任何标志位,但子程序体中指令的执行会改变标志位,所以,如果希望子程序的执行不能改变调用指令前后的标志位,那么,就要在子程序的开始处保护标志位,在子程序的返回前恢复标志位。

例如:

CALL DISPLAYDISPLAY是子程序名

CALL BXBX的内容是子程序的偏移量

CALL WORD1WORD1是内存字变量,其值是子程序的偏移量

CALL DWORD1DWORD1是双字变量,其值是子程序的偏移量和段值

CALL word ptr [BX]BX所指内存字单元的值是子程序的偏移量

CALL dword ptr [BX]BX所指内存双字单元的值是子程序的偏移量和段值


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8243835.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存