В этом примере показано, как сгенерировать рабочие точки с помощью триггерированных снимков файловой системы.
Откройте модель.
scdspeedtrigger

В этом примере модель будет линеаризирована в установившихся рабочих точках 2500, 3000 и 3500 об/мин. Чтобы получить эти рабочие точки, симуляция используется, чтобы сгенерировать снимки рабочей точки устойчивых условий. Поскольку точное время достижения системой значения устойчивого состояния не всегда известно, блоки, такие как подсистема - Сгенерируйте события времени урегулирования, могут быть построены, чтобы сгенерировать события установления. Блок в этом примере отправляет триггерные сигналы восходящего ребра, когда модель близка к условию установления. Маска, показанная ниже, позволяет вводить несколько условий осаждения. В этом примере блок сконфигурирован так, чтобы запускать триггеры переднего ребра, когда скорость вращения двигателя устанавливается около 2500, 3000 и 3500 об/мин в течение минимум 5 секунд.

События выхода времени урегулирования затем передаются в блок Operating Point Snapshot. В этом примере блок создает снимки рабочей точки в случае триггера восходящего ребра.

Используя команду FINDOP, симуляция запускается в течение 60 секунд и возвращает рабочие точки, когда скорость вращения двигателя близка к установившемуся состоянию.
op = findop('scdspeedtrigger',60);
Первая рабочая точка находится вблизи условия осаждения 2500 об/мин (261,8 рад/с).
op(1)
Operating point for the Model scdspeedtrigger.
(Time-Varying Components Evaluated at time t=10.63)
States:
----------
(1.) scdspeedtrigger/PID Controller/Filter/Cont. Filter/Filter
x: 0
(2.) scdspeedtrigger/PID Controller/Integrator/Continuous/Integrator
x: 10.5
(3.) scdspeedtrigger/Throttle & Manifold/Intake Manifold/p0 = 0.543 bar
x: 0.511
(4.) scdspeedtrigger/Vehicle Dynamics/w = T//J w0 = 209 rad//s
x: 262
Inputs: None
----------
Вторая рабочая точка находится вблизи условия осаждения 3000 об/мин (314,16 рад/с).
op(2)
Operating point for the Model scdspeedtrigger.
(Time-Varying Components Evaluated at time t=28.3703)
States:
----------
(1.) scdspeedtrigger/PID Controller/Filter/Cont. Filter/Filter
x: 0
(2.) scdspeedtrigger/PID Controller/Integrator/Continuous/Integrator
x: 11.9
(3.) scdspeedtrigger/Throttle & Manifold/Intake Manifold/p0 = 0.543 bar
x: 0.49
(4.) scdspeedtrigger/Vehicle Dynamics/w = T//J w0 = 209 rad//s
x: 314
Inputs: None
----------
Третья рабочая точка находится вблизи условия осаждения 3500 об/мин (366,52 рад/с).
op(3)
Operating point for the Model scdspeedtrigger.
(Time-Varying Components Evaluated at time t=48.2688)
States:
----------
(1.) scdspeedtrigger/PID Controller/Filter/Cont. Filter/Filter
x: 0
(2.) scdspeedtrigger/PID Controller/Integrator/Continuous/Integrator
x: 13.3
(3.) scdspeedtrigger/Throttle & Manifold/Intake Manifold/p0 = 0.543 bar
x: 0.478
(4.) scdspeedtrigger/Vehicle Dynamics/w = T//J w0 = 209 rad//s
x: 367
Inputs: None
----------
Рабочие точки используются для линеаризации. Сначала задайте вход и выходные точки с помощью команд:
io(1) = linio('scdspeedtrigger/Reference Steps',1,'input'); io(2) = linio('scdspeedtrigger/rad//s to rpm',1,'output');
Линеаризируйте модель и постройте график Диаграммы Боде для каждой из закрытых циклов передаточных функций.
sys = linearize('scdspeedtrigger',op(1:3),io); bode(sys) bdclose('scdspeedtrigger')
