STL循环加减问题

各位老师好 ,最近遇到一个关于计算的问题。
想要实现一个功能。输入的实数IN与希望值HOPE比较 。IN大于或者小于HOPE就循环自加1或者自减1直到与HOPE相等。
这期间实现问题如下
1.有什么方法实现改变速率的方法。自己刚开始用的时钟去触发计算,但是觉得有些麻烦
2.在自加加减过程中时常要么停不下来,要么加减1下就停止了。
3.STL如何实现以上的循环自减呢?
如果有知道的老师希望不吝赐教,不胜感激!

问题补充:
各位老师好,之所以需要这样做,是项目上需要稳定增加,不能直接过快的赋予其希望值,防止震荡。还请老师们能够举一个例子,现在换了方式,超出OB1周期。

最佳答案

使用循环中断程序比如OB35,添加以下语句,按照需要时间的快慢设置MW12的数值 ,MW12数值代表循环中断时间的倍数,MD16为目标值,MD20为输入值,M0.0、MW12、MW14、MD16、\MD20按自己程序地址修改
     A(    
      L     MW    14
      L     MW    12
      >=I   
      )     
      JNB   _001
      L     0
      T     MW    14
      SET   
      SAVE  
      CLR   
_001: A     BR
      =     M      0.0

      AN    M      0.0
      JNB   _002
      L     MW    14
      L     1
      +I    
      T     MW    14
_002: NOP   0

      A     M      0.0
      A(    
      L     MD    20
      L     MD    16
      <R    
      )     
      JNB   _003
      L     MD    20
      L     1.000000e+000
      +R    
      T     MD    20
_003: NOP   0
      A     M      0.0
      A(    
      L     MD    20
      L     MD    16
      >R    
      )     
      JNB   _004
      L     MD    20
      L     1.000000e+000
      -R    
      T     MD    20
_004: NOP   0

提问者对于答案的评价:
自己已经写出来了 ,感谢老师的回答!也感谢其他老师的帮忙

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc349226.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月4日
下一篇 2021年7月4日

相关推荐

发表回复

登录后才能评论