1.子程序的应用
原则上讲主程序和子程序之间并没有区别。用子程序编写经常重复进行的、确定轮廓形状的加工。子程序位于主程序中适当的地方,在需要时进行调用、运行,可简化程序编制,如图5-42所示。
子程序的另一种应用就是加工循环。加工循环包含一般通用的加工工序,如螺纹切削、坯料切削加工等。通过给规定的计算参数赋值就可以实现各种具体的加工。
图5-42 在一个工件加工中4次使用子程序
2.子程序的结构
子程序的结构与主程序的结构一样,子程序也是在最后一个程序段中用M2结束子程序运行;子程序结束后返回主程序。
结束子程序除了用M2指令外,还可以用M17或RET指令。RET要求占用一个独立的程序段。用RET指令结束子程序,则在返回主程序时不会中断G64连续路径运行方式;而用M2指令则会中断G64运行方式,并进入停止状态。
3.子程序的命名
给子程序命名是为了与其他子程序区别开来,以便选择和调用。子程序的程序名可以自由选取,但必须符合以下规定:
1)开始两个符号可以是字母。
2)其他符号可以是字母、数字或下划线。
3)最多16个字符。
4)不能用分隔符。
其方法与主程序中程序名的选取方法一样,例如FRAME7。另外,在子程序中还可以使用地址字L_,其后的值可以有7位(只能为整数)。(www.daowen.com)
注意:地址字L之后的每个零均有意义,不可省略。例如:L158并非L0185或L00158。以上三者表示3个不同的子程序。
4.子程序的调用
主程序执行过程中如果需要某一个子程序,就可以通过一定的子程序调用格式来调用该子程序,执行完后返回到主程序,继续执行后面的程序段。
在一个程序中(主程序或子程序)可以直接用程序名来调用子程序。子程序调用要求占用一个独立的程序段。如果要求多次连续地执行某一子程序,子程序名后的地址P下写入调用次数,最大次数可以为9999,即P1~P9999。
子程序调用格式:L_P_。
例如:N80 L785 P3;调用子程序L785,运行3次。
图5-43是两次调用子程序的示意图。
图5-43 两次调用子程序
5.子程序的嵌套
子程序不仅可以从主程序中调用,也可以从其他子程序中调用,这种程序结构称为子程序的嵌套。子程序的嵌套深度可达8层,也就是8级程序界面(包括主程序界面)。
在子程序中可以改变模态有效的G功能,比如G90到G91的变换。在返回调用程序时,请注意检查一下所有模态有效的功能指令,并按照要求进行调整。对于R参数也需同样注意,不要无意识地用上级程序界面中所使用的计算参数来修改下级程序界面的计算参数。
西门子循环要求最多4级程序。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。