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