Этот пример демонстрирует домашнюю систему климат-контроля при помощи блока Truth Table. Дома редко обеспечивают постоянный климат без системы климат-контроля на месте, и жители обычно используют автоматизированные системы, чтобы обеспечить желаемый климат. Поскольку температура и влажность являются динамическими, поддержание желаемых условий требует сопоставимого контроля и корректировки. К модели, как дом активирует различные подсистемы, которые обеспечивают желаемый климат, эта модель использует блок 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 выводит значение, которое влияет на влажность, которая выводится в горячекатаных и dh1 портах для Вентилятора и Нагревателя, соответственно. Если cooler = 1
, Более холодная подсистема активируется, и если heater = 1
, подсистема Нагревателя активируется. Когда занятый, подсистема Нагревателя выходные параметры 1
в dt1 и Cooler выходные параметры -1
в dt. Обе подсистемы выход -0.5
в горячекатаном и dh1, когда занятый.
Из-за того, как блок ClimateController сконфигурирован, подсистемы Вентилятора и Нагревателя не активируются одновременно.
Внешнее тепло и влажность также влияют на климат дома. Модель представляет эффект этих условий как поток влажности и тепло. externalHeatFlow модели подсистемы внешний тепловой поток и externalHumidityFlow модели подсистемы внешний поток влажности. externalHeatFlow подсистема берет различие между внешними и внутренними температурами и умножает различие на коэффициент.
Более высокие значения коэффициента представляют большие тепловые потоки, которые происходят в менее изолированных домах. Несмотря на то, что externalHumidityFlow подсистема представляет различное физическое поведение, чем externalHeatFlow, externalHumidityFlow подсистема использует то же расположение блоков и связей. externalHumidityFlow подсистема берет различие между между внешней и внутренней влажностью и умножает различие на коэффициент.
Выполнение модели заполняет два Плавающих блока Осциллографа. Блок Scope пометил отображения temperatureScope внешней температурой (ET
) и домашняя температура (temperature
).
Блок Scope пометил графики humidityScope внешней влажностью (EH
) и домашняя влажность (humidity
).
Моделирование конфигурировано, чтобы запуститься неопределенно. Чтобы остановить симуляцию, можно остановить его вручную путем нажатия кнопки Stop или путем корректировки времени остановки прежде, чем запустить симуляцию.
Можно скорректировать внешнюю температуру при помощи различного внешнего температурного сигнала или путем изменения амплитуды сигнала. Попытайтесь настроить амплитуду блоков Sine wave, externalTemp и externalHumid, и наблюдайте, как модель отвечает.
Другие дома не могут быть как изолированы или могут иметь более эффективные подсистемы управления климатом. Эти физические различия влияют на выходные параметры подсистем. Попытайтесь настроить Нагреватель или Более холодную подсистему выходные параметры путем изменения значений блока Constant.