Вычисление моментальных снимков рабочей точки при триггерных событиях

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

Генерация рабочих точек с использованием триггерных снимков файловой системы

Откройте модель.

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')