• 过控Matlab-实验法建立被控过程的数学模型(一)


    太原理工大学过程控制实验之实验法建立被控过程的数学模型

    实验内容

    1.利用MATLAB根据作图法建立系统的一阶惯性环节加纯迟延的近似数学模型。

    已知某液位对象,在阶跃扰动量△u(t)=20%时,其响应的试验数据如表1.1:
    在这里插入图片描述若将该液位对象近似为一阶惯性环节加纯迟延,试利用作图法确定其增益 K、时间常数 T和纯迟延时间τ。

    t=[0 10 20 40 60 80 100 140 180 250 300 400 500 600 700 800];
    h=[0 0 0.2 0.8 2.0 3.6 5.4 8.8 11.8 14.4 16.5 18.4 19.2 19.6 19.8 20];
    plot(t,h)
    grid
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述在这里插入图片描述

    t1=[0 10 20 40 60 80 100 140 180 250 300 400 500 600 700 800];
    h1=[0 0 0.2 0.8 2.0 3.6 5.4 8.8 11.8 14.4 16.5 18.4 19.2 19.6 19.8 20];
    [t2,x2,h2]=sim('a1_2',800);plot(t1,h1,'--',t2,h2)
    
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    2.利用MATLAB根据计算法建立系统的一阶惯性环节加纯迟延的近似数学模型。

    液位对象在阶跃扰动量△u(t)=20%时响应的试验数据如表1.1。利用计算法确定其增益K、时间常数T和纯迟延时间τ。

    tw=10;
    t=[10 20 40 60 80 100 140 180 250 300 400 500 600 700 800]-tw;
    h=[0 0.2 0.8 2.0 3.6 5.4 8.8 11.8 14.4 16.5 18.4 19.2 19.6 19.8 20];
    hh=h/h(length(h));
    h1=0.39;t1=interp1(hh,t,h1)+tw
    h2=0.63;t2=interp1(hh,t,h2)+tw
    T=2*(t2-t1),tao=2*t1-t2
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述在这里插入图片描述

    t1=[0 10 20 40 60 80 100 140 180 250 300 400 500 600 700 800];
    h1=[0 0 0.2 0.8 2.0 3.6 5.4 8.8 11.8 14.4 16.5 18.4 19.2 19.6 19.8 20];
    [t2,x2,h2]=sim('a2_2',800);plot(t1,h1,'--',t2,h2)
    
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    3.利用MATLAB根据计算法建立系统二阶惯性环节加纯迟延的近似数学模型。

    液位对象在阶跃扰动量△u(t)=20%时响应的试验数据如表1.1。利用计算法确定其增益K、时间常数T1、T2和纯迟延时间τ。

    tao=10;
    t=[10 20 40 60 80 100 140 180 250 300 400 500 600 700 800]-tao;
    h=[0 0.2 0.8 2.0 3.6 5.4 8.8 11.8 14.4 16.5 18.4 19.2 19.6 19.8 20];
    hh=h/h(length(h));plot(t,hh);
    h1=0.4;t1=interp1(hh,t,h1)
    h2=0.8;t2=interp1(hh,t,h2)
    if(abs(t1/t2-0.46)<0.01)
        T1=(t1+t2)/4.36;T2=T1;
    else if(t1/t2<0.46)
            if(abs(t1/t2-0.32)<0.01)
                T1=(t1+t2)/2.12;T2=0;
            else if(t1/t2<0.32)
                T1=(t1+t2)/2.12;T2=0;
                end
                if(t1/t2>0.32)
                    T12=(t1+t2)/2.16;
                    T1T2=(1.74*(t1/t2)-0.55)*T12^2;
                    disp(['T1+T2=',num2str(T12)])
                    disp(['T1*T2=',num2str(T1T2)])
                end
            end
        end
        if(t1/t2>0.46)
            disp('t1/t2>0.46,系统比较复杂,要用高阶惯性表示')
        end
    end
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    在这里插入图片描述在这里插入图片描述

    t1=[0 10 20 40 60 80 100 140 180 250 300 400 500 600 700 800];
    h1=[0 0 0.2 0.8 2.0 3.6 5.4 8.8 11.8 14.4 16.5 18.4 19.2 19.6 19.8 20];
    [t2,x2,h2]=sim('a3_2',800);plot(t1,h1,'--',t2,h2)
    
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    4.基于 ForceControl 组态软件的双容对象仿真和的数学建模

    双容水箱对象如图所示,系统包括两个横截面积分别为 F1 和 F2 的水箱 T1 和 T2;T1 T2 之间有截面积为 AF1 的阀门,其开度可调整。
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

    t=[0 10 20 40 60 80 100 150 200 300 400 500];
    h=[0.0 0.04 0.15 0.41 0.61 0.75 0.86 1.05 1.14 1.23 1.26 1.27];
    plot(t,h)
    
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    t=[0 10 20 40 60 80 100 150 200 300 400 500];
    h=[0.0 0.04 0.15 0.41 0.61 0.75 0.86 1.05 1.14 1.23 1.26 1.27];
    hh=h/h(length(h));
    h1=0.39;t1=interp1(hh,t,h1)
    h2=0.63;t2=interp1(hh,t,h2)
    T=2*(t2-t1)
    tao=2*t1-t2
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述
    在这里插入图片描述

    t=[0 10 20 40 60 80 100 150 200 300 400 500];
    h=[0.0 0.04 0.15 0.41 0.61 0.75 0.86 1.05 1.14 1.23 1.26 1.27];
    hh=h/h(length(h));plot(t,hh);
    h1=0.4;t1=interp1(hh,t,h1)
    h2=0.8;t2=interp1(hh,t,h2)
    if(abs(t1/t2-0.46)<0.01)
        T1=(t1+t2)/4.36;T2=T1;
    else if(t1/t2<0.46)
            if(abs(t1/t2-0.32)<0.01)
                T1=(t1+t2)/2.12;T2=0;
            else if(t1/t2<0.32)
                T1=(t1+t2)/2.12;T2=0;
                end
                if(t1/t2>0.32)
                    T12=(t1+t2)/2.16;
                    T1T2=(1.74*(t1/t2)-0.55)*T12^2;
                    disp(['T1+T2=',num2str(T12)])
                    disp(['T1*T2=',num2str(T1T2)])
                end
            end
        end
        if(t1/t2>0.46)
            disp('t1/t2>0.46,ϵͳ±È½Ï¸´ÔÓ£¬ÒªÓø߽׹ßÐÔ±í´ï')
        end
    end
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    在这里插入图片描述在这里插入图片描述在这里插入图片描述

    思考题

    1.根据原系统和近似系统的阶跃响应曲线,分析利用S形作图法、一阶惯性环节加纯延迟及二阶惯性环节加纯延迟的计算法求得的近似系统数学模型的误差大小,对比作图法和计算法的优缺点?
    误差大小:S形作图法误差较大;
    一阶惯性环节加纯延迟误差较小;
    二阶惯性环节加纯延迟误差非常小。
    对比作图法和计算法的优缺点?
    作图法:优点是十分简单,而且在实践中证明可以成功的应用到PID控制器的参数整定;
    缺点是曲线拟合程度一般较差,切线画法有很大的随意性;
    计算法:优点是曲线拟合程度好;
    缺点是过程复杂,且特定点的选择也具有一定的随意性。

    2.不同的水箱对象面积,对系统特性有什么影响?
    在这里插入图片描述

  • 相关阅读:
    rust &String 和 &str 区别
    Java进击框架:Spring-数据存取(七)
    一文快速上手 Nacos 注册中心+配置中心!
    深入理解main函数
    将CString里的连续字符串压缩为一个
    C++学习笔记--黑马程序员
    南京邮电大学C++实验四(流运算符的重载及文件的使用)
    Android WMS——ViewRootImpl分析(六)
    stack和queque
    【CLI命令行接口和Java连接openLooKeng查询数据 】
  • 原文地址:https://blog.csdn.net/weixin_46424753/article/details/127945992