论坛专区
在线教育
 

S7-CPU中的嵌套深度与使用

放大字体  缩小字体 发布日期:2016-08-30  来源:互联网  作者:工控资料窝  浏览次数:311
    在S7-CPU中使用嵌套程序需要注意什么,如何使用?
    回答:S7-CPU支持嵌套程序,但对于不同的CPU类型,在使用时需要注意一些问题。
    1.不同的CPU类型,支持的嵌套程序深度不同,用户可在CPU的技术数据中查到此参数,以6ES7315-2AG10-0AB0为例。
    图1:CPU的嵌套深度参数
    2.用户可以按照如下方式使用嵌套功能:
    a)在某个优先级组织块中调用多个嵌套FC/FB。例如,在OB1(优先级为1)调用FC1,FC1中调用FC2,FC2中调用FC3,等等,一直到FC7,与OB1共8层深度。如果在FC7中又调用了FC8,此时会导致CPU停机,在CPU在线信息界面中可查看到此情况,如图2所示。用户也可在OB35(优先级为12)调用FC11,FC11中调用FC12,FC12中调用FC13,等等,一直到FC17。
    图2:嵌套调用
    b)在某个优先级中调用某个FC,此FC多次调用自身。例如,在OB1(优先级为1)调用FC1,FC1中仍然调用FC1,用户在FC1的程序中必须编程累计FC1被调用的次数,如果达到了7次,则需要从FC1中跳出调用(此方法即为软件行业广泛应用的递归编程方法)。如果在FC1调用自身次数超出了CPU允许的嵌套深度,此时会导致CPU停机。
    3.当用户在使用嵌套功能时,可能出现几种错误:
    a)Thenestingdepthofblockcalls(U-Stack)istoohigh(嵌套深度太高)。例如:
    •用户在某个优先级(如OB1)中调用嵌套程序深度超出所使用CPU支持深度,如第2节(a)部分所描述。
    •用户在某个优先级(如OB1)中调用嵌套程序深度超出所使用CPU支持深度,如第2节(b)部分所描述。
    此时CPU将报16#4575错,如图3所示:
    图3:同步错误嵌套1
    b)Thenestingdepthofsynchronouserrorsistoohigh(同步错误嵌套深度太高)。例如:
    •用户在OB1中使用LDB1.DBB0语句(CPU中并未下载DB1),
    •此时CPU出现编程错误,将调用OB121。
    •如果用户在下载的OB121中又使用了LDB1.DBB0指令,将导致CPU停机
    此时CPU将报16#4573错,如图4所示:
    图4:同步错误嵌套2
    c)Errorduringallocationoflocaldata(分配本地数据错误)。对于S7-CPU每个优先级都有对本地数据大小的限制,如果用户使用的范围超出了此限制,CPU将出现错误。以6ES7315-2AG10-0AB0为例,其每个优先级下的本地数据大小为512BYTE。如下错误使用都可能导致此错误:
    •OB1调用FC1,FC1中定义的localdata(TEMP数据类型)与OB1中定义的localdata(TEMP数据类型)总和超出了CPU对此优先级分配的localdata数量。
    •OB1中嵌套调用多个FC,这些FC使用的localdata与OB1中定义的localdata(TEMP数据类型)总和超过了分配给此优先级的localdata数量。
    此时CPU将报16#3576错,如图5所示:
    图5:分配本地数据错误
    •对于S7-400CPU,用户可以在硬件配置中调节每个优先级下的本地数据大小,以6ES7412-2XG04-0AB0为例,如图6所示:
    图6:分配本地数据
    4.当用户在使用嵌套功能出现错误时,对于支持OB88的CPU(例如S7-400CPU),可用通过下载OB88来防止CPU停机,此时CPU将处于SF状态,但OB88不可以再出现嵌套使用错误,否则CPU将进入停机状态。对于不支持OB88的CPU(例如S7-300CPU),当出现嵌套调用错误时,无法避免CPU进入停机状态。
    注意:本文中主要以OB1为例说明嵌套调用,在实际使用中,用户应当注意每个优先级下对嵌套调用的注意事项。
 
关键词: S7-CPU
 
 
[ 大学堂搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]

0条 [查看全部]  相关评论

 
按分类浏览
PLC基础知识 (2048)
PLC编程 (478)
三菱PLC (678)
西门子PLC (954)
欧姆龙PLC (210)
AB PLC (35)
松下PLC (137)
永宏PLC (20)
台达PLC (36)
LG PLC (12)
富士PLC (13)
日立PLC (8)
点击排行
 
展会
微信公众号
qq群
 
工控网 | 工控文库 | 工控视频 | 工控软件 | 在线教育 | 用户使用指南 | 关于我们 | 联系方式 | 使用协议 | 版权隐私 | 网站地图 |手机版 | 广告服务

本网站所有文档及文件资料,除特别标明本站原创外,均来自互联网及网友上传,如有涉及版权问题,请联系我们,我们将第一时间处理。
我们保留版权,任何涉嫌侵犯本站版权的行为,本站保留追究其法律责任的权利。

Copyright © 2018-2020 www.gkwo.net  滨州新大新机电科技有限公司 版权所有 鲁ICP备11011731号-4