使用对象模型对自动控制系统进行建模
自动控制系统(ACS)的模型以框图的形式呈现。 它包含描述单个对象动态的块。 例如,执行器、传感器和控制器。 在本文中,我们将考虑使用ACS模型的功能。 我们将定义设置对象模型的方法,结构转换的一些函数和时间特征的构建。
让我们考虑ACS的结构方案,其中包含滤波器块 ,一个管理对象 ,控制器 和传感器 .
Engee使用控制系统。jl库与控制系统一起工作.
In [ ]:
Pkg.add(["ControlSystems"])
In [ ]:
#Подключение библиотеки
using ControlSystems
系统组件中的每一个可以表示为对象模型。 例如,管理对象 使用函数在s=-1中设置为具有双极的增益因子 zpk(). 控制器由 ,表示为使用函数的PID控制器 pid(). 模型 和 可以指定为传递函数使用 tf().
In [ ]:
G = zpk([], [-1, -1], 1)
Out[0]:
In [ ]:
C = pid(2, 1.3, 0.3; Tf = 0.5)
Out[0]:
In [ ]:
S = tf(5, [1, 4])
Out[0]:
In [ ]:
F = tf(1, [1, 1])
Out[0]:
电路元件的规定的传递函数可以相互组合。 例如,我们使用算子获得开放系统的传递函数 *.
In [ ]:
op = C*G*S
Out[0]:
为了构造封闭系统的传递函数,我们使用函数 feedback().
In [ ]:
cl = feedback(C*G,S)
Out[0]:
我们获得整个系统的传递函数,同时考虑到滤波器 . 为此,请使用函数 series().
In [ ]:
W = series(cl, F)
Out[0]:
所有接收到的功能都可以使用控制系统进行分析。jl库。 例如,让我们来看看时间特征。 我们使用函数构造系统的过渡特性 step(),和脉冲响应使用 impulse().
In [ ]:
#Подключение библиотеки для построения графиков
using Plots
ht = step(W,30)
plot(ht, title="Переходная функция", label="h(t)")
Out[0]:
In [ ]:
#Построение импульсной характеристики
kt = impulse(W,30)
plot(kt, title="Импульсная функция", label="k(t)")
Out[0]:
在ConrtrolSystems中还有其他用于分析自动控制系统模型的功能。jl库。 它们可以在[时间和频率特性分析]部分进行研究(https://engee.com/helpcenter/stable/julia/ControlSystems/lib/timefreqresponse.html )。