1 地址定义

定义地址时,可以使用特定的字符串来表示内存位置和大小。
地址标有百分号 (%),后跟内存范围前缀、可选大小前缀和内存范围位置。
用于寻址内存位置的编号取决于目标系统。

内存范围前缀 说明
I “输入”的输入存储范围
对于通过输入驱动器的物理输入,”传感器”
Q “输出”的输出存储范围
对于通过输出驱动器的物理输出,”执行器”
M 标记内存范围
大小前缀 数据类型 数据宽度
X

B BYTE 8 位
W WORD 16 位
D DWORD 32 位

2 地址分布说明

Codesys 地址说明 - 图1
n = 字节数

3 AT 声明

如果将变量分配给地址,请注意以下事项:

  • 不能写入放置在输入端的变量。这将导致编译器错误。
  • 您只能对局部变量和全局变量执行 AT 声明,而不能对 POU 的输入/输出变量执行 AT 声明。
  • 此外,AT 声明不能在持久性变量列表中使用。
  • 如果对结构组件或功能块变量使用 AT 声明,则所有实例都使用相同的内存。
  • 结构的内存布局还取决于目标系统。