要将某个工程变量与某个明确地址进行链接,可以在控制器配置(设备编辑器)中某个设备的 I/O 映射视图中,将变量分配给某个地址。或者,也可以直接在变量的声明中输入此地址。
<标识符> AT <地址> : <数据类型>;
有效地址必须在关键字 AT 的后面。有关更多信息,请参阅地址说明。如果是字节寻址模式,请考虑可能的重叠。
通过该声明,可以为地址分配一个有意义的名称。与传入或传出信号有关的任何更改都只能在单个位置中完成(例如,在声明中)。
选择要为地址分配的变量时,请考虑下列几点:
o无法通过写入来访问需要输入的变量。编译器会拦截这种错误检测。
oAT 声明只能与本地或全局变量配合使用。AT 声明不能与 POU 的输入和输出变量配合使用。
o持久变量列表中不允许使用 AT 声明。
o如果 AT 声明与结构或功能块成员配合使用,那么所有实例都将访问该结构/功能块的同一内存位置。这对应于经典编程语言(如 C)中的静态变量。
o结构的存储器布局还取决于目标。
xCounterHeat7 AT %QX0.0: BOOL;
xLightCabinetImpulse AT %IX7.2: BOOL;
xDownload AT %MX2.2: BOOL;
如果为 BYTE、WORD 或 DWORD 地址分配了布尔变量,则布尔变量以 TRUE 或 FALSE 占据一个字节,而不仅仅是占据偏移后的第一个位。
输入、输出和存储数据的存储大小(即,用 AT %I、%Q 和 %M 实现的声明)由目标设备预定义,并且在 PacDrive 控制器(PacDrive LMC Eco、PacDrive LMC Pro/Pro2)的应用程序对象的属性中可被覆盖。