VAR_CONFIG
- 配置变量
可以使用变量配置来映射设备 I/O 上进程映像上的功能块变量。这便无需指定功能块变量的声明中已有的明确地址。在此情况下,分配明确地址是针对全局 VAR_CONFIG
列表中的所有功能块实例集中完成。
因此,您可以为在关键字 VAR
与 END_VAR
之间声明的功能块变量分配不完整地址。使用星号来标识这些地址。
<标识符> AT
%<I|Q>* : <数据类型>
不完整定义地址的用法示例:
FUNCTION_BLOCK locio
VAR
xLocIn AT %I*: BOOL := TRUE;
xLocOut AT %Q*: BOOL;
END_VAR
在此示例中,定义了 2 个本地 I/O 变量:一个本地输入变量 (%I*
) 和一个本地输出变量 (%Q*
)。
在全局变量列表 (GVL) 中的变量配置中定义地址,如下所示:
步骤 |
操作 |
---|---|
1 |
执行 命令。 |
2 |
向 中添加 (GVL) 对象。 |
3 |
在关键字 |
定义地址时,请注意以下事项:
使用完整的实例路径来指定实例变量,并用句点来分隔单个 POU 和实例名称。
在声明中,输入一个地址,该地址的类(输入/输出)对应于功能块中不完整指定地址(%I*
、%Q*
)的类。
确认数据类型与功能块中的声明一致。
<实例变量路径> AT
%<I|Q><位置> : <数据类型>;
对于其实例路径无效(由于实例不存在)的配置变量,将表示为检测到的错误。如果分配给不完整地址的实例变量不存在明确地址配置,则也会检测到错误。
变量配置的示例
假定在程序中提供了功能块 locio
的下列定义(参阅先前示例):
PROGRAM PLC_PRG
VAR
locioVar1: locio;
locioVar2: locio;
END_VAR
然后,经纠正的变量配置(全局变量列表中)将是:
VAR_CONFIG
PLC_PRG.locioVar1.xLocIn AT %IX1.0 : BOOL;
PLC_PRG.locioVar1.xLocOut AT %QX0.0 : BOOL;
PLC_PRG.locioVar2.xLocIn AT %IX1.0 : BOOL;
PLC_PRG.locioVar2.xLocOut AT %QX0.3 : BOOL;
END_VAR
VAR_CONFIG
映射的变量进行的更改只有在职责任务结束后才会显示。
VAR_GLOBAL
和 VAR_CONFIG
只能独占使用。