程序中有些部分可能要实现相同的功能,而且这些功能需要经常用到,用子程序实现这个功能是很适合的。子程序通常是与主程序分开的、完成特定功能的一段程序。当主程序(调用程序)需要执行这个功能时,就可以调用该子程序(被调用程序)。于是,程序转移到这个子程序的起始处执行。当运行完子程序后,再返回调用它的主程序。子程序由主程序执行子程序调用指令 CALL来调用。子程序执行完后用子程序返回指令 RET,返回主程序继续执行。CALL和RET指令均不影响标志位。
1.指令格式
STL: CALL SBR_N CRET
LAD:
2.指令功能
CALL:子程序调用指令。当 EN条件满足时,将主程序转到子程序入口开始执行子程序。SBR_N是子程序名,标志子程序入口地址。
CRET:有条件子程序返回指令。在其逻辑条件成立时,结束子程序执行,返回主程序中的子程序调用处继续向下执行。
3.指令应用(见图4-46)
图4-46 子程序调用指令应用
(1)当 I0.0闭合时,调用子程序 SBR_0,子程序所有指令执行完毕,返回主程序调用处,继续执行主程序。每个扫描周期,此程序运行一次,直到I0.0断开。在子程序调用期间,若I0.1闭合,则线圈Q0.0接通。
(2)在 M1.0闭合期间,调用子程序 SBR_1,执行过程同子程序 SBR_0。在子程序SBR_1执行期间,若I0.3闭合,则线圈Q0.1接通;若I0.4断开且I0.5闭合,则MOV_B指令执行;若I0.4闭合,则执行有条件子程序返回指令CRET,程序返回主程序继续执行,MOV_B指令不执行。
4.指令说明(www.daowen.com)
① CRET多用于子程序内部,在条件满足时起结束子程序的作用。在子程序的最后,编程软件将自动添加子程序的无条件结束指令RET。
② 子程序可以嵌套运行。子程序的嵌套深度最多为8层。
要调用子程序,首先要建立子程序。下面给出3种建立子程序的方法:
(1)打开编辑软件,选择“编辑”菜单中“插入”子菜单下的“子程序”选项来建立一个新的子程序,如图4-47所示。
(2)打开编程软件,单击鼠标右键,选择“插入”→“子程序”选项,如图4-48所示。
(3)打开编程软件,在软件的下方 SBR_0处,单击鼠标右键,选择“插入”→“子程序”选项,如图4-49所示。
图4-47 子程序建立方法1
图4-48 子程序建立方法2
图4-49 子程序建立方法3
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。