exponenta event banner

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

В этом примере показано, как создать и настроить slTuner для модели Simulink ®. slTuner интерфейс параметризует блоки в модели, обозначенные как настраиваемые, и позволяет настраивать их с помощью systune. slTuner интерфейс генерирует линеаризацию модели Simulink, а также позволяет извлекать линеаризованные системные отклики для анализа и проверки настроенной системы управления.

В этом примере создайте и настройте slTuner интерфейс для настройки модели Simulink rct_helicoмноготочечный контроллер для винтокрылой машины. Откройте модель.

open_system('rct_helico');

Система управления состоит из двух контуров обратной связи. Внутренний контур (статическая выходная обратная связь) обеспечивает увеличение стабильности и разъединение. Внешний контур (контроллеры PI) обеспечивает требуемую производительность отслеживания уставок.

Предположим, что необходимо настроить эту модель для выполнения следующих задач управления:

  • Отслеживание изменений уставки в theta, phi, и r при нулевой стационарной ошибке, заданном времени подъема, минимальном превышении и минимальном перекрестном соединении.

  • Ограничение полосы пропускания управления для защиты от забытой высокочастотной динамики ротора и шума измерений.

  • Обеспечить сильный многовариантный коэффициент усиления и запас по фазе (устойчивость к одновременным изменениям коэффициента усиления/фазы на входах и выходах установки).

systune команда может совместно настраивать блоки контроллеров SOF и контроллеры PI, отвечающие этим проектным требованиям. slTuner устанавливает эту задачу настройки.

Создать slTuner интерфейс.

ST0 = slTuner('rct_helico',{'PI1','PI2','PI3','SOF'});

Эта команда инициализирует slTuner интерфейс с тремя контроллерами PI и 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 на PID-контроллеры улучшенные результаты. Измените параметризацию трех контроллеров PI на контроллеры PID.

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.

См. также

(Simulink Control Design) | (Simulink Control Design) | (Simulink Control Design) | (Simulink Control Design) | (Simulink Control Design) | (Проект управления Simulink)

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