В этом примере показано, как моделировать регулятор температуры в Simulink ® с помощью логики многозвенной цепи. В примере также показано создание тестовых примеров с использованием Simulink Design Verifier™, генерация кода C и многозвенной цепи и генерация тестовых пакетов многозвенной цепи.
Файл plcdemo_ladder_househeat_data.m инициализирует данные в рабочей области модели. Чтобы внести изменения, можно непосредственно отредактировать рабочее пространство модели или отредактировать файл и повторно загрузить рабочее пространство модели. Для просмотра рабочего пространства модели выберите меню МОДЕЛИРОВАНИЕ > Обозреватель моделей в редакторе Simulink.
Откройте plcdemo_ladder_househeat с помощью:
> > plcdemo_ladder_househeat_complete
При открытии модели информация о доме загружается из файла plcdemo_ladder_househeat_data.m. Файл выполняет следующие действия:
Определяет геометрию дома (размер, количество окон)
Тепловые свойства материалов дома
Вычисляет тепловое сопротивление дома
Обеспечивает характеристики нагревателя (температура горячего воздуха,... расход)
Определяет стоимость электроэнергии (0,09 $/кВт)
Указывает начальную комнатную температуру (20 ° С = 68 ° С... Фаренгейт)
Примечание: Время дается в единицах времени. Определенные количества, такие как расход воздуха, выражаются в час (не в секунду).

Уставка
Set Point является постоянным блоком. Он определяет температуру, которая должна поддерживаться в помещении. По умолчанию - 70 градусов по Фаренгейту. Температуры приведены по Фаренгейту, но затем преобразуются в Цельсий для выполнения расчетов.
Диапазон
Range является постоянным блоком. Этот параметр определяет диапазон вокруг уставки для изменения температуры в помещении. По умолчанию он равен 5 градусам по Фаренгейту. Следовательно, комнатная температура будет колебаться между
и
где


Регулятор температуры
Temperature Controller - подсистема, имеющая контейнер AOI Runner. Внутри этого регулятора температуры AOI Runner находится функциональный блок схемы многозвенной цепи. Дважды щелкните этот блок и выберите Логическую подпрограмму для просмотра логики многозвенной цепи для регулятора температуры.
Дом
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 Runner Block с именем Temperature Controller. Выбрать Design Verifier > Generate test case for subsystem.
Убедитесь, что ert.tlc выбирается на вкладке Создание кода (Code Generation) окна Параметры конфигурации модели (Model Configuration Parameters). Выполните предварительную обработку модели симулятора для генерации кода C/C + +, выполнив следующую команду в окне команд MATLAB:
> > plcladderoption (gcs, 'FastSim', 'on');
Откройте окно Temperature Controller Подсистема и щелкните правой кнопкой мыши AOI Runner Block с именем Temperature Controller. Выбрать C/C++ Code > Build This Subsystem.
Открыть модель испытательного стенда управления резервуаром лестницы:
> > plcdemo_ladder_househeat_tb
Выберите Temperature Controller/ Temperature Controller Runner блок и щелкните правой кнопкой мыши PLC Coder->Generate Code для подсистемы для генерации кода многозвенной цепи.
Чтобы создать testbench, выберите Generate testbench for subsystem опции в PLC Configuration Parameters Dialog и создать код.