В этом примере показано, как создать и сконфигурировать slTuner
интерфейс для модели Simulink ®. The slTuner
интерфейс параметризирует блоки в вашей модели, которые вы обозначаете как настраиваемые, и позволяет настраивать их с помощью systune
. The slTuner
интерфейс генерирует линеаризацию вашей модели Simulink, а также позволяет извлекать линеаризованную систему ответы для анализа и валидации настроенной системы управления.
В данном примере создайте и сконфигурируйте slTuner
интерфейс для настройки модели Simulink rct_helico
, мультицикл контроллер для винтокрылой машины. Откройте модель.
open_system('rct_helico');
Система управления состоит из двух циклов обратной связи. Внутренний цикл (статическая выходная обратная связь) обеспечивает увеличение устойчивости и развязку. Внешний контур ( ПИ-контроллеры) обеспечивает требуемую эффективность отслеживания уставки.
Предположим, что вы хотите настроить эту модель для достижения следующих целей управления:
Отслеживайте изменения уставки в theta
, phi
, и r
с нулевой статической ошибкой, заданными временами нарастания, минимальным перерегулированием и минимальным поперечным сцеплением.
Ограничьте полосу управления, чтобы защитить от запущенной динамики высокочастотного ротора и шума измерения.
Обеспечьте сильный многопараметрический коэффициент усиления и запасов по фазе (робастность с одновременными изменениями коэффициента усиления/фазы на входах и выходах объекта).
The systune
команда может совместно настроить блоки контроллеров SOF
и ПИ-контроллеры для удовлетворения этих проектов требований. The slTuner
интерфейс настраивает эту задачу настройки.
Создайте slTuner
интерфейс.
ST0 = slTuner('rct_helico',{'PI1','PI2','PI3','SOF'});
Эта команда инициализирует slTuner
интерфейс с трёх ПИ-контроллеров и SOF
блок, обозначенный как настраиваемый. Каждый настраиваемый блок автоматически параметризован согласно своему типу и инициализирован со своим значением в модели Simulink.
Как сконфигурировать slTuner
интерфейс, обозначайте как точки анализа любые местоположения сигнала релевантные вашим требованиям проект. Во-первых, добавьте выходы и ссылочные входы для требований к отслеживанию.
addPoint(ST0,{'theta-ref','theta','phi-ref','phi','r-ref','r'});
Когда вы создаете TuningGoal.Tracking
объект, который захватывает требование отслеживания, этот объект ссылается на те же сигналы.
Сконфигурируйте slTuner
интерфейс для требований по запасу устойчивости. Определите в качестве точек анализа входы и выходы объекта (сигналы управления и измерения), где измеряются запасы устойчивости.
addPoint(ST0,{'u','y'});
Отображение сводных данных по slTuner
строение интерфейса в командном окне.
ST0
slTuner tuning interface for "rct_helico": 4 Tuned blocks: (Read-only TunedBlocks property) -------------------------- Block 1: rct_helico/PI1 Block 2: rct_helico/PI2 Block 3: rct_helico/PI3 Block 4: rct_helico/SOF 8 Analysis points: -------------------------- Point 1: 'Output Port 1' of rct_helico/theta-ref Point 2: Signal "theta", located at 'Output Port 1' of rct_helico/Demux1 Point 3: 'Output Port 1' of rct_helico/phi-ref Point 4: Signal "phi", located at 'Output Port 2' of rct_helico/Demux1 Point 5: 'Output Port 1' of rct_helico/r-ref Point 6: Signal "r", located at 'Output Port 3' of rct_helico/Demux1 Point 7: Signal "u", located at 'Output Port 1' of rct_helico/Mux3 Point 8: Signal "y", located at 'Output Port 1' of rct_helico/Helicopter No permanent openings. Use the addOpening command to add new permanent openings. Properties with dot notation get/set access: Parameters : [] OperatingPoints : [] (model initial condition will be used.) BlockSubstitutions : [] Options : [1x1 linearize.SlTunerOptions] Ts : 0
В командном окне щелкните на любом подсвеченном сигнале, чтобы увидеть его местоположение в модели Simulink.
В дополнение к определению требований проекта можно использовать точки анализа для извлечения откликов системы. Для примера извлеките и постройте график переходных характеристик между уставками и 'theta'
, 'phi'
, и 'r'
.
T0 = getIOTransfer(ST0,{'theta-ref','phi-ref','r-ref'},{'theta','phi','r'}); stepplot(T0,1)
Все переходные характеристики нестабильны, включая поперечные связи, потому что эта модель еще не настроена.
После настройки модели можно аналогично использовать обозначенные точки анализа для извлечения откликов системы для валидации настроенной системы. Если необходимо изучить отклики системы в местоположениях, которые не требуются для определения требований проекта, добавьте эти расположения к slTuner
интерфейс также. Для примера постройте график функции чувствительности, измеренной на выходе блока roll-off 2
.
addPoint(ST0,'dc') dcS0 = getSensitivity(ST0,'dc'); bodeplot(dcS0)
Предположим, что вы хотите изменить параметризацию настраиваемых блоков в slTuner
интерфейс. Для примера предположим, что после настройки модели вы хотите проверить, ПИД-регуляторы ли изменение с PI на выражения улучшенные результаты. Измените параметризацию трёх ПИ-контроллеров на ПИД-регуляторы.
PID0 = pid(0,0.001,0.001,.01); % initial value for PID controllers PID1 = tunablePID('C1',PID0); PID2 = tunablePID('C2',PID0); PID3 = tunablePID('C3',PID0); setBlockParam(ST0,'PI1',PID1,'PI2',PID2,'PI3',PID3);
После настройки slTuner
интерфейс к вашей модели Simulink, можно создать цели настройки и настроить модель используя systune
или looptune
.
addBlock
(Simulink Control Design) | addPoint
(Simulink Control Design) | getIOTransfer
(Simulink Control Design) | getSensitivity
(Simulink Control Design) | setBlockParam
(Simulink Control Design) | slTuner
(Simulink Control Design)