Создайте и сконфигурируйте интерфейс slTuner к модели Simulink

В этом примере показано, как создать и сконфигурировать 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.

См. также

| | | | |

Похожие темы