文档gydF4y2Ba

动态系统建模与仿真gydF4y2Ba

本教程展示了如何使用Simulink建模和模拟一个动态系统万博1manbetxgydF4y2Ba®gydF4y2Ba软件该模型是一种加热系统,包括一个由恒温器控制的加热器,将房间加热到设定的温度。gydF4y2Ba

回顾一个完整的模型,在MATLAB中gydF4y2Ba®gydF4y2Ba命令窗口中,输入gydF4y2Ba

Open_System(FullFile(Matlabroot,...'帮助','toolbox','simul万博1manbetxink','examplear','ex_househeat_modeling'))gydF4y2Ba

定义房屋供暖系统gydF4y2Ba

定义需求和数学方程。为模型参数和参考测量收集数据,以验证模拟结果。有关如何定义系统的更多信息,请参见基本建模工作流:gydF4y2Ba定义系统gydF4y2Ba.gydF4y2Ba

确定建模的目标gydF4y2Ba

在设计模型之前,考虑您的目标和需求。住宅供暖系统建模的目标是:gydF4y2Ba

  • 观察改变的室外温度如何影响室内温度。gydF4y2Ba

  • 检查改变参数对室内温度的影响。gydF4y2Ba

识别系统组件gydF4y2Ba

本教程中的房屋供暖系统定义了供暖系统及其与房间的关系。它包括:gydF4y2Ba

  • 房屋的热特性gydF4y2Ba

  • 加热器的热特性gydF4y2Ba

  • 控制加热器的恒温器gydF4y2Ba

  • 室外环境gydF4y2Ba

  • 室内环境gydF4y2Ba

恒温器定期监测室温,根据设定温度和室温之间的差异打开或关闭加热器。gydF4y2Ba

该系统的模型包括三个组件:加热器、恒温器和房间。gydF4y2Ba

定义系统方程gydF4y2Ba

三个时间相关变量定义了房间内的热交换:gydF4y2Ba

  • 房间温度(gydF4y2Ba TgydF4y2Ba rgydF4y2Ba ogydF4y2Ba ogydF4y2Ba 米gydF4y2Ba )gydF4y2Ba

  • 热增益:从加热器传输的热能(gydF4y2Ba 问gydF4y2Ba ggydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba ngydF4y2Ba )去房间gydF4y2Ba

  • 热损失:从房间转移的热能(gydF4y2Ba 问gydF4y2Ba lgydF4y2Ba ogydF4y2Ba 年代gydF4y2Ba 年代gydF4y2Ba )到室外环境gydF4y2Ba

微分方程定义了这些变量之间的关系,但由于传热是根据变化的温度来定义的,只有室温是状态变量。gydF4y2Ba

热增益速率方程gydF4y2Ba

加热器中的空气温度保持恒定gydF4y2BaTgydF4y2Ba加热器gydF4y2Ba室温是gydF4y2BaTgydF4y2Ba房间gydF4y2Ba.进入房间的热能是通过加热器加热的空气对流获得的,其热容为gydF4y2BacgydF4y2Ba空气gydF4y2Ba.加热器中大量空气获得的热量,gydF4y2Ba 米gydF4y2Ba hgydF4y2Ba egydF4y2Ba 一个gydF4y2Ba tgydF4y2Ba egydF4y2Ba rgydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba rgydF4y2Ba ,与加热器与房间温差成正比:gydF4y2Ba

问gydF4y2Ba ggydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba ngydF4y2Ba =gydF4y2Ba 米gydF4y2Ba hgydF4y2Ba egydF4y2Ba 一个gydF4y2Ba tgydF4y2Ba egydF4y2Ba rgydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba rgydF4y2Ba cgydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba rgydF4y2Ba (gydF4y2Ba TgydF4y2Ba hgydF4y2Ba egydF4y2Ba 一个gydF4y2Ba tgydF4y2Ba egydF4y2Ba rgydF4y2Ba −gydF4y2Ba TgydF4y2Ba rgydF4y2Ba ogydF4y2Ba ogydF4y2Ba 米gydF4y2Ba )gydF4y2Ba .gydF4y2Ba

从加热器获得热能的速率是gydF4y2Ba

dgydF4y2Ba 问gydF4y2Ba ggydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba ngydF4y2Ba dgydF4y2Ba tgydF4y2Ba =gydF4y2Ba dgydF4y2Ba 米gydF4y2Ba hgydF4y2Ba egydF4y2Ba 一个gydF4y2Ba tgydF4y2Ba egydF4y2Ba rgydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba rgydF4y2Ba dgydF4y2Ba tgydF4y2Ba cgydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba rgydF4y2Ba (gydF4y2Ba TgydF4y2Ba hgydF4y2Ba egydF4y2Ba 一个gydF4y2Ba tgydF4y2Ba egydF4y2Ba rgydF4y2Ba −gydF4y2Ba TgydF4y2Ba rgydF4y2Ba ogydF4y2Ba ogydF4y2Ba 米gydF4y2Ba )gydF4y2Ba .gydF4y2Ba

风扇把房间的空气送进加热器,再把它送回房间。一定量的空气,gydF4y2Ba 米gydF4y2Ba hgydF4y2Ba egydF4y2Ba 一个gydF4y2Ba tgydF4y2Ba egydF4y2Ba rgydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba rgydF4y2Ba ,每单位时间流过加热器,并更换gydF4y2Ba dgydF4y2Ba 米gydF4y2Ba hgydF4y2Ba egydF4y2Ba 一个gydF4y2Ba tgydF4y2Ba egydF4y2Ba rgydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba rgydF4y2Ba /gydF4y2Ba dgydF4y2Ba tgydF4y2Ba 用这个常数把方程简化成gydF4y2Ba

dgydF4y2Ba 问gydF4y2Ba ggydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba ngydF4y2Ba dgydF4y2Ba tgydF4y2Ba =gydF4y2Ba 米gydF4y2Ba hgydF4y2Ba egydF4y2Ba 一个gydF4y2Ba tgydF4y2Ba egydF4y2Ba rgydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba rgydF4y2Ba cgydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba rgydF4y2Ba (gydF4y2Ba TgydF4y2Ba hgydF4y2Ba egydF4y2Ba 一个gydF4y2Ba tgydF4y2Ba egydF4y2Ba rgydF4y2Ba −gydF4y2Ba TgydF4y2Ba rgydF4y2Ba ogydF4y2Ba ogydF4y2Ba 米gydF4y2Ba )gydF4y2Ba .gydF4y2Ba

热损失速率方程gydF4y2Ba

室内的热能损失是通过墙壁和窗户传导的,与室内温度和外界温度的温差成正比:gydF4y2Ba

问gydF4y2Ba lgydF4y2Ba ogydF4y2Ba 年代gydF4y2Ba 年代gydF4y2Ba =gydF4y2Ba kgydF4y2Ba 一个gydF4y2Ba (gydF4y2Ba TgydF4y2Ba rgydF4y2Ba ogydF4y2Ba ogydF4y2Ba 米gydF4y2Ba −gydF4y2Ba TgydF4y2Ba ogydF4y2Ba ugydF4y2Ba tgydF4y2Ba 年代gydF4y2Ba 我gydF4y2Ba dgydF4y2Ba egydF4y2Ba )gydF4y2Ba tgydF4y2Ba DgydF4y2Ba .gydF4y2Ba

热能损失率为gydF4y2Ba

dgydF4y2Ba 问gydF4y2Ba lgydF4y2Ba ogydF4y2Ba 年代gydF4y2Ba 年代gydF4y2Ba dgydF4y2Ba tgydF4y2Ba =gydF4y2Ba kgydF4y2Ba 一个gydF4y2Ba (gydF4y2Ba TgydF4y2Ba rgydF4y2Ba ogydF4y2Ba ogydF4y2Ba 米gydF4y2Ba −gydF4y2Ba TgydF4y2Ba ogydF4y2Ba ugydF4y2Ba tgydF4y2Ba 年代gydF4y2Ba 我gydF4y2Ba dgydF4y2Ba egydF4y2Ba )gydF4y2Ba DgydF4y2Ba .gydF4y2Ba

替换gydF4y2Ba kgydF4y2Ba 一个gydF4y2Ba /gydF4y2Ba DgydF4y2Ba 与gydF4y2Ba 1gydF4y2Ba /gydF4y2Ba RgydF4y2Ba 哪里gydF4y2Ba RgydF4y2Ba 热阻是否使方程简化为gydF4y2Ba

dgydF4y2Ba 问gydF4y2Ba lgydF4y2Ba ogydF4y2Ba 年代gydF4y2Ba 年代gydF4y2Ba dgydF4y2Ba tgydF4y2Ba =gydF4y2Ba (gydF4y2Ba TgydF4y2Ba rgydF4y2Ba ogydF4y2Ba ogydF4y2Ba 米gydF4y2Ba −gydF4y2Ba TgydF4y2Ba ogydF4y2Ba ugydF4y2Ba tgydF4y2Ba 年代gydF4y2Ba 我gydF4y2Ba dgydF4y2Ba egydF4y2Ba )gydF4y2Ba RgydF4y2Ba .gydF4y2Ba

变室温方程gydF4y2Ba

通过从热增益率中减去热损失率来定义房间内的温度变化率:gydF4y2Ba

dgydF4y2Ba TgydF4y2Ba rgydF4y2Ba ogydF4y2Ba ogydF4y2Ba 米gydF4y2Ba dgydF4y2Ba tgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba 米gydF4y2Ba rgydF4y2Ba ogydF4y2Ba ogydF4y2Ba 米gydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba rgydF4y2Ba cgydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba rgydF4y2Ba (gydF4y2Ba dgydF4y2Ba 问gydF4y2Ba ggydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba ngydF4y2Ba dgydF4y2Ba tgydF4y2Ba −gydF4y2Ba dgydF4y2Ba 问gydF4y2Ba lgydF4y2Ba ogydF4y2Ba 年代gydF4y2Ba 年代gydF4y2Ba dgydF4y2Ba tgydF4y2Ba )gydF4y2Ba .gydF4y2Ba

收集数据gydF4y2Ba

房屋加热模型所需的大部分参数值都在标准属性表中发布。加热器的流量来自制造商数据表。gydF4y2Ba

列出来自您的等式的变量和系数,并检查单位之间的尺寸一致性。由于模型的时间单位是小时,因此将材料的热特性转换为从几秒钟的单位转换出材料的热特性。gydF4y2Ba

方程变量和常数。gydF4y2Ba在构建模型时,可以使用该表中的常量名称和值。gydF4y2Ba

变量或系数gydF4y2Ba 描述gydF4y2Ba 单位gydF4y2Ba
一个gydF4y2Ba 墙壁或窗口面积gydF4y2Ba

A_wall = 914gydF4y2Ba,gydF4y2BaA_window = 6gydF4y2Ba

平方米gydF4y2Ba
DgydF4y2Ba 墙或窗的深度gydF4y2Ba

D_wall = 0.2gydF4y2Ba,gydF4y2BaD_窗口0.01gydF4y2Ba

计gydF4y2Ba
问gydF4y2Ba 热能转移gydF4y2Ba 焦耳gydF4y2Ba
dQ / dtgydF4y2Ba 热能传递的速率gydF4y2Ba 焦耳/小时gydF4y2Ba
kgydF4y2Ba 热导率;材料进行传热的特性gydF4y2Ba

k_fiberglass = 136.8gydF4y2Ba,gydF4y2Bak_玻璃=2808gydF4y2Ba

焦耳/米·小时·学位gydF4y2Ba
rgydF4y2Ba 热电阻率;材料的耐热性gydF4y2Ba

r=1/kgydF4y2Ba

米··小时学位/焦耳gydF4y2Ba
RgydF4y2Ba 热阻gydF4y2Ba

R=D/kA=(TgydF4y2Ba1gydF4y2Ba- T.gydF4y2Ba2gydF4y2Ba)问gydF4y2Ba

R_wall = 1.599 e-6gydF4y2Ba,gydF4y2BaR_窗口=5.935e-7gydF4y2Ba

R_equivalent = (R_wall * R_window)/(R_wall + R_window) = 4.329e-7gydF4y2Ba

小时·学位/焦耳gydF4y2Ba
米gydF4y2Ba 房间或加热器内的空气质量gydF4y2Ba

m_房间空气=1470gydF4y2Ba

加热器的质量gydF4y2Bam_加热器_空气gydF4y2Ba这个模型不需要。gydF4y2Ba

公斤gydF4y2Ba
dm/dtgydF4y2Ba 通过加热器的空气质量速率gydF4y2Ba 千克/小时gydF4y2Ba
米gydF4y2Ba 通过加热器的空气质量的恒定速率gydF4y2Ba

m_heater_Air = 3600.gydF4y2Ba

千克/小时gydF4y2Ba
cgydF4y2Ba 比热容gydF4y2Ba

c_air = 1005.4gydF4y2Ba

焦耳/千克·度gydF4y2Ba
TgydF4y2Ba加热器gydF4y2Ba 来自加热器的恒定空气温度gydF4y2Ba

T_加热器=50gydF4y2Ba

摄氏度gydF4y2Ba
TgydF4y2Ba房间gydF4y2Ba 室内空气温度gydF4y2Ba

房间初始空气温度gydF4y2BaT_roomIC = 20gydF4y2Ba

摄氏度gydF4y2Ba

房屋供暖系统模型gydF4y2Ba

对顶层结构和单个组件进行建模。将模型组织成与系统组件相对应的层次结构。参见基本建模工作流:gydF4y2Ba模型系统gydF4y2Ba.gydF4y2Ba

高层结构模型gydF4y2Ba

在房子的顶层加热模式,使用gydF4y2Ba子系统gydF4y2Ba块组织模型并创建结构。该模型包括子系统恒温器,加热器和房间。gydF4y2Ba

  1. 打开新的Simulin万博1manbetxk模型:gydF4y2Ba开放的新模型gydF4y2Ba.gydF4y2Ba

  2. 从gydF4y2Ba显示gydF4y2Ba菜单,清除gydF4y2Ba自动隐藏名字gydF4y2Ba复选框。gydF4y2Ba

  3. 打开库浏览器:gydF4y2Ba打开Sim万博1manbetxulink库浏览器gydF4y2Ba

  4. 添加gydF4y2Ba子系统gydF4y2Ba街区,拖三个gydF4y2Ba子系统gydF4y2Ba从端口和子系统库库中的块以Simulink编辑器中的新模型。万博1manbetxgydF4y2Ba

  5. 打开一个gydF4y2Ba子系统gydF4y2Ba块。双击。gydF4y2Ba

    每一个新的gydF4y2Ba子系统gydF4y2Ba块包含一个gydF4y2Ba轮廓尺寸gydF4y2Ba(gydF4y2BaIn1.gydF4y2Ba)一gydF4y2Ba外港gydF4y2Ba(gydF4y2Ba着干活gydF4y2Ba)街区。这些块定义了与模型层次结构中下一个更高级别的信号接口。gydF4y2Ba

    每一个gydF4y2Ba轮廓尺寸gydF4y2Ba块上创建一个输入端口gydF4y2Ba子系统gydF4y2Ba块,每个gydF4y2Ba外港gydF4y2Ba块创建输出端口。为额外的输入和输出信号添加更多的块。gydF4y2Ba

  6. 在Simuli万博1manbetxnk编辑器工具栏上,单击gydF4y2Ba到父gydF4y2Ba按钮gydF4y2Ba返回到顶层。重命名gydF4y2Ba子系统gydF4y2Ba块,如图所示。双击块名称并键入新名称。gydF4y2Ba

对于每个组件,对方程进行建模,定义参数,准备子系统进行仿真,并进行仿真以验证其行为。gydF4y2Ba

模型加热器组件gydF4y2Ba

让我们首先建模加热器系统组件。加热器模型:gydF4y2Ba

  • 将来自房间的当前温度和来自恒温器的控制信号作为输入gydF4y2Ba

  • 计算从加热器获得的热量gydF4y2Ba

  • 当控制信号打开时输出热量增益gydF4y2Ba

要对加热器子系统建模,请对gydF4y2Ba热增益速率方程gydF4y2Ba使用Sim万博1manbetxulink块:gydF4y2Ba

dgydF4y2Ba 问gydF4y2Ba ggydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba ngydF4y2Ba dgydF4y2Ba tgydF4y2Ba =gydF4y2Ba 米gydF4y2Ba hgydF4y2Ba egydF4y2Ba 一个gydF4y2Ba tgydF4y2Ba egydF4y2Ba rgydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba rgydF4y2Ba cgydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba rgydF4y2Ba (gydF4y2Ba TgydF4y2Ba hgydF4y2Ba egydF4y2Ba 一个gydF4y2Ba tgydF4y2Ba egydF4y2Ba rgydF4y2Ba −gydF4y2Ba TgydF4y2Ba rgydF4y2Ba ogydF4y2Ba ogydF4y2Ba 米gydF4y2Ba )gydF4y2Ba .gydF4y2Ba

从加热器空气温度中减去室温。gydF4y2Ba温差是当前的室温减去加热器的恒温(gydF4y2BaT_加热器gydF4y2Ba).看到gydF4y2Ba方程变量与常数gydF4y2Ba.gydF4y2Ba

  1. 打开加热器子系统。gydF4y2Ba

  2. 单击模型并键入Sum以显示名称中包含Sum的块列表。点击gydF4y2Ba总和gydF4y2Ba阻止列表。当提示输入符号列表时,输入gydF4y2Ba| - +gydF4y2Ba在块上放置-和+输入端口,并按下gydF4y2Ba进来gydF4y2Ba.gydF4y2Ba

    竖条(gydF4y2Ba|gydF4y2Ba)通过在端口之间插入空格来改变输入端口的位置。在标识列表的开始处有一个竖条,在标识块的顶部留出一个空间,并顺时针方向移动端口。gydF4y2Ba

  3. 添加gydF4y2Ba常数gydF4y2Ba块模型恒定空气温度从加热器。组块gydF4y2Ba定值gydF4y2Ba参数gydF4y2BaT_加热器gydF4y2Ba.的值gydF4y2BaT_加热器gydF4y2Ba在模型工作区中。gydF4y2Ba

    如果块显示gydF4y2Ba- c -gydF4y2Ba,调整块的大小以显示变量名。gydF4y2Ba

  4. 添加第二个gydF4y2Ba轮廓尺寸gydF4y2Ba块从模型的另一部分取房间温度信号。gydF4y2Ba

  5. 添加gydF4y2Ba获得gydF4y2Ba阻塞到加热器子系统。设置gydF4y2Ba获得gydF4y2Ba参数gydF4y2BaM_heater_air * c_airgydF4y2Ba.您将在模型工作区中定义这些变量的值。gydF4y2Ba

  6. 连接的输出gydF4y2Ba总和gydF4y2Ba块的输入gydF4y2Ba获得gydF4y2Ba块。gydF4y2Ba

  7. 向信号线添加标签,以帮助跟踪方程和模型需求中的模型组件。双击信号线上方,输入标签。gydF4y2Ba

  8. 重命名这些块并将它们连接起来,如图所示。gydF4y2Ba

型号a加热器开关。gydF4y2Ba恒温器向加热器发送等于1(开)或0(关)的开/关信号。因为输入信号是二进制的,你可以用agydF4y2Ba乘gydF4y2Ba块模拟交换机。gydF4y2Ba

  1. 拆下连接gydF4y2BaIn1.gydF4y2Ba和gydF4y2Ba着干活gydF4y2Ba块。选择线路,按“”键gydF4y2Ba删除gydF4y2Ba.gydF4y2Ba

  2. 添加gydF4y2Ba乘gydF4y2Ba块。垂直调整块的大小以使图中的块对齐。连接gydF4y2BaIn1.gydF4y2Ba块到第一个块输入,块输出到gydF4y2Ba着干活gydF4y2Ba块。如所示重命名块。gydF4y2Ba

  3. 连接的输出gydF4y2Ba获得gydF4y2Ba块到第二个输入。把所有相连的方块移到一起。围绕要移动的块绘制一个选择框,然后将它们拖到新位置。gydF4y2Ba

  4. 重命名块并向信号添加标签,如图所示。gydF4y2Ba

    的gydF4y2Ba轮廓尺寸gydF4y2Ba和gydF4y2Ba外港gydF4y2Ba块创建端口,将这个子系统连接到模型中的其他子系统。gydF4y2Ba

定义加热器模型参数。gydF4y2Ba您可以在MATLAB工作区中定义参数,然后在块参数对话框中输入它们的名称。然而,更健壮的方法是使用Simulink模型工作区,因为变量值随模型一起保存。万博1manbetxgydF4y2Ba

  1. 在Simuli万博1manbetxnk编辑器中,选择gydF4y2Ba视图gydF4y2Ba>gydF4y2Ba模型浏览器gydF4y2Ba>gydF4y2Ba模型的工作空间gydF4y2Ba.gydF4y2Ba

  2. 在模型资源管理器中,选择gydF4y2Ba添加gydF4y2Ba>gydF4y2BaMATLAB变量gydF4y2Ba.在中间窗格中,单击新变量gydF4y2BaVargydF4y2Ba并输入块参数的变量名。对于这个示例,输入gydF4y2BaT_加热器gydF4y2Ba.gydF4y2Ba

  3. 点击gydF4y2Ba0gydF4y2Ba值,并输入该变量的值。对于这个示例,输入gydF4y2Ba50gydF4y2Ba度。gydF4y2Ba

  4. 使用相同的方法,添加变量gydF4y2BaM_heater_airgydF4y2Ba值为gydF4y2Ba3600.gydF4y2Ba千克/小时及gydF4y2Bac_空气gydF4y2Ba值为gydF4y2Ba1005.4gydF4y2Ba焦耳/公斤·学位。gydF4y2Ba

为模拟准备加热器模型。gydF4y2Ba设置模拟加热器模型。考虑预期的行为,以及如何使用模拟来测试该行为。当恒温器输出为1(开启)时,假设恒定的室温为25时,来自增益的预期输出是(50-25)x 3600×1005.3 = 9.05×10gydF4y2Ba7gydF4y2Ba.通过使用以下输入运行模型来验证该输出:gydF4y2Ba

  • 加热器开/关信号从gydF4y2Ba0gydF4y2Ba来gydF4y2Ba1gydF4y2Ba在4之后gydF4y2BathgydF4y2Ba小时gydF4y2Ba

  • 室温常数gydF4y2Ba25gydF4y2Ba

  1. 在加热器子系统中,单击gydF4y2Ba到父gydF4y2Ba按钮gydF4y2Ba以导航到模型的顶层。您可以如图所示调整加热器块的大小。gydF4y2Ba

    请注意,加热器块有第二个输入端口,每个端口对应一个输入端口gydF4y2Ba轮廓尺寸gydF4y2Ba块或gydF4y2Ba外港gydF4y2Ba子系统中的块。gydF4y2Ba

  2. 添加gydF4y2Ba常数gydF4y2Ba块表示室温,并将该值设置为gydF4y2Ba25gydF4y2Ba(摄氏度)。添加gydF4y2Ba步gydF4y2Ba阻塞一个临时加热器(开/关)信号。集gydF4y2Ba一步gydF4y2Ba来gydF4y2Ba4gydF4y2Ba.gydF4y2Ba

  3. 添加gydF4y2Ba范围gydF4y2Ba阻塞并将其连接到热增益输出。gydF4y2Ba

模拟加热器模型并评估结果。gydF4y2Ba使用默认模拟设置来验证模型设计。gydF4y2Ba

  1. 双击gydF4y2Ba范围gydF4y2Ba阻挡打开它。gydF4y2Ba

  2. 模拟模型。点击gydF4y2Ba跑gydF4y2Ba按钮gydF4y2Ba.gydF4y2Ba

    模拟运行时,范围将绘制结果。gydF4y2Ba

  3. 查看范围跟踪。gydF4y2Ba

  4. 确定这个结果是否是您所期望的。gydF4y2Ba

    当加热器开/关信号在4小时由0切换到1时,加热器输出9.05 × 10gydF4y2Ba7gydF4y2Ba焦耳/小时。模拟验证了预期的行为。gydF4y2Ba

  5. 删除gydF4y2Ba常数gydF4y2Ba,gydF4y2Ba步gydF4y2Ba,gydF4y2Ba范围gydF4y2Ba为测试Heater组件而添加的块。gydF4y2Ba

型号恒温器组件gydF4y2Ba

你可以不用系统方程来模拟恒温器。该组件的要求:gydF4y2Ba

  • 当室温低于设定温度时,加热器接通,控制信号等于1.当室温高于设定温度时,控制信号等于0。gydF4y2Ba

  • 为避免在设定温度附近重复切换,恒温器允许在温度设定点附近出现2摄氏度的滞后。如果恒温器打开,在关闭前,室温必须比设定温度升高2度。如果恒温器关闭,在打开之前,室温必须比设定温度低2度。gydF4y2Ba

这个组件模拟恒温器的运行,决定加热系统何时开启或关闭。它只包含一个gydF4y2Ba继电器gydF4y2Ba块,但逻辑上表示模型中的恒温器。gydF4y2Ba

从室温中减去设定的室温。gydF4y2Ba如果设定室温比室温更温暖,则恒温器模型向加热器模型发送“开启”信号。为了确定是否是这种情况,首先将室温从设定温度减去。gydF4y2Ba

  1. 打开恒温器子系统。添加gydF4y2Ba总和gydF4y2Ba插入并遵循程序gydF4y2Ba从加热器空气温度减去室内空气温度gydF4y2Ba减法。gydF4y2Ba

  2. 连接gydF4y2Ba轮廓尺寸gydF4y2Ba块的+输入gydF4y2Ba总和gydF4y2Ba块。的gydF4y2Ba轮廓尺寸gydF4y2Bablock设置室温。gydF4y2Ba

  3. 添加第二个gydF4y2Ba轮廓尺寸gydF4y2Ba块,并将它连接到-输入gydF4y2Ba总和gydF4y2Ba块。第二个gydF4y2Ba轮廓尺寸gydF4y2Ba块是房间子系统的当前室温。将输出端口移动到块的顶部。右键单击块并选择gydF4y2Ba旋转和翻转gydF4y2Ba>gydF4y2Ba逆时针方向gydF4y2Ba.如果需要,可以通过拖动句柄来重塑图中所示的块。gydF4y2Ba

  4. 如所示重命名块。gydF4y2Ba

模型恒温器信号。gydF4y2Ba用2摄氏度的迟滞值对来自恒温器的信号建模。gydF4y2Ba

  1. 在恒温器子系统中,添加一个gydF4y2Ba继电器gydF4y2Ba块设定gydF4y2Ba接通点gydF4y2Ba参数gydF4y2Ba2gydF4y2Ba,gydF4y2Ba切断点gydF4y2Ba参数gydF4y2Ba-2gydF4y2Ba.gydF4y2Ba

  2. 如图所示连接和重命名块。gydF4y2Ba

为仿真准备恒温器模型。gydF4y2Ba准备恒温器子系统进行仿真。考虑恒温器的预期行为以及如何用模拟测试该行为。当室温在恒温器上升到2度的情况下时,恒温器输出为0.当室温下方在恒温器设置下移动2度时,恒温器输出为1。gydF4y2Ba

  1. 在恒温器子系统中,单击gydF4y2Ba到父gydF4y2Ba按钮gydF4y2Ba以导航到模型的顶层。如图所示调整温控器块的大小。gydF4y2Ba

    注意恒温器子系统现在有第二个输入端口。每个输入端口对应一个gydF4y2Ba轮廓尺寸gydF4y2Ba子系统中的块。gydF4y2Ba

  2. 添加gydF4y2Ba常数gydF4y2Ba块为设置的温度。设置gydF4y2Ba常数gydF4y2Ba参数gydF4y2Ba25gydF4y2Ba(摄氏度)。gydF4y2Ba

  3. 添加gydF4y2Ba正弦波gydF4y2Ba块表示不断变化的室温。设置gydF4y2Ba振幅gydF4y2Ba参数gydF4y2Ba10gydF4y2Ba这个gydF4y2Ba偏见gydF4y2Ba来gydF4y2Ba20.gydF4y2Ba,gydF4y2Ba频率gydF4y2Ba来gydF4y2Ba0.5gydF4y2Ba.这些参数在温度设定点25的上下有变化。gydF4y2Ba

  4. 创建并连接gydF4y2Ba范围gydF4y2Ba加热器端口处的查看器。看见gydF4y2Ba添加信号查看器gydF4y2Ba.gydF4y2Ba

  5. 将两个输入信号连接到范围查看器。gydF4y2Ba

模拟恒温器模型并评估结果。gydF4y2Ba使用默认模拟设置来验证模型设计。gydF4y2Ba

  1. 模拟模型。在模拟运行时,Scope Viewer绘制结果。gydF4y2Ba

  2. 打开gydF4y2Ba范围gydF4y2Ba查看范围跟踪。gydF4y2Ba

  3. 确定这个结果是否是您所期望的。gydF4y2Ba

    最初,室温低于设定温度,继电器打开。当室温达到设定温度时,继电器继续亮,直到室温再升高2度。模拟验证预期的行为。gydF4y2Ba

模型室构件gydF4y2Ba

房间组件的输入是来自加热器组件的热流和外部空气温度。房间组件使用这些输入计算通过墙壁的热损失、通过窗户的热损失和当前房间温度。gydF4y2Ba

设计房间子系统,利用gydF4y2Ba热损失速率方程gydF4y2Ba和gydF4y2Ba变室温方程gydF4y2Ba.gydF4y2Ba

型号改变室温。gydF4y2Ba由式定义了室内温度变化率(dTroom/dt)gydF4y2Ba

dgydF4y2Ba TgydF4y2Ba rgydF4y2Ba ogydF4y2Ba ogydF4y2Ba 米gydF4y2Ba dgydF4y2Ba tgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba 米gydF4y2Ba rgydF4y2Ba ogydF4y2Ba ogydF4y2Ba 米gydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba rgydF4y2Ba cgydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba rgydF4y2Ba (gydF4y2Ba dgydF4y2Ba 问gydF4y2Ba ggydF4y2Ba 一个gydF4y2Ba 我gydF4y2Ba ngydF4y2Ba dgydF4y2Ba tgydF4y2Ba −gydF4y2Ba dgydF4y2Ba 问gydF4y2Ba lgydF4y2Ba ogydF4y2Ba 年代gydF4y2Ba 年代gydF4y2Ba dgydF4y2Ba tgydF4y2Ba )gydF4y2Ba .gydF4y2Ba

期限gydF4y2BadQgain / dtgydF4y2Ba是来自加热器子系统的信号。gydF4y2Ba

  1. 打开房间子系统块。在房间子系统中,添加一个gydF4y2Ba总和gydF4y2Ba块设定gydF4y2Ba符号列表gydF4y2Ba参数gydF4y2Ba| + -gydF4y2Ba.gydF4y2Ba

  2. 连接In1到+输入。输入是热增益(gydF4y2BadQgain / dtgydF4y2Ba)从加热器组件。-输入连接到热损失(gydF4y2BadQloss/dtgydF4y2Ba)。gydF4y2Ba

  3. 添加gydF4y2Ba获得gydF4y2Ba块设定gydF4y2Ba获得gydF4y2Ba参数gydF4y2Ba1 /(m_room_air * c_air)gydF4y2Ba.连接的输出gydF4y2Ba总和gydF4y2Ba块的输入gydF4y2Ba获得gydF4y2Ba块。标签信号如图所示。虚线信号线是稍后要连接的信号。gydF4y2Ba

模型室温。gydF4y2Ba输出gydF4y2Ba获得gydF4y2Ba块是室温的变化(gydF4y2BadTroom / dtgydF4y2Ba)。以获取当前的室温(gydF4y2Ba部队gydF4y2Ba),集成信号。gydF4y2Ba

  1. 添加一个gydF4y2Ba积分商gydF4y2Ba块设定gydF4y2Ba初始条件gydF4y2Ba参数gydF4y2Ba特鲁姆gydF4y2Ba.gydF4y2Ba

  2. 连接的输出gydF4y2Ba积分商gydF4y2Ba如图所示阻塞到Out1。gydF4y2Ba

墙壁和窗户模型热损失。gydF4y2Ba该方程是通过墙壁和窗户的热能损失率:gydF4y2Ba

dgydF4y2Ba 问gydF4y2Ba lgydF4y2Ba ogydF4y2Ba 年代gydF4y2Ba 年代gydF4y2Ba dgydF4y2Ba tgydF4y2Ba =gydF4y2Ba (gydF4y2Ba TgydF4y2Ba rgydF4y2Ba ogydF4y2Ba ogydF4y2Ba 米gydF4y2Ba −gydF4y2Ba TgydF4y2Ba ogydF4y2Ba ugydF4y2Ba tgydF4y2Ba 年代gydF4y2Ba 我gydF4y2Ba dgydF4y2Ba egydF4y2Ba )gydF4y2Ba RgydF4y2Ba .gydF4y2Ba

  1. 在Room子系统中,添加一个gydF4y2Ba总和gydF4y2Ba块设定gydF4y2Ba符号列表gydF4y2Ba参数gydF4y2Ba| + -gydF4y2Ba。右键单击块并选择gydF4y2Ba旋转和翻转gydF4y2Ba>gydF4y2Ba翻转块gydF4y2Ba.gydF4y2Ba

  2. 连接gydF4y2Ba部队gydF4y2Ba到gydF4y2Ba总和gydF4y2Ba块。点击信号线gydF4y2Ba部队gydF4y2Ba输入+gydF4y2Ba总和gydF4y2Ba块。gydF4y2Ba

  3. 再加一个gydF4y2Ba轮廓尺寸gydF4y2Ba块,并将它连接到-输入gydF4y2Ba总和gydF4y2Ba块。将其重命名为外部温度。gydF4y2Ba

  4. 再加一个gydF4y2Ba获得gydF4y2Ba块设定gydF4y2Ba获得gydF4y2Ba参数gydF4y2Ba1 / R_equivalentgydF4y2Ba。右键单击块并选择gydF4y2Ba旋转和翻转gydF4y2Ba>gydF4y2Ba翻转块gydF4y2Ba.gydF4y2Ba

  5. 如图所示连接块。gydF4y2Ba

定义房间模型参数。gydF4y2Ba您可以在MATLAB工作区中定义参数,然后在块参数对话框中输入它们的名称。然而,更健壮的方法是使用Simulink模型工作区,它保存模型的参数值。万博1manbetxgydF4y2Ba

  1. 在Simuli万博1manbetxnk编辑器中,选择gydF4y2Ba视图gydF4y2Ba>gydF4y2Ba模型浏览器gydF4y2Ba>gydF4y2Ba模型的工作空间gydF4y2Ba.gydF4y2Ba

  2. 在模型管理器中,选择gydF4y2Ba添加gydF4y2Ba>gydF4y2BaMATLAB变量gydF4y2Ba.gydF4y2Ba

  3. 在中间窗格中,单击新变量gydF4y2BaVargydF4y2Ba然后输入名字gydF4y2Bam_room_airgydF4y2Ba. 在右侧窗格中,输入值gydF4y2Ba1470gydF4y2Ba(公斤)。gydF4y2Ba

  4. 添加变量gydF4y2BaT_roomICgydF4y2Ba=gydF4y2Ba20.gydF4y2Ba(摄氏度)和gydF4y2BaR_equivalentgydF4y2Ba=gydF4y2Ba4.329E-7gydF4y2Ba(小时·度/焦耳)。gydF4y2Ba

为仿真准备房间模型。gydF4y2Ba为仿真准备房间子系统。考虑预期的行为,以及如何使用模拟来测试该行为。当加热器关闭(热增益= 0),且室内初始温度(20)高于室外温度(10)时,热损失应继续进行,直至室内温度与室外温度相等。gydF4y2Ba

  1. 从Room子系统中,单击gydF4y2Ba到父gydF4y2Ba按钮gydF4y2Ba以导航到模型的顶层。如图所示调整房间块的大小。gydF4y2Ba

    房间方块现在有第二个输入端口。每个导入端口对应一个gydF4y2Ba轮廓尺寸gydF4y2Ba子系统中的块。gydF4y2Ba

  2. 添加gydF4y2Ba常数gydF4y2Ba阻塞并将其连接到热增益输入。设定gydF4y2Ba定值gydF4y2Ba参数gydF4y2Ba0gydF4y2Ba(摄氏度),意味着加热器已经关闭。gydF4y2Ba

  3. 再加一个gydF4y2Ba常数gydF4y2Ba块并将其连接到外部温度输入。设置gydF4y2Ba定值gydF4y2Ba参数gydF4y2Ba10gydF4y2Ba(摄氏度)。gydF4y2Ba

  4. 添加并连接agydF4y2Ba范围gydF4y2Ba块,以查看不断变化的室温。gydF4y2Ba

模拟房间模型并评估结果gydF4y2Ba

  1. 在工具栏中,设置gydF4y2Ba仿真停止时间gydF4y2Ba来gydF4y2Ba20.gydF4y2Ba.gydF4y2Ba

  2. 模拟模型。gydF4y2Ba

  3. 打开Scope并单击gydF4y2Ba自动缩放gydF4y2Ba按钮gydF4y2Ba查看范围跟踪。gydF4y2Ba

  4. 确定这个结果是否是您所期望的。gydF4y2Ba

    中设置的初始室温开始gydF4y2Ba积分商gydF4y2Ba块由于热增益为0,信号衰减到外部温度(10)。模拟验证了预期的行为。gydF4y2Ba

为第二次模拟准备房间模型。gydF4y2Ba将恒定的外部温度设置为高于初始室温(20)的值。gydF4y2Ba

在gydF4y2Ba常数gydF4y2Ba连接外部温度输入的块,设置gydF4y2Ba定值gydF4y2Ba来gydF4y2Ba30.gydF4y2Ba(摄氏度)。gydF4y2Ba

模拟模型和评价结果gydF4y2Ba

  1. 模拟模型。gydF4y2Ba

  2. 打开Scope并单击gydF4y2Ba自动缩放gydF4y2Ba按钮gydF4y2Ba查看范围跟踪。gydF4y2Ba

  3. 确定这个结果是否是您所期望的。gydF4y2Ba

    室温从最初设定的温度20开始,但在加热器关闭(热增益=0)的情况下,室温上升到外部温度-模型没有明确规定这一行为,可能被认为是意外的。gydF4y2Ba

    当外部温度高于室内温度时,模拟热损失的方程也模拟了热获得。虽然模型没有明确指定加热器关闭时的行为,但结果在物理上是有意义的。gydF4y2Ba

集成一个住宅供暖模型gydF4y2Ba

连接模型组件,添加真实输入,然后随时间模拟模型行为以验证整个模型。请参见基本建模工作流:gydF4y2Ba集成模型gydF4y2Ba.gydF4y2Ba

集成加热器和温控器组件gydF4y2Ba

为了模拟没有房间子系统的加热器和恒温器子系统,您需要一个用于更换室温的信号。用一个gydF4y2Ba常数gydF4y2Ba块设置节温器温度和温度gydF4y2Ba正弦波gydF4y2Ba阻挡一个真实的外部温度信号。gydF4y2Ba

为模拟准备模型gydF4y2Ba

  1. 打开包含已完成子系统的模型。删除为测试单独组件而添加的所有块。gydF4y2Ba

  2. 打开房间子系统。双击gydF4y2Ba轮廓尺寸gydF4y2Ba块标记为热增益。在“导入”对话框中设置gydF4y2Ba端口号gydF4y2Ba来gydF4y2Ba2gydF4y2Ba.热增益端口移动到房间子系统的底部。gydF4y2Ba

  3. 从温控器子系统输出连接加热器(开/关)信号到加热器子系统输入。gydF4y2Ba

  4. 添加gydF4y2Ba常数gydF4y2Ba块设置恒温器的室温。集gydF4y2Ba常数gydF4y2Ba价值gydF4y2Ba20.gydF4y2Ba(摄氏度)。gydF4y2Ba

  5. 添加gydF4y2Ba正弦波gydF4y2Ba块表示不断变化的室温。设置参数gydF4y2Ba振幅gydF4y2Ba至10(摄氏度),,gydF4y2Ba偏见gydF4y2Ba来gydF4y2Ba15gydF4y2Ba,gydF4y2Ba频率gydF4y2Ba来gydF4y2Ba0.5gydF4y2Ba.gydF4y2Ba

  6. 如图所示连接块。gydF4y2Ba

  7. 添加Scope查看器,并添加来自Heater、Constant和Sine Wave模块的输出信号。看到gydF4y2Ba添加信号查看器gydF4y2Ba.gydF4y2Ba

  8. 在Scope查看器窗口中,在gydF4y2Ba配置属性gydF4y2Ba按钮gydF4y2Ba单击箭头,然后单击gydF4y2Ba布局gydF4y2Ba偶像gydF4y2Ba选择two boxes. A second empty graph appears below the first.

  9. 从工具栏中,单击gydF4y2Ba信号选择器gydF4y2Ba按钮gydF4y2Ba选择gydF4y2Ba显示1gydF4y2Ba.选择gydF4y2Ba加热器gydF4y2Ba复选框。gydF4y2Ba

  10. 选择gydF4y2Ba显示2gydF4y2Ba.选择gydF4y2Ba常数gydF4y2Ba和gydF4y2Ba正弦波gydF4y2Ba复选框。gydF4y2Ba

模拟模型并评估结果。gydF4y2Ba使用默认停止时间10来模拟模型。gydF4y2Ba

  1. 模拟模型。gydF4y2Ba

  2. 打开范围查看器并查看模拟结果。上图是加热器增益,下图是用正弦波模拟的变化的室温。gydF4y2Ba

  3. 确定这个结果是否是您所期望的。gydF4y2Ba

    从0到1.5小时,加热器打开。热量不是恒定的,而是变化的,因为热量是加热器空气温度和室内空气温度之间的差的函数。从1.5小时到5.6小时,加热器关闭,热增益(上图)为零。模拟确认了预期的行为。gydF4y2Ba

集成房间组件gydF4y2Ba

要用房间子系统模拟加热器和恒温器子系统,需要外部温度变化的信号。通过模拟模型,可以观察恒温器设置和室外温度如何影响室内温度。gydF4y2Ba

为模拟准备模型gydF4y2Ba

  1. 使用已完成的子系统打开您的模型。删除添加以测试单独组件的任何块。gydF4y2Ba

  2. 如图所示连接子系统。gydF4y2Ba

  3. 添加gydF4y2Ba常数gydF4y2Ba设置室温块。集gydF4y2Ba定值gydF4y2Ba参数gydF4y2Ba20.gydF4y2Ba(摄氏度)。gydF4y2Ba

  4. 添加gydF4y2Ba一个正弦波gydF4y2Ba块代表改变的外部温度。集gydF4y2Ba振幅gydF4y2Ba来gydF4y2Ba5gydF4y2Ba,gydF4y2Ba偏见gydF4y2Ba来gydF4y2Ba12gydF4y2Ba,gydF4y2Ba频率gydF4y2Ba来gydF4y2Ba2*pi/24gydF4y2Ba,gydF4y2Ba阶段gydF4y2Ba来gydF4y2Ba180gydF4y2Ba.gydF4y2Ba

  5. 添加gydF4y2Ba范围查看器gydF4y2Ba块以查看模拟结果。gydF4y2Ba

  6. 在信号查看器中,单击gydF4y2Ba信号选择器gydF4y2Ba按钮gydF4y2Ba. 在“信号选择器”对话框的左窗格中,选择顶部模型层次。在右侧窗格中,选择房间和正弦波信号。gydF4y2Ba

模拟模型和评价结果gydF4y2Ba

  1. 将模拟停止时间设置为gydF4y2Ba24gydF4y2Ba(小时)表示一天。gydF4y2Ba

  2. 模拟模型。gydF4y2Ba

  3. 打开Scope Viewer并查看结果。gydF4y2Ba

  4. 确定模拟结果是否符合您的期望。gydF4y2Ba

    当外界温度低于设定的室温时,室温在设定温度上下波动2度。由于恒温子系统包括2度迟滞,这个仿真结果是预期的。gydF4y2Ba

  5. 您可以将结果与示例模型进行比较gydF4y2Ba

    open_system (fullfile (matlabroot,……'help', 'toolbox', '万博1manbetxsimulink', 'examples', 'ex_househeat_modeling_prepared'))gydF4y2Ba
    或者点击gydF4y2Baex_househeat_modeling_prepared.slx.gydF4y2Ba.gydF4y2Ba

优化模型参数。gydF4y2Ba使用Sim万博1manbetxulink模型,可以交互地更改模型参数,然后观察模型行为中的更改。这种方法允许您快速评估模型并验证设计。gydF4y2Ba

改变室内的室外温度gydF4y2Ba正弦波gydF4y2Ba阻塞,使上限值高于设定温度。gydF4y2Ba

  1. 在正弦波对话框中,设置gydF4y2Ba振幅gydF4y2Ba来gydF4y2Ba5gydF4y2Ba和gydF4y2Ba偏见gydF4y2Ba来gydF4y2Ba19gydF4y2Ba. 这些设置显示当外部温度高于内部温度时发生的情况。gydF4y2Ba

  2. 模拟模型并查看结果。gydF4y2Ba

  3. 确定结果是否符合你的期望。gydF4y2Ba

    当室外温度高于设定温度时,室内温度随室外温度变化,并略有延迟。在这种情况下,热量损失的作用方向相反,它表示从外部环境到房间的热量损失。gydF4y2Ba

模型的外部接口gydF4y2Ba

为外部接口建模,以便进一步测试和可能在更大的模型中使用。在Si万博1manbetxmulink中,您可以使用gydF4y2Ba轮廓尺寸gydF4y2Ba和gydF4y2Ba外港gydF4y2Ba块。gydF4y2Ba

  1. 添加gydF4y2Ba轮廓尺寸gydF4y2Ba块从外部温度和恒温器设置到模型中的数据。gydF4y2Ba

  2. 添加gydF4y2Ba外港gydF4y2Ba块将外部温度和室温连接到更大的模型或可视化结果。gydF4y2Ba

指定物理单位gydF4y2Ba

通过为模型信号指定物理单位,可以确保跨模型组件计算的一致性。在Simulink中,可以通过以下方式指定信号单位:万博1manbetxgydF4y2Ba轮廓尺寸gydF4y2Ba和gydF4y2Ba外港gydF4y2Ba块。gydF4y2Ba

  1. 双击gydF4y2BaIn1.gydF4y2Bablock可打开“块参数”对话框。选择gydF4y2Ba信号属性gydF4y2Ba标签。gydF4y2Ba

  2. 在gydF4y2Ba单位gydF4y2Ba框,输入gydF4y2Ba学位gydF4y2Ba.从符号和名称列表中选择gydF4y2Ba°C degree_CelsiusgydF4y2Ba.gydF4y2Ba

    对于剩余温度gydF4y2Ba轮廓尺寸gydF4y2Ba和gydF4y2Ba外港gydF4y2Ba块,设置gydF4y2Ba单位gydF4y2Ba参数gydF4y2Ba°C degree_CelsiusgydF4y2Ba.gydF4y2Ba

  3. 显示模块端口上的单元。从菜单中选择gydF4y2Ba显示gydF4y2Ba>gydF4y2Ba信号和港口gydF4y2Ba>gydF4y2Ba口岸单位gydF4y2Ba.gydF4y2Ba

  4. 双击加热器gydF4y2Ba子系统gydF4y2Ba块。双击热增益gydF4y2Ba外港gydF4y2Bablock可打开“块参数”对话框。选择gydF4y2Ba信号属性gydF4y2Ba标签。gydF4y2Ba

  5. 在gydF4y2Ba单位gydF4y2Ba框,输入gydF4y2Ba焦耳/小时gydF4y2Ba.从符号和名称列表中选择gydF4y2Ba焦耳/小时焦耳/小时gydF4y2Ba.gydF4y2Ba

  6. 更新模型。新闻gydF4y2BaCtrl + DgydF4y2Ba.gydF4y2Ba

下一步是通过比较仿真和实际系统数据来验证模型的正确性。gydF4y2Ba

准备模拟gydF4y2Ba

初始模拟后,可以使用结果改进模型,使模型行为与测量数据相匹配。准备模拟模型后,可以使用接口输入测量的系统数据并设置室温。gydF4y2Ba

要加载完成的示例模型,在MATLAB命令窗口中输入gydF4y2Ba

copyfile(完整文件(matlabroot、‘帮助’、‘工具箱’、‘simulink’、‘示例’、‘万博1manbetxex\u househeat\u measured\u data.mat’)gydF4y2Ba
打开系统(完整文件(matlabroot、‘帮助’、‘工具箱’、‘simulink’、‘示例’、‘ex\u ho万博1manbetxuseheat\u simulation\u prepared’)gydF4y2Ba

验证模拟是否代表您所建模的系统的行为。首先通过实验测量模型中具有可比信号的系统的物理特性:gydF4y2Ba

  • 从物理系统中收集数据gydF4y2Ba

  • 为仿真准备模型gydF4y2Ba

有关工作流程的详细描述,请参阅gydF4y2Ba准备模拟gydF4y2Ba.gydF4y2Ba

收集和绘制系统数据gydF4y2Ba

测量实际住宅供暖系统的动态特性。您将使用模型模拟的测量数据来验证您的模型的行为和准确性。gydF4y2Ba

  1. 24小时内每6分钟测量一次室内和室外温度。gydF4y2Ba

  2. 将测量的数据输入到Microsoft中gydF4y2Ba®gydF4y2BaExcelgydF4y2Ba®gydF4y2Ba工作表或打开示例电子表格。在MATLAB命令窗口中,输入gydF4y2Ba

    Winopen(全文件(Matlabroot,...'帮助','toolbox','simulink',万博1manbetx'examplear','ex_househeat_measured_data.xls'))gydF4y2Ba

  3. 检查测量数据的图。内部温度数据显示温度峰值时,热空气加热器打开。这种模式是典型的热空气加热系统。gydF4y2Ba

为模拟准备模型gydF4y2Ba

通过添加用于数据输入和输入控制信号的外部接口,准备用于仿真的模型。gydF4y2Ba

  1. 使用您在教程中创建的模型gydF4y2Ba动态系统建模与仿真gydF4y2Ba或者打开示例模型。在MATLAB命令窗口中,输入gydF4y2Ba

    Open_System(FullFile(Matlabroot,...'帮助','toolbox','simul万博1manbetxink','examplear','ex_househeat_modeling'))gydF4y2Ba

  2. 取代gydF4y2Ba轮廓尺寸gydF4y2Ba块gydF4y2BaIn2.gydF4y2Ba用一个gydF4y2Ba常数gydF4y2Ba阻塞并设置gydF4y2Ba常数gydF4y2Ba参数gydF4y2Ba20.gydF4y2Ba.的gydF4y2Ba常数gydF4y2Ba块设置恒温器温度。gydF4y2Ba

  3. 添加一个gydF4y2Ba轮廓尺寸gydF4y2Ba块。集gydF4y2Ba端口号gydF4y2Ba来gydF4y2Ba1gydF4y2Ba. 此操作还设置了gydF4y2Ba端口号gydF4y2Ba外部温度信号gydF4y2Ba2gydF4y2Ba.gydF4y2Ba

  4. 重命名第一个gydF4y2Ba轮廓尺寸gydF4y2Ba阻止gydF4y2Ba内部温度gydF4y2Ba.重命名第二gydF4y2Ba轮廓尺寸gydF4y2Ba阻止gydF4y2Ba室外温度gydF4y2Ba.gydF4y2Ba

  5. 添加一个gydF4y2Ba外港gydF4y2Ba阻塞并连接到第一个gydF4y2Ba轮廓尺寸gydF4y2Ba块(内部温度)。需要输出块来保存(记录)信号。集gydF4y2Ba端口号gydF4y2Ba来gydF4y2Ba1gydF4y2Ba.gydF4y2Ba

运行和评估仿真gydF4y2Ba

验证模型的准确性,优化参数。需要考虑优化的参数包括加热器迟滞、温度偏移和房屋的热损失阻力。遵循以下步骤来验证您的模型:gydF4y2Ba

  • 导入数据gydF4y2Ba

  • 运行仿真gydF4y2Ba

  • 评估仿真结果gydF4y2Ba

  • 改变模型参数gydF4y2Ba

  • 重新运行模拟gydF4y2Ba

有关工作流程的详细描述,请参阅gydF4y2Ba为基本仿真工作流运行和评估仿真gydF4y2Ba.gydF4y2Ba

使用根输入映射导入数据gydF4y2Ba

您可以使用Root import Mapper工具将测量到的信号数据从Excel电子表格导入到Simulink模型中。万博1manbetxgydF4y2Ba

  1. 打开任何输入块。单击gydF4y2Ba连接输入gydF4y2Ba按钮以打开根导入映射器。gydF4y2Ba

  2. 在工具条上,单击gydF4y2Ba从电子表格gydF4y2Ba.gydF4y2Ba

  3. 在“从电子表格”对话框中,单击浏览按钮。浏览并选择该文件gydF4y2BamatlabrootgydF4y2Ba帮助\ \工具箱\仿真软件\万博1manbetx \ ex_househeat_measured_data.xls例子gydF4y2Ba.点击gydF4y2Ba打开gydF4y2Ba.点击gydF4y2Ba好吧gydF4y2Ba导入电子表格。gydF4y2Ba

  4. 从gydF4y2Ba信号gydF4y2Ba下拉列表中,选择gydF4y2Ba预览信号gydF4y2Ba.gydF4y2Ba

  5. 在左侧,展开的树视图gydF4y2BaSheet1gydF4y2Ba. 选中“内部温度”和“外部温度”复选框。gydF4y2Ba

  6. 点击gydF4y2Ba关闭信号预览gydF4y2Ba.gydF4y2Ba

  7. 在左侧,选择gydF4y2BaSheet1gydF4y2Ba.的gydF4y2Ba情景信号gydF4y2Ba列显示来自Excel电子表格和图标的两个信号gydF4y2Ba指示信号未映射。gydF4y2Ba

  8. 在工具条上,选择gydF4y2Ba港口订单gydF4y2Ba选项从gydF4y2Ba选项gydF4y2Ba从下拉列表中,选择gydF4y2Ba更新模型gydF4y2Ba复选框。gydF4y2Ba

  9. 从gydF4y2Ba映射到模型gydF4y2Ba下拉列表中,选择gydF4y2Ba地图未连接gydF4y2Ba.映射摘要显示映射到的Excel电子表格的信号gydF4y2Ba输入gydF4y2Ba端口模块。gydF4y2Ba

  10. 点击gydF4y2Ba马克的模拟gydF4y2Ba.映射摘要显示gydF4y2BaSheet1gydF4y2Ba标记为模拟和gydF4y2Ba数据集gydF4y2Ba对象是在MATLAB工作区中创建的。gydF4y2Ba

  11. 将信号数据保存在MAT文件中。在MATLAB命令窗口中,键入gydF4y2Ba

    保存('ex_house heat_measured_data.mat','Sheet1')gydF4y2Ba

配置模型以加载信号数据gydF4y2Ba

映射到输入端口的信号数据位于MATLAB工作空间变量中。对于每个新的MATLAB会话,您必须手动重新加载数据或让模型预加载函数为您做这件事。gydF4y2Ba

  1. 从Simulink万博1manbetx编辑器菜单中选择gydF4y2Ba文件gydF4y2Ba>gydF4y2Ba模型属性gydF4y2Ba>gydF4y2Ba模型属性gydF4y2Ba.gydF4y2Ba

  2. 选择gydF4y2Ba回调gydF4y2Ba标签。gydF4y2Ba

  3. 在模型回调部分中,选择PreLoadFcn。gydF4y2Ba

  4. 在“模型预加载”功能框中,输入gydF4y2Ba

    负荷('ex_house heat_measured_data.mat')gydF4y2Ba

  5. 点击gydF4y2Ba好吧gydF4y2Ba.gydF4y2Ba

配置模型以保存仿真结果gydF4y2Ba

配置您的模型以在模拟期间保存(日志)信号数据。然后,您可以使用Simulink数据检查器从模拟中查看记录的信号。万博1manbetxgydF4y2Ba

  1. 在模型中,选择gydF4y2Ba模拟gydF4y2Ba>gydF4y2Ba模型配置参数gydF4y2Ba. 在左侧窗格中,选择gydF4y2Ba数据导入/导出gydF4y2Ba.gydF4y2Ba

  2. 在右窗格中,清除gydF4y2Ba时间gydF4y2Ba和gydF4y2Ba输出gydF4y2Ba复选框。gydF4y2Ba

  3. 选择gydF4y2Ba信号测井gydF4y2Ba复选框。gydF4y2Ba

  4. 选择gydF4y2Ba在模拟数据检查器中记录记录的工作空间数据gydF4y2Ba复选框。gydF4y2Ba

  5. 点击gydF4y2Ba好吧gydF4y2Ba.gydF4y2Ba

选择要保存的信号gydF4y2Ba

识别要在Simulink Data Inspector中显示的信号,如万博1manbetx果未命名,则为信号命名,并设置日志记录参数。gydF4y2Ba

  1. 右键单击内部温度信号线并选择gydF4y2Ba属性gydF4y2Ba.gydF4y2Ba

  2. 在gydF4y2Ba信号的名字gydF4y2Ba框,输入gydF4y2Ba测量室温gydF4y2Ba.选择gydF4y2Ba测井信号数据gydF4y2Ba复选框。一个日志徽章gydF4y2Ba出现在信号线上。gydF4y2Ba

  3. 为这些信号命名并选择日志记录。gydF4y2Ba

    信号机位置gydF4y2Ba 信号的名字gydF4y2Ba
    来自输出端口2的外部温度。gydF4y2Ba 室外温度测量gydF4y2Ba
    来自房间子系统输出端口的室温gydF4y2Ba 室温gydF4y2Ba

运行仿真gydF4y2Ba

导入数据并启用信号的数据记录后,可以运行模拟。gydF4y2Ba

  1. 使用为模拟准备的模型或打开示例模型。在MATLAB命令窗口中,输入gydF4y2Ba

    打开系统(完整文件(matlabroot、‘帮助’、‘工具箱’、‘simulink’、‘示例’、‘ex\u ho万博1manbetxuseheat\u simulation\u prepared’)gydF4y2Ba

  2. 在Simuli万博1manbetxnk编辑器工具栏上,设置gydF4y2Ba停止时间gydF4y2Ba来gydF4y2Ba24gydF4y2Ba(小时)。gydF4y2Ba

  3. 点击gydF4y2Ba跑gydF4y2Ba按钮gydF4y2Ba.gydF4y2Ba

    模型模拟运行gydF4y2Ba0.0gydF4y2Ba来gydF4y2Ba24gydF4y2Ba使用外部温度数据gydF4y2Ba根导入块gydF4y2Ba作为输入。gydF4y2Ba

将仿真结果与实测数据进行比较gydF4y2Ba

使用Simuli万博1manbetxnk数据检查器将模拟输出信号与测量数据进行比较。gydF4y2Ba

  1. 在Simuli万博1manbetxnk编辑器工具栏上,单击gydF4y2Ba模拟数据检查器gydF4y2Ba按钮gydF4y2Ba.gydF4y2Ba

    单独运行出现在gydF4y2Ba跑gydF4y2Ba每次模拟模型时都会显示一个窗格。gydF4y2Ba

  2. 选择所有信号复选框。这个图表显示了你选择的每个信号的曲线图。gydF4y2Ba

    顶部信号是测量的室温。中间信号是测得的外部温度。底部信号是模拟的室温。gydF4y2Ba

确定对模型的更改gydF4y2Ba

模型的一个明显变化是恒温器的滞后。模拟的室温在设定点20度周围振荡18-22度。测量的室温以相同的设定点振荡20-25度。gydF4y2Ba

  1. 打开gydF4y2Ba继电器gydF4y2Ba阻塞在恒温子系统中。gydF4y2Ba

  2. 改变gydF4y2Ba接通点gydF4y2Ba从gydF4y2Ba2gydF4y2Ba来gydF4y2Ba0gydF4y2Ba因为室温和设定值的差是0。gydF4y2Ba

  3. 改变gydF4y2Ba切断点gydF4y2Ba从gydF4y2Ba-2gydF4y2Ba来gydF4y2Ba-5gydF4y2Ba.当房间温度在设定点上方5度时,要关闭加热器。设定点低于室温下方5度。gydF4y2Ba

模拟结果的比较gydF4y2Ba

使用仿真数据检查器来比较使用不同模型参数的两个仿真之间的差异。这个比较显示了更改如何提高模型的准确性。gydF4y2Ba

  1. 模拟模型。gydF4y2Ba

  2. 打开仿真数据检查器。gydF4y2Ba

  3. 通过选择运行左侧的箭头,展开记录的信号列表。为gydF4y2Ba运行1gydF4y2Ba,选择gydF4y2Ba室外温度测量gydF4y2Ba和gydF4y2Ba测量室温gydF4y2Ba复选框。为gydF4y2BaRun2gydF4y2Ba,选择gydF4y2Ba室温gydF4y2Ba复选框。gydF4y2Ba

  4. 检查信号。模拟室温的最小值和最大值现在与测量的室温值相匹配。gydF4y2Ba

相关的话题gydF4y2Ba

这个话题有用吗?gydF4y2Ba