Этот пример показывает функции, доступные в Simulink® Control Design™ для линеаризации моделей, содержащих ссылки на другие модели с блоком Model.
Модель scdspeed_ctrlloop
разбитая на компоненты версия модели scdspeedctrl
. В этой модели модель скорости вращения двигателя является компонентом, представленным в модели scdspeed_plantref
на который ссылаются с помощью блока Model. Откройте модель.
topmdl = 'scdspeed_ctrlloop';
open_system(topmdl)
По умолчанию блок Model Engine установлен в режим симуляции акселератора, как обозначено черными треугольниками в углах блока Model. Линеаризация модели с этим набором блока к режиму симуляции акселератора численно тревожит целый блок Model Engine. Точность этой линеаризации очень чувствительна к блокам в модели Engine. В частности, переменный транспортный блок задержки очень проблематичен.
Чтобы достигнуть точной линеаризации, установите блок Model на нормальный режим симуляции позволять линеаризацию блока блоком модели, на которую ссылаются.
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 - то, что можно использовать в своих интересах точные представления задержки.
Для получения дополнительной информации о линеаризации моделей с задержками смотрите Линеаризацию в качестве примера Моделей с Задержками.