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