Документация Engee
Notebook

Системы автоматизированного управления

Открыть пример в Engee

В этом примере показано, как получить данные о частотной характеристике для SISO модели динамической системы пропорционально-интегрального регулятора.

ПИ-регулятор может сделать так, чтобы ошибка между желаемым значением и фактическим значением стала нулевой. Это означает, что он может добиться точности в регулировании.

Его настройка довольно проста. Нужно настроить всего два параметра: коэффициент усиления (Кр) и постоянную времени интегрирования (Ti). С помощью этих параметров можно достичь минимальной ошибки регулирования.

Справочные материалы по некоторым библиотекам:

In [ ]:
# Установка новой библиотеки может занять около минуты
using ControlSystems

using Plots;
gr()
#plotlyjs() # для интерактивных графиков

print("Библиотеки готовы!")
Библиотеки готовы!

Соединить SISO системы, описанные в пространстве состояний

In [ ]:
P1 = ssrand(1,1,1);
P2 = ssrand(1,1,1);
append(P1, P2)
Out[0]:
StateSpace{Continuous, Float64}
A = 
 -0.2524536214471187   0.0
  0.0                 -0.3574162051285983
B = 
 0.30175105771317484  0.0
 0.0                  1.1500354139870772
C = 
 0.6210941061472228  0.0
 0.0                 0.9581047028078271
D = 
 0.3742222874580735  0.0
 0.0                 0.1848146926902994

Continuous-time state-space model

Изучение отклика передаточной функции

Постройте ЛАФЧХ разомкнутой и замкнутой системы $$P(s) = \frac{1}{(s+1)^4}$$ при помощи функции gangoffourplot(), чтобы сделать выводы о чувствительности системы к колебаниям на разных частотах.

In [ ]:
P = ControlSystems.tf(1,[1,1])^4
gangoffourplot( P, tf(1), titlefont = font(9), guidefont = font(8))
Out[0]:

Графики показывают, что система слишком чувствительна при частотах около $\omega = 0.8$ рад/с.

Настройка PI-регулятора

Настройте PI-регулятор для системы $$P(s) = \frac{1}{(s+1)^4}$$

Используйте функцию loopshapingPI, указав, что в районе частоты $\omega = 0.8$ рад/с у системы должен быть запас по фазе в 60 градусов.

Выведите 4 графика – ЛАФЧХ для разомкнутой и для замкнутой системы с помощью функции gangoffourplot и годограф Найквиста с помощью функции nyquistplot.

In [ ]:
using ControlSystems, Plots

P = tf(1,[1,1])^4
ωp = 0.8
C,kp,ki = loopshapingPI(P, ωp, phasemargin=60, form=:parallel)

p1 = gangoffourplot(P, [tf(1), C]);
p2 = nyquistplot([P, P*C], ylims=(-1,1), xlims=(-1.5,1.5));

plot(p1,p2, layout=(2,1), size=(800,800))
Out[0]:

Вывод

В разобранном примере был проведён анализ системы автоматизированного управления PI-регулятора.

Также был изучен отклик передаточной функции и выполнена настройка PI-регулятора.