n
描述
S7-300/400 控制器使用 SCL 有两种方法可以进行间接寻址。n
- 变量的间接寻址n
- DB 块的间接寻址
变量的间接寻址类似于绝对寻址。只是在括号内定义一个偏移量来替换掉地址值。对于数据块的间接寻址,可以使用转换函数 "WORD_TO_BLOCK_DB" 进行转换。n
下图中的例子,描述了在 S7-300/400 中如何使用间接寻址来访问 DB 块中的数据。n
图. 01n
如果希望通过间接寻址访问 S7-300/400 的 M,I 区和Q 区,需要使用指令 %MX(), %MB(), %MW(), %EX(), %EB(), %EW(), %AX(), %AB() 和 %AW()。在访问区域前面必须添加百分号。n
如下图 2 所示。n
图. 02n
SIMATIC S7-1200/1500控制器可使用表 01 中指令来实现间接寻址。n
指令 | 描述 |
POKE | 写存储器地址 |
POKE_BOOL | 写存储器位 |
PEEK | 读存储器地址 |
PEEK_BOOL | 读存储器位 |
POKE_BLK | 写存储区 |
表 01
可通过如图 3 所示,使用 PEEK 和 POKE 指令来访问数据块中的数据。
图. 03
注意
PEEK 和 POKE 指令无法在 S7-300/400 中使用。更多关于间接寻址及指令使用的相关信息,请参阅 STEP 7 (TIA博途) 在线帮助。
图. 04 是如何在S7-1200/S7-1500中使用"POKE_BLK" 指令实现间接寻址的例子。源 DB(标签名 "DB_Number_SRC") 的数据被拷贝到目的 DB (标签名 "DB_Number_DES") 中。
Fig. 04
表 01 所列相关指令详细信息请参阅 STEP 7 (TIA 博途) 在线帮助。
创建环境
该 FAQ 相关截图由STEP 7 (TIA 博途) V13 创建。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc325535.html