0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SCL中数据块的间接寻址

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2024-01-03 09:33 次阅读

间接寻址,使用数组的符号地址访问

Syntax: „“.[Index]

469885c4-a988-11ee-8b88-92fbcf53809c.png

SCL 中数据块的间接寻址

可以使用转换函数 WORD_TO_BLOCK_DB 来间接寻址数据块。因此要将 DB 号指定为 WORD 数据类型的变量或表达式。

语法

以下语法可用于间接寻址数据块:

WORD_TO_BLOCK_DB(索引).Operand ID (地址)

示例

示例 1:将 WORD 数据类型的全局变量“Address index”用作 DB 号。

在 SCL 中寻址
%M0.0:=WORD_TO_BLOCK_DB("Addressindex").DX(0,0);
%MW0:=WORD_TO_BLOCK_DB("Addressindex").DW(4);

示例 2:将 WORD 数据类型的全局变量“Address index”用作 DB 号。还可通过索引来指定 DB 中的数据元素:

在 SCL 中寻址
%M0.0:=WORD_TO_BLOCK_DB("Addressindex").DX(#i,#y);
%MW0:=WORD_TO_BLOCK_DB("Addressindex").DW(#y);

SCL 中变量的间接寻址

间接寻址类似于绝对地址寻址。指定圆括号中的偏移量而非地址。偏移量由一个字节变量组成,如果是布尔型操作数,有一字节变量和一位变量。字节和位变量必须是 INT 数据类型。

PLC 变量表的定时器和计数器无法以这种方法间接寻址。

语法

以下语法可用于间接寻址全局变量:

Operand ID (Byte tag)

Operand ID (Byte tag.Bit tag)

以下语法可用于间接寻址 DB 变量:

MyDB.OperandID(ByteTag)

MyDB.OperandID(ByteTag.BitTag)

示例

示例 1:根据变量 i 的值,将输入字 2 到 8 中的一个设置为 0。

在 SCL 中寻址
#i:=2;
FOR #i := 2 TO 8 DO
%IW(#i) := 0 ;
END_FOR;

示例 2:根据变量 i 的值,将 DB10 中的字 2 到 8 中的一个设置为 0。

在 SCL 中寻址
#i:=2;
FOR #i := 2 TO 8 DO
%DB10.DW(#i) := 0 ;
END_FOR;







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计数器
    +关注

    关注

    32

    文章

    2121

    浏览量

    92976
  • 定时器
    +关注

    关注

    23

    文章

    3147

    浏览量

    112036
  • 间接寻址
    +关注

    关注

    0

    文章

    18

    浏览量

    7994
  • SCL
    SCL
    +关注

    关注

    1

    文章

    238

    浏览量

    16872

原文标题:STEP 7 博图 中的SCL间接寻址

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    PLC里面的立即寻址、直接寻址间接寻址你都搞懂了吗?

    我们都知道西门子200plc有三种寻址方式:立即寻址、直接寻址间接寻址;这里主要给大家区分下直接和间接
    的头像 发表于 01-04 15:20 979次阅读
    PLC里面的立即<b class='flag-5'>寻址</b>、直接<b class='flag-5'>寻址</b>、<b class='flag-5'>间接</b><b class='flag-5'>寻址</b>你都搞懂了吗?

    西门子plc间接寻址方法

    1.区域内间接寻址 指针的最高位(第31位)x为0时为区域内的间接寻址,此时区域标示号rrr也为0,地址指针的格式与存储器间接
    发表于 12-07 15:51

    寄存器间接寻址和相对寻址的区别是什么

    ,执行该条指令后,R7数据会送到累加器A,累加器A数据就变为10101001。    寄存器
    发表于 01-20 15:33

    间接寻址是什么意思?

    间接寻址是什么意思?查表又是什么?EEPROM是如何定义的?
    发表于 07-14 07:46

    间接寻址的应用

    介绍:本文介绍如何进行间接寻址,并举例说明如何利用间接寻址来清内存。
    发表于 07-01 11:56 14次下载

    寄存器间接寻址方式

    寄存器间接寻址方式   寄存器间接寻址是将指定的寄存器内容为地址,由该地址所指定的单元内容作为操作数。MCS-51规定R2或R1为间接
    发表于 03-14 15:29 4827次阅读

    变址间接寻址方式

    变址间接寻址方式   基址寄存器加变址寄存器间接寻址方式,是MCS-51指令集所独有的,它是以程序计数器PC或数据指针DPTR作
    发表于 03-14 15:30 4905次阅读

    如何在KEIL C中实现直接寻址间接寻址

    本文档的主要内容详细介绍的是如何在KEIL C中实现直接寻址间接寻址
    发表于 07-02 17:42 0次下载
    如何在KEIL C中实现直接<b class='flag-5'>寻址</b>和<b class='flag-5'>间接</b><b class='flag-5'>寻址</b>

    plc的寻址方式:立即寻址、直接寻址间接寻址

    我们都知道西门子200plc有三种寻址方式:立即寻址、直接寻址间接寻址;这里主要给大家区分下直接和间接
    的头像 发表于 09-25 11:50 2.1w次阅读
    plc的<b class='flag-5'>寻址</b>方式:立即<b class='flag-5'>寻址</b>、直接<b class='flag-5'>寻址</b>、<b class='flag-5'>间接</b><b class='flag-5'>寻址</b>

    S7-300间接寻址中的寄存器间接寻址详解

    寄存器间接寻址是通过使用CPU内部集成的两个地址寄存器AR1和AR2存储地址指针来实现的寻址方式,使用时分为内部区域间接寻址和交叉区域
    的头像 发表于 11-20 17:38 9234次阅读
    S7-300<b class='flag-5'>间接</b><b class='flag-5'>寻址</b>中的寄存器<b class='flag-5'>间接</b><b class='flag-5'>寻址</b>详解

    地址寄存器间接寻址进行详解

    关于间接寻址分为存储器间接寻址和地址寄存器间接寻址,本文主要针对地址寄存器
    的头像 发表于 01-30 15:17 4243次阅读
    地址寄存器<b class='flag-5'>间接</b><b class='flag-5'>寻址</b>进行详解

    如何区分西门子PLC的直接寻址间接寻址

    我们都知道西门子200plc有三种寻址方式:立即寻址、直接寻址间接寻址;这里主要给大家区分下直接和间接
    的头像 发表于 08-28 14:43 955次阅读
    如何区分西门子PLC的直接<b class='flag-5'>寻址</b>和<b class='flag-5'>间接</b><b class='flag-5'>寻址</b>

    plc间接寻址有什么用?

    plc间接寻址有什么用? PLC间接寻址是一个非常重要的概念,它是一种用于访问和控制PLC(可编程逻辑控制器)中的数据的技术。本文将从PLC
    的头像 发表于 09-15 14:59 1030次阅读

    PLC中为什么要间接寻址?直接寻址不行吗?

    PLC中为什么要间接寻址?直接寻址不行吗? PLC,也称程序可编程控制器,是一种专门用于自动化控制的电子设备,广泛应用于各种工业领域中。在PLC编程中,常常用到寻址的概念,以便读取或控
    的头像 发表于 09-15 14:59 1157次阅读

    什么是PLC直接寻址间接寻址

    什么是PLC直接寻址间接寻址?  PLC直接寻址间接寻址是在程序设计中经常使用的两种方法。直
    的头像 发表于 09-15 14:59 1659次阅读