В этом учебном пособии показано, как моделировать и моделировать динамическую систему с помощью программного обеспечения Simulink ®. Модель предназначена для системы отопления, которая включает нагреватель (модель установки), управляемый термостатом (модель контроллера), для нагрева помещения (модель окружающей среды) до заданной температуры. Хотя это простая модель, процессы создания структуры модели и конструирования алгоритмов являются теми же процессами, которые будут использоваться для более сложных моделей.
Для просмотра завершенной модели в окне команд MATLAB ® введите
open_system(fullfile(matlabroot,... 'help', 'toolbox', 'simulink', 'examples', 'ex_househeat_modeling'))

Моделирование начинается с завершения задач, которые находятся вне программной среды Simulink. Определите требования к модели и выведите математические уравнения. Сбор данных для параметров модели и выходных данных сигналов для проверки результатов моделирования.

Перед проектированием модели необходимо рассмотреть цели и требования. Цели моделирования системы отопления дома:
Наблюдайте, как изменение наружной температуры влияет на температуру внутри помещения.
Проверьте влияние изменения параметров на температуру внутри помещения.
После понимания требований к моделированию можно приступить к определению компонентов системы.
Система отопления дома в данном учебном пособии определяет систему отопления и ее связь с помещением. Он включает в себя:
Тепловые характеристики дома
Тепловые характеристики нагревателя
Термостат для управления нагревателем
Наружная среда
Внутренняя среда
Термостат регулярно контролирует комнатную температуру и включает или выключает нагреватель в зависимости от разницы между заданной температурой и комнатной температурой.

Модель для этой системы включает три компонента: нагреватель, термостат и помещение.
Теплообмен в помещении определяется тремя зависящими от времени переменными:
Температура помещения ()
Теплоприток: Тепловая энергия, передаваемая от нагревателя () в помещение
Тепловые потери: тепловая энергия, передаваемая из помещения () в наружную среду
Дифференциальное уравнение определяет зависимость между этими переменными, но так как теплопередача определяется в терминах изменения температуры, только комнатная температура является переменной состояния.
Температура воздуха в нагревателе постоянна в театре, а комнатная температура - в зале. Приём тепловой энергии в помещение осуществляется конвекцией нагретого воздуха от нагревателя, с теплоёмкостью крана. Тепловыделение для массы воздуха в нагревателе, , пропорционально разности температур между нагревателем и помещением:
Зал).
Коэффициент тепловыделения от нагревателя составляет
Зал).
Вентилятор забирает воздух из помещения и пропускает его через нагреватель и обратно в помещение. Постоянное количество воздуха, , протекает через нагреватель в единицу времени, и замена dmheaterair/dtс этой постоянной упрощает уравнение
Зал).
Потеря тепловой энергии из помещения происходит по проводимости через стены и окна и пропорциональна разности температур между комнатной температурой и наружной температурой:
Toutside) tD.
Скорость потери тепловой энергии составляет
Toutside) D.
Замена на , где - тепловое сопротивление, упрощает уравнение
Toutside) R.
Определите скорость изменения температуры в помещении путем вычитания скорости теплопотерь из скорости теплопритока:
dQlossdt).
Большинство значений параметров, необходимых для модели отопления дома, публикуются в стандартных таблицах свойств. Расход для нагревателя указан в спецификации производителя.
Перечислите переменные и коэффициенты из уравнений и проверьте непротиворечивость размеров между единицами измерения. Поскольку единицей времени для модели являются часы, преобразуйте опубликованные значения тепловых свойств материалов из единиц секунды в часы.
Переменные и константы уравнений. При построении модели можно использовать имена констант и значения в этой таблице.
| Переменная или коэффициент уравнения | Описание | Единицы |
|---|---|---|
| A | Площадь поверхности стены или окна | квадратный метр |
| D | Глубина стены или окна | метр |
| Q | Передача тепловой энергии | джоуль |
| dQ/dt | Скорость передачи тепловой энергии | джоуль/час |
| k | теплопроводность; имущество материала для проведения теплопередачи | джоуль/метр· час· градус |
| r | Тепловое сопротивление; свойство материала сопротивляться теплопередаче | метр· час· градус/джоуль |
| R | Термостойкость
| час· градус/джоуль |
| m | Масса воздуха в помещении или нагревателе Масса нагревателя | килограмм |
| дм/дт | Скорость прохождения массы воздуха через нагреватель | килограмм/час |
| M | Постоянная скорость прохождения массы воздуха через нагреватель | килограмм/час |
| c | Удельная теплоемкость | джоуль/килограмм· градус |
| Театр | Постоянная температура воздуха от нагревателя | градус Цельсия |
| Troom | Начальная температура воздуха в помещении | градус Цельсия |
Моделирование структуры верхнего уровня с компонентами, включающими интерфейсы для передачи данных между отдельными компонентами. Модель должна быть организована в иерархическую структуру, соответствующую компонентам системы.

На верхнем уровне модели отопления дома используйте блоки подсистемы для организации модели и создания структуры. Модель включает подсистемы Thermostat, Heater и Room.
Откройте новую модель Simulink: Открыть новую модель.
Откройте браузер библиотеки: откройте браузер библиотеки Simulink
Добавление блоков подсистемы. Перетащите три блока подсистемы из библиотеки «Порты и подсистемы» в новую модель в редакторе Simulink Editor.

Откройте блок подсистемы. Дважды щелкните блок.
![]()
Каждый новый блок подсистемы содержит один блок Inport (In1) и один блок Outport (Out1). Эти блоки определяют сигнальный интерфейс со следующим более высоким уровнем в иерархии модели.
Каждый блок Inport создает входной порт в блоке Subsystem, а каждый блок Outport создает выходной порт. Добавьте дополнительные блоки для дополнительных входных и выходных сигналов.
На панели инструментов Simulink нажмите кнопку «Перейти вверх к родительскому
», чтобы вернуться на верхний уровень. Переименуйте блоки подсистемы, как показано на рисунке. Дважды щелкните имя блока и введите новое имя.

Для каждого компонента смоделировать уравнения, определить параметры, подготовить подсистему к моделированию и смоделировать для проверки ее поведения.
Начнем с моделирования компонента системы нагревателя. Модель нагревателя:
Принимает текущую температуру из помещения и управляющий сигнал от термостата в качестве входов
Вычисляет тепловую отдачу от нагревателя
Выдает коэффициент усиления при включенном управляющем сигнале
Чтобы смоделировать подсистему нагревателя, смоделируйте уравнение скорости тепловыделения с помощью блоков Simulink:
Зал).
Вычесть температуру воздуха в помещении из температуры воздуха нагревателя. Разность температур - текущая комнатная температура, вычитаемая из постоянной температуры нагревателя (T_heater).
Откройте подсистему нагревателя.
Щелкните модель и введите Сумма (Sum), чтобы отобразить список блоков с суммой в имени. Щелкните блок «Сумма» в списке. При запросе списка знаков введите |-+ для размещения на блоке портов ввода - и + и нажмите Enter.
Вертикальная планка (|) изменяет положение входных портов путем вставки пробелов между портами. Вертикальная полоса в начале списка знаков помещает место в верхней части блока и смещает порты против часовой стрелки.
Добавьте блок «Константа» для моделирования постоянной температуры воздуха от нагревателя. Задайте для параметра «Константа блока» значение T_heater. Вы определяете значение T_heater в рабочей области модели.
Если отображается блок -C-измените размер блока, чтобы отобразить имя переменной.
Добавьте второй блок ввода, чтобы получить сигнал комнатной температуры от другой части модели.
Добавьте блок усиления в подсистему нагревателя. Задайте для параметра Gain значение M_heater_air*c_air. Значения этих переменных будут определены в рабочей области модели.
Подключите выход блока Sum к входу блока Gain.
Добавьте метки к сигнальным линиям, чтобы облегчить трассировку компонентов модели в соответствии с уравнениями и требованиями модели. Дважды щелкните над сигнальной линией и введите метку.

Переименуйте блоки и соедините их, как показано на рисунке.

Моделирование переключателя нагревателя. Термостат подает на нагреватель сигнал включения/выключения, равный 1 (вкл) или 0 (выкл). Поскольку входной сигнал является двоичным, для моделирования переключателя можно использовать блок Product.
Удалите соединение между блоками In1 и Out1. Выберите линию и нажмите клавишу Delete.
Добавление блока продукта. Измените размер блока по вертикали, чтобы выровнять блок на схеме. Подключите блок In1 к первому входу блока, а блок - к Out1 блоку. Переименуйте блоки, как показано на рисунке.

Подключите выход блока усиления ко второму входу. Переместите все соединенные блоки вместе. Нарисуйте рамку выделения вокруг блоков, которые требуется переместить, а затем перетащите их в новое место.
Переименуйте блоки и добавьте метки к сигналам, как показано на рисунке.

Блоки Inport и Outport создают порты, соединяющие эту подсистему с другими подсистемами модели.
Определение параметров модели нагревателя. Можно определить параметры в рабочем пространстве MATLAB, а затем ввести их имена в диалоговые окна параметров блока. Однако более надежным методом является использование рабочего пространства модели Simulink, поскольку значения переменных сохраняются вместе с моделью.
В редакторе Simulink на вкладке Моделирование (Modeling) в разделе Модель (Design) выберите Модель (Model) Рабочее пространство (Workspace).
В Обозревателе моделей выберите Добавить (Add) > Переменная MATLAB (MATLAB Variable). На средней панели щелкните новую переменную Var и введите имя переменной для параметра блока. В этом примере введите T_heater.

Щелкните значок 0 и введите значение для этой переменной. В этом примере введите 50 степени.

Используя тот же подход, добавьте переменную M_heater_air со значением 3600 килограмм/час и c_air со значением 1005.4 джоуль/килограмм· градус.
Подготовка модели нагревателя к моделированию. Настройте модель нагревателя для моделирования. Подумайте об ожидаемом поведении и о том, как можно проверить это поведение с помощью моделирования. Когда выход термостата равен 1 (on) и при постоянной комнатной температуре 25, ожидаемый выход от коэффициента усиления равен (50 - 25) x 3600 × 1005,3 = 9,05 × 107. Проверьте эти выходные данные, запустив модель со следующими входными данными:
Сигнал включения/выключения нагревателя, который изменяется от 0 кому 1 после 4-го часа
Постоянная температура в помещении при 25
В подсистеме Нагреватель (Heater) нажмите кнопку Перейти вверх к родительскому (Navigate Up To Parent
), чтобы перейти на верхний уровень модели. Можно изменить размер блока нагревателя, как показано на рисунке.

Обратите внимание, что блок нагревателя имеет второй входной порт и что каждый порт соответствует блоку ввода или блоку вывода в подсистеме.
Добавьте блок «Константа» для представления комнатной температуры и задайте значение 25 (градусы Цельсия). Добавьте шаговый блок для временного сигнала нагревателя (вкл ./выкл.). Установить время шага на 4.
Добавьте блок Scope и подключите его к выходному сигналу теплового усиления.

Моделирование модели нагревателя и оценка результатов. Используйте параметры моделирования по умолчанию для проверки проекта модели.
Дважды щелкните на блоке «Область», чтобы открыть его.
Моделирование модели. Нажмите кнопку Run (Выполнить).![]()
По мере выполнения моделирования Область (Scope) отображает результаты.
Просмотр трассировки области.

Определите, соответствует ли этот результат ожидаемому.
Когда сигнал включения/выключения нагревателя переключается с 0 на 1 в течение 4 часов, нагреватель выдает сигнал 9,05 × 107 джоуль/час. Моделирование проверяет ожидаемое поведение.
Удалите блоки «Константа», «Шаг» и «Область действия», добавленные для тестирования компонента «Нагреватель».
Можно моделировать термостат без использования системных уравнений. Требования к этому компоненту:
Когда температура в помещении ниже установленной температуры, включается нагреватель и управляющий сигнал равен 1. Когда комнатная температура выше установленной температуры, управляющий сигнал равен 0.
Чтобы избежать повторного переключения вокруг заданной температуры, термостат допускает гистерезис 2 градуса Цельсия вокруг заданной температуры. Если термостат включен, температура в помещении должна увеличиться на 2 градуса выше установленной температуры перед выключением. Если термостат выключен, температура в помещении должна упасть на 2 градуса ниже установленной температуры перед включением.
Этот компонент моделирует работу термостата, определяя, когда система отопления включена или выключена. Он содержит только один релейный блок, но логически представляет термостат в модели.
Вычесть значение параметра «Установить температуру в помещении» из значения параметра «Температура в помещении». Если установленная комнатная температура теплее, чем комнатная, то модель термостата посылает в модель нагревателя сигнал «включено». Чтобы определить, так ли это, начните с вычитания комнатной температуры из заданной температуры.
Откройте подсистему термостата. Добавьте блок «Сумма». Установите для параметра List of signes значение |+-.
Подключите блок Inport к + входу блока Sum. Блок Inport устанавливает температуру в помещении.
Добавьте второй блок Inport и подключите его к входу - блока Sum. Этот второй блок ввода представляет собой текущую температуру в помещении из подсистемы помещения. Переместите выходной порт в верхнюю часть блока. Щелкните правой кнопкой мыши блок и выберите «Повернуть и развернуть» > «Против часовой стрелки». При необходимости можно изменить форму блока, как показано на рисунке, перетаскивая маркеры перемещения.
Переименуйте блоки, как показано на рисунке.

Модельный сигнал термостата. Смоделировать сигнал от термостата со значением гистерезиса 2 градуса Цельсия.
В подсистеме термостата добавьте блок реле. Установите для параметра Switch on point значение 2и параметр «Отключить точку» для -2.
Подключите и переименуйте блоки, как показано на рисунке.

Подготовка модели термостата к моделированию. Подготовьте подсистему термостата к моделированию. Подумайте об ожидаемом поведении термостата и о том, как можно проверить это поведение с помощью моделирования. Когда комнатная температура поднимается выше установки термостата на 2 градуса, выход термостата равен 0. Когда комнатная температура движется ниже установки термостата на 2 градуса, выход термостата равен 1.
В подсистеме «Термостат» нажмите кнопку «Перейти вверх к родительскому
», чтобы перейти на верхний уровень модели. Измените размер блока «Термостат», как показано на рисунке.

Обратите внимание, что подсистема Thermostat теперь имеет второй входной порт. Каждый входной порт соответствует блоку Inport в подсистеме.
Добавьте блок константы для заданной температуры. Задайте для параметра Constant значение 25 (градусы Цельсия).
Добавьте блок синусоидальной волны для представления изменения температуры в помещении. Установите для параметра Amplitude значение 10, Смещение к 20и частота для 0.5. Эти параметры дают изменение выше и ниже уставки температуры 25.
Создайте и подключите приложение Scope Viewer к порту нагревателя. См. раздел Добавление средства просмотра сигналов.
Подключите два входных сигнала к Scope Viewer.

Моделирование модели термостата и оценка результатов. Используйте параметры моделирования по умолчанию для проверки проекта модели.
Моделирование модели. По мере выполнения моделирования Просмотр области (Scope Viewer) отображает результаты.
Откройте область, чтобы просмотреть трассировку области.

Определите, соответствует ли этот результат ожидаемому.
Первоначально комнатная температура ниже заданной, и реле включено. Когда температура в помещении достигает заданной температуры, реле продолжает включаться до тех пор, пока температура в помещении не увеличится еще на 2 градуса. Моделирование проверяет ожидаемое поведение.
Входами в компонент помещения являются тепловой поток от компонента нагревателя и температура наружного воздуха. Компонент комнаты использует эти входные данные для вычисления тепловых потерь через стены, тепловых потерь через окна и текущей комнатной температуры.
Для проектирования подсистемы помещения используйте уравнение «Скорость тепловых потерь» и уравнение «Изменение температуры помещения».
Модель изменения температуры в помещении. Скорость изменения температуры в помещении (dTroom/dt) определяется уравнением
dQlossdt).
Термин dQgain/dt является сигналом от подсистемы нагревателя.
Откройте блок подсистемы Room. В подсистеме Room добавьте блок Sum. Установите для параметра List of signes значение |+–.
Подключите In1 к + входу. Входным сигналом является коэффициент усиления тепла (dQgain/dt) от нагревательного элемента. Вход - подключается к тепловым потерям (dQloss/dt) из комнаты.
Добавьте блок усиления. Задайте для параметра Gain значение 1/(m_room_air*c_air). Подключите выход блока Sum к входу блока Gain. Маркировочные сигналы, как показано на рисунке. Пунктирные сигнальные линии - это сигналы, которые будут подключены позже.

Модель температуры в помещении. Выходным сигналом блока усиления является изменение комнатной температуры (dTroom/dt). Для получения текущей комнатной температуры (Troom), интегрируйте сигнал.
Добавьте блок интегратора. Установите для параметра Initial condition значение Troom_IC.
Подключите выход блока интегратора к Out1, как показано на рисунке.

Модель тепловых потерь через стены и окна. Это уравнение представляет собой скорость потери тепловой энергии через стены и окна:
Toutside) R.
В подсистеме Room добавьте блок Sum. Установите для параметра List of signes значение |+–. Щелкните правой кнопкой мыши блок и выберите «Повернуть и развернуть» > «Развернуть блок».
Соединиться Troom к блоку Sum. Щелкните сигнальную линию для Troom и + вход в блоке Sum.
Добавьте другой блок Inport и подключите его к входу - блока Sum. Переименуйте его в «Внешняя температура».
Добавьте еще один блок усиления. Задайте для параметра Gain значение 1/R_equivalent. Щелкните правой кнопкой мыши блок и выберите «Повернуть и развернуть» > «Развернуть блок».
Подключите блоки, как показано на рисунке.

Определение параметров модели помещения. Можно определить параметры в рабочем пространстве MATLAB, а затем ввести их имена в диалоговые окна параметров блока. Однако более надежным методом является использование рабочего пространства модели Simulink, которое сохраняет значения параметров вместе с моделью.
В редакторе Simulink на вкладке Моделирование (Modeling) в разделе Модель (Design) выберите Модель (Model) Рабочее пространство (Workspace).
В обозревателе моделей выберите Добавить (Add) > Переменная MATLAB (MATLAB Variable).
На средней панели щелкните новую переменную Var и введите имя m_room_air. На правой панели введите значение 1470 (килограммы).
Добавление переменных T_roomIC = 20 (градусы Цельсия) и R_equivalent = 4.329e-7 (час· градус/джоуль).

Подготовка модели помещения к моделированию. Подготовьте подсистему помещения к моделированию. Подумайте об ожидаемом поведении и о том, как можно проверить это поведение с помощью моделирования. Когда нагреватель выключен (коэффициент усиления тепла = 0) и начальная температура помещения (20) выше наружной температуры (10), потери тепла должны продолжаться до тех пор, пока комнатная температура не будет равна наружной температуре.
В подсистеме «Комната» нажмите кнопку «Перейти вверх к родительскому
», чтобы перейти на верхний уровень модели. Измените размер блока «Комната», как показано на рисунке.

Теперь блок Room имеет второй входной порт. Каждый входной порт соответствует блоку Inport в подсистеме.
Добавьте блок константы и подключите его к входу теплового усиления. Задайте для параметра Constant value значение 0 (градусы Цельсия) означает, что нагреватель выключен.
Добавьте еще один блок константы и подключите его к входу внешней температуры. Задайте для параметра Constant value значение 10 (градусы Цельсия).
Добавьте и подключите блок области для просмотра изменения температуры в помещении.

Моделирование модели помещения и оценка результатов
На панели инструментов установите для параметра «Время остановки» значение 20.
Моделирование модели.
Откройте область и нажмите кнопку Autoscale
, чтобы просмотреть трассировку области.

Определите, соответствует ли этот результат ожидаемому.
Комнатная температура начинается с начальной комнатной температуры, установленной в блоке интегратора. Поскольку коэффициент усиления тепла равен 0, сигнал затухает до внешней температуры (10). Моделирование проверяет ожидаемое поведение.
Подготовка модели помещения ко второму моделированию. Установите постоянную внешнюю температуру выше начальной комнатной температуры (20).
В блоке «Константа», подключенном к входу «Внешняя температура», задайте для параметра «Константа» значение 30 (градусы Цельсия).

Моделирование модели и оценка результатов
Моделирование модели.
Откройте область и нажмите кнопку Autoscale
, чтобы просмотреть трассировку области.

Определите, соответствует ли этот результат ожидаемому.
Комнатная температура начинается с первоначально установленной температуры 20, но при выключенном нагревателе (коэффициент усиления тепла = 0) комнатная температура повышается до наружной температуры - поведение, которое модель явно не указала, и может считаться неожиданным.
Уравнение, которое моделирует тепловые потери, также моделирует тепловую отдачу, когда внешняя температура выше внутренней комнатной температуры. Хотя модель явно не указывала это поведение, когда нагреватель выключен, результат имеет смысл физически.
Подключите компоненты модели, добавьте реалистичные входные данные, а затем смоделируйте поведение модели с течением времени для проверки конструкции модели.

Для моделирования отопительных и термостатных подсистем без подсистемы Room необходим сигнал для изменения температуры в помещении. Используйте блок константы, чтобы задать температуру термостата и блок синусоидальной волны для реалистичного сигнала внешней температуры.
Подготовка модели к моделированию
Откройте модель с завершенными подсистемами. Удалите все добавленные блоки для тестирования отдельных компонентов.
Откройте подсистему Room. Дважды щелкните блок «Ввод» с именем «Тепловое усиление». В диалоговом окне «Блок ввода» установите для параметра «Номер порта» значение 2. Порт теплового усиления перемещается в нижнюю часть подсистемы Room.

Подключите сигнал включения/выключения нагревателя с выхода подсистемы термостата к входу подсистемы нагревателя.
Добавьте блок константы для установки комнатной температуры термостата. Задать для параметра «Константа» значение 20 (градусы Цельсия).
Добавьте блок синусоидальной волны для представления изменения температуры в помещении. Установите для параметра Амплитуда значение 10 (градусы Цельсия), Смещение - значение 15и частота для 0.5.
Подключите блоки, как показано на рисунке.

Добавьте средство просмотра области и выходные сигналы из блоков «Нагреватель», «Константа» и «Синусоидальная волна». См. раздел Добавление средства просмотра сигналов.
В окне просмотра области в кнопке Свойства конфигурации
щелкните стрелку, а затем щелкните значок Макет.
Выберите два поля. Второй пустой график появляется под первым.
На панели инструментов нажмите кнопку Signal Selector.
Выбрать Display 1. Установите флажок Нагреватель (Heater).

Выбрать Display 2. Установите флажки Константа (Constant) и Синусоидальная волна (Sine Wavecheck).
Моделирование модели и оценка результатов. Моделирование модели с использованием времени остановки по умолчанию 10.
Моделирование модели.
Откройте средство просмотра областей и просмотрите результаты моделирования. Верхний график является усилением нагревателя, в то время как нижний график показывает изменение температуры в помещении, смоделированное синусоидальной волной.

Определите, соответствует ли этот результат ожидаемому.
Примерно с 0 до 1,5 часов включается нагреватель. Тепловое усиление не является постоянным, а изменяется, поскольку тепловое усиление является функцией разности между температурой воздуха нагревателя и температурой воздуха в помещении. От 1,5 до 5,6 часов нагреватель выключается, и коэффициент теплопередачи (верхний график) равен нулю. Моделирование подтверждает ожидаемое поведение.
Для моделирования подсистем нагревателя и термостата с подсистемой Room необходим сигнал для изменения наружной температуры. Моделирование модели позволяет наблюдать, как настройка термостата и температура наружного воздуха влияют на температуру внутри помещения.
Подготовка модели к моделированию
Откройте модель с завершенными подсистемами. Удалите все добавленные блоки для тестирования отдельных компонентов.

Подключите подсистемы, как показано на рисунке.

Добавьте блок «Константа» для установки комнатной температуры. Задать для параметра «Постоянное значение» значение 20 (градусы Цельсия).
Добавьте блок синусоидальной волны для представления изменяющейся внешней температуры. Установить амплитуду в 5, Смещение к 12, Частота до 2*pi/24и этап до 180.

Добавьте блок «Просмотр области» для просмотра результатов моделирования.
В окне Signal Viewer нажмите кнопку Signal Selector.
В диалоговом окне «Выбор сигнала» и на левой панели выберите иерархию верхней модели. На правой панели выберите сигналы Room и Sine Wave.
Моделирование модели и оценка результатов
Установите время остановки моделирования на 24 (часы) для представления дня.
Моделирование модели.
Откройте средство просмотра областей и просмотрите результаты.

Определите, соответствует ли результат моделирования ожиданиям.
Когда наружная температура ниже установленной комнатной температуры, комнатная температура колеблется на 2 градуса выше и ниже установленной температуры. Поскольку термостатная подсистема включает 2-градусный гистерезис, ожидается этот результат моделирования.
Результаты можно сравнить с примером модели. В окне команд MATLAB введите
open_system(fullfile(matlabroot,... 'help', 'toolbox', 'simulink', 'examples', 'ex_househeat_modeling_prepared'))
ex_househeat_modeling_prepared.slx.Уточнить параметры модели. С помощью моделей Simulink можно в интерактивном режиме изменять параметры модели, а затем наблюдать изменения в поведении модели. Этот подход позволяет быстро оценить модель и проверить проект.
Измените внешнюю температуру в блоке синусоидальной волны так, чтобы верхние значения превышали заданную температуру.
В диалоговом окне «Синусоидальная волна» задайте для параметра «Амплитуда» значение 5 и предвзятое отношение к 19. Эти настройки показывают, что происходит, когда внешняя температура выше внутренней.
Моделирование модели и просмотр результатов.

Определите, соответствуют ли результаты вашим ожиданиям.
Когда наружная температура выше заданной температуры, комнатная температура следует за наружной температурой с небольшой задержкой. При этом теплопотери работают в обратном направлении - и представляют собой потерю тепла от внешней среды в помещение.
Моделирование внешнего интерфейса для дальнейшего тестирования и возможного использования в модели большего размера. В Simulink внешний интерфейс моделируется с помощью блоков Inport и Outport.
Добавьте в модель блоки Inport для считывания данных из внешней температуры и заданной температуры термостата.
Добавьте блоки Outport, чтобы соединить внешнюю температуру и температуру в помещении с более крупной моделью или визуализировать результаты.

Путем задания физических единиц измерения для сигналов модели обеспечивается согласованность расчетов между компонентами модели. В Simulink единицы измерения сигналов задаются через блоки Inport и Outport.
Дважды щелкните значок In1 для открытия диалогового окна «Параметры блока». Выберите вкладку Signal Attributes (Атрибуты сигнала).
В поле «Единица» начните ввод degree. В списке символов и имен выберите °C degree_Celsius.
Для остальных блоков Inport и Outport установите для параметра Unit значение °C degree_Celsius.
Отображение блоков на портах блоков. На вкладке «Отладка» выберите «Информационные наложения» > «Единицы».
Дважды щелкните на блоке «Подсистема нагревателя». Для открытия диалогового окна «Параметры блока» дважды щелкните на блоке «Выход теплового усиления». Выберите вкладку Signal Attributes (Атрибуты сигнала).

В поле «Единица» начните ввод joule/hour. В списке символов и имен выберите joule/h joule/hour.
Обновите модель. Нажмите Ctrl + D.

Следующим шагом является проверка правильности модели путем сравнения моделирования с реальными системными данными.
После первоначального моделирования можно использовать результаты для улучшения модели для сопоставления поведения модели с измеренными данными. После подготовки модели к моделированию можно использовать интерфейс для ввода измеренных системных данных и установки температуры в помещении.
Для загрузки готовой модели в окне команд MATLAB введите
copyfile(fullfile(matlabroot,... 'help', 'toolbox', 'simulink', 'examples', 'ex_househeat_measured_data.mat'))
open_system(fullfile(matlabroot,... 'help', 'toolbox', 'simulink', 'examples', 'ex_househeat_simulation_prepared'))

Убедитесь, что моделирование представляет поведение моделируемой системы. Начните с экспериментального измерения физических характеристик системы, имеющих сопоставимые сигналы в модели:
Сбор данных из физической системы
Подготовка модели к моделированию
Измерьте динамические характеристики от фактической системы отопления дома. Измеренные данные с моделированием модели используются для проверки поведения и точности модели.
Измерьте температуру снаружи и внутри дома каждые 6 минут в течение 24 часов.
Введите измеренные данные в лист Microsoft ® Excel ® или откройте пример электронной таблицы. В окне команд MATLAB введите
winopen(fullfile(matlabroot,... 'help', 'toolbox', 'simulink', 'examples', 'ex_househeat_measured_data.xls'))

Просмотрите график измеренных данных. Данные о внутренней температуре показывают скачки температуры при включении нагревателя горячего воздуха. Такая схема типична для системы нагрева горячим воздухом.

Подготовка модели для моделирования путем добавления внешнего интерфейса для ввода данных и входных управляющих сигналов.
Используйте модель, созданную в учебном пособии «Система отопления дома модели», или откройте пример модели. В окне команд MATLAB введите
open_system(fullfile(matlabroot,... 'help', 'toolbox', 'simulink', 'examples', 'ex_househeat_modeling'))

Заменить блок Inport In2 с блоком Constant и задайте для параметра Constant значение 20. Блок Constant устанавливает температуру термостата.
Добавление блока Inport. Установите номер порта в значение 1. Это действие также устанавливает номер порта сигнала внешней температуры в 2.
Переименовать первый блок ввода в Inside Temperature. Переименовать второй блок ввода в Outside Temperature.
Добавьте блок Outport и подключите его к первому блоку Inport (внутренняя температура). Блоки Outport необходимы для сохранения (регистрации) сигналов. Установите номер порта в значение 1.

Проверьте точность модели и оптимизируйте параметры. Некоторые параметры для оптимизации - гистерезис нагревателя, смещение температуры и сопротивление дома тепловым потерям. Выполните следующие действия для проверки модели:
Импорт данных
Запустить моделирование
Оценка результата моделирования
Изменение параметров модели
Повторный запуск моделирования
Инструмент «Отображение корневого ввода» можно использовать для переноса данных измеренного сигнала из электронной таблицы Excel в модель Simulink.
Откройте любой блок Inport. Нажмите кнопку Connect Input (Подключить входные данные), чтобы открыть приложение Root Inport Mapper.
На панели инструментов нажмите «Из электронной таблицы».
В диалоговом окне «Из электронной таблицы» нажмите кнопку обзора. Перейдите к файлу и выберите его . Щелкните Открыть (Open). Нажмите кнопку ОК, чтобы импортировать электронную таблицу.matlabroot\help\toolbox\simulink\examples\ex_househeat_measured_data.xls
В раскрывающемся списке «Сигналы» выберите «Предварительный просмотр сигналов».
В левой части разверните древовидное представление Sheet1. Установите флажки Внутренняя температура (Inside Temperature) и Внешняя температура (Outside Temperature

Щелкните Закрыть предварительный просмотр сигнала (Close Signal Preview).
В левой части выберите Sheet1. В столбце «Сигнал сценария» отображаются два сигнала из электронной таблицы Excel и значок
, указывающий на несопоставление сигналов.

На панели инструментов выберите параметр «Порядок портов». В раскрывающемся списке Опции (Options) установите флажок Обновить модель (Update Model).
В раскрывающемся списке «Map to Model» выберите Map Unconnected. Сводка отображения показывает сигналы из электронной таблицы Excel, сопоставленные блокам портов ввода.

Щелкните Пометить для моделирования (Mark for Simulation). Сводка по сопоставлению показывает Sheet1 помечен для моделирования и Dataset создается в рабочей области MATLAB.

Сохраните данные сигнала в MAT-файле. В окне команды MATLAB введите
save('ex_househeat_measured_data.mat', 'Sheet1')Сигнальные данные, отображаемые на входные порты, находятся в переменной рабочей области MATLAB. При каждом новом сеансе MATLAB необходимо вручную перезагрузить данные или разрешить функцию предварительной загрузки модели.
В редакторе Simulink на вкладке «Моделирование» выберите «Параметры модели» > «Свойства модели», чтобы открыть диалоговое окно «Свойства модели».
Выберите вкладку Обратные вызовы.
В разделе Обратные вызовы модели выберите PreLoadFcn.
В поле Функция предварительной загрузки модели введите
load('ex_househeat_measured_data.mat')Нажмите кнопку ОК.
Настройте модель для сохранения (регистрации) данных сигнала во время моделирования. Затем можно просмотреть записанные сигналы моделирования с помощью инспектора данных моделирования.
В модели на вкладке Моделирование (Modeling) щелкните Параметры модели (Model Settings).
На левой панели выберите Импорт/экспорт данных.
На правой панели снимите флажки Время и Вывод.
Установите флажок Signal logging (Регистрация сигналов).
Установите флажок Записывать записанные данные рабочей области в инспекторе данных моделирования.
Нажмите кнопку ОК.
Определите сигналы для отображения в инспекторе данных моделирования, присвойте им имена, если они не имеют имени, и задайте параметры регистрации.
Щелкните правой кнопкой мыши сигнальную линию внутренней температуры и выберите «Свойства».
В поле Signal name (Имя сигнала) введите Measured Room Temperature. Установите флажок Log signal data (Данные сигнала регистрации). Над
сигнальной линией появится значок регистрации.
Назовите и выберите ведение журнала для этих сигналов.
| Расположение сигнала | Название сигнала |
|---|---|
| Внешняя температура из выходного порта 2. | Measured Outside Temperature |
| Температура в помещении от выходного порта подсистемы в помещении | Room Temperature |
После импорта данных и включения регистрации данных для сигналов можно выполнить моделирование.
Используйте модель, подготовленную для моделирования, или откройте пример модели. В окне команд MATLAB введите
open_system(fullfile(matlabroot,... 'help', 'toolbox', 'simulink', 'examples', 'ex_househeat_simulation_prepared'))

На панели инструментов Simulink установите для параметра «Время остановки» значение 24 (часы).
Нажмите кнопку Run (Выполнить).![]()
Моделирование модели выполняется из 0.0 кому 24.0 часов с использованием данных внешней температуры из корневого блока импорта в качестве входных данных.
Используйте инспектор данных моделирования для сравнения моделируемых выходных сигналов с измеренными данными.
На панели инструментов Simulink нажмите кнопку Simulation Data Inspector.![]()
При каждом моделировании модели на панели Прогоны (Runs) появляется отдельный прогон.
Установите все флажки сигнала. График показывает график каждого выбранного сигнала.

Верхний сигнал - измеренная комнатная температура. Средний сигнал - измеренная внешняя температура. Нижний сигнал - смоделированная комнатная температура.
Одним из очевидных изменений модели является гистерезис термостата. Моделируемая комнатная температура колеблется на 18-22 градуса вокруг уставки температуры 20 градусов. Измеренная температура в помещении колеблется на 20-25 градусов с той же уставкой.
Откройте блок реле в подсистеме термостата.
Изменить точку включения с 2 кому 0 потому что разница между комнатной температурой и уставкой равна 0.
Изменить точку отключения с -2 кому -5. Если температура в помещении на 5 градусов выше уставки, необходимо отключить нагреватель. Уставка на 5 градусов ниже комнатной температуры.
Используйте инспектор данных моделирования для сравнения различий между двумя моделями, в которых используются разные параметры модели. Это сравнение показывает, как изменения повышают точность модели.
Моделирование модели.
Откройте инспектор данных моделирования.
Разверните список регистрируемых сигналов, щелкнув стрелку слева от прогона. Для Run1 выберите Measured Outside Temperature и Measured Room Temperature флажки. Для Run2 выберите Room Temperature флажок.
Просмотрите сигналы. Минимальное и максимальное значения для моделируемой комнатной температуры теперь соответствуют измеренным значениям комнатной температуры.
