AT声明
这个 AT 变量声明中的关键字为项目变量分配设备树中配置的控制器的特定输入地址、输出地址或内存地址。
AT 声明可以为地址指定一个有意义的名称。您只能在一处对传入或传出信号进行任何必要的更改,例如在声明中。
提示
您只可以在一个位置(例如,在声明中)对输入或输出信号进行任何必要的更改。
有关更多信息,请参阅:
语法
<变量名> AT %<地址>:<数据类型>;
| <变量名> | 必填项 | 
| 
 | 必填项 存储区中的地址 
 | 
| <内存区域前缀> | 必填项 
 | 
| <大小前缀> | 可选 
 | 
| <内存位置> | <位置编号 >  示例:  | 
| <位置编号> | 必填项 编号取决于目标系统,从 0 开始。 | 
| 
 | 可选 0..7 表示一个字节 | 
| <数据类型> | 可选 数据类型应与大小前缀相匹配。 | 
| VAR 
    wInput AT %IW0 : WORD; 
END_VAR | 带有输入字地址规范的变量声明 | 
| VAR 
    xActuator AT %QW0 : BOOL; 
END_VAR | 布尔变量声明 注意:如果未指定单位地址,则会在内部为布尔变量分配一个字节。值的变化  | 
| VAR
    xSensor AT %IX7.5 : BOOL; 
END_VAR | 明确指定单位地址的布尔变量声明 访问时,仅读取输入位 7.5。 | 
| VAR 
    xSensor AT %IX* : BOOL; 
END_VAR | 指定地址时,使用占位符代替存放位置  注意:这在功能块中是可能的。 | 
有用的提示
重要
除非您明确指定一位地址,否则布尔变量是按字节分配的。
重要
映射到布尔变量的单个位地址有限制。无法将这些变量与 VAR_IN_OUT, REFERENCE TO,或者 ADR 操作员。
将变量分配给地址时,必须考虑以下事项:
- 您不能写入分配给输入的变量。这会导致编译器错误。 
- 你可以做 - AT声明仅适用于局部和全局变量,不适用于 POU 的输入和输出变量。
- 你一定不能使用 - AT永久变量列表中的声明。
- 如果你使用 - AT结构成员或函数块变量的声明,则所有实例使用相同的内存。这相当于在 “C” 等经典编程语言中使用 “静态变量”。
- 结构的内存布局也取决于目标系统。 
示例
PROGRAM PLC_PRG
VAR
    xVar AT %QW0 : BOOL;
END_VAR
xVar := TRUE;写变量时 xVar 是的起始内存区域 QX0.0 直到 QX0.7 做作的。