您现在的位置是:首页 > PLC技术 > PLC技术

S7-300有4种寻址方式:存储器间接寻址

来源:艾特贸易2017-06-05

简介存储器间接寻址简称间接寻址。该寻址方式在指令中以存储器的形式给出操作数所在存储器单元的地址,也就是说该存储器的内容是操作数所在存储器单元的地址。该存储器一般称为地


    存储器间接寻址简称间接寻址。该寻址方式在指令中以存储器的形式给出操作数所在存储器单元的地址,也就是说该存储器的内容是操作数所在存储器单元的地址。该存储器一般称为地址指针,在指令中需写在方括号“[]”内。地址指针可以是字或双字。对于地址范围小于65 535(即16位二进制数所表示的最大值)的存储器(如TCDBFBFC等)可以用字指针,其指针格式如图3 -7所示。对于其他存储器(如IQM等)则要使用双字指针。如果要用双字指针访问字节、字或双字存储器,必须保证指针的位编号为0,只有双字MDLDDBDDID能作双字地址指针,存储器间接寻址的双字指针的格式如图3 -8所示,位0~2(XXX)为被寻址位的位编号(范围07),位3l8为被寻址字节的字节编号(范围065 535)。

 存储器间接寻址的字指针格式

3-7存储器间接寻址的字指针格式

 

3-8存储器间接寻址的双字指针格式

    存储器间接寻址的单字格式的指针寻址示例:

   L2    说明:将数字2#0000_0000_0000_0010装入累加器1

    TMW50    将累加器l低字中的内容传给MW50作为指针值

   OPN DB35    打开共享数据块DB35

    LDBW[MW50]    将共享数据块DBW2的内容装入累加器1

    存储器间接寻址的双字格式的指针寻址示例:

 

    上面程序中Q[MD2]中的MD2称为地址指针,其里面的数值代表地址。

    使用存储器间接寻址,该存储器的值是操作数的地址,因此改变了存储器的值就相当于改变了操作数的地址,在循环程序中经常使用存储器间接寻址。

    如何产生字或双字指针并用其进行寻址示例见表3-8,当存储器的间接地址存放在数据块中,调用时要先用OPEN指令打开数据块。

3 -8字或双字指针并用其进行寻址编程示例

 字或双字指针并用其进行寻址编程示例

  值得注意的是:进行偏移量计算时,字节部分按十进制算法计算,而位地址按八进制算法计算。