品牌 | Siemens/德国西门子 | 电动机功率 | 7.5KW |
---|---|---|---|
外形尺寸 | 500mm | 重量 | 3kg |
应用领域 | 环保,化工,生物产业,石油,电子 |
西门子SM321数字量6ES7 321-1BL00-0AA0
西门子SM321数字量6ES7 321-1BL00-0AA0
使用指针进行间接寻址
间接寻址使用指针访问存储器中的数据。
指针是包含另一个存储单元地址的双字存储单元。 只能将 V 存储单元、L
存储单元或累加器寄存器(AC1、AC2、AC3)用作指针。
要创建指针,必须使用“移动双字”指令,将间接寻址的存储单元地址移至指针位置。
指针还可以作为参数传递至子例程。
S7-200 SMART CPU 允许指针访问下列存储区:
I、Q、V、M、S、AI、AQ、SM、T(仅限当前值)和 C(仅限当前值)。
您不能使用间接寻址访问单个位或访问 HC、L 或累加器存储区。
要间接访问存储器地址中的数据,通过输入一个“和”符号 (&)
和要寻址的存储单元的个字节,创建一个该位置的指针。
指令的输入操作数前必须有一个“和”符号
(&),表示存储单元的地址(而非其内容)将被移到在指令输出操作数中标识的位置(指
针)。
在指令操作数前面输入一个星号 (*) 可该操作数是一个指针。 如下图所示,输入
*AC1 表示 AC1 存储指向“移动字”(MOVW) 指令引用的字长度值的指针。
在该示例中,在 VB200 和 VB201 中存储的值被移至累加器 AC0。
使用指针访问表中数据
该示例使用 LD14 作为指向存储在配方表中的配方的指针,配方表的起始地址为
VB100。 在本例中,VW1008 用于存储特定配方在表中的索引。
如果表中每一个配方的长度都是 50 字节,将该索引乘以 50
即可得到该特定配方的起始地址偏移量。
用指针加上该偏移量,即可访问表中的单独配方。 在本例中,配方会被复制到从 VB1500
开始的 50 个字节中。