跳到主要内容

AT声明

关键字 AT 将项目变量分配给在变量声明的设备树中配置的控制器的特定输入、输出或内存地址

程序变量

在创建的ST文件中AT声明变量:

PROGRAM DEMO_PLC_PRG1
VAR
(* 内部变量定义, 例如 bFlag:BOOL := TRUE; *)
(* 其他类别的变量声明, 请使用: VAR_INPUT | VAR_OUTPUT | VAR_EXTERNAL ... END_VAR *)
items AT %QW10: ARRAY[1..9] OF INT;
itemsIn AT %IW10: ARRAY[1..9] OF INT;
itemsSINT AT %QW40: ARRAY[1..3] OF SINT;
itemsREAL AT %QW50: ARRAY[1..3] OF REAL;
itemsDINT AT %QW60: ARRAY[1..3] OF DINT;
bOut AT %QX100.1: BOOL;
bOut3 AT %QX100.3: BOOL;
bOut2 AT %MX100.1: BOOL;
bIn3 AT %IX100.3: BOOL;
END_VAR
END_PROGRAM

全局变量

在全局变量界面,AT声明全局变量

IO变量

可以将变量分配给对话框中的地址 I/O 映射在控制配置中的设备:

AT 声明可以为地址指定一个有意义的名称。只能在一处对传入或传出信号进行任何必要的更改,例如在声明中。

VAR wInput AT %IW0 : WORD; END_VAR带有输入字地址规范的变量声明
VAR xActuator AT %QW0 : BOOL; END_VAR布尔变量声明

注意:如果未指定单位地址,则会在内部为布尔变量分配一个字节。值的变化 xActuator 因此影响面积 QX0.0 直到 QX0.7。
VAR xSensor AT IX7.5 : BOOL; END_VAR明确指定单位地址的布尔变量声明

访问时,仅读取输入位 7.5。
VAR xSensor AT IX* : BOOL; END_VAR指定地址时,使用占位符代替存放位置 * 指定的。最终地址指定在变量配置中进行。
信息

将变量分配给地址时,必须考虑以下事项:

  • 结构的内存布局也取决于目标系统。

  • 只能对局部变量和全局变量进行 AT 声明,不能对块的输入和输出变量进行 AT 声明。

提示

除非明确指定一位地址,否则布尔变量是按字节分配的。