CNC指令M99的意思是子程序结束返回/重复执行。M99在子程序的结尾,调用子程序时,子程序中的格式必须以M99结尾,当子程序执行到M99指令,表示子程序执行完,返回主程序。
把程序中某些固定顺序和重复出现的程序单独抽出来,按一定格式变成一个程序供调用,这个程序就是常说的子程序,这样可以简化主程序的编制。子程序可以被主程序调用,同时子程序也可以调用另一个子程序。这样可以简化程序的编制和节省CNC系统的内存空间。
子程序必须有一程序号码,且以M99作为子程序的结束指令。主过程调用子程序的指令格式如下:
M98 P___L___;
其中P为被调用的子程序号,L为重复调用的次数
例如:M98 P1234L4
主程序调用同一子程序执行加工,最多可执行999次,且子程序亦可再调用另一子程序执行加工,最多可调用4层子程序(不同的系统其执行的次数及层次可能不同)。
例:以HNC-21T系统子程序指令,加工图2-11工件上的四个槽。
扩展资料:
其他M指令含义:
M00程序暂停
M01选择停止
M02程序结束
M03主轴正转
M04主轴反转
M05主轴停止
M06刀具交换
M08冷却开
M09冷却关
M18主轴定向解除
M19主轴定向
M22刀库返回
M23刀库进主轴
M29刚性攻丝
M30程序结束并返回程序头
M98调用子程序
M102换刀点
参考资料来源:百度百科--数控加工中心M指令
例:
#include<stdio.h>
intsushu(intx)
{inti
for(i=2i<xi++)
if(x%i==0)break
if(i==x)return1
elsereturn0
}
main()
{inti,n=0
for(i=2i<=1000i++)
if(sushu(i)==1)n++:
printf("n=%d",n)
}
扩展资料
使用vfork()新建子进程,然后调用exec函数族
#include<unistd.h>
main()
{
char*argv[]={“ls”,”-al”,”/etc/passwd”,(char*)}
if(vfork()==0)
{
execv(“/bin/ls”,argv)
}else{
printf(“Thisistheparentprocess\n”)
}
}
用M98来调用子程序,
格式:
M98PXXABCD
XX代表调用次数,十次一下的可以写成0X或X
ABCD代表要调用的程序
比如我们要调用子程序O1234五次,那么这个程序段应该这样写
M98P51234或M98P051234
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)