登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:[求助]S7间接寻址的几个问题

点击:2754 回复:2

请教各位高手:
1 看介绍说双字的指针分为两部分,位3~18是被寻址字节的字节编号,位0~2是被寻址的位编号(范围是0~7)。如果想访问一个字节、字或双字,被寻址位的编号就必须是0
L   P#8.7
T   MD2
A   I[MD2]          //即 A    I8.7
L   P#8.0
T  MD2
L   IB[MD2]          //即 L  IB 8
T  MW[MD2]        //即 T MD 8
问题是如何利用间接寻址访问到 I 8.0呢?
2 怎样用间接寻址的方法调用自己编写的功能块呢?
比如:
     A     I 0.0
     =     L      1.0
     CALL  "BIN FILTER"
      BINPUT    :=L1.0
      WkTimer   :=T 2
      FilterTime:=S5T#10S
      BFilted   :=Q0.0
     NOP   0
上面的程序中:I 0.0可以用  A   I[MD2](假设MD2 = P#0.0)表达,但
BFilted      :=Q0.0 却无法用 BFilted      :=Q[MD2] 表达,
还有, WKTimer  := T 2 也无法用 WKTimer  := T [MW6](假设MD2 = +2)替换。
这种情况应该如何使用间接寻址编程呢?
谢谢了!
04-06-06 18:24
访问  i8.0  区内寻址
L P#8.0
LAR1
A I[AR1,P#0.0]
= Q1.0
区间寻址
L P#I8.0
LAR1
A  [AR1,P#0.0]
= Q1.0
最后修改:2004-6-6 19:41:48
04-06-06 19:33
多谢!
04-06-07 13:41

工控新闻

更多新闻资讯