Сгенерируйте код 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 (Control System Toolbox). Сгенерированный скрипт вычисляет рабочую точку, используемую для настройки, определяет блоки настраиваться, создает настраивающиеся цели и выполняет другие операции, чтобы воспроизвести результат в командной строке.

Первый раздел скрипта создает интерфейс slTuner к Simulink®model (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, первый раздел скрипта создает модель 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 пуст.

Наконец, скрипт настраивает систему управления путем вызова 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, чтобы заставить скрипт сгенерировать графики дополнительного анализа.

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте