Создайте и Сконфигурируйте Интерфейс 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: Port 1 of rct_helico/theta-ref
Point 2: Signal "theta", located at port 1 of rct_helico/Demux1
Point 3: Port 1 of rct_helico/phi-ref
Point 4: Signal "phi", located at port 2 of rct_helico/Demux1
Point 5: Port 1 of rct_helico/r-ref
Point 6: Signal "r", located at port 3 of rct_helico/Demux1
Point 7: Signal "u", located at port 1 of rct_helico/Mux3
Point 8: Signal "y", located at 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 до урожаев ПИД-регуляторов результаты. Измените параметризацию трех контроллеров 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.

Смотрите также

| | | | |

Похожие темы