在一机房中,安装有3个风机(1号,2号,3号。风机即降温设备类似风扇)
同时该机房中有另一硬件,可以监控该机房中的温度,并通过http协议将数据上传到指定的服务器。(定时上传)软件(BS结构)要求可以在不同的温度下对硬件做出不同的控制。
如:
当温度处于上升阶段时,达到40度(含)以上时,要求将2打开,1,3关闭。
此时,温度可能继续上升(可能风扇散热效果不是太好)
当温度在上升阶段达到50度时(含),要求2关,1,3打开。
此时,温度开始下降(实际是有继续上升的可能,但这里不考虑),此时温度可能是这样的下降49,48,43,41,40。
此时,温度又回到40度,但此时是温度处于下降阶段,而在下降阶段温度值是40度时,要求将2关,1,3保留。好了,难题来了:
对于程序来说,得到的值都是40度,怎么判断此40度是处于上升阶段还是下降阶段,因为上升和下降过程中40度要执行不同的控制。这个问题已经纠结了好几天了,请大家帮帮忙。

解决方案 »

  1.   

    记录上一个值也不好使啊,温度有可能从39度升到41度,然后又降低到39度。这个不在你的需求里。
    还不如直接写一个switch搞定算了
      

  2.   

    想不出更高的解决方案,思路还是和1楼 caozhy 版主一样的,不过你可以多记录几个值,综合判断几个值的情况是处于上升通道还是下降通道
      

  3.   


    一个switch不可能解决问题。
    相信我,是一个团队在解决这个问题,不是我一个人。
      

  4.   

    变化肯定是又坡度的,那得看你能忍耐多长时间了,你觉得(A阶段)1分钟之内他上升了那它就是升温了,如果(B阶段(A阶段在B阶段之内))在2分钟之内它下降了(前一分钟包括在内),那它是下降了,对于A来讲是上升,对于B来讲是下降,这应当是精度问题。看你设置的忍耐时间。或者说是你的定时器设置的精度问题。