您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 实训七子程序调用指令基本知识
课题实训七、子程序调用指令基本知识6课时教学要求知识目标能力目标情感目标教材分析重点难点教具与设备教法教授法、演示法、实验法板书设计教学内容复习:循环指令在的具体显现。跳转指令有哪些?顺控继电器(SCR)指令可以应用在哪些现象中?新课教学:子程序是将程序进行分块。主程序中使用的指令决定具体子程序的执行状况。当主程序调用子程序并执行时,子程序执行全部指令直至结束。然后,系统将控制返回至调用子程序网络中的主程序。子程序用于为程序分段和分块,使其成为较小的、更易管理的块。在程序中调试和维护时,可以利用这项优势。通过使用较小的程序块,对这些区域和整个程序简单地进行调试和排除故障。只在需要时才调用程序块,可以更有效地使用PLC,因为所有的程序块可能无须执行每次扫描。子程序是应用程序中的可选组件,只有被主程序、中断程序或者其他子程序调用时,子程序才会执行。调用子程序时可以带参数也可以不带参数。1.子程序指令格式及功能类型梯形图指令功能子程序调用子程序调用指令(CALL)将程序控制权交给子程序SBR_N。调用子程序时可以不带参数。子程序执行完成后,控制权返回到调用子程序的指令的下一条指令。带参数子程序调用子程序可以包含要传递的参数。参数在子程序的局部变量表中定义。参数必须有变量名(最多23个字符)、变量类型和数据类型。一个子程序最多可以传递16个参数。子程序有条件返回指令根据前一个逻辑终止子程序。子程序无条件返回无系统能为每个子程序自动加入无条件返回指令当有一个子程序被调用时,系统会保存当前的逻辑堆栈,置栈顶值为1,堆栈的其他值为零,把控制交给被调用的子程序。当子程序完成之后,恢复逻辑堆栈,把控制权交还给调用程序。因为累加器可在主程序和子程序之间自由传递,所以在子程序调用时,累加器的值既不保存也不恢复。当子程序在同一个周期内被多次调用时,不能使用上升沿、下降沿、定时器和计数器指令。在被中断服务程序调用的子程序中不能再出现子程序调用。不禁止递归调用(子程序调用自己),但是当使用带子程序的递归调用时应慎重。2.子程序的有效操作数输入/输出数据类型操作数SBR_NWORD常数对于CPU221、CPU222、CPU224:0到63对于CPU224XP和CPU2260到127INBOOLBYTEWORD、INTDWORD、DINTV、I、Q、M、SM、S、T、C、L、能流VB、IB、QB、MB、SMB、SB、LB、AC、*VD、*LD、*AC1、常数VW、T、C、IW、QW、MW、SMW、SW、LW、AC、AIW、*VD、*LD、*AC1、常数VD、ID、QD、MD、SMD、SD、LD、AC、HC、*VD、*LD、*AC1、&VB、&IB、&QB、&MB、&T、&C、&SB、&AI、&AQ、&SMB、常数*VD、*LD、*AC、常数输入/输出BOOLBYTEWORD、INTDWORDDINTV、I、Q、M、SM2、S、T、C、LVB、IB、QB、MB、SMB2、SB、LB、AC、*VD、*LD、*AC1VW、T、C、IW、QW、MW、SMW2、SW、LW、AC、*VD、*LD、*AC1VD、ID、QD、MD、SMD2、SD、LD、AC、*VD、*LD,*ACOUTBOOLBYTEWORD、INTDWORD、DINTV、I、Q、M、SM2、S、T、C、LVB、IB、QB、MB、SMB2、SB、LB、AC、*VD、*LD、*AC1VW、T、C、IW、QW、MW、SMW2、SW、LW、AC、AQW、*VD、*LD、*AC1VD、ID、QD、MD、SMD2、SD、LD、AC、*VD、*LD,*AC13.带参数子程序调用参数类型局部变量表中的变量类型区定义变量是传入子程序(IN)、传入和传出子程序(IN_OUT)或者传出子程序(OUT)。表6-79中描述了一个子程序中的参数类型。要加入一个参数,把光标放到要加入的变量类型区(IN、IN_OUT、OUT)。点击鼠标右键可以得到一个菜单选择。选择插入选项,然后选择下一行选项。这样就出现了另一个所选类型的参数项。参数功能作用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”拖到程序编辑器中)即可。作业:子程序调用指令应用示例(点动与连续)教学反思
本文标题:实训七子程序调用指令基本知识
链接地址:https://www.777doc.com/doc-2499856 .html