如何比较STEP7中S5TIME格式的WORD数据块 点击:1619 | 回复:2



汪辉

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 115回
  • 年度积分:0
  • 历史总积分:302
  • 注册:2004年5月17日
发表于:2006-12-22 09:18:00
楼主
本人对300的编程经验有限,目前接触到一个工程需要比较几个计时器设定值的大小。要求T3设定值〉=0,T5〉=T3,T6〉=0,通过以下指令实现:
      A     "M_PLC_ON"
      A     "X_AIR_OK"
      A     "X_AUX_OK"
      A     "X_AUT_SA"
      JCN   M010
      L     "DB11_TIMER".T3
      L     W#16#FFF
      AW    
      BTI   
      T     #TIMER1
      L     "DB10_T5".T5
      L     W#16#FFF
      AW    
      BTI   
      T     #TIMER2
      L     "DB11_TIMER".T6
      L     W#16#FFF
      AW    
      BTI   
      T     #TIMER3
      SET   
      A(    
      L     #TIMER1
      L     0
      <=I   
      )     
      JCN   M001
      =     DB15.DBX    8.0
M001: SET   
      A(    
      L     #TIMER2
      L     #TIMER1
      <I    
      )     
      JCN   M002
      =     DB15.DBX    8.1
M002: SET   
      A(    
      L     #TIMER3
      L     0
      <I    
      )     
      JCN   M010
      =     DB15.DBX    8.2
M010: NOP   0

目前凑或用,但自己觉得这样的程序不是很通用,涉及到时基问题可能比较麻烦。希望有经验的朋友给指点指点,提供一下你们在处理时间比较时的通行做法。



汪辉

  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 115回
  • 年度积分:0
  • 历史总积分:302
  • 注册:2004年5月17日
发表于:2006-12-22 09:21:00
1楼
忘记交待了
DB15.DBX8.0 报警:T3《=0
DB15.DBX8.1 报警:T5〈T3
DB15.DBX8.2 报警:T6〈0

汪辉

  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 115回
  • 年度积分:0
  • 历史总积分:302
  • 注册:2004年5月17日
发表于:2007-01-06 16:48:00
2楼
为什么没有人给指点指点呢?
目前我用的是UNIOP人机界面EPAD03,T3,T5,T6都在人机界面上设置,为了保证T5>=T3 所以要在PLC程序中作限制。但有一个小BUG,当在人机界面上设置T3的时基与T5时基不一样时就会激发报警。比如以下情况不会报警
T3=3S,T5=4S
T3=3.5S,T5=6.5S
T3=1.5S,T5=16S
T3=1.5S,T5=16.5S
但以下情况会报警
T3=1.5S,T5=10S
T3=1.5S,T5=14S
请教:有没有有效简便的程序方法可以处理时间比较?

热门招聘
相关主题

官方公众号

智造工程师