Настроенные расписания усиления требуют тщательной валидации. Настраивающий процесс гарантирует подходящую эффективность только около каждой точки проекта. Кроме того, настройка игнорирует динамические связи между переменными состояния объекта и переменными планирования (см. Раздел 4.3, “Скрытая Связь”, в [1]). Лучшые практики для валидации включают:
Исследуйте настроенные поверхности усиления, чтобы убедиться, что они являются гладкими и хорошего поведения.
Визуализируйте настраивающиеся голы против откликов системы во всех точках проекта.
Проверяйте линейную эффективность настроенной системы управления между точками проекта.
Подтвердите расписания усиления в симуляции полной нелинейной системы.
Проверяйте линейную эффективность на более плотной сетке значений σ, чем вы использовали для проекта. Если соответствующая линейная эффективность не обеспечена между точками проекта, можно добавить больше точек проекта и перемелодии.
Выполните нелинейные симуляции, которые управляют системой с обратной связью через ее целый рабочий диапазон. Обратите особое внимание на маневры, которые вызывают быстрые изменения переменных планирования.
После настройки исследуйте настроенные усиления в зависимости от переменных планирования, чтобы убедиться, что они являются гладкими и хорошего поведения в рабочем диапазоне. Визуализируйте настроенные поверхности усиления с помощью viewSurf
команда.
Используйте целевые настройкой графики визуализировать ваши конструктивные требования по линейному ответу настроенной системы управления. Целевые настройкой графики показывают графически, где и тем, насколько настраивающимся целям удовлетворяют или нарушают. Эта визуализация позволяет вам исследовать, как близко ваша система управления к идеальной эффективности. Это может также помочь вам идентифицировать проблемы с настройкой и дать представления о том, как улучшить ваш проект.
Для получения общей информации об использовании целевых настройкой графиков, смотрите, Визуализируют Настраивающиеся Цели. Для запланированных на усиление систем управления целевые настройкой графики вы генерируете с viewGoal
предоставьте дополнительную информацию, которая помогает вам оценить, как каждая настраивающая цель способствует результату.
Для фиксированных настраивающих целей, которые применяются к нескольким точкам проекта, viewGoal
строит соответствующий отклик системы во всех тех точках проекта. Например, предположите, что вы настраиваетесь slTuner
интерфейс, ST
, для rct_CSTR
модель описана в Запланированном на усиление Управлении Химического Реактора. Можно использовать viewGoal
чтобы видеть, как хорошо каждая из пяти точек проекта того примера удовлетворяет цели усиления R3
. Получившийся график показывает соответствующий профиль усиления во всех пяти точках проекта. Кликните по любой из линий усиления для отображения, которое показывает соответствующее значение переменной Cr
планирования.
viewGoal(R3,ST)
Различные цели, что вы создаете использование varyingGoal
примените различный целевой ответ в каждой точке проекта. Когда вы используете viewGoal, чтобы исследовать различную цель, график первоначально отображает цель и настроенные ответы в первой точке проекта в сетке проекта. Например, предположите, что вы настраиваете систему управления ST
по сетке проекта двух переменных планирования, с помощью различного целевого Rv
это варьируется через целую сетку. После настройки исследуйте Rv
.
viewGoal(Rv,ST)
Нажмите CHANGE, чтобы открыть ползунки, которые позволяют вам выбрать точку проекта, в которой можно просмотреть цель и настроенные ответы.
В дополнение к исследованию линейных ответов, сопоставленных с настраивающимися целями, проверяйте другие линейные ответы системы, чтобы убедиться, что поведение подходит. Можно сделать так путем извлечения, и графический вывод откликов системы, аналогичных описанному обычно в, Подтверждает Настроенную Систему управления.
Для запланированных на усиление систем это - хорошая практика, чтобы проверять линейную эффективность на более плотной сетке рабочих точек, чем вы использовали для проекта. Если система не обеспечивает соответствующую линейную эффективность между точками проекта, то можно добавить больше точек проекта и перемелодии.
Поскольку systune
мелодии получают расписания против линеаризации, полученной в каждой точке проекта, важно протестировать настраивающиеся результаты в симуляции полной нелинейной системы. Выполните нелинейные симуляции, которые управляют системой с обратной связью через ее целый рабочий диапазон. Обратите особое внимание на маневры, которые вызывают быстрые изменения переменных планирования.
После настройки slTuner
интерфейс, использовать writeBlockValue
записать настроенные параметры контроллера в модель Simulink® для такой симуляции. Эта команда может записать, что настроенное усиление планирует с блоками интерполяционной таблицы, блоками Matrix Interpolation и блоками MATLAB Function, для которых вы задали a tunableSurface
параметризация.
Для блоков интерполяционной таблицы и блоков Matrix Interpolation, writeBlockValue
автоматически оценивает настроенную поверхность усиления в точках останова, заданных в блоке. Эти точки останова не должны совпадать с точками проекта, используемыми для настройки. Поскольку tunableSurface
описывает расписание усиления в параметрической форме, writeBlockValue
может оценить усиление в любом значении переменных планирования.
Если вы повторно настроили подмножество точек проекта, можно использовать writeLookupTableData
обновить фрагмент данных интерполяционной таблицы при оставлении остальных неповрежденными.
Для расписаний усиления, реализованных, когда, MATLAB Function блокируется, writeBlockValue
автоматически генерирует код MATLAB® и продвигает его с блоком. Сгенерированная функция MATLAB берет переменные планирования и возвращает значение усиления, данное настроенным параметрическим выражением tunableSurface
. Чтобы видеть этот код MATLAB для конкретной поверхности усиления, используйте codegen
команда.
[1] Rugh, W.J., и Дж.С. Шэмма, "Исследование в области Табличного управления", Automatica, 36 (2000), стр 1401-1425.
codegen
| viewGoal
| viewSurf
| writeBlockValue
| writeLookupTableData