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

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

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

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

topmdl = 'scdspeed_ctrlloop';
open_system(topmdl)

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

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

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

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

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

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')

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

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

См. также