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

В этом примере показано, как линеаризовать модель Simulink® в основанных на времени снимках состояния рабочей точки. Пример использует модель динамики заполнения цилиндра со сжатым воздухом.

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

Откройте модель Simulink.

mdl = 'scdpneumaticlin';
open_system(mdl)

Симулируйте модель.

[t,x,y] = sim(mdl);

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

plot(t,y)

Возьмите снимки состояния симуляции

Вычислите рабочие точки в нескольких временах симуляции от 0 до 60 секунд в 10-секундных интервалах. findop функция симулирует модель, берет снимок состояния условий модели в каждом времени симуляции и вычисляет рабочую точку для каждого снимка состояния.

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

Просмотрите рабочую точку во второй раз снимка состояния.

op(2)
ans = 


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

States: 
----------
        <strong>x</strong>     
    <strong>__________</strong>

(1.) scdpneumaticlin/Cylinder Pressure Model/dPc//dt
    3.1205e+05
(2.) scdpneumaticlin/Pipe Model/dPp//dt
    3.1251e+05

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

Линеаризуйте модель

Чтобы линеаризовать модель, сначала задайте точки ввода и вывода линеаризации. В данном примере линеаризуйте модель от открытия клапана сервомотора x к выходному давлению.

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

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

sys = linearize(mdl,op,io);

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

bode(sys)

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

bdclose(mdl)

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

| | |

Похожие темы