============================高智商朋友请帮忙,一首难题。================================

愚者只看星不看答案 2012-12-29 10:53:51
在一机房中,安装有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度要执行不同的控制。

这个问题已经纠结了好几天了,请大家帮帮忙。
...全文
818 28 打赏 收藏 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
nwsuafer 2013-03-05
  • 打赏
  • 举报
回复
引用 楼主 truelove12 的回复:
在一机房中,安装有3个风机(1号,2号,3号。风机即降温设备类似风扇) 同时该机房中有另一硬件,可以监控该机房中的温度,并通过http协议将数据上传到指定的服务器。(定时上传) 软件(BS结构)要求可以在不同的温度下对硬件做出不同的控制。 如: 当温度处于上升阶段时,达到40度(含)以上时,要求将2打开,1,3关闭。 此时,温度可能继续上升(可能风扇散热效果……
逆向思维,40度的时候判断下,是风扇2打开,还是1,3打开的
rorom 2013-03-01
  • 打赏
  • 举报
回复
上面的朋友说的对,看2号机的状态了
傲雪kimi 2013-03-01
  • 打赏
  • 举报
回复
冒昧的问一下这样的题目逻辑上是不是有点问题呢?
wey580231 2013-02-28
  • 打赏
  • 举报
回复
引用 9 楼 oZouBianBian 的回复:
确实很难呀, 你需要了解: 1、风机运行原理 2、热效应原理 3、热量与空间关系 4、功-能转化关系 5、控制工程原理 6、编程技术
Zeus 2013-01-14
  • 打赏
  • 举报
回复
每当温度有上升时记录上升时候的开始温度, 先定义为最低温度,用于比较. 同样,下降的时候也记录下降时的开始温度,定义为最高温度. 然后就可以每次温度变化比较差值.做出判断. 这样还可以观察上面那个最高温度和最低温度,以便做出判断.
水白中小子 2013-01-07
  • 打赏
  • 举报
回复
这个程序必然要至少增加一个保存上次检测时的温度值,oldVlaue嘛 你说: 当温度处于上升阶段时,达到40度(含)以上时,要求将2打开,1,3关闭。 此时,温度可能继续上升(可能风扇散热效果不是太好) 我引发了一点点思考: 既然温度可能继续上升,那么必然也可能保持一致啊,这样的话不就是温度维持阶段吗,如果你只想判断温度是上升还是下降过程,并且在温度可能维持的情况下必须做操作那两种操作中的一种的话,那么你只有这样:如果出现温度保持在40度,那么给一个boolean记录值,轮换着做上升时或者下降时的操作
七神之光 2013-01-06
  • 打赏
  • 举报
回复
缓存40度之前的温度
aotian16 2013-01-04
  • 打赏
  • 举报
回复
记录以前的温度,判断下不就可以了吗
clariones 2013-01-04
  • 打赏
  • 举报
回复
引用 18 楼 AA5279AA 的回复:
引用 15 楼 clariones 的回复: 引用 14 楼 AA5279AA 的回复: [quote=引用 楼主 truelove12 的回复:在一机房中,安装有3个风机(1号,2号,3号。风机即降温设备类似风扇) 同时该机房中有另一硬件,可以监控该机房中的温度,并通过http协议将数据上传到指定的服务器。(定时上传) 软件(BS结构)要求可以在不同的温度下对硬件做出不同的控制。 ……
实际上,这个系统不是没有记录数据的部分: 1,3号风机的状态就是‘持久化’的作用。
普凡 2013-01-04
  • 打赏
  • 举报
回复
最直接的,保存一个“上一次温度”作为比较就可以了。 要是在精确点,楼上各位大哥也说得很清楚了,日志记录历史也好、数据库记录也好,拿出来分析一下上升/下降就明细了。
失落夏天 2013-01-03
  • 打赏
  • 举报
回复
引用 15 楼 clariones 的回复:
引用 14 楼 AA5279AA 的回复: [quote=引用 楼主 truelove12 的回复:在一机房中,安装有3个风机(1号,2号,3号。风机即降温设备类似风扇) 同时该机房中有另一硬件,可以监控该机房中的温度,并通过http协议将数据上传到指定的服务器。(定时上传) 软件(BS结构)要求可以在不同的温度下对硬件做出不同的控制。 如: 当温度处于上升阶段时,达到40度(含)以……
如果不记录任何数据的话那么重启之后一切都是需要重新检测的。这样的系统很明显是不合理的。。 至少应该加一个日志记录,再重启之前记录数据。
感同深受 2013-01-03
  • 打赏
  • 举报
回复
得保存前一次的温度,判断趋势是上升还是下降。
awusoft 2013-01-03
  • 打赏
  • 举报
回复
不能定为了一个点吧,定为一个范围比较好,比如说35-45..... 如果低于35度是一种方案,高于45度是一个种方案.在35-45之前就是使用当前状态好了.
clariones 2013-01-03
  • 打赏
  • 举报
回复
引用 14 楼 AA5279AA 的回复:
[quote=引用 楼主 truelove12 的回复:在一机房中,安装有3个风机(1号,2号,3号。风机即降温设备类似风扇) 同时该机房中有另一硬件,可以监控该机房中的温度,并通过http协议将数据上传到指定的服务器。(定时上传) 软件(BS结构)要求可以在不同的温度下对硬件做出不同的控制。 如: 当温度处于上升阶段时,达到40度(含)以上时,要求将2打开,1,3关闭。……
亲,设计一个标记位来记录是上升还是下降不就可以了? ……[/quote] 如果程序重启了呢? 这个标志还需要持久化么? 工控程序的环境比较复杂,要考虑到掉电重启/重复采集/数据遗漏等等,最好是无状态的程序比较容易通过验收。
clariones 2013-01-02
  • 打赏
  • 举报
回复

public void openAndCloseFans(float curTempreture){
    if (curTempreture < 40.0){
        close(1,2,3);
    }else if (curTempreture > 50.0){
        close(2);
        open(1,3);
    }else{
        if (isClosed(1))
           open(2);
        }else{
           close(2);
        }
    }
}
clariones 2013-01-02
  • 打赏
  • 举报
回复
引用 11 楼 luckytjm 的回复:
引用 6 楼 fun_f 的回复: 判断一下2号风机此时的状态,不就知道了吗 同意,直接判断2号机的开关状态不就行了吗? 如果原来是关着,那就打开,关掉1,3 如果原来是开着,就关掉,打开1,3。。。。难道不是这样么?
不会那么巧每次都能刚好读到40这个温度吧? 假设温度的变化顺序是这样 20 ++> 25 ++> 33 ++> 38 ++> 42 ++> 48 ++> 52 ++> 60 --> 53 --> 44 --> 41 --> 38 那么,需要 在 “38 ++> 42” 这一步open(2),close(1,3); 在 “48 ++> 52" 这一步open(1,3),close(2); 在 “41 --> 38” 这一步close(1,3). (所以全部都是关的哦,因为原文是这么说的: 当温度在上升阶段达到50度时(含),要求2关,1,3打开。 此时,温度开始下降(实际是有继续上升的可能,但这里不考虑),此时温度可能是这样的下降49,48,43,41,40。 此时,温度又回到40度,但此时是温度处于下降阶段,而在下降阶段温度值是40度时,要求将2关,1,3保留。--我的理解,保留就也是关的) 最直接的想法,需要保存一个“上一次温度”。 实际上,仔细分析这个过程,画一个表格的话,大概可以得到:

---------------------------------------------
  温度  |   < 40   |   40 ~ 50  |   > 50     |
---------------------------------------------
上升过程| 关1,2,3 | 开2,关1,3 | 开1,3,关2 |
---------------------------------------------
下降过程| 关1,2,3 | 开1,3,关2 | 开1,3,关2 |
不是很简单么?
失落夏天 2013-01-02
  • 打赏
  • 举报
回复
引用 楼主 truelove12 的回复:
在一机房中,安装有3个风机(1号,2号,3号。风机即降温设备类似风扇) 同时该机房中有另一硬件,可以监控该机房中的温度,并通过http协议将数据上传到指定的服务器。(定时上传) 软件(BS结构)要求可以在不同的温度下对硬件做出不同的控制。 如: 当温度处于上升阶段时,达到40度(含)以上时,要求将2打开,1,3关闭。 此时,温度可能继续上升(可能风扇散热效果不是太好) 当温度在上升……
、 亲,设计一个标记位来记录是上升还是下降不就可以了?
TrustTJM 2012-12-31
  • 打赏
  • 举报
回复
引用 6 楼 fun_f 的回复:
判断一下2号风机此时的状态,不就知道了吗
同意,直接判断2号机的开关状态不就行了吗? 如果原来是关着,那就打开,关掉1,3 如果原来是开着,就关掉,打开1,3。。。。难道不是这样么?
zqfddqr 2012-12-31
  • 打赏
  • 举报
回复
。。。 就是把之前的数都记录了不就完了 来一个数据存一个有了历史数据就解决了
oZouBianBian 2012-12-30
  • 打赏
  • 举报
回复
确实很难呀, 你需要了解: 1、风机运行原理 2、热效应原理 3、热量与空间关系 4、功-能转化关系 5、控制工程原理 6、编程技术
加载更多回复(8)
大气污染是影响公众健康与生态环境的重要问题,精准的空气质量时空预测与污染源贡献度量化是精准治污的关键支撑。针对现有研究多源融合不充分、时空关联刻画不足、预测与源解析割裂三方面缺陷,本文设计实现了城市空气质量时空预测与污染源贡献度分析系统,融合监测、气象、工业排放与交通四类数据,构建基于时空注意力的LSTM(STAM-LSTM)预测模型与基于正定矩阵因子分解(PMF)的源解析模型,形成数据融合-特征工程-预测-源解析-可视化闭环。 系统实现四类数据时空对齐与融合,构建时序与空间邻域特征,以普通克里金插值生成1km网格浓度场;STAM-LSTM引入时空注意力自适应学习站点间污染传输时变权重,以72小时输入预测未来24小时逐小时PM2.5浓度;PMF识别交通、工业、燃煤、扬尘与二次生成五个源因子,量化各源全年贡献度并分析时空演变。 实验表明:STAM-LSTM预测RMSE 24.6、MAE 17.8、R² 0.88,相对LSTM基线(30.2)提升18.5%;普通克里金插值误差8.9,优于反距离加权(11.4);源解析显示交通源28.4%、工业源23.1%、燃煤源19.6%为主要贡献源,冬季燃煤源升至27.3%、早高峰交通源达34.8%,下风向工业源贡献高出上风向8~12个百分点;减排情景显示交通源减排20%可使年均PM2.5下降5.7%,与源贡献度排序一致。 系统按五模块14组件实现,功能测试16项用例全部通过,为大气污染预警、源管控与减排政策制定提供了决策依据。 【课程报告内容】 摘要 第1章 绪论 第2章 相关技术与理论 第3章 系统需求分析 第4章 系统总体设计 第5章 系统详细设计与实现 第6章 系统测试与分析 第7章 总结与展望 参考文献 附件-实现指南
基于iTransformer-BiGRU-KAN多模型融合的滚动轴承剩余寿命预测研究(Python代码实现)内容概要:本文提出了一种基于iTransformer-BiGRU-KAN多模型融合的滚动轴承剩余寿命预测方法,旨在通过结合多种先进深度学习模型的优势,提升在复杂工况下的预测精度与鲁棒性。该方法利用iTransformer捕捉长期时间序列中的全局依赖关系,通过BiGRU模型提取双向时序特征,最后引入KAN(Kernel Attention Network)增强非线性映射与关键特征的自适应加权能力,实现对轴承退化过程的精准建模。文中详细介绍了模型架构设计、训练流程及在公开数据集上的实验验证,结果表明该融合模型相比单一模型在预测精度和稳定性方面均有显著提升。; 适合人群:具备一定机器学习与深度学习基础,从事设备故障诊断、工业大数据分析或智能运维相关领域的研究人员及工程技术人员,尤其适合研究生及以上学历或有相关项目经验的专业人员。; 使用场景及目标:①应用于工业设备状态监测与预测性维护系统中,实现对滚动轴承等关键部件剩余寿命的精准预测;②为复杂时间序列回归任务提供多模型融合的设计思路与技术参考;③推动深度学习在智能制造与工业物联网领域的落地应用。; 阅读建议:建议读者结合Python代码实现部分,深入理解各子模型的接口设计与融合逻辑,重点关注特征融合机制与注意力权重的可视化分析,以便在实际项目中灵活调整与优化模型结构。
几何旋转和天线校准模式对GNSS相位缠绕的组合效应(Matlab代码实现)内容概要:本文研究了几何旋转和天线校准模式对全球导航卫星系统(GNSS)相位缠绕的组合效应,并提供了基于Matlab的代码实现方案。相位缠绕是GNSS高精度定位中的重要误差源,受卫星与接收机相对几何关系及天线相位中心变化的共同影响。文章通过建模分析几何旋转与天线校准参数对相位缠绕的影响机制,探讨二者耦合作用下的修正方法,旨在提升GNSS数据处理的精度与可靠性。研究涵盖了理论建模、算法实现与仿真实验,结合Matlab工具进行数值模拟与结果可视化,验证了所提方法的有效性。; 适合人群:具备一定GNSS基础知识和Matlab编程能力的科研人员、研究生及从事高精度定位相关工作的技术人员。; 使用场景及目标:①用于GNSS高精度数据处理中相位缠绕误差的精确建模与修正;②支持地壳形变监测、精密授时、卫星定轨等对定位精度要求较高的应用场景;③为相关算法开发与教学研究提供可复现的代码实例。; 阅读建议:建议读者结合GNSS误差处理的相关理论,边运行代码边理解算法细节,重点关注几何旋转模型与天线校准参数的集成方式,并可通过修改参数进行敏感性分析以加深理解。

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧