在 STEP 7 (TIA 博途) 中,如何在 SCL 程序中实现间接寻址?

n

描述
S7-300/400 控制器使用 SCL 有两种方法可以进行间接寻址。n

  • 变量的间接寻址n
  • DB 块的间接寻址

变量的间接寻址类似于绝对寻址。只是在括号内定义一个偏移量来替换掉地址值。对于数据块的间接寻址,可以使用转换函数 “WORD_TO_BLOCK_DB” 进行转换。n

下图中的例子,描述了在 S7-300/400 中如何使用间接寻址来访问 DB 块中的数据。n

在 STEP 7 (TIA 博途) 中,如何在 SCL 程序中实现间接寻址?
图. 01n

如果希望通过间接寻址访问 S7-300/400 的 M,I 区和Q 区,需要使用指令 %MX(), %MB(), %MW(), %EX(), %EB(), %EW(), %AX(), %AB() 和 %AW()。在访问区域前面必须添加百分号。n

如下图 2 所示。n

在 STEP 7 (TIA 博途) 中,如何在 SCL 程序中实现间接寻址?

图. 02n

SIMATIC S7-1200/1500控制器可使用表 01 中指令来实现间接寻址。n

指令 描述
POKE 写存储器地址
POKE_BOOL 写存储器位
PEEK 读存储器地址
PEEK_BOOL 读存储器位
POKE_BLK 写存储区

表 01

可通过如图 3 所示,使用 PEEK 和 POKE 指令来访问数据块中的数据。

在 STEP 7 (TIA 博途) 中,如何在 SCL 程序中实现间接寻址?
图. 03

注意
PEEK 和 POKE 指令无法在 S7-300/400 中使用。更多关于间接寻址及指令使用的相关信息,请参阅 STEP 7 (TIA博途) 在线帮助。

图. 04 是如何在S7-1200/S7-1500中使用”POKE_BLK” 指令实现间接寻址的例子。源 DB(标签名 “DB_Number_SRC”) 的数据被拷贝到目的 DB (标签名 “DB_Number_DES”) 中。

在 STEP 7 (TIA 博途) 中,如何在 SCL 程序中实现间接寻址?
Fig. 04

表 01 所列相关指令详细信息请参阅 STEP 7 (TIA 博途) 在线帮助。

创建环境
该 FAQ 相关截图由STEP 7 (TIA 博途) V13 创建。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc325535.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论