西门子S7-300 直接寻址和间接寻址学习看不懂?
发布网友
发布时间:2022-04-29 02:12
我来回答
共1个回答
热心网友
时间:2022-06-28 11:18
寻址的大概意思就是存储器的地址使用。
你首先需要了解西门子PLC的存储器有哪些。
一般用的有M存储区,V存储区,SM特殊存储区等等
他们都是单独的存储区。
还有需要了解位(bit),字节(BYTE),字(WORD),双字(DW)。
最简单的举例说明,Q存储区是PLC输出用的。
它有8个位,分别为Q0.0----Q0.7
这里的Q0.0到Q0.7,这个8个位,就是直接寻址。
间接寻址是需要指针来完成的。
说道间接寻址,还有一个必须要了解,就是“绝对地址”
比如VB0,它就是带表V存储区的,第0个字节,包含VB0.0---VB0.7。
在PLC中,每个地址都对应一个绝对地址。它是不可改变的,是PLC内部设定的。
比如VB0的“绝对地址”就是16#08000000
要使用间接寻址,首先你要建立一个“指针”
指针的意思大概就是把一个地址比如VB0,把它的“绝对地址”用MOV指令传送到比如VD100(指针必须用双字表示,32个位,4个字节,2个字)
&VB0就相当于VB0的绝对地址,VD100就是指针,VD100里面存储的不是VB0的值,而是它的“对绝对值”16#08000000。
如何把数值传送出去呢?
就需要
字节传送指令MOV_B来完成。
*VD100,它表示的就是VB0内部的数值。
这个就是间接寻址。
最后总结一下,我们一般用的都是直接寻址,间接寻址用的不多(反正我基本上不用)
比如起保停程序。
这里的I0.0 I0.1 Q0.0 ,用的都是直接寻址。
希望能帮到你 ^ _ *!
西门子S7-300 直接寻址和间接寻址学习看不懂?
间接寻址是需要指针来完成的。说道间接寻址,还有一个必须要了解,就是“绝对地址”比如VB0,它就是带表V存储区的,第0个字节,包含VB0.0---VB0.7。在PLC中,每个地址都对应一个绝对地址。它是不可改变的,是PLC内部设定的。比如VB0的“绝对地址”就是16#08000000 要使用间接寻址,首先你要建立...
s7-300 PLC中的寻址方式有哪些?
西门子300和400PLC的寻址方式有两大类,分别是直接寻址和间接寻址。直接寻址又可以分为绝对地址寻址和符号地址寻址。直接寻址就是用绝对地址寻址;比如你的DB**.DBX**.*就属于直接寻址。符号地址寻址是指你用变量的名称符号来代表地址,比如你把DB1.DBW0命名为“START TIME”.那么你在之后的编程里要用...
S7 300指令是什么意思?L W[AR1,P#0.0]指令是什么意思?
不是一两句能说清楚的。L W[AR1,P#0.0]这个个间接寻址中的交叉寻址,其中W指的是你的字符宽度,W代表的是字,就是这个指针的指向宽度为2个字节,AR1为你事先装载进去的指针指向起始地址,例如 L [MW20]LAR1 这个就是在位存储区中的第20个字的位置,字符宽度为2两个字节。装载到地址寄存器1...
直接寻址与间接寻址的区别是什么?
一、方式不同 1、直接寻址:在指令格式的地址的字段中直接指出操作数在内存的地址。2、间接寻址:指令地址字段的形式地址D不是操作数的真正地址,而是操作数地址的指示器,或者说是D单元的内容才是操作数的有效地址。二、特点不同 1、直接寻址:操作数的地址直接给出而不需要经过某种变换,在指令中直接...
什么是PLC直接寻址和间接寻址
举个例子,你的数据是10,寄存器用D0,如果用直接寻址,那么10就直接存储到D0中。如果用间接寻址,那么D0里面的数字是多少,你最后存储的地址就是多少,比如D0里面是1,那么10就放在D1 里,如果D0里面是5,那么10就放在D5里面,看上去D5并没有出现在程序里,但是因为用了间接寻址的关系,10就是...
PLC中为什么要间接寻址直接寻址不得吗?求解释
直接寻址是你直接对一个区间的变量赋值或者搬移,例如MOV 500,VB100;间接寻址是你对一个地址赋值或者搬移,例如,你先将 VB100的地址赋给AC1,指令是 MOVD &VB100,AC1 然后再MOVD 500,*AC1。这样的两种做法的结果相同;这样看,感觉好像直接寻址更方便,其实不然,比如如果你是要根据条件赋值给...
PLC中为什么要间接寻址直接寻址不得吗?求解释
因为用样的情况下,用间接寻址比直接寻址快。用间接寻址1句话的场合,如果用直接寻址,可能无法完成,或者能完成可却要写几十几百几千句。存储器间接寻址址给定格式是:址标识符+指针。指针所指示存储单元中所包含数值,就是址确切数值单元。存储器间接寻址具有两个指针格式:单字和双字。单字指针是一个...
间接寻址和直接寻址的区别是什么?
一、作用不同 MOV A,R0是直接寻址指令(直接寻址方式的操作指令直接把地址作为操作数来运行,既可作为源操作数,也可作为目的操作数)因此是传递的R0中存储的数据。MOV A,@R0是间接寻址指令(间接寻址时,寄存器的内容是操作数的地址。通过@Ri可以对片内数据存储器单元间接寻址),因此Ri中存储的是...
什么是直接寻址,什么是间接寻址,什么是存储器寻址,还有什么寻址的都给...
如果汇编原程序中跳转指令中使用的是标号,编译后是直接跳转,如果使用了寄存器参量的就是间接跳转的了。只能说内存寻址的大小与CPU位数有关,但不完全有CPU位数决定,这里有人为的设置,同为64位的CPU,寻址大小、方式也是不一样的,举个例子:人为限制内存地址用8位2进制数表示,那他的寻址大小是2的...
寄存器间接寻址和直接寻址哪个快
立即寻址就是指令当中自带数据,直接读取,最快;直接寻址就是指令中存放的是地址,直接解析这个地址;间接寻址就只指令中存放的是地址的地址,或者是存放地址的寄存器,最慢。