定义
当函数块 (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):
-
cpu
+关注
关注
68文章
10854浏览量
211565 -
定时器
+关注
关注
23文章
3246浏览量
114713 -
函数
+关注
关注
3文章
4327浏览量
62567 -
S7-1200
+关注
关注
11文章
331浏览量
17956
原文标题:博途的 多重背景调用
文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论