Линеаризация пневматической системы в снимках состояния симуляции

Этот пример показывает, как использовать основанную на времени функцию снимка состояния рабочей точки в Simulink Control Design. Этот пример использует модель динамики заполнения цилиндра со сжатым воздухом.

Пневматическая системная модель

scdpneumaticlin

Получите начальную симуляцию

[t,x,y] = sim('scdpneumaticlin');

Постройте результаты симуляции

В этом примере закрывается давление предоставления, и система имеет начальное давление 0,2 МПа. Давление предоставления на уровне 0,7 МПа, и в симуляции клапан сервомотора открыт 0.5e-4 m. Во время симуляции давление увеличивается с начального давления 0,2 МПа и в конечном счете обосновывается при давлении предоставления.

plot(t,y);

Сбор снимков состояния симуляции

Получить снимки состояния рабочей точки в различные моменты использования симуляции

op = findop('scdpneumaticlin',[0 10 20 30 40 50 60]);

Рабочие точки являются вектором, с помощью который можно получить доступ

op(2)
 Operating point for the Model scdpneumaticlin.
 (Time-Varying Components Evaluated at time t=10.7245)

States: 
----------
(1.) scdpneumaticlin/Cylinder Pressure Model/dPc//dt
      x: 3.12e+05     
(2.) scdpneumaticlin/Pipe Model/dPp//dt
      x: 3.13e+05     

Inputs: None 
----------

Рабочая точка теперь готова к линеаризации. Сначала задайте точки ввода и вывода с помощью команд:

io(1) = linio('scdpneumaticlin/x',1,'input');
io(2) = linio('scdpneumaticlin/Cylinder Pressure Model',1,'output');

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

sys = linearize('scdpneumaticlin',op,io);
bode(sys)

bdclose('scdpneumaticlin')