В этом примере показано, как сгенерировать рабочие точки с помощью триггерированных снимков файловой системы.
Откройте модель.
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')