数控车床子程序返回指令为

数控车床子程序返回指令为,第1张

参考点是CNC机床上的固定点,可以利用参考点返回指令将刀架移动到该点。可以设置最多四个参考点,各参考点的位置利用参数事先设置。接通电源后必须先进行第一参考点返回,否则不能进行其它 *** 作。参考点返回有两种方法:

(1)手动参考点返回。

(2)自动参考点返回。该功能是用于接通电源已进行手动参考点返回后,在程序中需要返回参考点进行换刀时使用的自动参考点返回功能。

自动参考点返回时需要用到如下指令:

(1)返回参考点检查G27

G27用于检验X轴与Z轴是否正确返回参考点。指令格式为:

G27 X(U)____  Z(W)____

X(U)、Z(W)为参考点的坐标。执行G27指令的前提是机床通电后必须手动渣族搏返回一次如祥参考点。

执行该指令时,各轴按指令中给定的坐标值快速定位,且系统内部检查检验参考点的行程开关信号。如果定位结束后检测到开关信号发令正确,则参考点的指示灯亮,说明滑板正确回到了穗早参考点位置;如果检测到的信号不正确,系统报警,说明程序中指令的参考点坐标值不对或机床定位误差过大。

(2)参考点返回指令G28、G30

 G28 X(U) ____ Z(W) ____;    第一参考点返回,其中X(U)、Z(W)为参考点返回时的中间点,X、Z为绝对坐标,U、W为相对坐标。参考点返回过程如图3-14所示。

 G30 P2 X(U)____  Z(W)____;    第二参考点返回,P2可省略

 G30 P3 X(U)____  Z (W)____;    第三参考点返回

 G30 P4 X(U)____ Z(W)____;    第四参考点返回

 第二、第三和第四参考点返回中的X(U)、Z (W)的含义与G28中的相同。

如图3-14所示为刀具返回参考点的过程,刀具从当前位置经过中间点(190,50)返回参考点,其指令为:

G30 X190 Z50;

G30 U100 W30;

如图3-14中的虚线路径所示,如果参考点返回时不经过中间点,则刀具会与工件发碰撞,引起事故。

执行子程序返回或中断子程序返回指令时,返回的断点是:调用指令下一条指令的首地址。

执行子程序的使用为程序的模块化设计提供了一种方便有效的途径。与子程序有关的 *** 作有建立子程序、子程序的调用和返回。

(一)子程序的创建

创建子程序是通过编程软件来完成的。在编程软件施耐德电流互感器“编辑”菜单中的“插入”选项卡中,选择“子程序”。或者在编辑窗口中单击鼠标右键,选择d出菜单中“插入”中的“子程序”选项,以建立或插入一个新的子程序,

同时,在指令树窗口可以看到新建的子程序图标,默认的程序名是SBR N,编号N从0开始按递增顺序生成,也可森禅以在图标上直接更改子程序的程序名,把它变为更能描述该子程序功能的名字。在指令树窗口双击州春梁子程序册运的图标就可以进入子程序,并对它进行编辑。

(二)子程序调用

施耐德电流互感器在使能输入端有效时,主程序把程序控制权交给子程序,此时执行子程序的全部指令,直到子程序结束。子程序的调用可以带参数,也可以不带参数。

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

一方面,之所以说是转移,是因为当调用一个子程序时,程序的执行顺序被改变,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/12458139.html

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

发表评论

登录后才能评论

评论列表(0条)

保存