自动化控制系统
此示例演示如何获取比例积分控制器动态系统的SISO模型的频率响应数据。
PI控制器可以使期望值和实际值之间的误差变为零。 这意味着它可以实现精确的调节。
它的设置非常简单。 只需要配置两个参数:增益因子(Kr)和积分时间常数(Ti)。 利用这些参数,能够实现最小的调节误差。
一些图书馆的参考资料:
-https://github.com/JuliaControl/ControlSystems.jl
-https://lampspuc ...github.io/StateSpaceModels.jl/latest/
In [ ]:
Pkg.add(["ControlSystems"])
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]:
研究传递函数的响应
使用函数构造开闭系统的LFCS$ $ gangoffourplot() 以得出关于系统对不同频率波动的敏感性的结论。
In [ ]:
P = ControlSystems.tf(1,[1,1])^4
gangoffourplot( P, tf(1), titlefont = font(9), guidefont = font(8))
Out[0]:
这些图表表明,系统在周围的频率下过于敏感 高兴/小号.
设置PI控制器
为系统设置PI控制器$ $
使用功能 loopshapingPI,表示在频率范围 Rad/s系统应具有60度相位裕度。
输出4个图形-使用函数的开放和封闭系统的LFC 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控制器。

