回复:程序分析,请教高手

艾星落尘

  • 帖子

    996
  • 精华

    1
  • 被关注

    179

论坛等级:至圣

注册时间:2010-02-26

白金 白金 如何晋级?

发布于 2016-11-07 13:27:29

3楼

      L       #PRE                      

      T      #_TMR.PRE   //以上程序下装预置值到#_TMR.PRE

      SET                  //置位RLO

      A      #Enable Timer         

      =      #TMR.EN        //只要 #Enable Timer得电,那么#TMR.EN 就得电        

      SET 

     R       #_TMR.TT        

     R       #_TMR.DN      //置位RLO只要一执行程序#_TMR.TT和 #_TMR.DN 都被复位         

     AN     #_TMR.EN

     JC       Clr          //#_TMR.EN不为1就往下执行程序,否者跳转到Clr

     L       #_TMR.PRE

     L       #_TMR.ACC                     

     >=D               //#_TMR.PRE>=#_TMR.ACC不跳转,就是累加时间未到预置时间

     JCN      Done

      S      #_TMR.TT  //置位#_TMR.TT 

      L      “Pre Scan Timer”   

      +D       

      T       #_TMR.ACC  //将这个“Pre Scan Timer” 加到#_TMR.ACC里,就是时间的累加

      L       #_TMR.PRE  

      <D     //经过相加后的累加时间再与预置值进行比较,如果#_TMR.PRE>#_TMR.ACC就跳转到END,否者接着执行

      JC      End

Done   :   SET

            R          #_TMR.TT   //复位#_TMR.TT 

            S          #_TMR.DN   //置位#_TMR.DN  

               JU     End

Clr :      L         0

           T        3_TMR.ACC

End :      SET

           SAVE

这段程序的意识就一旦有启动信号#TMR.EN就开始执行程序,否是就将3_TMR.ACC写0;有启动信号后执行#_TMR.ACC

的累加,一旦大于#_TMR.PRE就R  #_TMR.TT和S #_TMR.DN  否则 S  #_TMR.TT 和R  #_TMR.DN 


一个人在战斗
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54621条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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