VAR_CONFIG - 配置变量

概述

可以使用变量配置来映射设备 I/O 上进程映像上的功能块变量。这便无需指定功能块变量的声明中已有的明确地址。在此情况下,分配明确地址是针对全局 VAR_CONFIG 列表中的所有功能块实例集中完成。

因此,您可以为在关键字 VAREND_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

在关键字 VAR_CONFIGEND_VAR 之间输入包含明确地址的实例变量声明。

定义地址时,请注意以下事项:

  • 使用完整的实例路径来指定实例变量,并用句点来分隔单个 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
注: 对直接映射 I/O 的更改会立即显示在进程映像中,而对通过 VAR_CONFIG 映射的变量进行的更改只有在职责任务结束后才会显示。
注: 在全局变量列表中,关键字 VAR_GLOBALVAR_CONFIG 只能独占使用。