В этом примере показано, как смоделировать температурный контроллер в Simulink® при помощи лестничной логики. Пример также демонстрирует генерацию теста с помощью Simulink Design Verifier™, C и лестничной генерации кода и лестничной генерации испытательного стенда.
plcdemo_ladder_househeat_data.m файл инициализирует данные в рабочем пространстве модели. Чтобы внести изменения, можно отредактировать рабочее пространство модели напрямую или отредактировать файл и перезагрузить рабочее пространство модели. Чтобы просмотреть рабочее пространство модели, выберите MODELING> Model Explorer из редактора Simulink.
Откройте plcdemo_ladder_househeat при помощи:
>> plcdemo_ladder_househeat_complete
Когда модель открыта, она загружает информацию о доме из plcdemo_ladder_househeat_data.m файла. Файл делает следующее:
Задает геометрию дома (размер, количество окон)
Задает тепловые свойства материалов дома
Вычисляет тепловое сопротивление дома
Обеспечивает характеристики нагревателя (температура горячего воздуха... скорость потока)
Задает стоимость электричества (0,09$/kWhr)
Задает начальную комнатную температуру (20 градусов. Цельсия = 68 градусов... Фаренгейт)
Примечание: Время дано в модулях часов. Определенные количества, как воздушная скорость потока, выражаются в час (не в секунду).
Сетбол
Set Point
постоянный блок. Это задает температуру, которая должна быть обеспечена в закрытом помещении. Это - 70 градусов по Фаренгейту по умолчанию. Температуры даны в Фаренгейте, но затем преобразованы в Цельсия, чтобы выполнить вычисления.
Область значений
Range
постоянный блок. Это указывает диапазон вокруг Сетбола для комнатной температуры, чтобы колебаться. Это - 5 градусов по Фаренгейту по умолчанию. Следовательно, комнатная температура будет колебаться между и где
Температурный контроллер
Temperature Controller
подсистема, которая имеет контейнер Бегуна AOI. В этом температурном контроллере Бегун AOI является Лестничным Функциональным блоком Схемы. Дважды щелкните по этому блоку и выберите стандартную программу Logic, чтобы просмотреть лестничную логику для температурного контроллера.
Дом
House
подсистема, которая моделирует внешнюю среду, дом и динамику нагревателя. Обратитесь к Тепловой Модели примера Дома для получения дополнительной информации о них.
Лестничная логика
Откройте Temperature Controller
> Ladder Diagram Function Block
> Logic Routine
просмотреть лестничную схему для температурного контроллера
Первое, которому звонят, вычисляет и значения на основе Set Point
и Range
входные параметры. GEQ
активирует TEMP_H
обмотайте если Room Temperature
больше или равен SET_H
. Точно так же LEQ
активирует TEMPL_L
обмотайте если Room Temperature
меньше чем или равно SET_L
значение.
Самое нижнее, которому звонят, включает нагреватель если TEMP_L
выход активен и выключает слушателя если TEMP_H
выход активен.
Нажмите Run
кнопка, чтобы запустить симуляцию. Открытый HMI
и используйте следующие средства управления:
Температурные Настройки контроллера: Позволяет изменять Set Point
и Range
входные значения.
Температура окружающей среды: Позволяет изменять среднюю наружную температуру и область значений ее изменения.
Комнатная температура: Отображает состояние нагревателя и внутренние и внешние температурные графики.
Предварительно обработайте модель Simulink для генерации Теста SLDV путем выполнения следующей команды в Окне Команды MATLAB:
>> plcladderoption (gcs, 'SLDV', 'on')
Откройте Temperature Controller
Подсистема и щелчок правой кнопкой по Блоку Бегуна AOI под названием Temperature Controller
. Выберите Design Verifier
> Generate test case for subsystem
.
Убедитесь, что ert.tlc
выбран во вкладке Code Generation Параметров конфигурации Модели. Предварительно обработайте simulink модель для генерации кода C/C++ путем выполнения следующей команды в Окне Команды MATLAB:
>> plcladderoption (gcs, 'FastSim', 'on');
Откройте Temperature Controller
Подсистема и щелчок правой кнопкой по Блоку Бегуна AOI под названием Temperature Controller
. Выберите C/C++ Code
> Build This Subsystem
.
Открытый лестничный бак управляет моделью испытательного стенда:
>> plcdemo_ladder_househeat_tb
Выберите Temperature Controller/ Temperature Controller Runner
блокируйте и щелкните правой кнопкой по PLC Coder->Generate Code
для Подсистемы, чтобы сгенерировать лестничный код.
Чтобы сгенерировать испытательный стенд, выберите Generate testbench for subsystem
опция в PLC Configuration Parameters Dialog
и сгенерируйте код.