西门子plc间接寻址方法,本文提到的主要是西门子S7-300plc. 1.区域内间接寻址 指针的最高位(第31位)x为0时为区域内的间接寻址,此时区域标示号rrr也为0,地址指针的格式与存储器间接寻址的相同。下面是区域内间接寻址的例子: L P#5.0 //将间接寻址的指针装入累加器1 LAR1 //将累加器1的内容送AR1 A M[AR1, P#2.3] //AR1中的P#5.0加偏移量P#2.3,对M7.3进行操作 = Q[AR1, P#0.2] //逻辑运算的结果送Q5.2,P#5.0+P#0.2=P#5.2 L MW[AR1, P#19.0] //将MW24装入累加器1 方括号内为操作数的地址,它等于AR1中的地址值P#5.0加上逗号后面的地址偏移量,例如第3条指令中操作数的地址为P#5.0+P#2.3=P#7.3,即操作数为M7.3。 2.区域之间的间接寻址 指针的最高位(第31位)x = 1时为区域间的间接寻址,下面是区域间的间接寻址的例子: L P#M 6.0 //将M6.0的双字地址装入累加器1 LAR1 //将累加器1的内容送到AR1 L W [AR1,P#20.0] //将MW26的内容传送到累加器1 P#M6.0对应的二进制数为2#1000 0011 0000 0000 0000 0000 0011 0000。因为地址指针P#M6.0已经包含有区域信息(rrr=2#011表示M区),第3条指令“L W[AR1, P#50.0]”没有必要再使用地址标识符M。 用地址指针读写字、字节或双字时,指针中小数点右边的位编号必须为0,否则将会出错。 |