采集到一个温度值,希望温度值在各个区间时显示不同对应的字母,(就是显示不同状态),比如-100~10(即<=10时)显示A,11~20显示B,21~30显示C,41~100(即>=40时)显示D,如果这个值分别是5,14,27,36那么就分别在label1显示A,B,C,D,但有种情况比较特殊,因为温度值是时刻变化着的,而且很快,假如温度值上一个时刻是10,下一个时刻是11,那么上一个时刻显示A,下一个时刻就显示B,刚好在A,B两个值之间切换,如果这个变化很频繁,就是说温度值一直在这两个值(10,11)之间切换,那么就不能稳定下来,我希望出现这种不稳定状态的话,就是在临界值时候(比如10,20,30,40)只显示一种状态,比如原来是A状态,它出现了10,11间切换漂移时,仍保持A状态,直到温度值变化更大时,比如到了12并且稳定下来后才切换成B状态,其余区间状态显示与此类同。不知道表述清楚没,我头都想破了,想不到一种办法解决。希望vb版的高手帮了忙,想想好吗?谢谢了!

解决方案 »

  1.   

    数据处理的实时性是由采集硬件的性能决定的,通常情况下这些硬件采集的速率都是很高的,可达每秒几十K的数据量。你把你的数据处理程序放置到一个Timer中,读取数据时使用For循环连续读取多次,在做处理。只要实时性要求不是ms级别的,完全来得及。
      

  2.   

    用Timer判断温度值是否=临界值的正负1,在之内变化取临界值,将临界值放到数组,
    循环判断 温度值>=数组值 and 温度值<=数组值+1
      

  3.   

    不知道楼主的 上一个时刻 到 下一个时刻是多久,工控界面要求不高的话1秒或者0.5秒更新一次label即可.如果长时间临界漂移,等到稳定才更新,用户对设备的情况就不能及时把握了.
      

  4.   

    上一个时刻到下一个时刻时间很短,几个微秒时间,不单要显示label还要送一个值,所以多次采集可能这种方法就不能取了,这是在单片机实现的,我只是转移到vb界面来了,程序思路我想可能一样的。