2016 - 2025

感恩一路有你

plc指针指令实例 plC间接指令怎么使用?

浏览量:3118 时间:2023-04-07 17:05:08 作者:采采

plC间接指令怎么使用?

先定义一个指向访问存储区第一个地址的指针,然后根据第一个地址加上一个偏移量,即基址索引,比如:

L P#6.0

LAR1

上午[AR1,第1.2页]

Q[AR1,第0.2页]

L M[AR1,第14.0页]

什么是PLC直接寻址和间接寻址?

直接寻址:操作数存储在数据的地址。基本逻辑指令都是直接寻址的。你说的间接寻址应该是索引寻址吧?指针:指针其实就是程序转移时被转移入口地址的标签,一个是P标签,用于跳转和子程序调用,一个是I标签,叫做中断指针。专用于中断服务子程序的入口地址。

plc字节位寻址方式有啥?

西门子PLC有两种寻址,直接寻址和间接寻址。间接寻址就是所谓的指针寻址。有四种情况,即存储器间接寻址、寄存器间接寻址、任意指针间接寻址和p指针间接寻址。因此可以认为PLC有五种寻址直接寻址、存储器间接寻址(指针寻址)、寄存器间接寻址(指针寻址)、任意指针间接寻址和p指针间接寻址。

存储器间接寻址:

16位指针,只表示存储地址的起始字节(0-16位)。

32位指针,表示存储地址的起始字节(3-18位)和位地址(0-2位),19-31位未定义。

寄存器间接寻址(AR1,AR2):

寄存器间接寻址的区域中的32位指针与存储器中32位指针的定义完全相同。

寄存器间接寻址的区域穿越32位指针,第31位1和第26位2524位组合为地址标识符,其余位与存储器中32位指针的定义一致。

所以判断是内部还是交叉指针,看第31位,0内部,1交叉,内部pan gt26 25 24位没有意义,交叉26 25 24位有意义。

P#指针

最高字节的0-18位符合32位内存指针的定义,23-19位为0,31-24位为数据区,最低2位为DB块号或0。

任何指针

最高字的6个字节与P#指针的定义一致,接下来的N-7 n-8个字节代表数据长度,N-9个字节代表数据类型,N-10个字节(最低字节)为10H(属于保留字节)。

注意:

内存间接寻址和寄存器间接寻址也是一种指针寻址,但通常很少有人直接明确地提到指针寻址,导致人们误以为指针寻址只有ANY指针和P指针。

这里只讨论四种指针寻址。

指针 寻址 地址 字节 定义

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。