电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 梯形图实例 >> 正文

西门子S7-200 PLC的间接寻址方式

作者:佚名    文章来源:本站原创    点击数:    更新时间:2023/7/7

    间接寻址方式是指通过使用指针来存取存储器中的数据的一种寻址方式。S7-200 CPU允许使用指针对I、Q、V、M、S、T(仅当前值)和C(仅当前值)存储区域进行间接寻址,但不能对独立的位或模拟量进行间接寻址。使用间接寻址方式存取数据的过程如下。

    (1)建立指针

    使用间接寻址之前应创建一个指向该位置的指针。由于存储器的物理地址为32位,所以指针的长度应当为双字,只能用变量存储器V、局部存储器L或累加器AC1、AC2和AC3作指针。

    为了生成指针,必须用双字传送指令( MOVD)将要间接寻址的某存储器的地址装入用来作为指针的编程元件中,装入的是地址而不是数据本身。例如,

    MOVD &VB200, AC1    //VB200的地址送入AC1,建立指针

    MOVD &C3, VD6    //C3的地址送入VD6,建立指针

    MOVD &MB4, LD8    //MB4的地址送入LD6,建立指针

西门子PLC间接寻址实例 

    指令的输入操作数开始处使用“&”符号,表示所寻址的操作数是要进行间接寻址的存储器的地址;指令的输出操作数是指针所指向的存储器地址,其数据长度为双字。

    (2)用指针来存取数据

    用指针来存取数据时,操作数前加“*”号,表示该操作数为一个指针。图2-17中的“*AC1”表示AC1是一个指针,*AC1是MOVW指令确定的一个字长的数据。此例中,存于VB101和VB102的数据被传送到累加器ACO的低16位。
指针间接寻址方式 

图2-17 指针间接寻址方式

    (3)修改指针

    连续存取指针所指的数据时,因为指针是32位的数据,应使用双字指令来修改指针值,如双字加法(ADDD)或双字加1(INCD)指令。修改时需要根据所存取的数据长度来正确调整指针。当存取字节数据时,指针调整单位为1,即可执行1次INCD指令;当存取字时,指针调整单位为2;当存取双字时,指针调整单位为4,如图2-18所示。
改变指针寻址方式 

图2-18 改变指针寻址方式

Tags:间接寻址,寻址,指针  
责任编辑:admin
  • 上一篇文章:
  • 下一篇文章: 没有了
  • 请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
    1分 2分 3分 4分 5分

    还可以输入 200 个字
    [ 查看全部 ] 网友评论
    推荐文章
    最新推荐
    关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
    返回顶部
    刷新页面
    下到页底
    晶体管查询