回复:关于博图中PLC 离线程序块和在线程序块不一致时怎么操作的求助

已锁定

xkqxwhz

  • 帖子

    1178
  • 精华

    10
  • 被关注

    40

论坛等级:奇侠

注册时间:2009-03-26

普通 普通 如何晋级?

发布于 2021-01-09 09:23:10

15楼

展开查看
以下是引用百草园在2021-01-09 08:58:34的发言 >13楼

有用,昨天下午在论坛里看到的,http://www.ad.siemens.com.cn/club/bbs/post_elite.aspx?b_id=4&a_id=960150 功能块展示的帖子里看到的

 L     P##SourceArray             

      LAR1  

      L     B [AR1,P#0.0]               

      L     B#16#10                     

      <>I   

      L     W#16#8101

      JC    Err


      L     B [AR1,P#1.0]               

      L     B#16#1                      

      ==I   

      JC    DtX


      TAK   

      L     B#16#2                      

      ==I   

      JC    DtB


      TAK   

      L     B#16#4                     

      ==I   

      JC    DtW


      TAK   

      L     B#16#6                      

      ==I   

      JC    DtDW


      L     W#16#8102                   

      JU    Err


DtX:  L     W [AR1,P#2.0]               

      T     #BoolLength

      JU    ChLe


DtB:  L     8                           

      JU    rep


DtW:  L     16                          

      JU    rep


DtDW: L     32                         

      JU    rep


rep:  L     W [AR1,P#2.0]              

      *D                                

      T     #BoolLength                


      L     B [AR1,P#9.0]              

      L     2#111                     

      AW    

      L     W#16#8103

      JN    Err

ChLe: L     #BoolLength                 

      L     0

      <=I   

      L     W#16#8104

      JC    Err


      L     #BoolLength

      L     32766                       

      >D    

      L     W#16#8105

      JC    Err


      L     B [AR1,P#6.0]               

      L     B#16#81                     

      ==I   

      JC    IaM


      TAK   

      L     B#16#82                     

      ==I   

      JC    IaM


      TAK   

      L     B#16#83                    

      ==I   

      JC    IaM


      TAK   

      L     B#16#84                    

      ==I   

      JC    IaDB


      TAK   

      L     B#16#85                   

      ==I   

      JC    IaDB


      TAK   

      L     B#16#86                    

      ==I   

      JC    IaM


      TAK   

      L     B#16#87                    

      ==I   

      JC    IaM

      L     W#16#8106                 

      JU    Err


IaM:  L     D [AR1,P#6.0]              

      LAR1  

      JU    chk

IaDB: L     W [AR1,P#4.0]              

      T     #DBNumber

      L     0

      ==I   

      L     W#16#8107                  

      JC    Err


      L     D [AR1,P#6.0]              

      L     DW#16#FFFFFF

      AW    

      L     DW#16#84000000             

      OW    

      T     #StartAddr

      LAR1  

      OPN   DB [#DBNumber]


      JU    chk

chk:  L     0

      L     #ActiveNo

      ==I   

      JC    cmp                        

      L     #Offset

      -I    

      L     W#16#8301

      JMZ   Err

      TAK   

      L     #BoolLength

      >I    

      TAK   

      L     W#16#8302

      JC    Err

      TAK   

      L     1

      -I    

      T     #BitCounter

      +AR1  

      A      [AR1,P#0.0]

      JC    Foun                        

      JU    cmp

cmp:  L     0

      T     #BitCounter

      LAR1  #StartAddr


L_X1: TAR1                             

      L     2#111

      AD                                

      JZ    L_DW                     



      L     #BoolLength                

      L     0

      <=D   

      JC    NotF


      A      [AR1,P#0.0]

      JC    Foun                       


      L     #BoolLength                 

      L     1

      -D    

      T     #BoolLength


      +AR1  P#0.1                      


      L     #BitCounter                

      L     1

      +I    

      T     #BitCounter


      JU    L_X1                        

L_DW: L     #BoolLength                 

      L     32

      <D                                

      JC    cmpX


      L     D [AR1,P#0.0]               

      L     0

      <>D   

      JC    cmpX                        


      L     #BoolLength                

      L     32

      -D    

      T     #BoolLength


      +AR1  P#4.0                      


      L     #BitCounter                

      L     32

      +I    

      T     #BitCounter


      JU    L_DW                        

cmpX: NOP   0

L_X2: L     #BoolLength                 

      L     0

      <=D   

      JC    NotF


      A      [AR1,P#0.0]                

      JC    Foun


      L     #BoolLength                 

      L     1

      -D    

      T     #BoolLength


      +AR1  P#0.1                       


      L     #BitCounter                 

      L     1

      +I    

      T     #BitCounter


      JU    L_X2                        

Foun: L     #BitCounter

      L     1

      +I    

      L     #Offset

      +I    

      T     #Number

      SET   

      S     #BitOn

      L     0

      T     #Status

      JU    end


NotF: L     0

      T     #Number

      SET   

      R     #BitOn

      L     0

      T     #Status

      JU    end

Err:  T     #Status

      L     0

      T     #Number

      SET   

      R     #BitOn

      JU    end

end:  A     #BitOn

      SAVE  

      CLR   


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10698条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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