



小心

如果使用指向地址的指针,那么在联机更改过程中,地址的内容可以被移动。如果使用绝对地址,则在线更改时地址内容不会改变。
语法
%<memory area prefix> ( <size prefix> )? <memory position> <memory area prefix> : I | Q | M <size prefix> : X | B | W | D <memory position> : <number> ( .<number> )* // Depends on the target system
定义地址时,使用特定字符串来表示内存位置和大小。地址用百分号 (%
) 标记,后面跟内存范围前缀、可选大小前缀和内存范围位置。用于寻址内存位置的编号取决于目标系统。
内存范围前缀 |
|
---|---|
|
输入 "的输入存储器范围 对于通过输入驱动器进行的物理输入,"传感器" |
|
输出存储器 "的输出范围 对于通过输出驱动器进行的物理输出,"致动器" |
|
标记记忆范围 |
尺寸前缀 |
数据类型 |
数据宽度 |
---|---|---|
无尺寸前缀 |
单比特 |
|
|
单比特 |
|
|
|
8 位 |
|
|
16 位 |
|
|
32 位 |
示例
|
输出位的单位地址 7.5 |
|
输入字的字地址 215 |
|
输出字节的字节地址 7 |
|
标志内存中 48 号内存位置的双字地址 |
|
输入字的字地址;解释取决于当前控制器配置 |
|
包含输入字地址信息的变量声明 |
|
布尔变量声明 请注意:对于布尔变量,如果未指定单位地址,则内部分配一个字节。 |
|
布尔变量声明,明确指定一位地址。访问时,只读取输入位 7.5。 |
记忆位置
确保地址有效,如下所示:
要在应用程序中映射有效地址,必须知道流程映像中的所需位置(适用内存范围):输入内存范围 (I)、输出内存范围 (Q) 和标志内存范围 (M) - 参见上文。此外,您还必须指定所需的大小前缀:bit,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 包含 B1 和 B2,W2 包含 B2 和 B3。因此,为了避免重叠,必须避免使用 W1(以及 D1、D2 和 D3)寻址。
另见