电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> plc工业软件使用 >> 正文

S7-200 PLC的子程序调用指令(SBR)

作者:佚名    文章来源:本站原创    点击数:    更新时间:2019/2/25
    1.建立子程序
    可用编程软件Edit菜单中的Insert选项,选择Subroutine,以建立或插入一个新的子程序,同时在指令树窗口可以看到新建的子程序图标,默认的程序名是SBR_n,编号n从0开始按递增顺序生成,可以在图标上直接更改子程序的程序名。在指令树窗口双击子程序的图标就可对它进行编辑。
    2.子程序调用
    子程序可以多次被调用,也可以嵌套(最多8层),还可以递归调用(自己调用自己)。
    CALL SBR0    //子程序调用
   CRET    //条件返回
    RET    //无条件返回(自动)
    【例4-18】循环、跳转及子程序调用指令应用程序,循环、跳转的梯形图程序如图4-45所示,子程序调用的梯形图程序如图4-46所示。
循环、跳转指令的应用
图4-45 循环、跳转指令的应用
子程序调用指令的应用
图4-46 子程序调用指令的应用
    STL指令如下:
    LDW>= AC0,+100
    JMP 10    //跳转
    LD    M0.0
    FOR VW100,+1,+20 //循环开始
    LD    I0.0
    CAIL SBR_0    //调用子程序
    NEXT    //循环返回
    LD    I0.1
    SQ0.0,1    //位置1
    LBL 10    //标号
    子程序SBR0如下:
    LD SM0.0
    INCW VW200    //VW200增1
    LD 10.2
    CRET    //条件返回
    3.带参数的子程序调用指令
子程序可能有要传递的参数(变量和数据),这时可以在子程序调用指令中包含相应参数,它可以在子程序与调用程序之间传送。参数在子程序的局部变量表中定义,定义参数时必须指定参数的符号名称(最多23个英文字符)、变量类型和数据类型。一个子程序最多可以传送16个参数。
    局部变量表中的变量有IN、OUT、IN/OUT和TEMP等4种类型。
    带参数子程序调用指令示例如图4-47(b)所示,EN和INI的输人为布尔型能流输入。
带参数的子程序及其调用的应用
图4-47 带参数的子程序及其调用的应用
(a)带参数的子程序及其变量表;(b)主程序调用
    子程序调用时,输人参数被拷贝到局部存储器。子程序完成时,从局部存储器拷贝输出参数到指定的输出参数地址。
    IN类型:将指定位置的参数传人子程序。
    OUT类型:从子程序的结果值(数据)传人到指定参数位置。
    IN/OUT类型:将指定位置的参数传到子程序,从子程序来的结果值被返回到同样的地址。
    TEMP类型:局部存储器只用作子程序内部的暂时存储器,不能用来传递参数。
    在局部变量表中定义的变量表和带参数的子程序如图4-47 (a)所示。
Tags:S7-200,子程序调用指令,SBR  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
最新推荐
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询