В этом примере показано, как линеаризовать модели, которые включают ссылки на другие модели с помощью блока 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')