西门子的实例解析(单实例,多重实例,参数实例)

实例

定义:函数块调用后,需要相应的存储器保存工作数据。这些数据又称为实例。

实例具有以下特性:

实例通常分配给一个 FB。

实例的结构取决于所关联函数块的接口,且只能在此进行更改。

实例在函数块调用时自动生成。

单实例:

被调用的函数块将数据保存在自已的背景数据块中。

使用单实例具有以下优势:

函数块可重用

适用于简单程序的完美结构

缺点:如果重复调用会导致大量数据块,不方便管理。

多重实例:

被调用函数块不会将数据保存在自已的背景数据块中,而是保存在另一函数块的实例中。

使用多重实例具有以下优势:

适用于复杂块的完美结构。

背景数据块的数量较少。

轻松编写本地子程序,如本地定时器或边沿评估等。

注意:多重实例数据位于调用块的“Static”区域中。

参数实例:

将函数块的实例作为输入输出参数 (InOut) 传送到另一数据块中。该块可访问已传送实例中的数据或调用关联函数块。

使用参数实例具有以下优势:

在运行过程中,可定义当前使用的实例。  
在程序循环中,可通过迭代方式处理不同的实例。

注意:参数实例数据位于调用块的“InOut”区域中。

实际测试

单个实例

首先先新建一个FB块作为主程序。

在这里插入图片描述

开始生成一个单个实例

在这里插入图片描述

可以看到再FB块下生成了一个相应的DB块。

在这里插入图片描述

多重实例

生成一个多重实例

在这里插入图片描述

注意没有DB块生成。

在这里插入图片描述

实例的数据存到调用的块里面去了。

在这里插入图片描述

参数实例

生成一个参数实例

在这里插入图片描述

注意没有DB块生成。

在这里插入图片描述

实例的数据接口到了调用块的输入接口。

在这里插入图片描述

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值