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

В этом примере показано, как линеаризовать модели, которые включают ссылки на другие модели с помощью блока Model.

scdspeed_ctrlloop модель является модифицированной версией scdspeedctrl модель.

topmdl = 'scdspeed_ctrlloop';
open_system(topmdl)

В данном примере система скорости вращения двигателя реализована в scdspeed_plantref модель. На эту модель ссылаются в scdspeed_ctrlloop использование блока Model.

Просмотрите модель скорости вращения двигателя, на которую ссылаются.

open_system('scdspeed_plantref')

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

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

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

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

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

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)

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

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

bdclose('scdspeed_ctrlloop')

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

Похожие темы