西门子S7-300PLC的寄存器间接寻址问题

来源:本站
导读:目前正在解读《西门子S7-300PLC的寄存器间接寻址问题》的相关信息,《西门子S7-300PLC的寄存器间接寻址问题》是由用户自行发布的知识型内容!下面请观看由(电工学习网 - www.9pbb.com)用户发布《西门子S7-300PLC的寄存器间接寻址问题》的详细说明。
在FC1程序中,第4条指令L W [AR1,P#0.0],后面注释是取指针第1个字内的数据块编号,第9条指令L D [AR1,P#2.0],后面的注释是取指针内数据区的起始地址。这2条指令格式一样,怎么一个是取地址内的内容(数据块编号),一个是取起始地址?

答:下图是参数类型Pointer的结构:

西门子S7-300PLC的寄存器间接寻址问题

下面是书中的程序:

西门子S7-300PLC的寄存器间接寻址问题

参数类型为Pointer的输入参数Start_Addr占6个字节,P##Start_Addr是第1个字节的地址。执行第二条指令后,AR1中是输入参数Start_Addr(指针)的首地址,所以第4条指令装入累加器的是指针第1个字内的数据块编号,第9条指令“L D [AR1,P#2.0]”装入的是指针第2个字节开始的双字,即指针内数据区的起始地址。

如果Start_Addr的实参为DB2.DBX4.0,第9条指令装入的就是DBX4.0的地址(即DB4的地址)。

提醒:《西门子S7-300PLC的寄存器间接寻址问题》最后刷新时间 2023-07-10 03:56:56,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《西门子S7-300PLC的寄存器间接寻址问题》该内容的真实性请自行鉴别。