西门子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 ,用的都是直接寻址。

希望能帮到你 ^ _ *!

温馨提示:内容为网友见解,仅供参考
无其他回答

西门子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个字的位置,字...

西门子S7-200SMART PLC间接寻址的使用方法
1. 创建指针 使用间接寻址需要先创建指针。如何创建指针?使用MOV_DW指令将指针地址存储到OUT输出的变量中。MOV_DW是不是普通的32位数传送指令?那么它如何成为指针呢?实际上,当MOV_DW指令的IN引脚使用&VBxxx、&IBxxx、&MBxxx、&QBxxx时,就是创建指针的格式。如图1所示,&VB0创建指针指向vb0,其...

plc s7-300 中 p#8.7具体是哪个地址常数
在S7-300中P#表示间接寻址,P#指向的是地址指针,而8.7代表地址,这个地址可能是输入也可能是输出。完整的实例是这样的:L P#8.7 \/\/将指针值载入ACCU 1。T MD2 \/\/将指针传送到MD2中。A I [MD2] \/\/扫描输入位8.7的状态,并将其 = Q [MD2] \/\/信号状态分配给输出位Q 8.7。间接寻址...

西门子s7-300中,有几句语句表看不懂,请老师指点
左移4位,相当于乘以16,也就是说变为W型指针。传送到MD244,载入DB60.DBDW[md244]相当于载入DBW编号为MD240中的数值 传送到mw248 因为指针都是针对于位寻址的,所以在针对于字节,字和双字的时候需要分别乘以8,16,32,也就是左移3位,4位,5位。可以在网上查查西门子的间接寻址资料。

西门子PLC中的数据如何寻址
1.直接寻址 S7系列PLC的编程指令支持直接寻址与间接寻址两种寻址方式。 直接寻址通过直接给出信号地址进行,它可以用于所有的编程元件(I、Q、M、SM、V、L、S、T、C、AC、HC等)。 [例8-5]利用直接寻址的方式,将标志存储器MB10的内容一次性在QB2上输出的程序如图8-4.1所示。图中的MOV...

西门子PLC中的数据如何寻址
可以直接寻址,指令中直接给出操作数地址的寻址方式称为直接寻址。在通常情况下,操作数存放在数据段中,所以,其物理地址将由数据段寄存器DS和指令中给出的有效地址直接形成,但如果使用段超越前缀,那么,操作数可存放在其它段。寻址对象为内部数据存储器,在指令中以直接地址表示; 特殊功能寄存器SFR,在...

西门子s7-300模拟量输出0-10v。如何编程?
S7-300,模拟量输出模块寻址,绝对地址是PQWXXX。AQW是S7-200模拟量输出的寻址。输出字的有效范围是0~27648(0~32000是最大范围).如果是电压输出,0~10V,则输出字大小为 (4\/10)*27648.直接把这个值赋给你想要输出电压的通道地址就可以了。对,就在0B1里用一条MOV指令就行。 当然,最好你是...

PLC程序中 间接寻址用法?
4).L L#16 \/\/将 累加器1的内容放入累加器2,将整数常数(32位)16 加载到累加器1 5).\/I \/\/ 累加器1=累加器2\/累加器1 (16位整数除法计算)6).T #MAX_SHU \/\/将 商存入 局部变量MAX_SHU 具体请查阅《S7-300\/400 STL 语句表编程》(专业从事 自动化控制系统 电气设计、软件编程...

相似回答