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

2018年12月30日21:42:46 发表评论 1,372 阅读

描述 S7-300/400 控制器使用 SCL 有两种方法可以进行间接寻址。 变量的间接寻址 DB 块的间接寻址 ......

描述

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

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

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

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

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

如下图 2 所示。

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

指令 描述
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") 中。

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

创建环境

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

weinxin
plc入门知识问答
每一个PLC工程师都应该关注的微信公众账号,只需输入您的问题,就会有答案

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: