该模型展示了如何在Simulink®模型中实现模糊推理系统(FIS)。万博1manbetx
该模型使用模糊逻辑控制器块实现的模糊推理系统来控制水箱中的水位。打开sltank
模型。
open_system (“sltank”)
对于这个系统,你用一个阀门来控制流入水箱的水。流出率取决于输出管的直径,它是恒定的,以及水箱内的压力,它随水位而变化。因此,系统具有非线性特性。
模糊系统定义在FIS对象中,坦克
,在MATLAB®工作空间。有关如何在模糊逻辑控制器块中指定FIS的详细信息,请参见模糊逻辑控制器.
模糊系统的两个输入是水位误差,水平
,以及水位的变化率,率
.每个输入都有三个成员函数。
图plotmf(坦克,“输入”1)图plotmf(坦克,“输入”, 2)
模糊系统的输出是控制阀开启或关闭的速率,阀
,它有五个成员函数。
plotmf(坦克,“输出”, 1)
由于流出管道的直径,这个系统中的水箱排空比充满要慢。为了弥补这种不平衡,close_slow
和open_slow
阀门成员功能是不对称的。PID控制器不支持这种不对称。万博1manbetx
模糊系统有五条规则。前三条规则只根据水位误差调整阀门。
如果水位正常,则不要调整阀门。
如果水位低,则迅速打开阀门。
如果水位过高,则应迅速关闭阀门。
另外两条规则是,当水位接近设定值时,根据水位的变化率调节阀门。
如果水位正常并在上升,则缓慢关闭阀门。
如果水位正常并在下降,则缓慢打开阀门。
坦克。规则
ans = 1 x5 fisrule数组属性:前期顺向体重连接细节描述:描述 ______________________________________________________ 1”水平= =好吧= >阀= no_change(1)”2 "液位==low =>阀=open_fast (1)"3 "液位==high =>阀=close_fast (1)"4 "level==ok & rate==positive => valve=close_slow (1)"5 "level==ok & rate==negative => valve=open_slow (1)"
在这个模型中,您还可以使用PID控制器来控制水位。要切换到PID控制器,将const块设置为大于或等于零的值。
该模型以水位设定值的周期性变化来模拟控制器。运行仿真。
sim卡(“sltank”, 100) open_system (“sltank /比较”)
水位与设定值吻合得很好。通过修改控制器的运行规则,可以调整控制器的性能坦克
金融中间人。例如,如果你移除最后两条规则(类似于微分控制动作),控制器的表现就会很差,水位会出现大的振荡。