Настроенные графики усиления требуют тщательной валидации. Процесс настройки гарантирует подходящую эффективность только около каждой точки проекта. В сложение настройка игнорирует динамические связи между переменными состояния объекта и переменными планирования (см. Раздел 4.3, «Скрытая муфта», в [1]). Лучшие практики для валидации включают:
Исследуйте настроенные поверхности усиления, чтобы убедиться, что они гладкие и хорошо себя ведут.
Визуализируйте цели настройки против откликов системы во всех проектах точках.
Проверяйте линейную эффективность настроенной системы управления между проектными точками.
Проверьте графики усиления в симуляции полной нелинейной системы.
Проверяйте линейную эффективность на более плотной сетке с σ значениями, чем вы использовали для проекта. Если между проектными точками не поддерживается адекватная линейная эффективность, можно добавить больше проектных точек и сохранить их.
Выполните нелинейные симуляции, которые управляют системой с обратной связью через всюсь ее рабочую область значений. Обратите особое внимание на маневры, которые вызывают быстрые изменения переменных планирования.
После настройки исследуйте настроенные усиления как функцию от переменных планирования, чтобы убедиться, что они плавны и хорошо себя ведут в рабочей области значений. Визуализируйте настроенные поверхности усиления с помощью viewSurf
команда.
Используйте графики целей настройки, чтобы визуализировать ваши требования к проекту относительно линейной характеристики настроенной системы управления. Графические графики целей настройки показывают графически, где и каким количеством целей настройки удовлетворяются или нарушаются. Эта визуализация позволяет вам изучить, насколько близка ваша система управления к идеальной эффективности. Это также может помочь вам идентифицировать проблемы с настройкой и предоставить подсказки о том, как улучшить ваш проект.
Для получения общей информации об использовании графиков целей настройки, смотрите Визуализация целей настройки. Для запланированных по усилению систем управления, графики настройки-цели, которые вы генерируете с viewGoal
предоставьте дополнительную информацию, которая поможет вам оценить, как каждая цель настройки способствует результату.
Для фиксированных целей настройки, которые применяются к нескольким проектным точкам, viewGoal
строит графики соответствующих откликов системы во всех этих точках проекта. Например, предположим, что вы настраиваете slTuner
интерфейс, ST
, для rct_CSTR
модель, описанная в Gain-Scheduled Control of a Chemical Reactor. Вы можете использовать viewGoal
чтобы увидеть, насколько хорошо каждая из пяти проектных точек этого примера удовлетворяет цели усиления R3
. Полученный график показывает соответствующий профиль усиления во всех пяти проектных точках. Щелкните любую из линий усиления для отображения, которая показывает соответствующее значение переменной планирования Cr
.
viewGoal(R3,ST)
Различные цели, которые вы создаете используя varyingGoal
применить различный целевой ответ в каждой проектной точке. Когда вы используете viewGoal, чтобы изучить различную цель, график первоначально отображает целевые и настроенные отклики в первой точке проекта в сетке проекта. Например, предположим, что вы настраиваете систему управления ST
по проекту сетке двух переменных планирования с использованием различной цели Rv
изменяется по всей сетке. После настройки исследуйте Rv
.
viewGoal(Rv,ST)
Щелкните CHANGE, чтобы открыть ползунки, которые позволяют выбрать точку проекта, в которой можно просмотреть целевые и настроенные отклики.
В дополнение к рассмотрению линейных откликов, связанных с целями настройки, проверяйте другие линейные отклики системы, чтобы убедиться, что поведение подходит. Это можно сделать путем извлечения и построения графиков откликов системы, как описано в разделе Валидация настроенной системы управления.
Для систем с запланированным усилением рекомендуется проверять линейную эффективность на более плотной сетке рабочих точек, чем вы использовали для проекта. Если система не поддерживает адекватную линейную эффективность между проектными точками, можно добавить больше проектных точек и сохранить.
Поскольку systune
настраивает графики усиления против линеаризации, полученной в каждой точке проекта, важно проверить результаты настройки в симуляции полной нелинейной системы. Выполните нелинейные симуляции, которые управляют системой с обратной связью через всюсь ее рабочую область значений. Обратите особое внимание на маневры, которые вызывают быстрые изменения переменных планирования.
После настройки slTuner
интерфейс, использование writeBlockValue
(Simulink Control Design), чтобы записать настроенные параметры контроллера в Simulink® модель для такой симуляции. Эта команда может записывать настроенные расписания усиления в блоки интерполяционной таблицы, блоки Matrix Interpolation и блоки MATLAB Function, для которых вы задали tunableSurface
параметризация.
Для блоков интерполяционной таблицы и блоков Matrix Interpolation, writeBlockValue
автоматически вычисляет настроенную поверхность усиления в точках останова, заданных в блоке. Эти точки прерывания не должны совпадать с точками проекта, используемыми для настройки. Потому что tunableSurface
описывает график усиления в параметрической форме, writeBlockValue
может оценить коэффициент усиления при любом значении переменной планирования.
Если вы перенастроили подмножество точек проекта, можно использовать writeLookupTableData
(Simulink Control Design), чтобы обновить фрагмент данных интерполяционной таблицы, оставив остальное нетронутым.
Для графиков усиления, реализованных как блоки MATLAB Function, writeBlockValue
автоматически генерирует MATLAB® код и перемещает его к блоку. Сгенерированная функция MATLAB принимает переменные планирования и возвращает значение усиления, заданное настроенным параметрическим выражением tunableSurface
. Чтобы увидеть этот код MATLAB для конкретной поверхности усиления, используйте codegen
команда.
[1] Rugh, W.J., and J.S. Shamma, «Research on Табличное Управление», Automatica, 36 (2000), pp. 1401-1425.
codegen
| viewGoal
| viewSurf
| writeBlockValue
(Simulink Control Design) | writeLookupTableData
(Simulink Control Design)