“变量配置”可用于处理映像过程的地图功能块变量,位于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
这里定义了两个 I/O-变量,一个局部输入(%I*) 和一个局部输出变量 (%Q*)。
地址的最后定义将在全局变量列表的“变量配置”中完成。
为实现这个目标,我们通过 ⇘ 添加对象 】命令,在设备窗口添加“全局变量列表”对象(GVL)。在关键词VAR_CONFIG 和END_VAR之间输入实例变量声明的详细地址。
必须为实例变量指定通往其所在POU的完整的实例路径,以及与其它的相区分的实例名称。声明必须包含一个 ⇘ 地址, 对应于功能块中不完全指定的地址(%I,%Q*)。此外,数据类型必须与功能块的声明一致。
句法:
<实例变量路径> AT %<I|Q><位置> : <数据类型>;
配置变量没有实例,因此它的实例路径是无效的,它会被显示为错误。另一方面,如果分配给不完整地址的实例变量没有指定的地址配置,也会报告错误。
变量配置例子
假设以下为功能块的定义 - 参见以上实例 -在程序中给出:
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