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