课题
实训七、子程序调用指令基本知识                6课时
知识目标
能力目标
情感目标
教材
分析
重点
难点
教具 与设备
教法
教授法、演示法、实验法
板书
设计
教学内容
复习:
循环指令在的具体显现。
跳转指令有哪些?
顺控继电器(SCR)指令可以应用在哪些现象中?
新课教学:
子程序是将程序进行分块。主程序中使用的指令决定具体子程序的执行状况。当主程序调用子程序并执行时,子程序执行全部指令直至结束。然后,系统将控制返回至调用子程序网络中的主程序。子程序用于为程序分段和分块,使其成为较小的、更易管理的块。在程序中调试和维护时,可以利用这项优势。通过使用较小的程序块,对这些区域和整个程序简单地进行调试和排除故障。只在需要时才调用程序块,可以更有效地使用PLC,因为所有的程序块可能无须执行每次扫描。子程序是应用程序中的可选组件,只有被主程序、中断程序或者其他子程序调用时,子程序才会执行。调用子程序时可以带参数也可以不带参数。
1. 子程序指令格式及功能
类型
梯形图
指令功能
子程序调用
子程序调用指令(CALL)将程序控制权交给子程序SBR_N。调用子程序时可以不带参数。子程序执行完成后,控制权返回到调用子程序的指令的下一条指令。
带参数子程序调用
子程序可以包含要传递的参数。参数在子程序的局部变量表中定义。参数必须有变量名(最多23个字符)、变量类型和数据类型。一个子程序最多可以传递16个参数。
子程序有条件返回
指令根据前一个逻辑终止子程序。
子程序无条件返回
系统能为每个子程序自动加入无条件返回指令
当有一个子程序被调用时,系统会保存当前的逻辑堆栈,置栈顶值为1,堆栈的其他值为零,把控制交给被调用的子程序。当子程序完成之后,恢复逻辑堆栈,把控制权交还给调用程序。因为累加器可在主程序和子程序之间自由传递,所以在子程序调用时,累加器的值既不保存也不恢复。
当子程序在同一个周期内被多次调用时,不能使用上升沿、下降沿、定时器和计数器指令。
在被中断服务程序调用的子程序中不能再出现子程序调用。不禁止递归调用(子程序调用自己),但是当使用带子程序的递归调用时应慎重。
2. 子程序的有效操作数
输入/输出
数据类型
操作数
SBR_ N
WORD
常数 对于CPU221CPU222CPU224 063 对于CPU224XPCPU226 0127
IN
BOOL
BYTE
WORDINT
DWORD
DINT
VIQMSMSTCL、能流
VBIBQBMBSMBSBLBAC*VD*LD*AC1、常数
VWTCIWQWMWSMWSWLWACAIW*VD*LD*AC1、常数
VDIDQDMDSMDSDLDACHC*VD*LD*AC1
&VB&IB&QB&MB&T&C&SB&AI&AQ&SMB、常数*VD*LD*AC、常数
输入/输出
BOOL
BYTE
WORDINT
DWORD
DINT
VIQMSM2STCL
VBIBQBMBSMB2SBLBAC*VD*LD*AC1
VWTCIWQWMWSMW2SWLWAC*VD*LD*AC1
VDIDQDMDSMD2SDLDAC*VD*LD*AC
OUT
BOOL
BYTE
WORDINT
DWORD
DINT
VIQMSM2STCL
VBIBQBMBSMB2SBLBAC*VD*LD*AC1
VWTCIWQWMWSMW2SWLWACAQW*VD*LD*AC1
VDIDQDMDSMD2SDLDAC*VD*LD*AC1
3. 带参数子程序调用参数类型
局部变量表中的变量类型区定义变量是传入子程序(IN)、传入和传出子程序(IN_OUT)或者传出子程序(OUT)。表6-79中描述了一个子程序中的参数类型。要加入一个参数,把光标放到要加入的变量类型区(ININ_OUTOUT)。点击鼠标右键可以得到一个菜单选择。选择插入选项,然后选择下一行选项。这样就出现了另一个所选类型的参数项。
参数
功能作用
IN
调用子程序的例子
参数传入子程序。
IN_OUT
指定参数位置的值被传到子程序,从子程序的结果值被返回到同样地址。
OUT
从子程序来的结果值被返回到调用它的程序。
TEMP
任何局部存储器都不能用来传递参数,只能在子程序内部暂时存贮数据。
4. 子程序建立的方法
建立子程序有以下几种:
(1) 从“编辑”菜单点击插入选择子程序,如xxx所示;
xxx子程序建立方法1
(2) 在指令树,鼠标右键点击“程序块”,在下拉菜单中点击插入,选择插入选择子程序,如XXX所示;
xxx子程序建立方法2
(3) 从“程序编辑器”或者“变量表”中单击鼠标右键,在下拉菜单中点击插入,选择插入选择子程序,如XXX所示;
xxx子程序建立方法3
    择插入子程序之后,在程序编辑器的底部会出现一个新标记,代表新的子程序,在程序编号从0开始自动增加。子程序指令在指令树最下端调用子程序中自动增加如XXX。子程序可以重新命名,具体方法是:鼠标右键点击指令树中的某一“SBR_n”或者在编辑窗口下方的某一“SBR_n”,在窗口中选择“重命名”,然后输入新名称即可。                          XXX 子程序指令增加
(4) 带参数子程序建立方法
使用程序编辑器中的局部变量表为子程序指定变量,首先插入需要的子程序,点击编辑窗口下方的“SBR_n”标记打开子程序。在子程序中的局部变量表中指定变量,然后打开主程序,双击指令树中的“SBR_n”(或者左键将“SBR_n”拖到程序编辑器中)即可。
作业:子程序调用指令应用示例(点动与连续)
教学
反思

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。