MD地址变成DB块地址的问题

已锁定

温柔的郎

  • 帖子

    269
  • 精华

    0
  • 被关注

    15

论坛等级:侠士

注册时间:2008-04-07

白金 白金 如何晋级?

MD地址变成DB块地址的问题

363

2

2020-08-14 15:05:03

各位大神,我需要把STL语句的MD地址变成DB块地址,变了好多次,都不能成功,有哪位大神帮助指点指点啊!!

如下语句:

      OPN   DB     2

      L     P#30.0                      //源首地址:初始读指针

      LAR1  

      L     P#0.0                       //目标首地址:初始写指针

      LAR2  

      L     5                           // 数量:5个字的循环计数为初值

M001: T     MB    10                    //计数值 送入MB 10

      L     MD [AR1,P#0.0]              //按读指针指示的地址读数据

      T     DBD [AR2,P#0.0]             //按写指针指示的地址写数据

      +AR1  P#4.0                       //读指针指向下一数据地址

      +AR2  P#4.0                       //写指针指向下一数据地址

      L     MB    10                    //取循环计数值

      LOOP  M001                        //循环计数值如为0则结束循环。;如不为0,则减1后转向标号为M001的语句,继续循环。 

这段语句功能是把MD30开始的5个REAL地址值,传送到DB2.DBD0开始的5个地址里。

测试了下,传送功能都正确。

现在想把MD30地址变成DB块的地址,比如,把MD30变成DB1.DBD0,这样的地址,

我弄了好久,没有成功,只能传送第一个地址,其他都不能传送,如下图。

     OPN   DB     2

      L     P#0.0                       //源首地址:初始读指针

      LAR1  

      L     P#0.0                       //目标首地址:初始写指针

      LAR2  

      L     5                           // 数量:5个字的循环计数为初值

//M002: T     MB    10                    //计数值 送入MB 10

      T     MB    10

      L     DBD [AR1,P#0.0]             //按读指针指示的地址读数据

      OPN   DB     5

      T     DBD [AR2,P#0.0]             //按写指针指示的地址写数据

      +AR1  P#4.0                       //读指针指向下一数据地址

      +AR2  P#4.0                       //写指针指向下一数据地址

      L     MB    10                    //取循环计数值

//  LOOP  M002                        //循环计数值如为0则结束循环。 

//循环计数值如为0则结束循环;如不为0,则减1后转向标号为M001的语句,继续循环

应该离成功只差一点了,但就这个一点无法实现啊!!,有哪位大神指点指点啊!!

提前致谢啊!!!


MD地址变成DB块地址的问题 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54658条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。