exponenta event banner

Создание кода MATLAB из тюнера системы управления для настройки командной строки

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

Совет

Можно также сохранить сеанс тюнера системы управления для воспроизведения в тюнере системы управления. Для этого на вкладке Система управления (Control System ) щелкните Сохранить сеанс (Save Session).

Чтобы создать сценарий MATLAB в настройщике системы управления, на вкладке Настройка нажмите кнопку Настройка. Выберите Сценарий с текущими значениями.

Редактор MATLAB отображает сгенерированный сценарий, который программно воспроизводит текущую конфигурацию настройки тюнера системы управления.

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

Первый раздел сценария создает 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, первый раздел сценария создает genss модель, которая имеет эквивалентную динамику и параметризацию genss модель системы управления, которая была задана настройщиком системы управления.

Далее сценарий создает три цели настройки, указанные в примере. Сценарий использует 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. (См. раздел Управление целями настройки.)

%% 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 для создания в сценарии дополнительных графиков анализа.

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