如何间接寻址数据块中的表格数据 点击:881 | 回复:13



053711452

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 11回
  • 年度积分:0
  • 历史总积分:16
  • 注册:2014年4月16日
发表于:2014-05-14 11:05:20
楼主

关于西门子STEP 的指针寻址问题 我在DB11中存储了一张表格的数据,想通过指针寻址来自动查找出其中的数值

我已经将计算出来的那个序号存到了MV10中。
如:我通过计算得出Z=32,我就是要读取DB11.DBD32中的数值。
我将Z用MOVE指令送到MW10中再用MOVE指令去读取DB11.DBD[MW10]。但格式错误
哪位好心人帮帮忙,我对指针寻址不懂,万分感谢





yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10210回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2014-05-14 15:50:00
1楼

DB11.DBD<此处内容被屏蔽>MD10<此处内容被屏蔽>,你需要位地址指针。



yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10210回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2014-05-14 15:50:44
2楼

DB11.DBD[MD10]                                  

053711452

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 11回
  • 年度积分:0
  • 历史总积分:16
  • 注册:2014年4月16日
发表于:2014-05-14 16:24:54
3楼

回复内容:

对: yuanle DB11.DBD[MD10]             ... 内容的回复!


你好,谢谢您的回答。我现在想实现对数据块“test”中的数据读取,为什么会报错啊

     L     18

     T     MD   200

     OPN   "test"

     L     MD   200

     SLD   3

     T     MD   204

     L     DBW [MD 204]

     T     MW    30


greatxiaohuang

  • 精华:0帖
  • 求助:6帖
  • 帖子:12帖 | 70回
  • 年度积分:0
  • 历史总积分:203
  • 注册:2010年12月04日
发表于:2014-05-14 16:44:54
4楼

你的数据地址 在DB块里超出了范围了吧?18 SLD 3后是144了 DB块test中有144.0这个地址吗?

053711452

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 11回
  • 年度积分:0
  • 历史总积分:16
  • 注册:2014年4月16日
发表于:2014-05-14 16:48:30
5楼

回复内容:

对: greatxiaohuang 你的数据地址 在DB块里超出了范围了吧?18 SLD ... 内容的回复!


低三位不是位地址么,18左移三位后不相当于10010 000(18.0)么

greatxiaohuang

  • 精华:0帖
  • 求助:6帖
  • 帖子:12帖 | 70回
  • 年度积分:0
  • 历史总积分:203
  • 注册:2010年12月04日
发表于:2014-05-14 16:58:47
6楼

哦。。。 那试着这样写呢 L P#18.0 T MD204 ....

053711452

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 11回
  • 年度积分:0
  • 历史总积分:16
  • 注册:2014年4月16日
发表于:2014-05-14 17:03:46
7楼

回复内容:

对: greatxiaohuang 哦。。。 那试着这样写呢 L P#18.0 T MD2... 内容的回复!


这样写倒是可以,不过我希望MD204作为变量,其他模块计算之后的数据自动给MD204,而不是我手动给他赋值,所以无法用P#xxx.0这种常数,说的有点乱,不知您明白没有

greatxiaohuang

  • 精华:0帖
  • 求助:6帖
  • 帖子:12帖 | 70回
  • 年度积分:0
  • 历史总积分:203
  • 注册:2010年12月04日
发表于:2014-05-14 21:41:30
8楼

回复内容:

对: 053711452 回复内容:对: greatxiaohuang  哦。。... 内容的回复!


你能把相关完整的图像发上来看看吗?

    L     18

    T     MD   200

    OPN   "test"

    L     MD   200

    SLD   3

    T     MD   204

    L     DBW [MD 204]

    T     MW    30

这段程序不一定有错。。。

053711452

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 11回
  • 年度积分:0
  • 历史总积分:16
  • 注册:2014年4月16日
发表于:2014-05-15 09:39:19
9楼

回复内容:

对: greatxiaohuang 回复内容:对: 053711452  回复内容:对: ... 内容的回复!

这是数据块中定义的值:

当取12,14,16的时候都能正确显示2,4,8,可是取18的时候就报错了

greatxiaohuang

  • 精华:0帖
  • 求助:6帖
  • 帖子:12帖 | 70回
  • 年度积分:0
  • 历史总积分:203
  • 注册:2010年12月04日
发表于:2014-05-15 15:09:07
10楼

我这里试下来可以的呢 你是不是其他地方有问题啊?


053711452

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 11回
  • 年度积分:0
  • 历史总积分:16
  • 注册:2014年4月16日
发表于:2014-05-15 20:57:50
11楼

回复内容:

对: greatxiaohuang 我这里试下来可以的呢 你是不是其他地方有问题啊? 内容的回复!


恩,我找到问题所在了,是因为数据块中的初始值和实际值不一样导致的,非常感谢你!

greatxiaohuang

  • 精华:0帖
  • 求助:6帖
  • 帖子:12帖 | 70回
  • 年度积分:0
  • 历史总积分:203
  • 注册:2010年12月04日
发表于:2014-05-15 21:46:37
12楼

回复内容:

对: 053711452 回复内容:对: greatxiaohuang  我这里... 内容的回复!


哦 这也会引起错误的啊 感觉有点不可思议额

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 455回
  • 年度积分:0
  • 历史总积分:1000
  • 注册:2008年1月09日
发表于:2014-07-02 21:51:47
13楼

用SCL将会非常的easy


热门招聘
相关主题

官方公众号

智造工程师