Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6212559
  • 博文数量: 2759
  • 博客积分: 1021
  • 博客等级: 中士
  • 技术积分: 4091
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-11 14:14
文章分类

全部博文(2759)

文章存档

2019年(1)

2017年(84)

2016年(196)

2015年(204)

2014年(636)

2013年(1176)

2012年(463)

分类: 信息化

2013-08-15 02:10:44

原文地址:子程序调用与返回指令 作者:163tkseo

    子程序的使用为程序的模块化设计提供了一种方便有效的途径。与子程序有关的操作有建立子程序、子程序的调用和返回。

  (一)子程序的创建

  创建子程序是通过编程软件来完成的。在编程软件“编辑”菜单中的“插入”选项卡中,选择“子程序”。或者在编辑窗口中单击鼠标右键,选择弹出菜单中“插入”中的“子程序”选项,以建立或插入一个新的子程序,同时,在指令树窗口可以看到新建的子程序图标,默认的程序名是SBR N,编号N从0开始按递增顺序生成,也可以在图标上直接更改子程序的程序名,把它变为更能描述该子程序功能的名字。在指令树窗口双击子程序的图标就可以进入子程序,并对它进行编辑。


  (二)子程序调用

  施耐德电流互感器在使能输入端有效时,主程序把程序控制权交给子程序,此时执行子程序的全部指令,直到子程序结束。子程序的调用可以带参数,也可以不带参数。

  指令格式:CALL     SBR 0    在使能输入端有效时,结束子程序的执行,返回到调用它的程序中该子程序调用指令的下一条指令处。在梯形图中以线圈的形式编程,指令不带参数。而在STL中为CRET.    子程序调用使用说明:

  (1) CRET多用于子程序的内部,由判断条件决定是否结束子程序调用,RET用于子程序的结束。

  (2)当一个子施耐德电流互感器程序被调用时,系统自动保存当前的逻辑堆栈数据,将栈顶置1,堆栈中的其他位置设为0,子程序取得控制权,执行子程序的指令。子程序执行完成后,通过返回指令自动恢复原来的逻辑堆栈值,调用程序又重新取得控制权。

  (3)累加器可在调用程序和被调用子程序之间自由传递,所以累加器的值在子程序调用时既不保存也不恢复。

阅读(843) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~