在变量声明中,代码AT
将项目变量分配给设备树中配置的 PLC 的特定输入地址、输出地址或内存地址。您还可以在 PLC 配置中的设备“I/O 映射” 对话框中定义变量到地址的分配。
语法
<variable name> AT <address> : <data type>; <address> : %<memory area prefix> ( <size prefix> )? <memory position>
AT 声明允许您给地址起一个有意义的名称。您只需在一个位置,例如在声明中,对输入或输出信号进行必要的更改。
示例
|
包含输入字地址信息的变量声明 |
|
布尔变量声明 请注意:对于布尔变量,如果未指定单位地址,则内部分配一个字节。 |
|
布尔变量声明,明确指定一位地址。访问时,只读取输入位 7.5。 |
|
在指定地址时,给出的是占位符 请注意:这可以在功能块中实现。 |
如果将变量赋值给地址,请注意以下几点:
-
不能写入位于输入端的变量。这将导致编译器出错。
-
您只能对局部变量和全局变量执行 AT 声明,而不能对 POU 的输入/输出变量执行 AT 声明。
-
此外,持久变量列表中不能使用 AT 声明。
-
如果对结构组件或功能块变量使用 AT 声明,则所有实例都使用相同的内存。这就像在 C 语言等经典编程语言中使用静态变量一样。
-
结构的内存布局也取决于目标系统。




注意

如果没有明确指定单个位地址,布尔变量将逐个字节分配。
示例
PROGRAM PLC_PRG VAR xVar AT %QW0 : BOOL; END_VAR xVar := TRUE;
当写入变量xVar
时,输出存储器的范围将从QX0.0
到QX0.7
。