中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

西门子SIEMENS

抖音 德嘉 泓格论坛 FLIR红外热像论坛
工控论坛首页 西门子SIEMENS → 浏览主题: [求助]S7间接寻址的几个问题
发表新帖 回复该主题
回帖:2个,阅读:2633 [上一页] [1] [下一页]
* 帖子主题:

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

分享到
2239
speaker
文章数:472
年度积分:50
历史总积分:2239
注册时间:2003/3/15
发站内信
发表于:2004/6/6 18:24:00
#0楼
请教各位高手:

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)替换。
这种情况应该如何使用间接寻址编程呢?

谢谢了!
Good good study, day day up!
931
baiguorong
文章数:9
年度积分:50
历史总积分:931
注册时间:2004/6/2
发站内信
发表于:2004/6/6 19:33:00
#1楼
访问  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编辑过]
2239
speaker
文章数:472
年度积分:50
历史总积分:2239
注册时间:2003/3/15
发站内信
发表于:2004/6/7 13:41:00
#2楼
多谢!
Good good study, day day up!
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002