Вычисление снимков состояния рабочей точки в инициированных Событиях

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

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

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

scdspeedtrigger

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

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

Используя команду FINDOP, симуляция запущена в течение 60 секунд и возвращает рабочие точки, когда скорость вращения двигателя является близким устойчивым состоянием.

op = findop('scdspeedtrigger',60);

Первая рабочая точка около 2 500 об/мин (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 
----------

Вторая рабочая точка около 3 000 об/мин (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 
----------

Третья рабочая точка около 3 500 об/мин (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')

Для просмотра документации необходимо авторизоваться на сайте