全部博文(2759)
分类: 信息化
2013-08-15 02:10:44
原文地址:子程序调用与返回指令 作者:163tkseo
(一)子程序的创建
创建子程序是通过编程软件来完成的。在编程软件“编辑”菜单中的“插入”选项卡中,选择“子程序”。或者在编辑窗口中单击鼠标右键,选择弹出菜单中“插入”中的“子程序”选项,以建立或插入一个新的子程序,同时,在指令树窗口可以看到新建的子程序图标,默认的程序名是SBR N,编号N从0开始按递增顺序生成,也可以在图标上直接更改子程序的程序名,把它变为更能描述该子程序功能的名字。在指令树窗口双击子程序的图标就可以进入子程序,并对它进行编辑。
(二)子程序调用
施耐德电流互感器在使能输入端有效时,主程序把程序控制权交给子程序,此时执行子程序的全部指令,直到子程序结束。子程序的调用可以带参数,也可以不带参数。
指令格式:CALL SBR 0 在使能输入端有效时,结束子程序的执行,返回到调用它的程序中该子程序调用指令的下一条指令处。在梯形图中以线圈的形式编程,指令不带参数。而在STL中为CRET. 子程序调用使用说明:
(1) CRET多用于子程序的内部,由判断条件决定是否结束子程序调用,RET用于子程序的结束。
(2)当一个子施耐德电流互感器程序被调用时,系统自动保存当前的逻辑堆栈数据,将栈顶置1,堆栈中的其他位置设为0,子程序取得控制权,执行子程序的指令。子程序执行完成后,通过返回指令自动恢复原来的逻辑堆栈值,调用程序又重新取得控制权。
(3)累加器可在调用程序和被调用子程序之间自由传递,所以累加器的值在子程序调用时既不保存也不恢复。