Изменение вашей модели Simulink® может измениться, добавить или удалить состояния, входные параметры или выходные параметры, который изменяет рабочую точку. Можно синхронизировать существующие объекты спецификации рабочей точки отразить изменения в модели.
Если вы изменяете свою модель Simulink, в то время как Steady State Manager открыт, необходимо синхронизировать спецификации рабочей точки в Steady State Manager, чтобы отразить изменения в модели.
Откройте модель Simulink.
sys = ('scdspeedctrl');
open_system(sys)
Чтобы открыть Steady State Manager, в окне модели Simulink, выбирают Analysis> Control Design> Steady State Manager.
Чтобы создать операционную спецификацию на основе настройки текущей модели, в Steady State Manager, на вкладке Steady State, нажимают Trim Specification.
В документе spec1 блок Reference Filter имеет одно состояние.
В окне модели Simulink дважды кликните блок Reference Filter. Измените Numerator передаточной функции к 100
и измените Denominator на [1 20 100]
.
Нажмите OK.
Это изменение увеличивает порядок фильтра, добавляя состояние в модель Simulink.
Чтобы обновить спецификации рабочей точки, чтобы отразить образцовые изменения, в Steady State Manager, на вкладке Specification, нажимают Sync from Model.
Обновления программного обеспечения спецификации. Блок Reference Filter теперь имеет два состояния.
Чтобы найти рабочую точку, которая соответствует этим спецификациям на вкладке Specification, нажимают Trim .
Если вы изменяете свою модель Simulink, в то время как Linear Analysis Tool открыт, необходимо синхронизировать спецификации рабочей точки в Linear Analysis Tool, чтобы отразить изменения в модели.
Откройте модель Simulink.
sys = ('scdspeedctrl');
open_system(sys)
Чтобы открыть Linear Analysis Tool, в окне модели Simulink, выбирают Analysis> Control Design> Linear Analysis.
В Linear Analysis Tool, в Operating Points выпадающий список, выбирают Trim Model
.
В Обрезке образцовое диалоговое окно блок Reference Filter содержит одно состояние.
В окне модели Simulink дважды кликните блок Reference Filter. Измените Numerator передаточной функции к 100
и измените Denominator на [1 20 100]
.
Нажмите OK.
Это изменение увеличивает порядок фильтра, добавляя состояние в модель Simulink.
Чтобы обновить спецификации рабочей точки, чтобы отразить образцовые изменения, в Обрезке образцовое диалоговое окно, нажимают Sync with Model.
Обновления программного обеспечения спецификации. Блок Reference Filter теперь имеет два состояния.
Чтобы найти рабочую точку, которая соответствует этим спецификациям, нажмите Start trimming
Этот пример показывает, как обновить существующий объект спецификации рабочей точки с изменениями в модели Simulink®.
Откройте модель.
sys = 'scdspeedctrl';
open_system(sys)
Создайте спецификацию рабочей точки, основанную на объектах на настройке текущей модели.
opspec = operspec(sys)
Operating point specification for the Model scdspeedctrl. (Time-Varying Components Evaluated at time t=0) States: ---------- (1.) scdspeedctrl/External Disturbance/Transfer Fcn spec: dx = 0, initial guess: 0 spec: dx = 0, initial guess: 0 (2.) scdspeedctrl/PID Controller/Filter/Cont. Filter/Filter spec: dx = 0, initial guess: 0 (3.) scdspeedctrl/PID Controller/Integrator/Continuous/Integrator spec: dx = 0, initial guess: 8.98 (4.) scdspeedctrl/Reference Filter/State Space spec: dx = 0, initial guess: 200 (5.) scdspeedctrl/Throttle & Manifold/Intake Manifold/p0 = 0.543 bar spec: dx = 0, initial guess: 0.544 (6.) scdspeedctrl/Vehicle Dynamics/w = T//J w0 = 209 rad//s spec: dx = 0, initial guess: 209 Inputs: None ---------- Outputs: None ----------
Измените передаточную функцию блока Reference Filter. Установите параметр Числителя на 100
и параметр Знаменателя к [1 20 100]
.
set_param('scdspeedctrl/Reference Filter','N',"100"); set_param('scdspeedctrl/Reference Filter','D',"[1 20 100]");
Поскольку параметры модели изменились, пытаясь найти рабочую точку, которая встречается, спецификации в opspec
с помощью следующей команды генерирует ошибку.
op = findop(sys,opspec);
Обновите объект спецификации рабочей точки отразить изменения в модели.
opspec = update(opspec);
Найдите рабочую точку, которая соответствует обновленным спецификациям.
op = findop(sys,opspec);
Operating point search report: --------------------------------- Operating point search report for the Model scdspeedctrl. (Time-Varying Components Evaluated at time t=0) Operating point specifications were successfully met. States: ---------- (1.) scdspeedctrl/External Disturbance/Transfer Fcn x: 0 dx: 0 (0) x: 0 dx: 0 (0) (2.) scdspeedctrl/PID Controller/Filter/Cont. Filter/Filter x: 0 dx: 0 (0) (3.) scdspeedctrl/PID Controller/Integrator/Continuous/Integrator x: 8.98 dx: -4.51e-14 (0) (4.) scdspeedctrl/Throttle & Manifold/Intake Manifold/p0 = 0.543 bar x: 0.544 dx: 2.94e-15 (0) (5.) scdspeedctrl/Vehicle Dynamics/w = T//J w0 = 209 rad//s x: 209 dx: -1.52e-13 (0) (6.) scdspeedctrl/Reference Filter/State Space x: 0 dx: 0 (0) x: 20 dx: 0 (0) Inputs: None ---------- Outputs: None ----------
После того, как вы обновите объект спецификации рабочей точки, алгоритм оптимизации успешно находит рабочую точку.