通过参数实例可将函数块的实例传送到其它块(fb 或 fc)中进行进一步处理,如数据查询、错误分析,甚至使用由被传递实例执行的函数块。
array 多重实例可用于组合相同类型的对象,并在程序循环中对这些实例的下标进行处理。array 下标元素可作为参数实例传送到其它块中。
在以下示例中,使用对象“valve”(fb_valve) 进行详细说明。在此,显示了程序块(本示例中为“fb_valvecontrol”)中进行阀处理的所有相关信息。
下图显示了所需的特性以及具体的应用方式:
使用函数“fc_statusvalve”和“fc_maintainvalve”,对调用时接收到的“fb_valve”程序块的参数实例继续处理。
在“fb_valvecontrol”程序块中,可使用 array 多重实例对现有的阀的数量进行声明,同时通过各种函数对循环程序中的所有阀进行管理。
说明
完整性
该解决方案示例仅用于说明如何实现指定的任务。请注意,在实际任务中需要对程序代码进行相应调整。
在本示例中,需要使用以下程序块:
块 说明 编程语言
fb_valvecontrol 该函数块将用作一个控制块,可通过一个多重实例 array 对所有阀进行处理。 scl
fb_valve 该函数块中包含阀数据的定义以及进行阀处理的程序代码。 scl
(在程序块“fb_valvecontrol”中,将用到这三个程序块。)
fc_statusvalve 该函数将返回当前所处理阀的状态。
fc_maintainvalve 该函数用于检查阀是否需要维护。如果需要,将执行维护操作,并在维护完成时返回函数值 true。
操作步骤:创建“fb_valve”
要创建该 scl 函数块,请执行以下操作步骤:
双击“新增块”(add new block) 命令。
“新增块”(add new block) 对话框随即打开。
单击“函数块 (fb)”(function block (fb)) 按钮。
输入名称“fb_valve”。
选择 scl 编程语言。
单击“确定”(ok)。
基于可打开和关闭的阀进行块接口声明,如下所示:
编写阀控制程序代码,如下所示:
操作步骤:创建“fc_statusvalve”
要创建 scl 函数块“fc_statusvalve”,请执行以下操作步骤:
双击“添加新块”(add new block) 命令。
“新增块”(add new block) 对话框随即打开。
单击“函数 (fc)”(function (fc)) 按钮。
输入名称“fc_statusvalve”。
选择 scl 编程语言。
单击“确定”(ok)。
使用参数实例“fb_valve”组合声明该块接口,如下所示:
编写程序代码,如下所示:
操作步骤:创建“fc_maintainvalve”
要创建 scl 函数块“fc_maintainvalve”,请执行以下操作步骤:
双击“添加新块”(add new block) 命令。
“新增块”(add new block) 对话框随即打开。
单击“函数 (fc)”(function (fc)) 按钮。
输入名称“fc_maintainvalve”。
选择 scl 编程语言。
单击“确定”(ok)。
使用参数实例“fb_valve”组合声明该块接口,如下所示:
编写程序代码,如下所示:
操作步骤:创建“fb_valvecontrol”
要创建该 scl 函数块,请执行以下操作步骤:
双击“新增块”(add new block) 命令。
“新增块”(add new block) 对话框随即打开。
单击“函数块 (fb)”(function block (fb)) 按钮。
输入名称“fb_valvecontrol”。
选择 scl 编程语言。
单击“确定”(ok)。
定义用户常量:
在本示例中,可通过用户常量“vmax”快速更改程序中的阀数量。
使用“fb_valve”中的阀实例组合声明该块接口,如下所示:
编写程序代码,如下所示:
操作步骤:调用 ob 1 中的“fb_valvecontrol”
要调用 ob 1 中的函数块“fb_valvecontrol”,请执行以下操作步骤:
双击打开“main [ob1]”块。
使用拖放操作,将函数块“fb_valvecontrol”添加到 ob 1 中。
结果
每个程序循环中处理一个阀。系统将对下标选定的相应阀进行处理和状态查询。必要时,可进行相应维护。
在本示例中,每个循环处理一个阀。当然,也可以在一个程序循环中处理所有的阀,但循环时间会相对延长。如果要缩短程序循环时间,则不建议在一个程序循环中执行所有处理。
双十一无线蓝牙耳机哪款好?2021最好用的降噪蓝牙耳机推荐
激光雷达相关知识介绍
激光共聚焦显微镜有哪些应用?
手持终端PDA定制_基于联发科MT6877平台解决方案
华为P20 Pro:搭载麒麟970,成为CES Asia上的手机大佬
西门子博途中ARRAY的使用示例
航智直流传感器助力全直流配用电建筑响应双碳目标,共建绿色家园
滤波器的基础知识解析
探索Apple Watch 3的虚拟SIM黑科技
小米Note3最新消息:LG将为小米Note3提供曲面屏,小米这么快就忘了痛?
四位数码管显示的数字钟设计与实现
RLC串联电路中谐振的条件和现象是什么?
直线马达加持的一系列设备将亮相2022“苏工展”
具有集成有源钳位电路的反激式PWM控制器
安全认证的COTS案例
为由交流适配器驱动的USB充电器添加电流提升
全球芯片荒持续,国产芯片加速崛起
频率响应法--奈奎斯特稳定判据
压力传感器的原理及其应用电路设计[图]
DLP技术在各个领域的创新应用