3)当子程序在一个周期内被多次调用时,不能使用上升沿、下降沿、定时器和计数器指令。
4)累加器可以在调用程序和被调用程序之间传递参数,所以累加器的值在子程序调用时不需要保护。
(2)子程序条件返回指令CRET
CRET指令在梯形图中以线圈形式编程,指令不带参数。其指令格式如图3-55所示。
图3-55 CRET指令的指令格式
在控制输入信号接通(即条件满足)时执行CRET指令,可以结束子程序的执行,返回主程序或调用程序继续执行原来的程序。
注意
1) CRET指令应用在子程序内部。
2) CRET指令不能直接接在左母线上,必须在其左边设置条件控制输入信号。
3)子程序的自动返回(结束)STL指令形式为CRET。
4)在用Micro/Win V4.0编程时,不需要输入RET返回指令。该软件自动将RET指令加在每个子程序结尾。
3.子程序嵌套
如果在子程序的内部又对另一个子程序执行调用指令,这种调用称为子程序的嵌套。子程序最多可以嵌套8级:
当一个子程序被调用时,系统自动保存当前的堆栈数据,并把栈顶置“1”,堆栈中的其他位置为“0”,子程序占有控制权。子程序执行结束,通过返回指令自动恢复原来的逻辑堆栈值,调用程序又重新取得控制权。
注意在中断服务程序调用的子程序中不能再出现子程序嵌套调用。
【例3-14】 子程序调用指令示例程序如图3-56所示。
本例的要求如下。
建立子程序SBR_0.使Q1.0控制一个闪光灯(周期性亮2s,熄灭2s)。该子程序由主程序中I0.0直接控制调用,也可由子程序SBR_1嵌套调用。
建立子程序SBR_1,对I1.0计数脉冲计数。计数值为10时,嵌套调用子程序SBR_0,驱动Q1.0闪亮。该子程序由主程序I0.1控制调用。
本文关键字:子程序 PLC程序,plc技术 - PLC程序
上一篇:信捷PLC的编程方式