设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
西门子博途:多重实例 ARRAY 中参数实例的使用示例 ...
返回列表
发新帖
[西门子]
西门子博途:多重实例 ARRAY 中参数实例的使用示例
[复制链接]
140
|
0
|
2024-6-9 21:06:13
|
显示全部楼层
|
阅读模式
>
通过参数实例可将函数块的实例传送到其它块(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 中。
结果
每个程序循环中处理一个阀。系统将对下标选定的相应阀进行处理和状态查询。必要时,可进行相应维护。
在本示例中,每个循环处理一个阀。当然,也可以在一个程序循环中处理所有的阀,但循环时间会相对延长。如果要缩短程序循环时间,则不建议在一个程序循环中执行所有处理。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
机器人及PLC
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』