标王 热搜:
 
当前位置: 首页 » 资料 » PLC技术 » 正文

SIMATIC S7块接口

放大字体 缩小字体 发布时间:2016-09-12 14:29 浏览次数:96

    声明段包含到程序其他部分的块接口。它由块参数(输入、输出和输入/输出参数)和静态局部数据(功能块情况下)组成。在这一点上也处理确实不属于块接口的暂态局部数据。当编写块时,块接口在接口窗口中定义,并且当调用该块时,用变量初始化该块。

    程序编辑器在调用块时确认块参数初始化与调用块的接口一致。为此,编辑器使用时间标记:被调用块的接口的时间标记必须要比调用块的代码的时间标记早,即最近一次接口修改必须早于块的集成。当参数的数字改变或者当数据类型或默认值改变时,程序编辑器将更新接口的时间标记。

    1.时间标记冲突

    当被调用块的接口比调用块的代码有一个较晚的时间标记时,时间标记冲突就会发生。如果再次打开已经编译好的块,将会看见时间标记冲突。随后,程序编辑器用红色来指示这个不正确的块调用。在下列情况下将发生时间标记冲突:修改已经被其他块调用的块的接口;或者把来自于不同程序的块结合到一个新的程序里;或者用一个源程序文件重新编译全部程序的某一段。

    但是,通常描述为“时间标记冲突”的接口冲突的发生也可能有其他原因。如果被调用或参考的块比调用块产生的时间晚,也会发生时间冲突。时间标记冲突产生的例子包括以下几个方面:

    ●被调用块的接口比调用块的代码产生的时间晚。

    ●接口初始化与块接口不一致。

    ●功能块比它的实例数据块产生的时间晚(实例数据块由功能块的接口描述产生,

    因此它与功能块具有相同的时间标记或比其产生的时间晚)。

    ●局部实例比调用实例产生的时间晚(影响功能块)。

    ●用户数据类型UDT比用UDT来声明其变量的块产生的时间晚,这可以是任何一个

    块,包括数据块或另外一个UDT。

    2.修正非法块调用

    程序编辑器支持用户以不同的方法发现和修正非法块调用。在一个完整的程序中如何检查块的一致性,请参见下一节的说明。

    在已经打开的块中(在接口声明内用光标),选择菜单命令Edit→Update declrations,用户自定义数据类型(UTD)已经校对为非法,例如在插入或删除时,以及在改变块参数的名字和类型时,就可能发生。

    用户可以利用菜单命令Edit→Block Call→Update用块打开(通过在非法块调用处的光标)来检查已经变为非法的块调用。块调用变成非法发生在以下情况:块参数的插入、删除或移动,或者改变块名和类型时。

    用Edit→Block Call→Change in multi-instance call和Edit→Block Call→Change in FB/DB Call,用户可以把调用从功能块转换成局部实例调用或者带数据块的调用。在块调用修改之后,必须重新生成相应的实例数据块。

    另一种方法是通过菜单命令File→Check and update accesses提供,随后可以更新已打开块的非法调用或者展示出来供修改。

    3.检查块的一致性

    当打开包含时间标记冲突的块时,程序编辑器仅指示时间标记冲突。如果想要检查全部程序,可以使用SIMATIC管理器中的“检查块的一致性”(“Check block consistency”)功能。这将排除大多数接口冲突,并且指出需要编辑的程序位置。

    为了完成一致性检查,先选择SIMATIC管理器中的Blocks(块)容器,然后选择Edit→Check Block Consistency。如果调用树不能在窗口中显示出来,例如因为程序是用STEP 7以前的版本编译的,则在此窗口中可选择Program→Compile。注意由UDT产生的实例数据块和数据块,在编译的程序中重新赋了初值。

    程序编辑器在输出窗口中将显示一致性检查的进度和结果(选择View→Errors  and Warnings)。一致性检查不能用在库程序上。

    调用的或参考的块的一致性以树图的形式显示出来(如图3-4所示)。用户可以在下面两种表示法之间进行选择:

检查块一致性相关性的表示法举例

    图3-4    检查块一致性相关性的表示法举例

    view Call tree:Reference以类似于程序结构的方式显示相关性:左边是调用块,右边是在左边块中调用的块,例如实例DB 20/FB 20在OB 1中被调用,局部实例FB 21和FB 22在FB 20中被调用。

    view dependency tree从所有调用的或参考的块开始显示。它们位于左侧列中,调用块列表放在其右边。例如,FB 22在由08 1中被调用的实例DB 20/FB 20中存储其数据。它也有自己的数据块DB 29,并且作为局部实例在FB 20中被调用。

    确定的信息由符号以压缩的形式显示出来。例如,用惊叹号指示出发生时间标记冲突的对象。红底白叉指示出的相关的块必须重新编译。

    如果在树图中或在输出窗口中选择一个块,可以用Edit→Open Object编辑,例如修改一个不正确的调用。

    SCL可选软件包V5.1或更早的版本不支持一致性检查(用Program→Compile或者Program→Compile all不能编译块)。因此出错时,用SCL编程的块必须“手工”编译。



SIMATIC S7块接口
网址: http://www.kuqiw.cn/ziliao/show/180/
 
 
[ 资料搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]

 
 

 
 
最新资讯
最新产品立即发布»
最新企业立即注册»
企业新闻
 
网站首页 | 关于我们 | 联系方式 | 使用协议 | 版权隐私 | 网站地图 | 排名推广 | 广告服务 | 积分换礼 | RSS订阅 | 浙ICP备110196220号