西门子S7-300 直接寻址和间接寻址学习看不懂?

是不是小白一开始学习这很难啊?学习寻址是不是先具备什么知识啊?而且寻址这方面内容还是用语句表写的?一般写程序用寻址功能多吗?小白该如何学习?

寻址的大概意思就是存储器的地址使用。

你首先需要了解西门子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 ,用的都是直接寻址。

希望能帮到你 ^ _ *!

温馨提示:答案为网友推荐,仅供参考
相似回答