博途的多重背景调用

描述

定义

当函数块 (FB) 调用另一个函数块时,可其实例数据存储在调用函数块的背景数据块中。这种块调用又称之为多重实例。

优势

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

适用于复杂块的完美结构

背景数据块的数量较少

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

多重实例的工作原理

下图显示了一个函数块正在使用另一函数块(“Valve”)。其中,“Valve”作为一个多重实例进行调用;即,该函数块的数据将保存在调用函数的背景数据块中。多重实例数据位于调用块的“Static”区域中。在 S7-1200/S7-1500 系列的 CPU 中,该实例也可位于另一函数块的背景数据块中。

定时器

创建多重实例   可通过以下几种方式创建多重实例:

在程序中调用函数块时,“调用方式”(Call options) 对话框随即打开。在该对话框中,可输入要将该函数块作为单实例、多重实例或参数实例进行调用。

直接在调用块接口中声明多重实例。

直接在另一函数块接口中声明多重实例 (S7-1200/S7-1500)。

    多重实例的 ARRAY 多重实例也可创建为一个 ARRAY。在程序循环执行的过程中,可使用一个可变下标对各个 ARRAY 元素进行寻址。  定时器   直接在函数块接口中声明 ARRAY of multi-instances。

调用多重实例

调用一个多重实例时,系统将指示所分配的实例。下图显示了“Block”块在 LAD 中作为多重实例进行调用。

在以下示例中,该实例位于调用块背景数据块本地:

定时器

在以下示例中,该实例位于背景数据块中“MyOtherFB”(S7-1200/S7-1500):

定时器

在以下示例中,该实例位于背景数据块“MyOtherFB”中的 ARRAY of multi-instances 内 (S7-1200/S7-1500):   定时器            

  审核编辑:汤梓红
 
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分