全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 工业控制 >

功能块(FB)的结构介绍

时间:2023-02-17 09:55

人气:

作者:admin

标签: Block  Motor  VaR 

导读:功能块是逻辑块,包含程序部分,并且有一个内存区域援引派给它。无论何时FB被调用,必须给它指定一个实例数据块。当定义FB的声明部分时,就说明了实例数据块的结构。...

功能块(FB)的结构

Structure of a Function Block (FB)

82524ca6-ae18-11ed-bfe3-dac502259ad0.png 

定义(Definition)

功能块是逻辑块,包含程序部分,并且有一个内存区域援引派给它。无论何时FB被调用,必须给它指定一个实例数据块。当定义FB的声明部分时,就说明了实例数据块的结构。

828dd0dc-ae18-11ed-bfe3-dac502259ad0.png

FB标识符(FB Identifier)

在关键字FUNCTION_BLOCK或PROGRAM之后,键入关键字FB,跟上一个块号或FB的符号名。块号是0到65533之间的一个数值。

例子(Examples):

FUNCTION_BLOCK FB10
FUNCTION_BLOCK MOTOR1

FB声明部分(FB Declaration Section)

FB的声明部分用来定义块专有数据。声明部分应详细描述,记住声明部分也决定指派的实例数据块的结构。

例子(Example)

下例显示了一个功能块的源代码。例中输入和输出参数(本案中为V1和V2)赋予了初始值。

FUNCTION_BLOCK FB11
VAR_INPUT
V1 : INT := 7 ;
END_VAR

VAR_OUTPUT
V2 : REAL ;
END_VAR

VAR
FX1, FX2, FY1, FY2 : REAL ;
END_VAR

BEGIN
IF V1 = 7 THEN
FX1 := 1.5 ;
FX2 := 2.3 ;
FY1 := 3.1 ;
FY2 := 5.4 ;
//调用函数FC11并用静态变量提供参数
V2 := FC11 (X1:= FX1, X2 := FX2, Y1 := FY1, Y2 := FY2) ;
END_IF ;
END_FUNCTION_BLOCK

---作为本地实例调用的举例---

Example of a Call as a Local Instance

带一个简单FOR循环的功能块作为“作为共享实例”的例子编程,假设符号TEST在符号表中为FB17已经声明。

功能块能如下调用,假设VARIABLE1在调用块作为一个实数变量已经声明。

调用(Call)

FUNCTION_BLOCK CALL
VAR
// 本地实例声明
TEST_L : TEST ;
VARIABLE1 : REAL ;
RESULT : BOOL ;
END_VAR
BEGIN
. . .
// 调用本地实例:
TEST_L (FINALVAL:= 10, IQ1:= VARIABLE1) ;

读取输出值(Reading an Output Value)

输出参数CONTROL能够如下读取:

// 输出参数被存取
// 通过:
RESULT := TEST_L.CONTROL ;
END_FUNCTION_BLOCK






审核编辑:刘清

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信