exponenta event banner

Уточнение, тестирование и отладка подсистемы

Тестовые жгуты обеспечивают среду разработки и тестирования, которая оставляет конструкцию основной модели нетронутой. Функциональную единицу модели можно протестировать изолированно, не изменяя основную модель. В этом примере показано уточнение и тестирование подсистемы контроллера с использованием тестового жгута. Основная модель - это модель контроллера-установки установки кондиционирования/теплового насоса. Контроллер должен работать в соответствии с несколькими простыми требованиями.

Модель и требования

  1. Доступ к модели. Войти

    cd(fullfile(docroot,'toolbox','sltest','examples'))
  2. Скопируйте этот файл модели и вспомогательные файлы в доступное для записи расположение по пути MATLAB ®:

    sltestHeatpumpExample.slx
    sltestHeatpumpBusPostLoadFcn.mat
    PumpDirection.m
  3. Откройте модель.

    open_system('sltestHeatpumpExample')

В примере модели:

  • Контроллер принимает температуру в помещении и введенные значения температуры.

  • Выход контроллера представляет собой шину с сигналами, регулирующими вентилятор, тепловой насос и направление теплового насоса (тепловой или холодный).

  • Установка принимает шину управления. Тепловой насос и сигналы вентилятора являются булевыми, а направление теплового насоса определяется +1 для охлаждения и -1 для обогрева.

Испытание охватывает четыре температурных режима. Каждое условие соответствует одному рабочему состоянию с выходами сигнала направления вентилятора, насоса и насоса.

Температурное состояниеСостояние системыКоманда «Вентилятор»Команда насосаНаправление насоса
|Troom - Tset| < DeltaT_fanнеработающий000
DeltaT_fan <= |Troom - Tset| < DeltaT_pumpтолько вентилятор100
|Troom - Tset| >= DeltaT_pump and Tset < Troomохлаждение11-1
|Troom - Tset| >= DeltaT_pump and Tset > Troomотопление111

Создание электрического жгута для контроллера

  1. Щелкните правой кнопкой мыши Controller и выберите Test Harness > Create для параметра «Controller».

  2. Задайте свойства электрического жгута:

    На вкладке Основные свойства:

    • Имя: devel_harness1

    • Снимите флажок «Сохранить тестовый электрический жгут снаружи»

    • Источники и поглотители: нет и область применения

    • Очистить Добавить отдельный блок оценки

    • После создания выберите «Открыть электрический жгут»

  3. Нажмите кнопку ОК, чтобы создать тестовый электрический жгут.

Проверка и уточнение контроллера

  1. В тестовом кабельном жгуте дважды щелкните Controller для открытия подсистемы.

  2. Подключите диаграмму к блокам Inport.

  3. В тестовом электрическом жгуте нажмите кнопку «Сохранить», чтобы сохранить тестовый электрический жгут и модель.

Добавление тестовых входов и тестирование контроллера

  1. Перейти на верхний уровень devel_harness1.

  2. Создание тестового ввода для электрического жгута с константой Tset и изменяющийся во времени Troom. Подключите блок константы к Tset введите и установите значение 75.

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

  4. Дважды щелкните блок синусоидальной волны и задайте параметры:

    • Амплитуда: 15

    • Смещение: 75

    • Частота: 2*pi/3600

    • Фаза (рад): 0

    • Время выборки: 1

    • Выберите Интерпретировать векторные параметры как 1-D.

  5. Подключите блоки ввода к входам записи хранилища данных.

  6. В диалоговом окне «Параметры конфигурации» на панели «Импорт/экспорт данных» выберите «Ввод» и введите u. u - существующая структура в базовой рабочей области MATLAB.

  7. На панели «Решатель» установите для параметра «Время остановки» значение 3600.

  8. Откройте область в тестовом кабельном жгуте и измените компоновку, чтобы показать три графика.

  9. Для моделирования нажмите кнопку Выполнить (Run).

Отладка контроллера

  1. Проверьте выходные данные контроллера. fan_cmd является 1 во время состояния МГ, где |Troom - Tset| < DeltaT_fan.

    Это жучок. fan_cmd должны равняться 0 в IDLE. fan_cmd управляющий выходной сигнал должен быть изменен для IDLE.

  2. В модели кабельных трасс откройте Controller подсистема.

  3. Открытый controller_chart.

  4. В IDLE состояние, fan_cmd установлено на возврат 1. Изменение fan_cmd возвратиться 0. IDLE теперь:

    IDLE
    entry:
    fan_cmd = 0;
     pump_cmd = 0;
     pump_dir = 0;
  5. Снова смоделировать модель электрического жгута и наблюдать за выходными данными.

  6. fan_cmd теперь соответствует требованию о равенстве 0 в IDLE.

Связанные темы