间接寻址指针不加

已锁定

mao_wq

  • 帖子

    23
  • 精华

    0
  • 被关注

    0

论坛等级:游民

注册时间:2007-05-05

普通 普通 如何晋级?

间接寻址指针不加

600

2

2016-01-09 18:01:38

大家好,今天碰了个问题,程序如下,麻烦大家耐心点,问题在后面

第一段


      A(    

      A(    

      L     #ADD_START                  /装载初始化范围值

      L     #OMS_PCODE_MAX              /装载初始化范围值最大值

      >=I                               

      )     

      JNB   _001

      L     0                           /装载初始化起始值

      T     #ADD_START

      SET   

      SAVE  

      CLR   

_001: A     BR

      )     

      JNB   _002

      L     0

      T     DB100.DBW0                   /给初始化条件置0(完成初始化)

_002: NOP   0


第二段

 L     DB100.DBW0                        /初始化条件(由第三方提供)

      L     1

      ==I   

      =     #HAND_SHAK_OK                /初始化条件

第三段


      A     #HAND_SHAK_OK

      FP    M    114.0

      =     L      0.0

      A(    

      A     L      0.0

      JNB   _003

      L     2

      T     #INIT_LIST

      SET   

      SAVE  

      CLR   

_003: A     BR

      )     

      JNB   _004

      L     0

      T     #ADD_START                    /给初始化范围赋值0          

_004: NOP   0


第四段


      L     #ADD_START                     /间接寻址,每100个字节为1个区

      L     800

      *I    

      LAR1  


第五段


      L     #ADD_START                    /间接寻址,每2个字节为1个区

      L     16

      *I    

      LAR2  


第六段

      OPN   DB100                         /打开DB块100

      OPN   DI101                         /打开DB块101

      A(    

      A     #HAND_SHAK_OK

      A(    

      L     DIW [AR1,P#98.0]              /DB101中间接寻址的第98个字节

      L     0

      >I    

      )     

      JNB   _010

      L     #INIT_LIST                    /初始化后传送的值(2开始)

      T     DIW [AR1,P#98.0]

      SET   

      SAVE  

      CLR   

_010: A     BR

      )     

      JNB   _011

      L     #INIT_LIST                    /初始后值增加1,准备送给后一个条件成立的DB字

      L     1

      +I    

      T     #INIT_LIST

_011: NOP   0



第七段

      L     DIW [AR1,P#1698.0]           

      T     DBW [AR2,P#1200.0]


第八段


      A     #HAND_SHAK_OK

      JNB   _00d

      L     #ADD_START

      L     1

      +I    

      T     #ADD_START                       /寻址指针加1

_00d: NOP   0


目前的问题是这样的:

1、ADD_START,不加数(HAND_SHAK_OK条件成立)

2、我去掉HAND_SHAK_OK条件,可以开始加1

3、我的DIW98、DIW198、DIW298、DIW398、DIW498……都是大于1,但INIT_LIST不加数


请教各位,这是什么原因

间接寻址指针不加 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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