PLC中为什么要间接寻址直接寻址不得吗?求解释

如题所述

因为用样的情况下,用间接寻址比直接寻址快。用间接寻址1句话的场合,如果用直接寻址,可能无法完成,或者能完成可却要写几十几百几千句。

存储器间接寻址址给定格式是:址标识符+指针。指针所指示存储单元中所包含数值,就是址确切数值单元。存储器间接寻址具有两个指针格式:单字和双字。单字指针是一个16bit结构,从0-15bit,指示一个从0-65535数值,这个数值就是被寻址存储区域编号。

扩展资料

寄存器间接寻址为通过 CPU的地址寄存器AR1,AR2进行寻址。AR1,AR2 均为 32 位寄存器,寄存器间接寻址只使用 32 位指针。分为内部区域间接寻址和交叉区域寻址。

内部区域寄存器间接寻址

指针格式与存储器间接寻址的 32 位指针相同,第 0 位~ 第 2 位作为寻址操作的位地址,第 3 位~第 18 位作为寻址操作的字节地址,第 19 位 ~第 31 位没有定义,32 位指针的格式。

交叉区域寄存器间接寻址

包含有存储器区域信息的指针,称为交叉区域指针。同样,交叉区域指针为 32 位,寄存器间接寻址要使用地址寄存器 AR1 或 AR2。32 位交叉区域指针,左起 0~18 位格式与 32 位内部区域指针相同,19~23 位,27~20 位未定义,31 位为交叉区域指针标识位。

24~26 位是存储区域地址标识,8 中组合表示 8 种存储器区域。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-10
你应该是用的西门子的PLC吧,就直接拿一个应用的例子来解释吧。
例如,
直接寻址是你直接对一个区间的变量赋值或者搬移,例如MOV 500,VB100;
间接寻址是你对一个地址赋值或者搬移,例如,你先将 VB100的地址赋给AC1,指令是
MOVD &VB100,AC1
然后再MOVD 500,*AC1。
这样的两种做法的结果相同;
这样看,感觉好像直接寻址更方便,其实不然,比如如果你是要根据条件赋值给VB100~VB200中的其中一个;
如果你用直接寻址,那么你得根据条件写一百个这样的指令;例如MOV 500,VB100;MOV 500,VB101。。。。。。
如果你用间接寻址,那么你还是用上述两句话,
MOVD &VB100,AC1;
这时候你的AC1就相当于有了VB100的地址,你再加一句,ADDD AC1,VB10;
之后再用MOVD 500,*AC1;以后你只需要对VB10赋值,就可以随意的进行更改你要用的VB,例如VB10 = 1的话,就相当于给VB101赋值。这样的用法在大规模的程序中,是非常方便的。本回答被提问者和网友采纳
第2个回答  2012-10-25
说的对。
大多数情况下都是直接寻址,间接寻址用的很少。
第3个回答  2012-11-02
用间接寻址1句话的场合 如果用直接寻址 可能无法完成 或者能完成可你却要写几十几百几千句

PLC中为什么要间接寻址直接寻址不得吗?求解释
因为用样的情况下,用间接寻址比直接寻址快。用间接寻址1句话的场合,如果用直接寻址,可能无法完成,或者能完成可却要写几十几百几千句。存储器间接寻址址给定格式是:址标识符+指针。指针所指示存储单元中所包含数值,就是址确切数值单元。存储器间接寻址具有两个指针格式:单字和双字。单字指针是一个...

什么是PLC直接寻址和间接寻址
直接寻址在程序设计中指的是数据直接存放于寄存器D内,无需额外的地址指示。而间接寻址则不同,数据存储于寄存器表示的地址中,而非寄存器内。例如,数据值为10,寄存器标记为D0,使用直接寻址时,10直接存储在D0中。采用间接寻址时,D0所存储的数值决定数据最终存放的位置。若D0值为1,则数据10实际存放...

PLC中为什么要间接寻址?
间接寻址是你对一个地址赋值或者搬移,直接寻址是你直接对一个区间的变量赋值或者搬移。指令中给出的地址是存放数据的地址的地址称为间接寻址。间接寻址方式是,指令给出了存放操作数地址的存储单元的地址(也称地址指针),按照这一地址找到的存储单元中的数据才是所需要的操作数,相当于间接地取得数据。S...

什么是PLC直接寻址和间接寻址
直接寻址就是你的数据直接存放在寄存器D中。间接寻址就是你的数据存放在寄存器所表示数据的地址中。举个例子,你的数据是10,寄存器用D0,如果用直接寻址,那么10就直接存储到D0中。如果用间接寻址,那么D0里面的数字是多少,你最后存储的地址就是多少,比如D0里面是1,那么10就放在D1 里,如果D0里...

直接寻址和间接寻址有何区别?
一、方式不同 1、直接寻址:在指令格式的地址的字段中直接指出操作数在内存的地址。2、间接寻址:指令地址字段的形式地址D不是操作数的真正地址,而是操作数地址的指示器,或者说是D单元的内容才是操作数的有效地址。二、特点不同 1、直接寻址:操作数的地址直接给出而不需要经过某种变换,在指令中直接...

西门子S7-300 直接寻址和间接寻址学习看不懂?
间接寻址是需要指针来完成的。说道间接寻址,还有一个必须要了解,就是“绝对地址”比如VB0,它就是带表V存储区的,第0个字节,包含VB0.0---VB0.7。在PLC中,每个地址都对应一个绝对地址。它是不可改变的,是PLC内部设定的。比如VB0的“绝对地址”就是16#08000000 要使用间接寻址,首先你要建立...

plc的寻址如何理解
PLC的寻址方式有两种,一种是直接寻址,一种是间接寻址,或叫变址寻址。例如三菱FX系列PLC的数据寄存器D。直接寻址就是直接使用D0、D1等等,就是直接表示D0这个地址和D1这个地址,这种直接的到的地址。间接寻址就是后面在加上变址寄存器,例如D0Z1,D1Z4,等等。当Z1=0时,D0Z1就是D0。当Z1=1...

计算机里的寻址到底是指什么,有直接寻址,间接寻址等方式,有什么作用...
寻址: CPU在内存或硬盘中找需要的数据。直接寻址和间接寻址中的最大不同就是寻址的速度。他们是用不同的寄存器存储+算法来完成的。

什么是plc的间接寻址,直接寻址,指针是什么概念?
直接寻址:操作数就存放在数据的地址。基本逻辑指令都是直接寻址方式。 你说的间接寻址应该是变址寻址吧,指针:指针实际上是程序发生转移时,转移去的入口地址的标号,一种为P标号,用于跳转和子程序调用的转移去的入口地址,一种为i标号,称中断指针。专用于中断服务子程序的入口地址。

简述直接寻址,间接寻址
直接寻址的对象是显式的,可能是个直接数代表内存地址,或者寄存器名;间接寻址是隐式的,直接操作数是一个寄存器,这个寄存器里的值才是真正的读写地址。比如,奥巴马是黑人,这里奥巴马就是直接寻址;现任美国总统是黑人,这就是间接寻址了。

相似回答