功能块(FB)的结构
功能块(FB) 的结构
定义
功能块是包含程序的一部分并具有分配给它的存储区域引用的逻辑块。每当调用FB 时,都必须为其分配一个背景数据块。定义FB 的声明部分时,对背景数据块的结构进行说明。
FB 标识符
在关键字FUNCTION_BLOCK 或PROGRAM 之后,键入关键字FB,后跟FB 的块号或符号名称。块号是0 到65533 之间的值。
示例:
功能块FB10
FUNCTION_BLOCK 电机1
FB声明部分
FB 的声明部分用于定义块特定数据。声明部分应该详细描述,记住声明部分还决定分配的背景数据块的结构。
例子
以下示例显示了功能块的源代码。在该示例中,输入和输出参数(本例中为V1 和V2)被分配了初始值。
功能块FB11
变量输入
V1 : INT :=7;
END_VAR
变量输出
V2 : 真实;
END_VAR
VAR
FX1、FX2、FY1、FY2 : 真实;
END_VAR
开始
如果V1=7 那么
FX1 :=1.5;
FX2 :=2.3;
FY1 :=3.1;
2 财年:=5.4;
V2 :=FC11(X1:=FX1,X2 :=FX2,Y1 :=FY1,Y2 :=FY2);
万一;
END_FUNCTION_BLOCK
---作为本地实例调用示例---
作为本地实例的调用示例
具有简单FOR 循环的功能块被编程为“作为共享实例”的示例,假设符号TEST 已在FB17 的符号表中声明。
功能块可以按如下方式调用,假设VARIABLE1 已在调用块中声明为实数变量。
称呼
FUNCTION_BLOCK 调用
VAR
//本地实例声明
TEST_L : 测试;
变量1 : 实数;
结果: 布尔;
END_VAR
开始。
//调用本地实例:
TEST_L(FINALVAL:=10,IQ1:=变量1);
读取输出值
输出参数CONTROL 可以如下读取:
//访问输出参数
//通过:
结果:=TEST_L.CONTROL;
END_FUNCTION_BLOCK
审稿人:刘庆