广东湘恒智能科技有限公司
主营产品: 广东省西门子授权代理商、西门子变频器、西门子PLC\西门子模块、西门子触摸屏、西门子伺服电机、西门子工控机、西门子集成系统、西门子低压、西门子控制单元、西门子CPU等
西门子博途:ARRAY of DB ANY 中参数实例的使用示例
发布时间:2024-06-26
观看西门子博途:ARRAY of DB ANY 中参数实例的使用示例视频:

任务

以下示例显示了如何通过一个可变下标寻址函数块中的多重实例。这些实例将在一个 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" 的所有实例进行编辑。


展开全文
商铺首页 拨打电话 QQ联系 发送询价