В этом примере показано, как использовать программу Simulink Control Design из командной строки путем линеаризации системы управления обратной связью Simulink Model. Линеаризованная модель резервуара для воды с разомкнутым контуром извлекается в рабочей точке, где уровень в резервуаре составляет H = 10. Следующие 3 шага линеаризуют и анализируют модель резервуара для воды.
Дополнительные сведения о программном определении:
Входные и выходные точки линеаризации модели см. в разделах Указание части модели для линеаризации и Указание части модели для линеаризации в командной строке.
Поиск рабочих точек для линеаризации см. в разделах Вычислять рабочие точки устойчивого состояния из спецификаций и Вычислять рабочие точки из спецификаций в командной строке.
Откройте модель.
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
Этот следующий шаг включает в себя поиск рабочей точки модели 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
----------
Теперь можно выполнить линеаризацию модели завода с помощью функции ЛИНЕАРИЗАЦИЯ.
sys = linearize('watertank',opss,watertank_io);
Результирующая модель - это объект пространства состояния, который можно проанализировать с помощью любого из инструментов на панели инструментов системы управления.
bode(sys);

Закройте модель Simulink.
bdclose('watertank')