zoukankan      html  css  js  c++  java
  • MIMO PID 调节示例--参考matlab 文档

    MIMO PID 调节示例

    参考:Tune MIMO Control System for Specified Bandwidth - MATLAB & Simulink (mathworks.com)

              Decoupling Controller for a Distillation Column - MATLAB & Simulink (mathworks.com)

    程序

    clc;clear; close all;
    
    s = tf('s');
    G = 1/(75*s+1)*[87.8 -86.4; 108.2 -109.6]
    G.InputName = {'qL','qV'};
    G.OutputName = 'y';
    sys_ss = ss(G);
    [AS,BS,CS,DS] =ssdata(sys_ss);
    
    D = tunableGain('Decoupler',eye(2));
    D.InputName = 'e';
    D.OutputName = {'pL','pV'};
    
    PI_L = tunablePID('PI_L','pi');
    PI_L.InputName = 'pL';
    PI_L.OutputName = 'qL';
      
    PI_V = tunablePID('PI_V','pi'); 
    PI_V.InputName = 'pV';
    PI_V.OutputName = 'qV'; 
    
    sum1 = sumblk('e = r - y',2);
    
    C0 = connect(PI_L,PI_V,D,sum1,{'r','y'},{'qL','qV'});
    
    wc = [0.1,1];
    [G,C,gam,Info] = looptune(G,C0,wc);
    
    showTunable(C)
    
    T = connect(G,C,'r','y');
    step(T)

     输出结果:

    sys_ss =
     
      A = 
                 x1        x2
       x1  -0.01333         0
       x2         0  -0.01333
     
      B = 
           qL  qV
       x1   2   0
       x2   0   2
     
      C = 
                  x1       x2
       y(1)   0.5853   -0.576
       y(2)   0.7213  -0.7307
     
      D = 
             qL  qV
       y(1)   0   0
       y(2)   0   0
     
    Continuous-time state-space model.
    
    
    AS =
    
       -0.0133         0
             0   -0.0133
    
    
    BS =
    
         2     0
         0     2
    
    
    CS =
    
        0.5853   -0.5760
        0.7213   -0.7307
    
    
    DS =
    
         0     0
         0     0
    
    Final: Peak gain = 0.973, Iterations = 19
    Achieved target gain value TargetGain=1.
    Decoupler =
     
      D = 
               u1      u2
       y1   2.139  -1.303
       y2  -1.584   1.295
     
    Name: Decoupler
    Static gain.
    -----------------------------------
    PI_L =
     
                 1 
      Kp + Ki * ---
                 s 
    
      with Kp = 1.5, Ki = 0.0429
     
    Name: PI_L
    Continuous-time PI controller in parallel form.
    -----------------------------------
    PI_V =
     
                 1 
      Kp + Ki * ---
                 s 
    
      with Kp = -1.74, Ki = -0.0532
     
    Name: PI_V
    Continuous-time PI controller in parallel form.

      输出响应曲线:

    依照参考网页搭建simulink模型

    输出响应: 

    本文版权归作者和博客园所有,欢迎转载,但请在文章也页面明显位置给出原文链接。如对文章有任何意见或者建议,欢迎评论。个人才疏学浅,文章如有错误,欢迎指正,也欢迎大家分享交流自己更好的方法! 此外有时由于太懒不是自己写上去的,引用了一些大佬的文章,如有忘记备注原文内容链接,实非故意。
  • 相关阅读:
    架构之路(六):把框架拉出来
    读取mdb文件
    基类、子类之间的类型转换
    WPF Trigger
    WPF 打开txt文件
    C# 匿名方法
    自定义显隐式类型转换
    枚举获得Description扩展方法
    IFormattable和IFormatProvider
    WPF DataGrid下滑动态加载数据
  • 原文地址:https://www.cnblogs.com/csymemory/p/14492108.html
Copyright © 2011-2022 走看看