西门子PLC模块代理商-岳阳
西门子PLC模块代理商-岳阳
西门子PLC模块代理商-岳阳
S7-300/400的直接寻址方法与S7-200相同。间接寻址方式有“存储器间接寻址”与"寄存器间接寻址"两种。由于S7-300/400具有**的指针寄存器AR1、AR2,因此,间接寻址建立“地址指针”的方法与指令的表示方法、寻址的范围等均与S7-200 PLC有较大的区别,其使用方便,寻址范围也大。
①存储器间接寻址
S7-300/400与S7-200 PLC两者的存储器间接寻址方式相比,在实际使用中只有两方面明显的区别。
a.在S7-300/400中,间接寻址不需要建立指针的过程,可以直接在寻址对象的加"【】"标记,表示该寻址对象为间接寻址。
b.间接寻址可以用于二进制位地址。
【例3-8】通过局部变量LD10,将输入122.2读入,与10.0进行"与"运算,输出到Q0.1的程序如下:
②寄存器间接寻址
S7-300/400的寄存器间接寻址是一种利用指针寄存器进行偏移的间接寻址方式,格式为【AR1,m】或【AR2,m】,间接寻址所*的存储器地址为指针寄存器AR1或AR2的内容与m之和。
指针寄存器 AR1或 AR2为双字长寄存器,可以同时存储地址、字节、位等信息。因此,寻址不仅可以在存储器自身的区域内进行(如内部标志M之间、输入工之间等),而且可以在不同的区域内进行(如由内部标志M到输入I等)。
寄存器各位所代表的含义如图3-21所示。
地址位(bit31):"0"表示指针寄存器不含地址符,地址符bit24~bit26应为0;
"1"表示指针寄存器含地址符,地址符由bit24~bit26*。
地址符(bit24~bit26):地址位(bit31)为“1”时用于*存储器地址,地址的编码如下。
000:地址P;
001:地址I;
010:地址Q;
011:地址M;
100:地址DBX;
101:地址DIX;
110:地址L;
111:地址VL。
字节编号(bit18~bit3):*存储器的字节地址,范围为0~65535。
位编号(bit2~bit0):*存储器的位地址,范围为0~7。
指针寄存器可以不含地址符,此时,指针寄存器只需要写人二进制的字节与位数据,地址由逻辑运算指令*。
【例3-9】通过指针寄存器偏移二进制位22.2后,将I32.3读入,与I0.0进行"与"运算,输出到Q0.1的程序如下:
在使用二进制位数据时应注意,开关量输入/输出的单位为字节,因此,进行指针寄存器偏移时应利用8进制数进行计算。
【例3-10】通过指针寄存器偏移二进制位数据10.5后,将121.4读入,与10.0进行“与”运算,输出到Q0.1的程序如下:
指针寄存器可以含地址符,此时,指针寄存器需要同时写入地址、二进制的字节与位数据,逻辑运算指令不再需要*地址。
【例3-11】 将M6.0作为地址指针,将输入IW10的内容写人到MW56中的程序如下:
浔之漫智控技术(上海)有限公司专注于西门子等