当前位置: 代码迷 >> Delphi >> ============================高智商朋友请帮忙,一首难题。================================解决方案
  详细解决方案

============================高智商朋友请帮忙,一首难题。================================解决方案

热度:1261   发布时间:2016-05-05 01:18:53.0
============================高智商朋友请帮忙,一首难题。================================
在一机房中,安装有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度要执行不同的控制。

这个问题已经纠结了好几天了,请大家帮帮忙。

------解决方案--------------------
因为你还依赖于温度是上升还是下降,所以在送过来温度的同时把对应的上升、下降情况也送给来,这样就可以判定了。或者是你保存有历史数据,由此来帮助你判断温度的趋势。

总之,需要两个条件你就不可能仅通过一个数据来描述,至少还要有一个参考值让你可以得到需要的两个条件。
------解决方案--------------------
你的温度最起码你要知道属于哪个风机吧,你发送信息要包括这两部分内容
------解决方案--------------------
很简单的问题....

记录上一次读取时候的温度是多少,然后可以判断是上升还是下降..
------解决方案--------------------
40与上一次记录的数进行比较
------解决方案--------------------
三楼四楼说的方法对。
------解决方案--------------------
要判断40是上升还是下降,你必须得与某个数据进行比较。当然现实生活中也就是这样,因此就这个问题你需要解决的是在40度发生某个事件,这个事件是判断与前一个时刻温度数据的比较。祝楼主好运···
  相关解决方案