Изменение Simulink® модель может изменять, добавлять или удалять состояния, входы или выходы, что изменяет рабочую точку. Можно синхронизировать существующие объекты спецификаций рабочих точек, чтобы отразить изменения в модели.
Если вы меняете модель Simulink, пока Steady State Manager открыт, необходимо синхронизировать спецификации рабочей точки в Steady State Manager, чтобы отразить изменения в модели.
Откройте модель Simulink.
sys = ('scdspeedctrl');
open_system(sys)
Чтобы открыть Steady State Manager, в окне модели Simulink, в галерее Apps, нажмите 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, пока Model Linearizer открыт, необходимо синхронизировать спецификации рабочей точки в Model Linearizer, чтобы отразить изменения в модели.
Откройте модель Simulink.
sys = ('scdspeedctrl');
open_system(sys)
Чтобы открыть Model Linearizer, в окне модели Simulink, в галерее Apps, нажмите Model Linearizer.
В Model Linearizer, в раскрывающемся списке Operating Points, выберите Trim Model
.
В диалоговом окне «Обрезка модели» блок Reference Filter содержит одно состояние.
В окне модели Simulink дважды кликните блок Reference Filter. Измените Numerator передаточной функции на 100
, и измените Denominator на [1 20 100]
.
Нажмите OK.
Это изменение увеличивает порядок фильтра, добавляя состояние к модели Simulink.
Чтобы обновить спецификации рабочих точек, чтобы отразить изменения модели, в диалоговом окне Обрезать модель (Trim the model) нажмите 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. Установите параметр Numerator равным 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 ----------
После обновления объекта спецификации рабочей точки алгоритм оптимизации успешно находит рабочую точку.