数控车床子程序M98、M99编程。把程序中某些固定顺序和重复出现的程序单独抽出来,按一定格式编成一个程序供调用,这个程序就是常说的子程序,这样可以简化主程序的编制。子程序可以被主程序调用,同时子程序也可以调用另一个子程序。这样可以简化程序的编制和节省CNC系统的内存空间。 子程序必须有一程序号码,且以M99作为子程序的结束指令。主过程调用子程序的指令格式如下: M98 P___L___; 其中P为被调用的子程序号 L为重复调用的次数 例如:M98 P1234L4 主程序调用同一子程序执行加工,最多可执行999次,且子程序亦可再调用另一子程序执行加工,最多可调用4层子程序(不同的系统其执行的次数及层次可能不同)。
这个东西应该很好解决才对.安装你说的那种.你的报警程序是 强延时.
而不是利用定时器的,所以在报警的中途只有中断来搞定.
其实这种方法非常不可取,,代码稍微大一点你就没法搞定了.
/////////////////////////////////////////////////
解决问题.1.
安装你这种方法来..
中断源停止..也就是你的代码需要重头开始重新运行.那么没有关系
你的 代码开始处肯定有初始化SP的地方..所以说代码是完整的从头开始的
我不知道你的 急停按钮时干什么的.
是不是以为着急停按钮后你的报警声音就没有了
如果是这样
可以在中断中直接修改.报警的延时亮.
比如要循环1000次.你直接改成1次..那么马上就没有报警了
///////////////////////////////////
2..
不要采用这种结构写代码
写一个定时器中断..进行计数
比如beep开启.的话中断计数..
在主循环处检查是不是计数到你要的值了..到了就关闭,
这样的话.关闭开启声音就很容易啊.
关闭的时候.修改beep = 0开启的时候,beep=1,在吧要报警的长度放入.
多么省力
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)