控制系统仿真实验三报告
- 格式:docx
- 大小:60.40 KB
- 文档页数:5
plc虚拟仿真实验实践报告PLC(可编程逻辑控制器)虚拟仿真实验实践报告。
引言:PLC(可编程逻辑控制器)是一种专门用于工业自动化控制的电子设备,它通过编程控制输入输出信号,实现对生产过程的监控和控制。
虚拟仿真技术在工业自动化领域中得到了广泛应用,它可以提供一个虚拟环境,用于模拟真实的工业场景和PLC控制系统的运行情况。
本报告将详细介绍PLC虚拟仿真实验的实践过程和结果,包括实验目的、实验环境、实验步骤、实验数据和分析等。
一、实验目的:本次实验的主要目的是通过PLC虚拟仿真实验,掌握PLC控制系统的基本原理和操作方法,了解PLC的输入输出信号的连接方式,学习PLC程序的编写和调试技巧,以及掌握PLC控制系统的故障排除方法。
二、实验环境:本次实验使用了PLC虚拟仿真软件,该软件提供了一个虚拟的PLC控制系统环境,包括PLC主控单元、输入输出模块、人机界面等组成部分。
通过该软件,可以实现对PLC控制系统的编程、仿真和调试。
三、实验步骤:1. 确定实验的控制任务和要求,设计PLC程序的逻辑流程图。
2. 在PLC虚拟仿真软件中创建一个新的项目,并配置PLC主控单元和输入输出模块。
3. 编写PLC程序,根据逻辑流程图,使用虚拟仿真软件提供的编程语言进行编程。
4. 载入PLC程序到虚拟PLC控制系统中,并进行仿真运行。
5. 观察仿真结果,检查是否符合预期的控制逻辑,如有错误,进行调试和修改。
6. 记录实验数据,包括输入输出信号的状态、PLC程序的执行情况等。
7. 分析实验数据,对比预期结果和实际结果,找出差异的原因,并进行总结和归纳。
四、实验数据和分析:在实验过程中,记录了输入输出信号的状态和PLC程序的执行情况。
通过对实验数据的分析,可以得出以下结论:1. 输入输出信号的连接方式正确,PLC能够正确地接收输入信号,并根据程序逻辑控制输出信号。
2. PLC程序的逻辑流程正确,能够实现预期的控制任务。
3. 在实验过程中,可能会遇到一些错误和故障,需要进行调试和排除。
一、实验目的1. 熟悉MATLAB/Simulink仿真软件的基本操作。
2. 学习控制系统模型的建立与仿真方法。
3. 通过仿真分析,验证理论知识,加深对自动控制原理的理解。
4. 掌握控制系统性能指标的计算方法。
二、实验内容本次实验主要分为两个部分:线性连续控制系统仿真和非线性环节控制系统仿真。
1. 线性连续控制系统仿真(1)系统模型建立根据题目要求,我们建立了两个线性连续控制系统的模型。
第一个系统为典型的二阶系统,其开环传递函数为:\[ G(s) = \frac{1}{(s+1)(s+2)} \]第二个系统为具有迟滞环节的系统,其开环传递函数为:\[ G(s) = \frac{1}{(s+1)(s+2)(s+3)} \](2)仿真与分析(a)阶跃响应仿真我们对两个系统分别进行了阶跃响应仿真,并记录了仿真结果。
(b)频率响应仿真我们对两个系统分别进行了频率响应仿真,并记录了仿真结果。
(3)性能指标计算根据仿真结果,我们计算了两个系统的性能指标,包括上升时间、超调量、调节时间等。
2. 非线性环节控制系统仿真(1)系统模型建立根据题目要求,我们建立了一个具有饱和死区特性的非线性环节控制系统模型。
其传递函数为:\[ W_k(s) = \begin{cases}1 & |s| < 1 \\0 & |s| \geq 1\end{cases} \](2)仿真与分析(a)阶跃响应仿真我们对非线性环节控制系统进行了阶跃响应仿真,并记录了仿真结果。
(b)相轨迹曲线绘制根据仿真结果,我们绘制了四条相轨迹曲线,以分析非线性环节对系统性能的影响。
三、实验结果与分析1. 线性连续控制系统仿真(a)阶跃响应仿真结果表明,两个系统的性能指标均满足设计要求。
(b)频率响应仿真结果表明,两个系统的幅频特性和相频特性均符合预期。
2. 非线性环节控制系统仿真(a)阶跃响应仿真结果表明,非线性环节对系统的性能产生了一定的影响,导致系统响应时间延长。
《MATLAB与控制系统仿真》实验报告一、实验目的本实验旨在通过MATLAB软件进行控制系统的仿真,并通过仿真结果分析控制系统的性能。
二、实验器材1.计算机2.MATLAB软件三、实验内容1.搭建控制系统模型在MATLAB软件中,通过使用控制系统工具箱,我们可以搭建不同类型的控制系统模型。
本实验中我们选择了一个简单的比例控制系统模型。
2.设定输入信号我们需要为控制系统提供输入信号进行仿真。
在MATLAB中,我们可以使用信号工具箱来产生不同类型的信号。
本实验中,我们选择了一个阶跃信号作为输入信号。
3.运行仿真通过设置模型参数、输入信号以及仿真时间等相关参数后,我们可以运行仿真。
MATLAB会根据系统模型和输入信号产生输出信号,并显示在仿真界面上。
4.分析控制系统性能根据仿真结果,我们可以对控制系统的性能进行分析。
常见的性能指标包括系统的稳态误差、超调量、响应时间等。
四、实验步骤1. 打开MATLAB软件,并在命令窗口中输入“controlSystemDesigner”命令,打开控制系统工具箱。
2.在控制系统工具箱中选择比例控制器模型,并设置相应的增益参数。
3.在信号工具箱中选择阶跃信号,并设置相应的幅值和起始时间。
4.在仿真界面中设置仿真时间,并点击运行按钮,开始仿真。
5.根据仿真结果,分析控制系统的性能指标,并记录下相应的数值,并根据数值进行分析和讨论。
五、实验结果与分析根据运行仿真获得的结果,我们可以得到控制系统的输出信号曲线。
通过观察输出信号的稳态值、超调量、响应时间等性能指标,我们可以对控制系统的性能进行分析和评价。
六、实验总结通过本次实验,我们学习了如何使用MATLAB软件进行控制系统仿真,并提取控制系统的性能指标。
通过实验,我们可以更加直观地理解控制系统的工作原理,为控制系统设计和分析提供了重要的工具和思路。
七、实验心得通过本次实验,我深刻理解了控制系统仿真的重要性和必要性。
MATLAB软件提供了强大的仿真工具和功能,能够帮助我们更好地理解和分析控制系统的性能。
第1篇实验名称:仿真软件操作实验实验目的:1. 熟悉仿真软件的基本操作和界面布局。
2. 掌握仿真软件的基本功能,如建模、仿真、分析等。
3. 学会使用仿真软件解决实际问题。
实验时间:2023年X月X日实验地点:计算机实验室实验器材:1. 仿真软件:XXX2. 计算机一台3. 实验指导书实验内容:一、仿真软件基本操作1. 打开软件,熟悉界面布局。
2. 学习软件菜单栏、工具栏、状态栏等各个部分的功能。
3. 掌握文件操作,如新建、打开、保存、关闭等。
4. 熟悉软件的基本参数设置。
二、建模操作1. 学习如何创建仿真模型,包括实体、连接器、传感器等。
2. 掌握模型的修改、删除、复制等操作。
3. 学会使用软件提供的建模工具,如拉伸、旋转、镜像等。
三、仿真操作1. 设置仿真参数,如时间、步长、迭代次数等。
2. 学习如何进行仿真,包括启动、暂停、继续、终止等操作。
3. 观察仿真结果,包括数据、曲线、图表等。
四、分析操作1. 学习如何对仿真结果进行分析,包括数据统计、曲线拟合、图表绘制等。
2. 掌握仿真软件提供的分析工具,如方差分析、回归分析等。
3. 将仿真结果与实际数据或理论进行对比,验证仿真模型的准确性。
实验步骤:1. 打开仿真软件,创建一个新项目。
2. 在建模界面,根据实验需求创建仿真模型。
3. 设置仿真参数,启动仿真。
4. 观察仿真结果,进行数据分析。
5. 将仿真结果与实际数据或理论进行对比,验证仿真模型的准确性。
6. 完成实验报告。
实验结果与分析:1. 通过本次实验,掌握了仿真软件的基本操作,包括建模、仿真、分析等。
2. 在建模过程中,学会了创建实体、连接器、传感器等,并能够进行模型的修改、删除、复制等操作。
3. 在仿真过程中,成功设置了仿真参数,启动了仿真,并观察到了仿真结果。
4. 在分析过程中,运用了仿真软件提供的分析工具,对仿真结果进行了数据分析,并与实际数据或理论进行了对比,验证了仿真模型的准确性。
采样控制系统仿真实验报告姓名胡晓健班级13学号08001331课题内容1、应用采样工作原理和离散控制系统设计方法设计采样控制系统。
2、掌握采样控制系统的特点及采样控制系统仿真的特殊问题,运用采样控制系统数字仿真的一般方法(差分方程递推求解法和对离散、连续部分分别计算的双重循环法)及Simulink 对系统进行仿真。
3、给出仿真设计方案和仿真模型。
4、仿真分析。
具体内容:采样控制系统如下图所示:一. 设计要求① 设被控对象sss G o +=21)(,采用零阶保持器,数字控制器为5.015.2)(+-=z z z D ,采样周期T=0.1s 。
应用差分方程递推求解法求系统输出的单位阶跃响应,并求其超调量、上升时间、峰值时间。
设计方案和实现差分方程递推求解法在构成采样控制仿真模型时,若连续部分不要求计算内部状态变量或不含非线性环节,则可以同样的采样周期分别建立离散部分和连续部分的差分方程,然后采用差分方程递推求解。
由题意可知被控对象不含非线性环节且不要求计算其内部状态变量,为了简化仿真过程并提高仿真精度,将连续部分的离散化模型嵌入到整个仿真模型中,即求出系统闭环脉冲传递函数(离散化模型),得到系统的差分方程后递推求解由题意得数字控制器(离散部分)为5.015.2)(+-=z z z D求解传递函数的程序如下:Ts=0.1 %采样周期num1=[1]den1=[1,1,0]G1c=tf(num1,den1)G1d=c2d(G1c,Ts) %采用零阶保持法进行系统变换G2d=tf([2.5 -1],[1 0.5],0.1)Gd=G1d*G2dGHd=feedback(Gd,1) %建立闭环系统模型Ts =0.1000num1 =1den1 =1 1 0%G1c的传递函数Transfer function:1-------s^2 + s%G1c转换后的Z传递函数Transfer function:0.004837 z + 0.004679----------------------z^2 - 1.905 z + 0.9048Sampling time: 0.1%G2d的传递函数Transfer function:2.5 z - 1---------z + 0.5Sampling time: 0.1%开环系统的Z传递函数Transfer function:0.01209 z^2 + 0.00686 z - 0.004679------------------------------------z^3 - 1.405 z^2 - 0.04758 z + 0.4524Sampling time: 0.1%闭环系统的Z 传递函数 Transfer function:0.01209 z^2 + 0.00686 z - 0.004679 ------------------------------------z^3 - 1.393 z^2 - 0.04072 z + 0.4477Sampling time: 0.1由上式可知当采样周期为T =0.1s 时,连续部分的脉冲传递函数为系统闭环脉冲传递函数系统差分方程为求解差分方程的MATLAB 程序如下clear allm=2;n=3; % 明确脉冲传递函数分子m=2;分母n=3 A=[-1.393 -0.04072 0.4477]; % 脉冲传递函数分母多项式的系数行向量 B=[0.01209 0.00686 -0.004679]; % 脉冲传递函数分子多项式的系数行向量R=zeros(m+1,1); % 建立参与递推运算的输入信号序列存储列向量Y=zeros(n,1); % 建立参与递推运算的输出信号序列存储列向量 T=0.1; % 明确采样周期T =0.1sM=150; % 设定仿真总时间为M*T=15s(进行M=150次递推计算) yt=0;t=0;for k=1:MR(k)=1; % r (t )=1(t )的离散序列R(0)=R(1)=…R(k)=1 R=[R(k);R(1:m)];% 刷新参与递推运算的输入信号序列 yk=-A*Y+B*R; % 递推运算21219048.0905.1104679.0004837.0)(----+-+=zzz z z G 3213214477.004072.0393.11004679.000686.001209.0)()(1)()()()()(------+---+=+==zz z zzzz G z D z G z D z R z Y z G cl )3(004679.0)2(00686.0)1(01209.0)3(4477.0)2(04072.0)1(393.1)(---+-+---+-=k k r k r k y k y k y k yY=[yk;Y(1:n-1)];% 刷新参与递推运算的输出信号序列yt=[yt,yk]; % yt 为记载各采样(kT)时刻输出响应的行向量 t=[t,k*T]; % t 为记载各采样(kT)时刻的行向量(与yt 对应) endplot(t,yt,'*k'); % 绘制各采样(kT)时刻的输出响应图 grid;xlabel('time(s)'); ylabel('y(kT)');超调量 σ% 指响应的最大偏离量h(tp)与终值h (∞)的差与终值h (∞)比的百分数h(tp)-h %*100%h σ∞=∞()()峰值时间 tp 指响应超过其终值到达第一个峰值所需的时间上升时间 tr 指响应从终值10%上升到终值90%所需的时间求超调量的程序 maxy=max(yt); yss=yt(length(t));pos=100*(maxy-yss)/yss求峰值时间的程序 for i=1:50if yt(i)==maxy,n=i;end endtp=(n-1)*15/length(t)求上升时间的程序 for i=1:50if (yt(i)<yss*0.1),t1=i;end if (yt(i)<yss*0.9),t2=i;end endts=(t2-t1)*15/length(t)测试和结果.输出的单位阶跃响应为由程序算出的超调量,峰值时间和上升时间超调量pos = 14.0155峰值时间tp =3.5762上升时间ts =1.6887由上面两张截图算出的超调量σ%=(1.163-1.02)/1.02=14.02%峰值时间tp=3.6由上面两张截图可得上升时间tr=2-0.4=1.6性能分析该仿真算法不仅简单易行且仿真精度高。
一、实验目的1. 掌握控制系统仿真的基本原理和方法;2. 熟练运用MATLAB/Simulink软件进行控制系统建模与仿真;3. 分析控制系统性能,优化控制策略。
二、实验内容1. 建立控制系统模型2. 进行仿真实验3. 分析仿真结果4. 优化控制策略三、实验环境1. 操作系统:Windows 102. 软件环境:MATLAB R2020a、Simulink3. 硬件环境:个人电脑一台四、实验过程1. 建立控制系统模型以一个典型的PID控制系统为例,建立其Simulink模型。
首先,创建一个新的Simulink模型,然后添加以下模块:(1)输入模块:添加一个阶跃信号源,表示系统的输入信号;(2)被控对象:添加一个传递函数模块,表示系统的被控对象;(3)控制器:添加一个PID控制器模块,表示系统的控制器;(4)输出模块:添加一个示波器模块,用于观察系统的输出信号。
2. 进行仿真实验(1)设置仿真参数:在仿真参数设置对话框中,设置仿真时间、步长等参数;(2)运行仿真:点击“开始仿真”按钮,运行仿真实验;(3)观察仿真结果:在示波器模块中,观察系统的输出信号,分析系统性能。
3. 分析仿真结果根据仿真结果,分析以下内容:(1)系统稳定性:通过观察系统的输出信号,判断系统是否稳定;(2)响应速度:分析系统对输入信号的响应速度,评估系统的快速性;(3)超调量:分析系统超调量,评估系统的平稳性;(4)调节时间:分析系统调节时间,评估系统的动态性能。
4. 优化控制策略根据仿真结果,对PID控制器的参数进行调整,以优化系统性能。
调整方法如下:(1)调整比例系数Kp:增大Kp,提高系统的快速性,但可能导致超调量增大;(2)调整积分系数Ki:增大Ki,提高系统的平稳性,但可能导致调节时间延长;(3)调整微分系数Kd:增大Kd,提高系统的快速性,但可能导致系统稳定性下降。
五、实验结果与分析1. 系统稳定性:经过仿真实验,发现该PID控制系统在调整参数后,具有良好的稳定性。
MATLAB/Simulink与控制系统仿真实验报告姓名:喻彬彬学号:K031541725实验1、MATLAB/Simulink 仿真基础及控制系统模型的建立一、实验目的1、掌握MATLAB/Simulink 仿真的基本知识;2、熟练应用MATLAB 软件建立控制系统模型。
二、实验设备电脑一台;MATLAB 仿真软件一个三、实验内容1、熟悉MATLAB/Smulink 仿真软件。
2、一个单位负反馈二阶系统,其开环传递函数为210()3G s s s =+。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
3、某控制系统的传递函数为()()()1()Y s G s X s G s =+,其中250()23s G s s s+=+。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
4、一闭环系统结构如图所示,其中系统前向通道的传递函数为320.520()0.11220s G s s s s s+=+++,而且前向通道有一个[-0.2,0.5]的限幅环节,图中用N 表示,反馈通道的增益为1.5,系统为负反馈,阶跃输入经1.5倍的增益作用到系统。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
四、实验报告要求实验报告撰写应包括实验名称、实验内容、实验要求、实验步骤、实验结果及分析和实验体会。
五、实验思考题总结仿真模型构建及调试过程中的心得体会。
题1、(1)利用Simulink的Library窗口中的【File】→【New】,打开一个新的模型窗口。
(2)分别从信号源库(Sourse)、输出方式库(Sink)、数学运算库(Math)、连续系统库(Continuous)中,用鼠标把阶跃信号发生器(Step)、示波器(Scope)、传递函数(Transfern Fcn)和相加器(Sum)4个标准功能模块选中,并将其拖至模型窗口。
实验三 控制系统典型环节的模拟电路实验一、实验目的与要求(1) 学习典型环节的数学模型的建立,掌握典型环节模拟电路的构成方法。
(2) 学习瞬态性能指标的测试性能。
(3) 了解参数对系统瞬态性能及稳定性的影响。
(4) 利用EWB 软件软件仿真,观察典型环节的阶跃响应曲线,通过实验了解典型环节中参数的变化对输出动态性能的影响。
二、实验设备和仪器计算机(仿真用)软件:EWB三、实验原理和电路:(一)利用运算放大器的基本特性(开环增益高、输入阻抗大、输出阻抗小等),设置不同的反馈网络来模拟各种环节。
典型环节原理方框图及其模拟电路如下: 1、比例环节(P)。
其方框图如图1-1A 所示:其传递函数是:K S Ui S U =)()(0 (1-1)(学习比较模拟电路与方框图传递函数之间的关系) 比例环节的模拟电路图如图1-1B 所示,其传递函数是:10)()(R R S Ui S U = (1-2)比较式(1-1)和(1-2)得 01R R K = (1-3) 当输入为单位阶跃信号,即)(1)(t t U i =时,S s U i /1)(=,则由式(1-1)得到:SK S U 1)(0∙=所以输出响应为: K U =0 )0(≥tKU i(S)U o(S)图1-1A 比例环节方框图图1-1B 比例环节模拟电路 R 0=200K R 1=100K ;(200K )R 0R 1R R U iU o10K10K+-+-10K100Ko p5o p6(1-4)2、积分环节。
其方框图如图1-2A 所示。
其传递函数为:TSS Ui S U 1)()(0= (1-5)(学习比较模拟电路与方框图传递函数之间的关系) 积分环节的模拟电路图如图1-2B 所示。
积分环节的模拟电路的传递函数为:CSR S Ui S U 001)()(=(1-6)比较式(1-5)和(1-6)得:C R T 0= (1-7)当输入为单位阶跃信号,即)(1)(t t U i =时,S S U i 1)(=,则由式(1-5)得到:op5op6R 0UoCR 10KU i图1-2B 积分环节模拟电路C=1μf(2μf);R 0=200KR 10K 100K10K--U i(S)U o(S)1TS图1-2A 积分环节方框图2111)(TSSTSS Uo=∙=所以输出响应为:t Tt U o 1)(=(1-8)3、比例积分(PI)环节。
控制系统仿真实验报告班级:测控1402班姓名:王玮学号:072018年01月实验一经典的连续系统仿真建模方法一实验目的:1 了解和掌握利用仿真技术对控制系统进行分析的原理和步骤。
2 掌握机理分析建模方法。
3 深入理解阶常微分方程组数值积分解法的原理和程序结构,学习用Matlab编写数值积分法仿真程序。
4 掌握和理解四阶Runge-Kutta法,加深理解仿真步长与算法稳定性的关系。
二实验内容:1. 编写四阶 Runge_Kutta 公式的计算程序,对非线性模型(3)式进行仿真。
(1)将阀位u 增大10%和减小10%,观察响应曲线的形状;(2)研究仿真步长对稳定性的影响,仿真步长取多大时RK4 算法变得不稳定(3)利用 MATLAB 中的ode45()函数进行求解,比较与(1)中的仿真结果有何区别。
2. 编写四阶 Runge_Kutta 公式的计算程序,对线性状态方程(18)式进行仿真(1)将阀位增大10%和减小10%,观察响应曲线的形状;(2)研究仿真步长对稳定性的影响,仿真步长取多大时RK4 算法变得不稳定(4)阀位增大10%和减小10%,利用MATLAB 中的ode45()函数进行求解阶跃响应,比较与(1)中的仿真结果有何区别。
三程序代码:龙格库塔:%RK4文件clccloseH=[,]';u=; h=1;TT=[];XX=[];for i=1:h:200k1=f(H,u);k2=f(H+h*k1/2,u);k3=f(H+h*k2/2,u);k4=f(H+h*k3,u);H=H+h*(k1+2*k2+2*k3+k4)/6;TT=[TT i];XX=[XX H];end;hold onplot(TT,XX(1,:),'--',TT,XX(2,:)); xlabel('time')ylabel('H')gtext('H1')gtext('H2')hold on水箱模型:function dH=f(H,u)k=;u=;Qd=;A=2;a1=;a2=;dH=zeros(2,1);dH(1)=1/A*(k*u+Qd-a1*sqrt(H(1)));dH(2)=1/A*(a1*sqrt(H(1))-a2*sqrt(H(2)));2编写四阶 Runge_Kutta 公式的计算程序,对线性状态方程(18)式进行仿真:1 阀值u对仿真结果的影响U=;h=1; U=;h=1;U=;h=1;2 步长h对仿真结果的影响:U=;h=5; U=;h=20;U=;h=39 U=;h=50由以上结果知,仿真步长越大,仿真结果越不稳定。
实验三采样系统的仿真
一实验目的
1.掌握理解数字控制系统的仿真技术。
2.掌握理解增量式 PID 数字控制器的实现方法。
二实验内容1
根据上面的各式,编写仿真程序。
取K P= 1.89 ,T i = 30 s, T d= 7.5s,T = 10s,H2set _ percent = 80,tend = 700 , 进行仿真实验,绘制仿真曲线。
clc
clear all
A=2;
ku=0.1/0.5;
H10=1.5;
H20=1.4;
alpha12 = 0.25/sqrt(H10);
alpha2 = 0.25/sqrt(H20);
R12=2*sqrt(H10)/alpha12;
R2=2*sqrt(H20)/alpha2;
H1SpanLo=0;
H2SpanLo=0;
H1SpanHi=2.52;
H2SpanHi=2.52;
Kp=1.89;
Ti=30;
Td=10;
ad = 1/(A*R12);
a1 = 1/(A*R12);
a2 = 1/(A*R2);
Kc=Kp/Ti;
bc=Ti;
Kd = 1/A;
K1 = ku/A;
K2 = 1/(A*R12);
beta1=1/(a1*a2);
beta3=beta1*a1/(a2-a1);
beta2=-beta1-beta3;
u(1)=0;u(2)=0;u(3)=0;
y(1)=0;y(2)=0;y(3)=0;
nCounter = 70;
T=10;
k=2;
deltuU=0;
e(1)=0;e(2)=0;e(3)=0;
uc(1)=0;
H20_percent=(H20-H2SpanLo)/(H2SpanHi-H2SpanLo)*100;
H2set_percent=80;
tend = nCounter*T;
for t=2*T:T:tend
k=k+1;
e(3)=(H2set_percent -
(y(k-1)+H20-H2SpanLo)/(H2SpanHi-H2SpanLo)*100)/100;
deltaU=Kp*(e(3)-e(2))+Kp*T/Ti*e(3)+Kp*Td/T*[e(3)-2*e(2)+e(1)];
e(1)=e(2);
e(2)=e(3);
u(k)=u(k-1)+deltaU;
y(k)=(exp(-a1*T)+exp(-a2*T))*y(k-1) -
exp(-(a1+a2)*T)*y(k-2)+K1*K2*(beta1+beta2+beta3)*u(k)- ...
K1*K2*(beta1*(exp(-a1*T)+exp(-a2*T))+beta2*(1+exp(-a2*T)) ...
+beta3*(1+exp(-a1*T)))*u(k-1)+K1*K2*(beta1*exp(-(a1+a2)*T)+beta2*exp( -a2*T)+ ...
beta3*exp(-a1*T))*u(k-2) ;
y(k-2)=y(k-1);
y(k-1)=y(k);
u(k-2)=u(k-1);
u(k-1)=u(k);
end
y=(y+H20-H2SpanLo)/(H2SpanHi-H2SpanLo)*100;
y2sp=H2set_percent*ones(size(y'));
u=(u+0.5)*100;
Hlevel(:,1)=y;
Hlevel(:,2)=y;
y1=y;
y2=y;
textPositionH1=max(Hlevel(:,1));
textPositionH2=max(Hlevel(:,2));
H2Steady=Hlevel(size(Hlevel(:,1),1),1)*ones(size(y1'));
xmax=max(0:T:tend);
xmin=0;
ymax=90;
ymin=50;
scrsz = get(0,'ScreenSize');
gca=figure('Position',[5 10 scrsz(3)-10 scrsz(4)-90]) %gca=figure('Position',[5 10 scrsz(3)/2 scrsz(4)/1.5])
set(gca,'Color','w');
plot(0:T:tend,Hlevel(:,1),'b','LineWidth',2)
hold on
plot(0:T:tend,y2sp,'k','LineWidth',2)
line([tend/2 tend/2+27],[(ymax-ymin)/2+ymin-(ymax-ymin)/6
(ymax-ymin)/2+ymin-(ymax-ymin)/6],'Color','b','LineWidth',6)
text(tend/2+27,(ymax-ymin)/2+ymin-(ymax-ymin)/6,' 第二个水箱的液位
H2','FontSize',16)
line([tend/2 tend/2+27],[(ymax-ymin)/2+ymin-(ymax-ymin)/4.2 (ymax-ymin)/2+ymin-(ymax-ymin)/4.2],'Color','k','LineWidth',6)
text(tend/2+27,(ymax-ymin)/2+ymin-(ymax-ymin)/4.2,' 第二个水箱的液位给定值','FontSize',16)
axis([xmin xmax ymin ymax]);
text(tend/5,ymax+1.5,' 实验三 PID数字控制器控制效果','FontSize',22) grid
结果:
三实验内容 2
(1)针对实验二的第一部分内容,利用Simulink 建立该系统,取K P = 1.78 ,
T i = 85s,ΔH2 s =0,ΔQd = 0.05 ,进行仿真实验,观察响应曲线。
(2)针对实验二的第二部分内容,利用Simulink 建立该系统,取K P= 1.78,T i= 85s, T = 10s,ΔH2 s =H2set _ percent = 80,ΔQd =0 ,tend = 700,进行仿真实验,观察
响应曲线。
四实验报告
实验完成后,要写出实验报告,内容包括:
1.实验步骤及说明;
2.实验所用的仿真程序清单,以及程序结构的简单说明;
3. 画出三中的SUIMULINK图。
五思考题
讨论增量式PID算法优点
增量式算法优点:①算式中不需要累加。
控制增量Δu(k)的确定仅与最近3次的采样值有关,容易通过加权处理获得比较好的控制效果;②计算机每次只输出控制增量,即对应执行机构位置的变化量,故机器发生故障时影响范围小、不会严重影响生产过程;③手动—自动切换时冲击小。
当控制从手动向自动切换时,可以作到无扰动切换。