plc间接寻址方式

PLC/PAC

157人已加入

描述

  plc间接寻址的类型

  间接寻址可分为两大类型:存储器间接寻址和寄存器间接寻址。如图1所示。

  

  1、存储器间接寻址

  存储器间接寻址的地址给定格式是:地址标识符+指针。指针所指示存储单元中所包含的数值,就是地址的确切数值单元。

  2、寄存器间接寻址

  寄存器间接寻址为通过 CPU的地址寄存器AR1,AR2进行寻址。AR1,AR2 均为 32 位寄存器,寄存器间接寻址只使用 32 位指针。

  PLC的间接寻址方式

  间接寻址是指使用地址指针来存取存储器中的数据。使用前,首先将数据所在单元的内存地址放入地址指针寄存器中,然后根据此地址存取数据。S7-200CPU中允许使用指针进行间接寻址的元器件有I、Q、V、M、S、T、C。

  建立内存地址的指针为双字长度(32位),故可以使用V、L、AC作为地址指针。必须采用双字传送指令(MOVD)将内存的某个地址移入到指针当中,以生成地址指针。指令中的操作数(内存地址)必须使用“&”符号表示内存某一位置的地址(长度为32位)。例如:

  MOVD&VB200,AC1

  表示将VB200在存储器的32位物理地址值送AC1。VB200是直接地址编号,&为取地址符号。将本指令中&VB200改为&VW200或VD200,指令功能不变。

  在使用指针存取数据的指令中,操作数前加有*时表示该操作数为地址指针。例如:

  MOVW*AC1.AC0

  表示将AC1作为内存地址指针,把以AC1中内容为起始地址的内存单元的16位数据送到累加器AC0中。

  西门子PLC间接寻址方法

  1、区域内间接寻址

  指针的最高位(第31位)x为0时为区域内的间接寻址,此时区域标示号rrr也为0,地址指针的格式与存储器间接寻址的相同。下面是区域内间接寻址的例子:

  

  方括号内为操作数的地址,它等于AR1中的地址值P#5.0加上逗号后面的地址偏移量,例如第3条指令中操作数的地址为P#5.0+P#2.3=P#7.3,即操作数为M7.3。

  2、区域之间的间接寻址

  指针的最高位(第31位)x = 1时为区域间的间接寻址,下面是区域间的间接寻址的例子:

  

  P#M6.0对应的二进制数为2#1000 0011 0000 0000 0000 0000 0011 0000。因为地址指针P#M6.0已经包含有区域信息(rrr=2#011表示M区),第3条指令“L W[AR1, P#50.0]”没有必要再使用地址标识符M。

  用地址指针读写字、字节或双字时,指针中小数点右边的位编号必须为0,否则将会出错。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分