房屋温度控制
案例背景与目标
本案例是一个简洁实用的示例模型库,旨在提供一个可复用、易于理解的参考范例,涵盖以下应用场景:
- 房间自然温度响应分析
- 降阶 RC(热阻-热容)房屋热模型建模
- 简化的制冷执行器性能评估
- 基于 PID 逻辑的闭环室温控制
- 可直接在 Sysplorer 中运行的整洁仿真图表
在实现方式上,本案例更注重模型的稳健性与可重复性,而非制冷循环的详细物理细节。可以在 Sysplorer 中使用 Buildings 库工作流直接运行这些模型,无需依赖 EnergyPlus 联合仿真。
目录结构说明
HouseThermalControl/
|-- resources/ # 资源文件
| |-- weather/ # 气象数据
| | `-- USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.mos
| `-- figures/ # 图表导出目录
| `-- README.txt
`-- model/ # 模型源代码(Modelica 包目录)
|-- package.mo # 包定义文件
|-- package.order # 包内文件顺序
|-- HouseThermalRC.mo # 房屋热模型
|-- CondensingCoolingSubsystem.mo # 制冷子系统
|-- HouseCoolingPIDSystem.mo # PID 闭环控制系统
`-- Experiments.mo # 实验案例集合
包名说明
源文件目录名为model(小写),但在 Modelica 语言中model是保留关键字,因此内部包的正式名称为HouseThermalControl。在 Sysplorer 中打开时,您将看到如下类结构:
HouseThermalControl.HouseThermalRCHouseThermalControl.CondensingCoolingSubsystemHouseThermalControl.HouseCoolingPIDSystemHouseThermalControl.Experiments.Experiment_NaturalResponseHouseThermalControl.Experiments.Experiment_RCComparisonHouseThermalControl.Experiments.Experiment_CoolingSubsystemPerformanceHouseThermalControl.Experiments.Experiment_PIDClosedLoop
各模型功能说明
1. HouseThermalRC — 单区域房屋热模型
基于 Buildings.ThermalZones.ReducedOrder.RC.OneElement 构建的降阶房屋热模型,配合 Modelica.Blocks.Sources.CombiTimeTable 提供内热源随时间变化的剖面。
主要用途:
- 分析房间自然温度响应(无主动供冷)
- 研究 RC 参数对热动态的敏感性
- 为后续控制集成预留外部显热负荷接口
关键输出变量:
TRoom– 室内空气温度TOut– 室外空气温度QEnvelope_flow– 通过围护结构传递的热流量QInternal_flow– 内部得热量(人员、设备、照明等)QHeatGain– 总得热量QHeatLoss– 总散热量
2. CondensingCoolingSubsystem — 简化制冷执行器模型
该模型保留了制冷系统与控制分析相关的核心特性,但不包含详细的制冷循环物理过程。
主要组件:
Buildings.Fluid.Sources.Boundary_pT– 空气边界条件Buildings.Fluid.Movers.FlowControlled_m_flow– 可调流量风机Buildings.Fluid.HeatExchangers.HeaterCooler_u– 理想冷/热盘管Buildings.Fluid.Sensors.TemperatureTwoPort– 温度传感器Modelica.Blocks.Sources.CombiTimeTable– 室外温度驱动信号
关键输入/输出:
- 输入
u– 制冷指令(0~1) - 输出
QCooling– 实际提供的冷量(负值表示从空气中移除热量) - 输出
PEle– 估算的电功率 - 输出
TSupply– 送风温度 - 输出
TReturn– 回风温度 - 输入/输出
TOutdoor– 室外空气温度
3. HouseCoolingPIDSystem — PID 闭环室温控制系统
这是将房屋热模型与制冷子系统集成在一起的完整闭环控制示例,并加入 PID 控制器。
主要组件:
- 单区域房屋热模型(
HouseThermalRC) - 简化制冷子系统(
CondensingCoolingSubsystem) - PID 控制器(
Buildings.Controls.Continuous.LimPID)
关键输出变量:
TRoom– 室内温度TSet– 设定温度TOut– 室外温度y– PID 控制器输出(制冷指令)QCooling– 冷量PEle– 电功率controlError– 控制误差(设定值 - 测量值)TSupply、TReturn– 送/回风温度
4. Experiments — 可直接运行的实验案例集
该包内包含三个预配置好的仿真案例,您可以立即运行并观察结果。
| 实验名称 | 说明 |
|---|---|
Experiment_NaturalResponse |
房间自然温度响应(无制冷) |
Experiment_RCComparison |
RC 参数(热阻/热容)敏感性对比研究 |
Experiment_CoolingSubsystemPerformance |
制冷子系统在不同指令下的性能表现 |
依赖库说明
本模型库依赖于 Modelica Buildings 库(版本 9.0.0 或更高)。请确保在 Sysplorer 中已正确加载 Buildings 库(通常为 Buildings 包)。若您尚未安装,可从 https://simulationresearch.lbl.gov/modelica/ 下载并加载。
案例中包含了 Buildings 库使用的芝加哥 TMY3 典型气象年文件(位于
resources/weather/),以备未来扩展使用。但在当前 Sysplorer 兼容的实现中,我们使用了一个周期性的室外温度曲线来代替直接读取 TMY3 数据,原因是当前 Sysplorer 加载的 Buildings 快照版本缺少内部ReaderTMY3限制类。
在 Sysplorer 中打开模型库的步骤
- 启动 Sysplorer 软件。
- 加载 Modelica Buildings 库(若尚未加载)。
- 加载本示例库:
通过菜单File > Open Model/Library File(s)选择HouseThermalControl/model/package.mo - 在包浏览器中展开
HouseThermalControl包。 - 双击
HouseThermalControl.Experiments下的任一实验案例即可打开并运行。
推荐的运行顺序
为了由浅入深地理解模型行为,建议按以下顺序依次运行实验:
Experiment_NaturalResponse— 观察无制冷情况下的自然室温波动。Experiment_RCComparison— 对比不同热阻/热容参数对温度波动的影响。Experiment_CoolingSubsystemPerformance— 理解制冷指令与冷量、电功率的关系。Experiment_PIDClosedLoop— 查看 PID 控制器如何将室温稳定在设定值附近。
关键可调参数说明
房屋热模型参数(HouseThermalRC)
| 参数名 | 含义与作用 |
|---|---|
resistanceScale |
围护结构热阻缩放因子(越大保温性能越好,室内外热交换越弱) |
capacityScale |
围护结构热容缩放因子(越大温度变化越慢,热惯性越大) |
QInternalGain_nominal |
内部显热得热量的名义值(用于缩放内热源时间表) |
initialRoomTemperature |
仿真起始时刻的室内温度 |
制冷子系统参数(CondensingCoolingSubsystem)
| 参数名 | 含义与作用 |
|---|---|
QCooling_nominal |
名义最大制冷量(内部为负值,表示移除热量) |
COP_nominal |
名义性能系数,用于估算电功率 |
mAir_flow_nominal |
名义送风质量流量 |
minAirFraction |
最小风量比例(防止盘管风量过低) |
PID 控制器参数(HouseCoolingPIDSystem)
| 参数名 | 含义与作用 |
|---|---|
pidGain |
比例增益(决定控制器响应强弱) |
Ti |
积分时间常数(消除稳态误差) |
TSetHigh / TSetLow |
初始设定温度值(可分别用于制冷/供热模式) |
setpointShiftTime |
设定值变更发生的时间点(用于阶跃响应测试) |
典型仿真场景与结果解读
1. 房间自然温度响应(Experiment_NaturalResponse)
您将观察到:
- 室温跟随室外气温和内热源的变化而波动;
- 在白天高温时段,室内温度有明显上升;
- 无任何主动制冷作用。
建议关注的曲线组合:
TRoom与TOut— 对比室内外温度趋势QEnvelope_flow与QInternal_flow— 理解得热/失热的主要来源
2. RC 参数敏感性对比(Experiment_RCComparison)
您将观察到:
- 增大
capacityScale会明显减小室温波动幅度,峰值时间后移; - 增大
resistanceScale会减弱室外温度对室温的直接影响; - “改善后”的房屋模型对扰动的响应更平缓、更滞后。
建议关注的曲线组合:
TRoomBasevs.TRoomImproved— 直观对比改进前后的室温变化
3. 制冷子系统性能评估(Experiment_CoolingSubsystemPerformance)
您将观察到:
- 制冷指令
u分别为 0.3、0.6、1.0 时,输出的冷量QCooling基本呈线性增长(负值更负); - 估算电功率
PEle大致遵循|QCooling| / COP_nominal的规律; - 送风温度
TSupply随制冷指令增加而降低。
4. PID 闭环控制响应(Experiment_PIDClosedLoop)
您将观察到:
- 室温在 PID 作用下逐渐趋近初始设定值;
- 当室温超过设定值时,制冷指令
y升高,冷量增加; - 在设定值阶跃变化后(例如升高设定温度),控制器会减小制冷量,使室温跟踪到新的目标值;
QCooling和PEle的变化趋势与控制器输出一致。
建议关注的曲线组合:
TRoom、TSet、TOut— 评估控制效果与扰动影响y、QCooling、PEle— 观察执行器响应
已知假设与简化说明
为了让模型轻量化且易于运行,本案例采用了以下简化处理:
- 不使用 EnergyPlus 联合仿真。
- 制冷子系统不是完整的蒸气压缩循环模型,仅为简化工程模型。
- 制冷电功率通过固定的名义 COP 估算,未考虑部分负荷效率变化。
- 简化执行器模型中未考虑湿空气动力学和潜热除湿过程。
- 房屋模型采用单区域降阶 RC 近似,不考虑多个房间之间的传热。
- 室外气象扰动主要考虑干球温度,未包含太阳辐射、长波辐射等细节。
- 当前 Sysplorer 兼容版本使用周期性室外温度曲线替代 TMY3 文件直接解析。
版本说明
V0.0.1,2026-04-21 20:14
- 初始版本
使用许可
本模型库版权由MoHub版权所有,未经许可,不得用于商业用途。