Сгенерируйте код MATLAB от Control System Tuner для настройки командной строки

Можно сгенерировать скрипт MATLAB® в Control System Tuner для настройки системы управления в командной строке. Сгенерированные скрипты полезны, когда это необходимо, чтобы программно воспроизвести результат, который вы получили в интерактивном режиме. Сгенерированный скрипт MATLAB также позволяет вам программно выполнить несколько настраивающихся операций с изменениями настраивающихся целей, системных параметров или условий модели, таких как рабочая точка.

Совет

Можно также сохранить сеанс Control System Tuner, чтобы воспроизвести в Control System Tuner. Для этого во вкладке Control System, нажмите Save Session.

Чтобы сгенерировать скрипт MATLAB в Control System Tuner, во вкладке Tuning, нажимают Tune. Выберите Script with current values.

Редактор MATLAB отображает сгенерированный скрипт, какой скрипт воспроизводит программно текущую настраивающую настройку Control System Tuner.

Например, предположите, что вы генерируете скрипт MATLAB после завершения всех шагов в Управлении в качестве примера Линейного Электропривода Используя Control System Tuner. Сгенерированный скрипт вычисляет рабочую точку, используемую для настройки, определяет блоки настраиваться, создает настраивающиеся цели и выполняет другие операции, чтобы воспроизвести результат в командной строке.

Первый раздел скрипта создает slTuner взаимодействуйте через интерфейс к модели Simulink® (rct_linact в этом примере). slTuner взаимодействуйте через интерфейс хранит линеаризацию модели и параметризацию блоков, чтобы настроиться.

%% Create system data with slTuner interface
TunedBlocks = {'rct_linact/Current Controller/Current PID'; ...
               'rct_linact/Speed Controller/Speed PID'};
AnalysisPoints = {'rct_linact/Speed Demand (rpm)/1'; ...
                  'rct_linact/Current Sensor/1'; ...
                  'rct_linact/Hall Effect Sensor/1'; ...
                  'rct_linact/Speed Controller/Speed PID/1'; ...
                  'rct_linact/Current Controller/Current PID/1'};
OperatingPoints = 0.5;
% Specify the custom options
Options = slTunerOptions('AreParamsTunable',false);
% Create the slTuner object
CL0 = slTuner('rct_linact',TunedBlocks,AnalysisPoints,OperatingPoints,Options);

slTuner интерфейс также задает рабочую точку, в которой модель линеаризуется и отмечает как аналитические точки все местоположения сигнала, требуемые задавать настраивающиеся цели для примера. (См., Создают и Конфигурируют Интерфейс slTuner к Модели Simulink.)

Если вы настраиваете систему управления, смоделированную в MATLAB вместо Simulink, первый раздел скрипта создает a genss модель, которая имеет эквивалентную динамику и параметризацию к genss модель системы управления, что вы задали Control System Tuner.

Затем скрипт создает три настраивающихся гола, заданные в примере. Скрипт использует TuningGoal объекты получить эти настраивающие цели. Например, скрипт использует TuningGoal.Tracking получать Цель Отслеживания примера.

%% Create tuning goal to follow reference commands with prescribed performance
% Inputs and outputs
Inputs = {'rct_linact/Speed Demand (rpm)/1'};
Outputs = {'rct_linact/Hall Effect Sensor/1[rpm]'};
% Tuning goal specifications
ResponseTime = 0.1; % Approximately reciprocal of tracking bandwidth
DCError = 0.001; % Maximum steady-state error
PeakError = 1; % Peak error across frequency
% Create tuning goal for tracking
TR = TuningGoal.Tracking(Inputs,Outputs,ResponseTime,DCError,PeakError);
TR.Name = 'TR'; % Tuning goal name

После создания настраивающихся целей скрипт устанавливает любые опции алгоритма, которые вы установили в Control System Tuner. Скрипт также определяет настраивающиеся цели как мягкие или трудные цели, согласно настройке настраивающихся целей в Control System Tuner. (См., Управляют Настраивающимися Целями.)

%% Create option set for systune command
Options = systuneOptions();

%% Set soft and hard goals
SoftGoals = [ TR ; ...
              MG1 ; ...
              MG2 ];
HardGoals = [];

В этом примере все цели определяются как мягкие цели, когда скрипт сгенерирован. Поэтому HardGoals isempty.

Наконец, скрипт настраивает систему управления путем вызова systune на slTuner интерфейс с помощью настраивающихся целей и опций.

%% Tune the parameters with soft and hard goals
[CL1,fSoft,gHard,Info] = systune(CL0,SoftGoals,HardGoals,Options);

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

%% View tuning results
% viewGoal([SoftGoals;HardGoals],CL1);

Можно добавить вызовы функций такой getIOTransfer заставить скрипт сгенерировать графики дополнительного анализа.

Похожие темы