地址

当分配一个地址,本地内存位置以及大小可以通过特殊的字符序列进行定义。

语法:

%<memory area prefix><size prefix><number|.number|.number....>

以下内存区域前缀是支持的:

I

输入 (通过输入驱动的物理输入, "传感器")

Q

输出 (通过输出驱动的物理输出, "执行器")

M

内存位置

支持以下前缀大小:

X

信号位

None

信号位

B

比特 (8 Bits)

W

字 (16 Bits)

D

双字 (32 Bits)

示例

%QX7.5

%Q7.5

输出位 7.5

%IW215

输入字 215

%QB7

输出比特 7

%MD48

位于内存位置 48 处的双字位置

%IW2.5.7.1

根据当前 PLC 配置的说明 (见下文)。

 ivar AT %IW0: WORD;

包含地址定义的变量定义。

“AT声明”

 

确保使用一个可获得的地址:

应用程序中访问一个可获得的 地址,首先你必须知道在处理过程影像中相应的位置,即要使用的内存区域:输入 (I),输出 (Q) 或者内存 (M) 区域,见下文。然后特殊定义的大小: bit, byte, word, dword (见上文: X, B, W, D)

当前设备配置以及设置中决定性的角色 (硬件结构,设备描述, I/O 设置)。尤其是考虑位说明的不同位于设备使用“比特地址方式”或者使用字范围“IEC 地址模式”:例如,在位地址设备第一个位元素地址为 %IX5.5 将标记比特 5,但是在一个字地址设备中将会被标记字 5。不同于一个字地址或者一个比特地址是设备类型的无关的;对于 %IW5 通常字 5 将会被标定对于比特地址 %IB5 通常为比特 5。

所以根据大小以及地址模式不同的内存调用将会通过相同的地址定义被标记。

参阅下文表格中对于比特地址以及IEC地址范围内的字对于 bits, bytes, words 以及 dwords 的描述。在所有变量之后是重叠内存区域如果是比特地址模式 (参阅表格下的示例)。

关于书写方式方面,位地址IEC寻址模式始终是面向字的,这意味着,点之前的地方对应字的数目,名称后面的位的数目。

n 位数量
插图 534: 比较面向字节和字寻址的地址大小D,W,B和X

内存范围重叠的情况下,字节寻址模式,例如:

D0 包含 B0 - B3, W0 包含 B0 以及 B1, W1 包含 B1 以及 B2, W2 包含 B2 以及 B3 -> 为了获得 W1重叠部分 D1, D2, D3 不能用于地址分配!

提示!

布尔变量将会按照字节分配。如果没有明确指定单位地址。例如: varbool1 的值发生变化 AT %QW0 会影响QX0.0 到 QX0.7 范围内的变化。

小心!

在线改变可能会改变常量地址。请注意当使用 “指针” 指向 地址