关于间接寻址的诊断信息

已锁定

your shadow

  • 帖子

    49
  • 精华

    0
  • 被关注

    19

论坛等级:游侠

注册时间:2016-06-16

普通 普通 如何晋级?

关于间接寻址的诊断信息

459

8

2016-07-28 16:18:42

请大家帮我看下这个间接寻址做的报警程序问题出在哪,想了好久没想通,程序是从另一个版主加精的帖子里复制的,按说应该没问题啊

报警STL.pdf

然后在诊断缓冲区里点击打开块,光标就定位在如下所示的位置:

 FP    DBX [#PT2]

程序如下:

FUNCTION FC 1 : VOID

TITLE =

VERSION : 0.1



VAR_INPUT

  AlarmDB : BLOCK_DB ;

  AlarmCount : INT ;

  AlarmReset : BOOL ;

  HornReset : BOOL ;

  FlashBit : BOOL ;

END_VAR

VAR_OUTPUT

  AlarmLight : BOOL ;

  AlarmHorn : BOOL ;

END_VAR

VAR_TEMP

  LoopNum : INT ;

  PT1 : DWORD ;

  PT2 : DWORD ;

END_VAR

BEGIN

NETWORK

TITLE =


      SET   ; 

      SAVE  ; 

      OPN   #AlarmDB; 

      L     P#4.0; 

      T     #PT1; 

      L     P#8.0; 

      T     #PT2; 

      L     0; 

      T     DBW    2; 

      SET   ; 

      R     DBX    0.2; 


NETWORK

TITLE =


      L     #AlarmCount; 

NEXT: T     #LoopNum; 

//计算总的报警条目

      A     DBX [#PT1]; 

      S     DBX    0.0; 

      JNB   M001; 

      L     DBW    2; 

      L     1; 

      +I    ; 

      T     DBW    2; 

M001: NOP   0; 

//如果没有报警,则复位报警汇总标记位

      L     DBW    2; 

      L     0; 

      ==I   ; 

      R     DBX    0.0; 

      R     DBX    0.1; 

      R     DBX    0.2; 

//判断是否有新报警发生

      A     DBX [#PT1]; 

      FP    DBX [#PT2]; 

      JNB   M002; 

      SET   ; 

      S     DBX    0.2; 

M002: NOP   0; 

      L     #PT1; 

      L     P#0.1; 

      +D    ; 

      T     #PT1; 

      L     #PT2; 

      L     P#0.1; 

      +D    ; 

      T     #PT2; 

      L     #LoopNum; 

      LOOP  NEXT; 


NETWORK

TITLE =


//如果有报警发生并按下复位按钮则置位报警复位标记

      A     DBX    0.0; 

      A     #AlarmReset; 

      S     DBX    0.1; 

//报警指示灯输出

      O(    ; 

      A     DBX    0.0; 

      AN    DBX    0.1; 

      A     #FlashBit; 

      )     ; 

      O(    ; 

      A     DBX    0.0; 

      A     DBX    0.1; 

      )     ; 

      =     #AlarmLight; 

NETWORK

TITLE =


//如果有报警发生并按下消声按钮则置位消声标记

      A     DBX    0.0; 

      A     #HornReset; 

      S     DBX    0.3; 

//如有新报警,则复位消声标记

      A     DBX    0.2; 

      R     DBX    0.3; 

//报警蜂鸣器输出

      A     DBX    0.0; 

      AN    DBX    0.3; 

      =     #AlarmHorn; 

END_FUNCTION


关于间接寻址的诊断信息 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54660条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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