
(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中的虚线路径所示,如果参考点返回时不经过中间点,则刀具会与工件发碰撞,引起事故。
子程序的调用和返回是一对互逆 *** 作,也是一种特殊的转移 *** 作。
一方面,之所以说是转移,是因为当调用一个子程序时,程序的执行顺序被改变,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所指内存双字单元的值是子程序的偏移量和段值
子程序与主程序间肆宏的参数传递 用高级语言实现的程序,其主程序与子程序之间的参数传递方法是由编译系统来规定的。 一般是采用堆栈或者参数区(地址表)来进行参数的传递。 * 子程序总结: 1.主程序用CALL指令调用子程序,子程序执行完后用RET指令返回到主程序的CALL指令的下一条指令2.主程序有段内调用(NEAR)和段间调用(FAR),子程序返回对应有段内返回和段间返回3.主程序可通过寄存器﹑堆栈﹑地址表以及约定的内存变量向子程序传递参数4.凡在子程序中用到的寄存器必须先送堆栈,返回前按送栈相反的次序出栈5.注意子程序调用时堆栈指针的变化* 8.4 系统服务子程序 除用户设计的子程序外, *** 作系统还提供大量的系统服裂行册务子程序,通常称为中断服务程序带颤。 这类程序通常用于完成必要的输入/输出功能和一些必要的系统 *** 作。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)