Главная Климат-контроль Использование блока таблицы истинности

Этот пример моделирует домашнюю систему климат-контроля с помощью блока Truth Table. Дома редко поддерживают постоянный климат без системы климат-контроля на месте, и жители обычно полагаются на автоматизированные системы, чтобы поддерживать желаемый климат. Поскольку температура и влажность являются динамическими, поддержание желаемых условий требует последовательного мониторинга и регулировки. Чтобы смоделировать, как дом активирует различные подсистемы, которые поддерживают желаемый климат, эта модель использует блок Truth Table, чтобы управлять принятием логических решений.

Исследуйте таблицу истинности

В этом примере блок Таблица, помеченный как ClimateController, управляет всеми выходами физической подсистемы. Блок использует четыре входов: необходимую температуру T_thresh, фактическая домашняя температура tжелаемая влажность H_threshи фактическая домашняя влажность h. Дважды кликните блок, чтобы увидеть, как блок использует входы для создания выходов. Блок ClimateController включает две таблицы: Таблицу условий и Таблицу действий.

Таблица условий показывает, как логически оцениваются входы, и иллюстрирует два сравнения, сделанные блоком, и четыре действия, которые могут быть предприняты. Чтобы выполнить первое действие, два условия должны быть True. Если оба условия не Trueблок проверяет условия, изложенные в следующем столбце решений, который требует, чтобы было True только первое условие. Эта оценка продолжается слева направо, пока не будет принято решение или не будет достигнут последний столбец решений, который затем выполняется. В этом примере - функции ввода, такие как False условия. В результате блок будет вести себя так же, если - условия были явно определены как False. Однако автоматически сгенерированный код использует только True и False условия могут привести к неоптимальному покрытию кода. Чтобы избежать этой проблемы, этот пример использует - условия.

В первой строке блок сравнивает домашнюю температуру с желаемой температурой, и домашний охладитель и нагреватель управляются с помощью CoolOn и HeatOn действия, соответственно. Когда t > T_threshблок активирует CoolOn действие. Если это условие не Trueблок активирует HeatOn действие. Во второй строке блок сравнивает домашнюю влажность с желаемой влажностью, и увлажнителем управляют с помощью HumidOn действие. Когда h < H_threshблок активирует HumidOn действие.

Таблица действий определяет выходы блоков, сопоставленные с каждым логическим действием. В первой строке CoolOn устанавливает значение cooler на 1 и значение heater на 0. Во второй строке HeatOn устанавливает значение heater на 1 и значение cooler на 0. По умолчанию увлажнитель воздуха 0 если блок не включен HumidOn.

Исследуйте домашние подсистемы

В модели зеленые блоки с маркировкой Humidifier, Cooler и Heater представляют физические подсистемы, которые регулируют климат дома. Подсистема Увлажнителя включает блок Switch, который взаимодействует с выходом блока ClimateController. Если вход Подсистемы Увлажнителя 1подсистема выводит 1.5. В противном случае подсистема выводит значение 0.

Подсистемы Нагреватель и Охладитель работают по аналогичным принципам. Каждый из них включает два блока Switch. Один из Блока switch выводит значение, которое влияет на температуру, которая является выходом в портах dt и dt1 для Охладителя и Нагревателя, соответственно. Другой блок Switch выводит значение, которое влияет на влажность, которое выводится в портах dh и dh1 для Охладителя и Нагревателя, соответственно. Если cooler = 1, активируется Подсистема Охладителя, и если heater = 1Активируется Подсистема Нагревателя. При подключении Подсистема нагревателя выводит 1 на dt1 и выходах Охладителя -1 при дт. Обе подсистемы выводят -0.5 в dh и dh1 при помолвке.

Из-за настройки блока ClimateController подсистемы Cooler и Heater не активируются одновременно.

Исследуйте внешние подсистемы

Внешняя жара и влажность также влияют на климат дома. Модель представляет эффект этих условий как поток тепла и влажности. Подсистема externalHeatFlow моделирует внешний тепловой поток, а подсистема externalHumidityFlow моделирует внешний влажный поток. Подсистема externalHeatFlow принимает различие между внешней и внутренней температурами и умножает различие на коэффициент.

Более высокие значения коэффициента представляют большие тепловые потоки, которые происходят в менее изолированных домах. Несмотря на то, что подсистема externalHumidityFlow представляет другое физическое поведение, чем externalHeatFlow, подсистема externalHumidityFlow использует то же расположение блоков и соединений. Подсистема externalHumidityFlow принимает различие между внешней и внутренней влажностью и умножает различие на коэффициент.

Симулируйте модель

Выполнение модели заполняет два блока Floating Scope. Блок Scope с меткой temperatureScope отображает внешнюю температуру (ET) и домашней температуры (temperature).

Блок Scope, маркированный humidityScope, строит графики внешней влажности (EH) и домашней влажности (humidity).

Симуляция сконфигурирована так, чтобы она выполнялась бесконечно. Чтобы остановить симуляцию, можно остановить ее вручную, нажав кнопку Stop или настроив время остановки перед запуском симуляции.

Исследование и изменение модели

Можно настроить внешнюю температуру при помощи другого внешнего сигнала температуры или путем изменения амплитуды сигнала. Попробуйте настроить амплитуду блоков Sine Wave, externalTemp и externalHumid, и наблюдайте, как модель реагирует.

Другие дома могут быть не такими изолированными или могут иметь более эффективные подсистемы климат-контроля. Эти физические различия влияют на выходы подсистем. Попробуйте настроить выходы подсистемы нагревателя или охладителя путем изменения значений блоков Constant.

См. также

Похожие темы