地址
小心
如果使用指向地址的指针,则可以在在线更改期间移动地址的内容。如果使用绝对地址,则地址的内容在在线更改期间不会更改。
句法:
%
<内存区域编号> <大小前缀> <位置编号 > .
<位位置编号>
| 必填项 存储区中的地址
|
<内存区域前缀> | 必填项
|
<大小前缀> | 可选
|
<内存位置> | <位置编号 > 示例: |
<位置编号 > | 必填项 编号取决于目标系统,从 0 开始。 |
| 可选 0..7 表示一个字节 |
定义地址时,您使用特定的字符串来表示内存位置和大小。地址标有百分号 (%
),后跟内存范围前缀、可选大小前缀和内存范围位置。用于寻址内存位置的编号取决于目标系统。
| 输出位的单个位地址 7.5 |
| 输入字的字地址 215 |
| 输出字节 7 的字节地址 |
| 标志存储器中存储器位置 48 处双字的地址 |
| 输入字的字地址;取决于当前控制器配置的解释 |
VAR wVar AT %IW0 : WORD; END_VAR | 带有输入字地址信息的变量声明 |
VAR xActuator AT %QW0 : BOOL; END_VAR | 布尔变量声明 注意:对于布尔变量,如果未指定单个位地址,则在内部分配一个字节。值的变化 |
VAR xSensor AT %IX7.5 : BOOL; END_VAR | 明确指定单个位地址的布尔变量声明 访问时,仅读取输入位 7.5。 |
记忆位置
确保地址有效,如下所示:
要在应用程序中映射有效地址,您首先需要知道流程图像中的所需位置。这意味着适用的内存区域:输入存储器区域 (I
)、输出存储区 (Q
),或标记存储区域 (M
)(见上文)。此外,你需要指定所需的大小前缀:位, BYTE
, WORD
, DWORD
(见上文: X
, B
, W
, D
)
当前使用的设备配置和设备设置(硬件结构、设备描述、I/O 设置)起着决定性的作用。
请特别注意采用字节寻址的设备和采用以字为导向的 IEC 寻址设备之间在位地址解释上的差异。
就位地址而言 %IX5.5
,点之前的数字在字节寻址设备中指向字节 5,在文字寻址设备中寻址单词 5。
相比之下,使用字或字节地址寻址与设备类型无关: %IW5
,始终对单词 5 进行寻址,并使用字节地址 %IB5
总是字节 5。因此,根据大小和寻址模式,您可以使用相同的地址信息寻址不同的存储单元。
下表显示了位、字节、字和双字的字节寻址和以字为导向的 IEC 寻址的比较。它还显示了用于字节寻址的重叠存储区域。参见表格末尾的示例。
关于语法,请注意,IEC 寻址始终以文字为导向。单词编号位于点之前,位数位于点之后。

n = 字节数
D0
包含 B0
- B3
。 W0
包含 B0
和 B1
。 W1
包含 B2
和 B3
。 W2
包含 B4
和 B5
。
W1
,但也是 D1
, D2
,以及 D3
不得用于寻址。这样可以避免重叠