任务
以下示例显示了如何通过一个可变下标寻址函数块中的多重实例。这些实例将在一个 FOR 循环中迭代处理。
创建示例程序
首先,创建函数块 "MyFB"。 生成 5 个 "MyFB" 背景数据块。 生成全局数据块 "DBAnyStorage" 并在数据块的属性中将存储器预留区域设置为“0 字节”。 在 "DBAnyStorage" 中,声明 "DB_ANY" 数据类型的 ARRAY 中包含 5 个元素。 初始化时,可在启动 OB 中将 5 个背景数据块的符号名称分别指定给各 ARRAY 元素。 创建函数块 "LoopCallDoMyFB" ,并通过 FOR 迭代访问 "MyFB" 的单个实例。 这些实例将传送到函数 "DoMyFB" 中依次执行。 这些传递的实例在运行过程中确定。即,在程序的创建过程中,无法确定待传送的实例是否与 "DoMyFB" 接口中所声明的参数相匹配。为此,建议在函数块 "LoopCallDoMyFB" 中使用指令 "TypeOfDB" 进行检查。 在 "DoMyFB" 的接口中,声明 in/out 参数 "currentMyFBInstance"。在运行过程中, "LoopCallDoMyFB" 在将待处理的 "MyFB" 实例传递到 "DoMyFB" 函数中。(作为参数实例进行传递)。 |
结果
函数块 "DoMyFB" 逐一对 "MyFB" 的所有实例进行编辑。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !