exponenta event banner

Модели обрезки и линеаризации Simulink

В этом примере показано, как использовать программу Simulink Control Design из командной строки путем линеаризации системы управления обратной связью Simulink Model. Линеаризованная модель резервуара для воды с разомкнутым контуром извлекается в рабочей точке, где уровень в резервуаре составляет H = 10. Следующие 3 шага линеаризуют и анализируют модель резервуара для воды.

Дополнительные сведения о программном определении:

Шаг 1: Настройка точек линеаризации

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

watertank

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

Укажите точку ввода.

watertank_io(1)=linio('watertank/PID Controller',1,'input');

Укажите выходную точку с проемом контура.

watertank_io(2)=linio('watertank/Water-Tank System',1,'openoutput');

Затем точки линеаризации можно задать и просмотреть в модели.

setlinio('watertank',watertank_io);
watertank

Шаг 2: Расчет и определение операционных точек

Этот следующий шаг включает в себя поиск рабочей точки модели Simulink «watertank» так, чтобы уровень резервуара был на Н = 10. Один из подходов заключается в моделировании модели, а затем извлечении рабочей точки, когда моделирование приближается к требуемому значению. Команда FINDOP будет моделировать модель и извлекать операционные точки в моменты времени, определенные в вызове функции.

opsim = findop('watertank',10)
 Operating point for the Model watertank.
 (Time-Varying Components Evaluated at time t=10)

States: 
----------
(1.) watertank/PID Controller/Integrator/Continuous/Integrator
      x: 1.69         
(2.) watertank/Water-Tank System/H
      x: 10.1         

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

В этой рабочей точке Н не имеет желаемого значения 10. Однако эту рабочую точку можно использовать для инициализации поиска требуемой рабочей точки, где H = 10. Объект спецификации рабочей точки позволяет задать требуемое значение H = 10.

Создайте объект спецификации операционной точки.

opspec = operspec('watertank');

Инициализируйте значения состояний спецификации рабочей точки с помощью значений в opsim рабочей точки.

opspec = initopspec(opspec,opsim);

Затем можно выполнить поиск (обрезку) указанной рабочей точки с помощью команды FINDOP.

opss = findop('watertank',opspec);
 Operating point search report:
---------------------------------

 Operating point search report for the Model watertank.
 (Time-Varying Components Evaluated at time t=10)

Operating point specifications were successfully met.
States: 
----------
(1.) watertank/PID Controller/Integrator/Continuous/Integrator
      x:          1.26      dx:             0 (0)
(2.) watertank/Water-Tank System/H
      x:            10      dx:      -1.1e-14 (0)

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

Outputs: None 
----------

Шаг 3: Линеаризация и анализ модели

Теперь можно выполнить линеаризацию модели завода с помощью функции ЛИНЕАРИЗАЦИЯ.

sys = linearize('watertank',opss,watertank_io);

Результирующая модель - это объект пространства состояния, который можно проанализировать с помощью любого из инструментов на панели инструментов системы управления.

bode(sys);

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

bdclose('watertank')

Связанные темы