程序结束除了用m2指令外,还可以用ret指令结束子程序。ret要求占用一个单独的程序段,不能和其他内容写在同一行。用ret指令结束子程序、返回主程序时不会中断g64连续路径运行方式,用m2指令则会中断g64运行方式.并进入停止状态。
2.子程序名
为了方便地调用某一子程序,必须给子程序取一个程序名。程序名可以自由选取,但必须符合以下规定:开始两个符号必须是字母:其他符号为字母或数字;最多16个字符;没有分隔符。其方法与主程序中程序名的选取方法一样。例如:frame7。另外,在子程序中还可以使用地址字l-,其后的值可以有7位数字(只能为整数)。
注意:地址字l之后的每个零均有意义,不可省略。例如:l16并非l016!这是两个不同的子程序。
注释:子程序名l6专门用于刀具更换。
3.子程序调用
在一个程序中(主程序或子程序)可以直接用程序名调用子程序。子程序调用要求占用一个独立的程序段。
例如:
n20 l258:调用子程序l258
n30 lframe7:调用子程序lfram7
4.子程序重复调用次数p
如果要求多次连续地执行某一子程序,则在编程时必须在所调用子程序的程序名后地址p下写入调用次数,址大次数可以为9999,即p1-p9999。
例如:
nl0l258 p3:调用子程序l258,运行3次
注意:西门子在调用子程序时,格式正好与fanuc系统相反,在fancu系统中.如果调用第258号子程序,运行3次,则应是n10 p258 l30。