§2.18 子程序(M98、M99)
当一个主程序内,有一些固定的程序指令组,它们须时常重复执行,这时可将它们编成子程序,而在主程序中可对它们进行调用,如此可简化程序,使主程序的结构更简洁、清楚。一个子程序亦可调用另一子程序,这种情况称之谓子程序嵌套。
下图表示两层嵌套的子程序调用:
1.子程序的结构
子程序的组成,依下列格式编程:
O05…………… 子程序编号
N1………………指令内容
N2………………指令内容
........
Nn M99…………子程序结束
即子程序以字母O(注意不是数字零0)为开始,其后跟数字,为子程序名编号。在上例中即为05。子程序的结束以M99为结束符。
2.子程序的执行
子程序必须在主程序调用时才能被执行。子程序的调用格式如下:
M98 P_________L_________
字母P后所跟的数字就是子程序编号,L后的数据是子程序调用次数,若L没有被指定时,子程序仅执行一次。
例:
M98 P05……… 执行05子程序一次。
M98 P05 L8……执行05子程序八次。
在主程序里,子程序的调用与执行顺序如下:
3.子程序的位置
在编写加工程序时,如需要用子程序调用功能,则子程序一般写在主程序之后,两者在一个加工文件里。如下图所示:
如在一个加工程序中有多个子程序,则子程序必须都在主程序之后,而子程序之间的前后位置可以是任意的。
4.子程序编程时的注意事项
[1]在子程序中可以调用其它子程序,既子程序可以嵌套调用。
系统规定子程序嵌套调用最多为十层。
[2]子程序不能递归调用。所谓递归调用就是在子程序中有自己调用自己的
语句,或者是子程序1调用子程序2,在子程序2中又调用子程序1,当出
现 这种情况时也是间接的递归调用。
用刀具或分中棒去椪边,碰越少越精确,这个靠感觉,多练练就行
四面分中是要4条边(X,y各两边)都碰,得出的坐标原点在工件中心
而单边靠只碰其中两边(x,y各一边),得出的坐标原点在你碰的两条边的交怠梗糙妓孬幻茬潍长璃点上
至于镜像,呵呵,我没听过,不好意思!
FANUC系统,M98子程序调用指令,格式为M98 P(循环次数) O(子程序名)M99子程序取消指令(返回主程序