В этом примере показано, как создать и настроить 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.
addBlock | addPoint | getIOTransfer | getSensitivity | setBlockParam | slTuner