1.子程序的定义
在编加工程序中,有时会遇到一组程序段在-个程序中多次出现,或者在几个程序中都要使用它。这个典型的加工程序可以做成固定程序,并单独加以命名,这组程序段就称为子程序。
2.使用子程序的目的和作用
使用子程序可以减少不必要的编程重复,从而达到减化编程的目的。主程序可以调用子程序,一个子程序也可以调用下一级的子程序。子程序必须在主程序结束指令后建立,其作用相当于一个固定循环。
3.子程序的调用
在主程序中,调用子程序的指令是一个程序段,其格式随具体的数控系统而定,FANUC-6T系统子程序调用格式为
P--L--
式中--子程序调用字;
p--子程序号;
L--子程序重复调用次数。
由此可见,子程序由程序调用字、子程序号和调用次数组成。
4.子程序的返回
子程序返回主程序用指令,它表示子程序运行结束,请返回到主程序。
5.子程序的嵌套子程序调用下一级子程序称为嵌套。上一级子程序与下一级于程序的关系,与主程序与第一层子程序的关系相同。子程序可以嵌套多少层由具体的数控系统决定,在FANUC-6T系统中,只能有两次嵌套。
子程序调用指令CALL的编号为。操作数为P0~,此指令占用3个程序步。
子程序返回指令SRET的编号为。无操作数,占用1个程序步。
如图1所示,如果X0接通,则转到标号处去执行子程序。当执行SRET指令时,返回到CALL指令的下一步执行。
图1子程序调用与返回指令的使用
使用子程序调用与返回指令时应注意:
1)转移标号不能重复,也不可与跳转指令的标号重复;
2)子程序可以嵌套调用,最多可5级嵌套。
在上面已经说明如何放置子程序,放在最后面。如果有多个子程序,有P0,P1,---只能最多63个个,如果使用GX
Developer
的话,直接在一行的最左边输入“P0”即可。
主程序是指PLC主要正常运行就不受其他程序段影响其扫描的程序段,就是说主程序只要在PLC正常的时候就是一直执行每次都扫描的,除非有中断程序发生。
子程序就是受主程序调用的程序,只有主程序里的逻辑允许子程序运行时,子程序才能运行,但是子程序就涉及一个信号保持的问题,所以在涉及子程序时一定要注意在主程序里对某些关键数据和关键信号输出的复位,否则子程序停了,某些数据和输出还会保持。