您现在的位置是:首页 > PLC技术 > PLC技术

S7-200系列PLC带参数的子程序调用指令

来源:艾特贸易2018-06-04

简介子程序可能有要传递的参数(变量和数据),这时可以在子程序调用指令中包含相应参数,它可以在子程序与调用程序之间传送。参数(变量和数据)必须有符号名(最多 8 个字符)、

    子程序可能有要传递的参数(变量和数据),这时可以在子程序调用指令中包含相应参数,它可以在子程序与调用程序之间传送。参数(变量和数据)必须有符号名(最多8个字符)、变量和数据类型等内容。子程序最多可传递16个参数。传递的参数在子程序局部变量表中定义。局部变量表中的变量有INOUTIN/OUTTEMP等四种类型。

    IN类型:将指定位置的参数传入子程序。参数的寻址方式可以是直接寻址(VB10)、间接寻址(*ACl)或立即数(1234)。也可以将数据的地址值传入子程序(&VB100)

    OUT类型:是子程序的结果值(数据),它被返回给调用它的POU。常数和地址值不允许作为输出参数。

    IN/OUT类型:将指定位置的参数传到子程序,从子程序来的结果值被返回到同样的地址。常数和地址值不允许作为输出参数。

    TEMP类型:局部存储器只能用作子程序内部的暂时存储器,不能用来传递参数。

    局部变量表的数据类型可以是能流、布尔(位)、字节、字、双字、整数、双整数和实数型。能流是指仅允许对位输入操作的布尔能流(布尔型),梯形图表达形式为用触点(位输入)将电源母线和指令盒连接起来。

    在局部变量表输入变量名称、变量类型、数据类型等参数以后,双击指令树中的子程序(或选择点击方框快捷按钮,在弹出的菜单中选择子程序项),在梯形图显示区显示出带参数的子程序调用指令盒。

    局部变量表变量类型的修改方法是,用光标选中变量类型区,点击鼠标右键得到一个下拉菜单,选择插入项,弹出一个下拉子菜单,点击选中的类型,在变量类型区光标所在处即可得到选中的类型。

    给予程序传递参数时,它们放在子程序的局部存储器(L)中,局部变量表最左列是每个被传递参数的局部存储器地址。

    子程序调用时,输入参数被拷贝到局部存储器。子程序完成时,从局部存储器拷贝输出参数到指定的输出参数地址。

    【例】  设计记录设备运行时间的子程序,其符号名为“运行时间”。设备运行时I0.0为“ON”,用I0.0的常开触点调用子程序。在子程序的局部变量表中,输入变量“清零”用来将累计的时间清零,还设置了输出字节“秒”和“分”,以及输出双字“小时”。

    在子程序中,用T40产生周期为1s的脉冲列。用T40的常开触点使“秒”加1,当“秒”标志等于60时,“分”标志加1,“秒”标志被清零。当“分”标志等于60时,“小时”标志加1,“分”标志被清零。“清零”输入I1.0为“ON”时,用FILL(填充)指令将各计数标志清零。子程序中只有定时器使用了绝对地址,其他变量都是局部变量,便于移植到别的项目中。运行时间梯形图如图1所示。

运行时间梯形图

    1    运行时间梯形图

(作者稿费要求:需要高清无水印文章的读者3元每篇,请联系客服,谢谢!在线客服:艾特贸易网客服为您服务