В этом примере показаны функции, доступные в 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')
Другое преимущество переключения привязки модели на моделирование в нормальном режиме заключается в том, что можно воспользоваться точными представлениями задержки.
Дополнительные сведения о линеаризации моделей с задержками см. в примере Линеаризация моделей с задержками.