exponenta event banner

Линеаризация моделей с привязками модели

В этом примере показаны функции, доступные в Simulink ® Control Design™ для линеаризации моделей, содержащих ссылки на другие модели с блоком модели.

Линейный анализ

Модель scdspeed_ctrlloop является компонентным вариантом модели scdspeedctrl. В этой модели модель частоты вращения двигателя является компонентом, представленным в модели scdspeed_plantref , на который ссылается блок модели. Откройте модель.

topmdl = 'scdspeed_ctrlloop';
open_system(topmdl)

По умолчанию для блока модели двигателя установлен режим моделирования ускорителя, как показано черными треугольниками в углах блока модели. Линеаризация модели с этим блоком, установленным в режим моделирования ускорителя, численно возмущает весь блок модели двигателя. Точность этой линеаризации очень чувствительна к блокам в модели Engine. В частности, блок переменной задержки транспортировки является очень проблематичным.

Для достижения точной линеаризации установите блок модели в нормальный режим моделирования, чтобы разрешить поблочную линеаризацию ссылочной модели.

set_param('scdspeed_ctrlloop/Engine Model','SimulationMode','Normal')

Теперь углы блока модели представляют собой белые треугольники, указывающие на то, что режим моделирования установлен в нормальное состояние.

Линеаризуйте модель между опорным сигналом скорости и выходом скорости и постройте график результирующей реакции шага.

io(1) = linio('scdspeed_ctrlloop/Speed Reference',1,'input');
io(2) = linio('scdspeed_ctrlloop/Speed Output',1,'output');
sys_normal = linearize(topmdl,io);
step(sys_normal)

Закройте модель Simulink.

bdclose('scdspeed_ctrlloop')

Другое преимущество переключения привязки модели на моделирование в нормальном режиме заключается в том, что можно воспользоваться точными представлениями задержки.

Дополнительные сведения о линеаризации моделей с задержками см. в примере Линеаризация моделей с задержками.

См. также