В этом примере показано, как использовать функцию моментального снимка рабочей точки на основе времени в Simulink Control Design. Этот пример использует модель динамики заполнения цилиндра сжатым воздухом.
scdpneumaticlin
[t,x,y] = sim('scdpneumaticlin');
В этом примере давление питания закрывается, и система имеет начальное давление 0,2 МПа. Давление подачи составляет 0,7 МПа, а в симуляцию сервопривод клапана открывается до 0,5-4 м. Во время симуляции давление увеличивается от начального давления 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')