Линеаризуйте в инициированных Событиях симуляции

В этом примере показано, как использовать, линеаризуют модель Simulink® на определенных событиях вовремя. События линеаризации могут быть основанными на триггере событиями или событиями вызова функции. А именно, модель линеаризуется в установившихся рабочих точках 2500, 3000, и 3 500 об/мин.

  1. Открытая модель Simulink.

    mdl = 'scdspeedtrigger';
    open_system(mdl)

    Чтобы помочь идентифицировать, когда система в устойчивом состоянии, блок Generate settling time events генерирует обосновывающиеся события. Этот блок отправляет возрастающие триггерные сигналы ребра в блок Operating Point Snapshot, когда скорость вращения двигателя улаживает близкие 2500, 3000, и 3 500 об/мин для минимума пяти секунд.

    Модель включает блок Trigger-Based Operating Point Snapshot. Этот блок линеаризует модель, когда это получает возрастающие триггерные сигналы ребра от блока Generate settling time events.

  2. Вычислите установившуюся рабочую точку в 60 единицы измерения времени.

    op = findop(mdl,60);

    Эта функция симулирует модель для 60 единицы измерения времени и извлечения рабочие точки в каждом событии симуляции, которое происходит в это время интервал.

  3. Задайте фрагмент модели, чтобы линеаризовать.

    io(1) = linio('scdspeedtrigger/Reference Steps',1,'input');
    io(2) = linio('scdspeedtrigger/rad//s to rpm',1,'output');
  4. Линеаризуйте модель.

    linsys = linearize(mdl,op(1:3),io);
  5. Сравните линеаризовавшие модели в 2 500, 3000, и 3 500 об/мин с помощью Диаграмм Боде передаточных функций с обратной связью.

    bode(linsys)

Смотрите также

Функции

Блоки

Похожие темы