我正在 Simulink 中开发建筑物、恒温器和空调的模型。由于 3 个时间步长的信号延迟,我的模型过度预测冷却和加热。
控制基于输入温度。当室内温度高于 27.2 C 时,恒温器信号切换到“ON”。该信号会打开空调,然后空调会带走房间的热量。在布局图中,恒温器模型和性能图模型都是“Masked”函数。
1. Time Temp [C] CoolOnTemp CoolOffTemp CoolSignal Qsensible
2. 8.43 27.11 26.2 27.2 0 0
3. 8.45 27.201 26.2 27.2 0 0
4. 8.47 27.29 26.2 27.2 1 0
5. 8.48 27.38 26.2 27.2 1 -47121
6. 8.50 26.59 26.2 27.2 1 -47160
7. 8.52 25.87 26.2 27.2 1 -46499
8. 8.53 25.21 26.2 27.2 0 -45408
9. 8.55 24.63 26.2 27.2 0 0
10. 8.57 24.93 26.2 27.2 0 0
11. 8.58 25.22 26.2 27.2 0 0
在时间 8.45,Core 1 温度大于 27.2(其实际值为 27.201),但是来自恒温器的冷却信号直到下一个时间步长才变为“1”。在制冷信号和提供制冷的空调(Qsensible 列)之间出现第二个延迟。在空调提供的冷却和房间内的温度响应之间出现第三个时间步长延迟。因此,在“超出范围”温度条件和所需响应之间发生了 3 个时间步长的总延迟。
从 8.52 时间开始,空调应该关闭时也会出现同样的延迟。
恒温器和空调之间没有使用有目的的延迟块。虽然这两个模块都是 Sfunction,但 Thermostat 模型具有状态变量(参考之前的时间步长值),但空调没有。
感谢您就如何消除其中两个延迟提供的任何建议。