exponenta event banner

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

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

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

    mdl = 'scdspeedtrigger';
    open_system(mdl)

    Чтобы определить, когда система находится в устойчивом состоянии, блок Генерировать события времени настройки генерирует события настройки. Этот блок посылает сигналы запуска по фронту на блок моментального снимка рабочей точки, когда частота вращения двигателя достигает 2500, 3000 и 3500 об/мин в течение как минимум пяти секунд.

    Модель включает блок моментального снимка операционной точки на основе триггера. Этот блок линеаризует модель, когда она принимает триггерные сигналы переднего фронта от блока событий времени формирования.

  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. Сравните линеаризованные модели при 2500, 3000 и 3500 об/мин, используя графики Боде функций передачи с замкнутым контуром.

    bode(linsys)

См. также

Функции

Блоки

Связанные темы