Можно сгенерировать скрипт 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
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
заставить скрипт сгенерировать графики дополнительного анализа.