史密斯预估器实验仿真平台设计及WinCC实现

 

史密斯预估器实验仿真平台设计及WinCC实现

 

目 录

 

第一章 绪论

 

1.1 课题研究的目的及意义

1.2 课题研究现状与背景

1.3 PID控制原理介绍

1.4 Smith预估补偿控制原理

 

第二章  Smiulink简介及仿真操作

 

2.1 simulink特点简述

2.2 simulink模块仿真操作

2.3 本章小结

 

第三章 Smith预估补偿控制器的离散化设计应用

 

3.1 Smith预估器的离散化实现

3.2 零阶保持器的应用分析

3.3 本章小结

 

第四章 Matlab 在Smith预估器设计中的应用

 

4.1 Matlab数字信号的应用

4.2含零阶保持器实现时滞对象运算离散化

4.3 Matlab控制器的设计

4.4 Matlab控制器程序运行结果

4.5 本章小结

 

第五章 PI+Smith系统控制设计实例

 

5.1 水箱液位控制系统工作原理及数学模型

5.2 PI+Smith应用双容水箱的控制计算

5.3 PI+Smith实现对双容水箱Matlab控制的效果

5.4 本章小结

 

第六章 本文结论

 

参考文献资料

 

附录

 

 

 

 

 

 

 

 

 

 

 

 

 

 

第一章 绪论

 

1.1 课题研究的目的及意义

时滞现象常产生于化工、轻化、冶金、计算机网络通讯和交通等系统中[1,2]。就控制系统而言,时滞是指作用于系统上的输入信号或控制信号与在它们的作用下系统所产生的输出信号之间存在的时间上的延迟,当时滞较大时,将会使系统中的被调量不能及时反映控制信号的作用;另外,当被控对象受到干扰而使被调量改变时,控制器产生的控制作用不能及时有效地抑制干扰的影响,从而导致较大的超调量和较长的调节时间,甚至产生不稳定。因此,大时滞系统一直受到人们关注,成为目前过程控制研究领域的一个重要课题。

过程控制中,通常用过程纯滞后时间常数 和系统时间常数 之比来衡量过程时滞。当τ /T≤0.3时,称为一般时滞过程,过程比较容易控制,常规PID控制就能收到良好的控制效果;当τ /T>0.3时,称为大时滞过程,需要采取特殊的高级控制方法,其控制难度随τ/T的比值增加而增加。本文分析了在过程控制中广泛采用的大时滞过程控制算法——Smith预估补偿法,即Smith预估器,并重点讲述了其改进算法——双自由度Smith预估器,最后进行了仿真。仿真结果表明该改进算法是可行的。

1.2 课题研究现状与背景

滞后环节的存在使得整个系统的控制品质变坏甚至引起闭环系统的不稳定。因此近年来,对时滞系统的控制方法研究方兴未艾[1]。从50年代以来,时滞控制先后出现了基于模型的方法和无模型这两大方法。基于模型的方法有smith预估补偿控制、最优控制、自适应控制、动态矩阵预报控制、预测控制、滑模变结构控制、鲁棒控制等。无模型方法有模糊smith控制、模糊自适应控制、模糊PD控制、神经网络控制、专家控制等。其控制方法也己经由传统控制转向智能控制,或者是二者的结合。PID控制是迄今为止应用最广泛的一种控制方法。在工业过程控制中大多采用PID控制,其优点是原理简单、通用性强、鲁棒性好间。然而PID控制在纯滞后系统中的应用是有一定限制的,对于滞后较大的系统,常规PID控制往往显得无能为力。

(1)国外最早在1958年提出预估控制器[2],这是一个时滞预估补偿算法,其最大优点是将时滞环节移到了闭环之外,提高了系统的控制品质,但其过于依赖精确的数学模型,实际应用比较困难。为此人们提出了许多改进方法,大致可以分为两种:一种是基于结构上的改进,这类方法主要是结合智能控制通过在不同的位置增加一些并联或者串联的环节进行补偿;另一种是在参数整定上的改进,这种方法将    项通过泰勒多项式展开用鲁棒性能指标及其他的指标函数对控制器进行解析设计,或者对其中的控制参数进行鲁棒调整,还有的方法是对Smith预估系统的反馈传递函数进行改进,以增强它的鲁棒性和稳定性。

(2)神经网络具有自组织和自学习的特点,它可以任意精度逼近非线性函数,可进行在线和离线学习,容错性比较强;它不需要复杂的控制结构,也不需要精确的数学模型,其简单有效的特点适合工业应用。在时滞系统中的应用,神经网络主要用于辨识和控制。在辨识方面,用于辩识系统的参数和滞后时间,在控制方面,主要有模型参考自适应控制和预测控制。另外,神经网络也和Smith控制结合对时滞系统进行控制,该方法也较有效。

(3)模糊控制是一种基于专家规则的智能控制方法[3],它无需知道系统精确的数学模型,只需要现场操作人员的经验和操作数据。模糊算法对于时滞系统比较适用,它是处理时滞系统中难以定量化环节和不确定性的有效手段。模糊算法在时滞系统中的应用大致有以下几个方面[4]:l)模糊Smith控制控制器,它一般是由Smith预估器解决对象的时滞问题,模糊控制器控制对象的大惯性环节。2)模糊预估控制方法,它是在模糊控制的基础上,进行并联模糊补偿。模糊预估模型是通过一系列有针对性的推导得到的,模糊预估器得到的增量经过补偿器的作用产生一个补偿校正。3)模糊自整定方法,它是对模型的某些参数进行模糊整定,以达到改善系统控制品质。其中较为有名的是提出的改进Smith预估模型,对主反馈通道传递函数中的滤波时间常数进行模糊整定。该方法具有较强的鲁棒性和较好的控制性能,但是计算效率不是很高。

(4) 变结构控制系统对干扰和系统参数变化具有鲁棒性这正是鲁棒控制所需要解决的问题。变结构控制的这一优点,己广泛地引起了人们的重视。非时滞变结构控制系统的研究己形成较完整的理论体系,而时滞变结构控制理论是一个具有潜力的研究方向。迄今为止,时滞系统的变结构控制理论的研究仍处于萌芽和兴起阶段,成果较少,有待于进一步完善。工业生产的大规模化使得工业过程变得更为复杂,大时滞、不确定性、严重非线性、时变性对工业过程控制系统的设计提出了更高的要求。对于时滞系统的控制不是单一的方法就可以完全解决的,开发与设计出各种智能控制方法或以不同的形式结合在一起,将是解决时滞过程的有效途径。

1.3 PID控制原理介绍

在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。
    比例(P)控制
    比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差(Steady-state error)。
    积分(I)控制
    在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(System with Steady-state Error)。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。

微分(D)控制

在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。

1.4 Smith预估补偿控制原理

Smith预估补偿控制是克服纯滞后的一个有效的控制方法。其思想是:为使闭环传递函数中不含τ必须利用反馈环节予以消除。

如图1.1得到该闭环传递函数:

图利用反馈环节消除为闭环函数中

 (a)

             图1.1原控制原理框图

 

 ………………………………………………(1.1)

 ………………………………………………(1.2)

引入预估补偿器,闭环传递函数是:

………………………………(1.3)

消除闭环函数中 :

…………………(1.4)

这样构成预估补偿方案如图1.2:

 

 

 

 

 




 

图1.2 史密斯预估补偿控制原理图

 

经补偿后 ,实现了将纯滞后环节移到闭环控制回路之外,从而有效地消除了纯滞后对控制系统的影响。Smith预估控制器是在PID调节回路上加入补偿回路,以抵消对象时滞因素的影响。Smith预估控制器的特点是预先估计出被控过程在扰动下的动态特性,然后用一个模型加到反馈控制系统中,力图使延迟了的被控量提前反映到控制器,使控制器提前动作,从而使系统的纯滞后明显地减少或降低,使系统的超调量和过渡时间有效地改善,提高系统的控制品质。

在Smith预估补偿控制自发明以来,最初由于受硬件条件的限制,很少在实际中被应用。近几年来,由于计算机技术的发展,Smith预估补偿控制在实际中应用越来越多。但由于其控制算法本身存在着控制效果紧紧依赖模型精度的缺点,而实际中由于各种原因往往很难获得非常准确的数学模型,所以实际应用中其控制效果并非那么理想。模型误差,尤其是纯滞后时间的误差较大时有时会使控制系统不稳定,因此近几年来关于Smith预估补偿控制改进型控制方案的研究很盛行。

1.5 本章小结

本章是开篇绪论,主要从控制系统产生时滞现象引起,叙述本文撰写的主要目的意义。首先叙述控制系统产生时滞效应对生产系统的不良影响程度,引起对抑制时滞效应的高度重视;二是介绍了目前本课题研究的背景和现状。随着现代电子腾飞式的发展,人们对设备的精确稳定要求上升到了一个新的高度和标准;三是介绍传统的PID控制器的基本工作原理,为下面纠正设备产生时滞效应提供原始依据;四是阐述Smith预估补偿控制原理。Smith预估补偿控制虽然是为弥补控制系统出现负面因素而设计出的运算模型,但也是产生时滞效应的主要因素、或者说是存在着抑制时滞效应不给力的缺陷,因而为下面章节设计改进型Smith预估补偿控制系统做出铺垫。

 

第二章  Smiulink简介及仿真操作

 

2.1 simulink特点简述

MATLAB词意为“矩阵工厂”,是一种用于算法开发、数据可视化、数据分析以及数值计算的高级商业数学软件,主要包括MATLAB和Simulink两大部分。

Simulink的作用,是提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。             

Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点已被广泛应用于控制理论和数字信号处理的复杂仿真和设计,其中包括属于“第三方”的软件和硬件。

归纳起来,Simulink有以下特点:

(1)预定义模块库存量巨大并可以继续扩充;

(2)交互式的图形编辑器来组合和管理直观的模块图;

(3)对复杂设计的管理以设计功能的层次性来分割模型;

(4)通过统一的模型浏览器(Model Explorer)导航、创建、配置、搜索模型中的任意信号、参数和属性,生成模型代码;

(5)提供API用于与其他仿真程序、或手写代码对接集成;

(6)通过Embedded MATLAB™ 模块,在Simulink和嵌入式系统执行中,调用MATLAB算法;

(7)使用“定步长”或“变步长”运行仿真,并根据仿真模式,决定以解释性的方式运行或以编译C代码的形式运行的模型;

(8)应用图形化的调试器和剖析器检查仿真结果、诊断设计的性能和运行中的异常行为;

(9)可访问MATLAB,从而对结果进行可视化分析,制定建模环境,定义信号参数、测试数据;

(10)模型分析和诊断工具能够保证模型的一致性,确定模型中的错误。

2.2 simulink模块仿真操作

在matlab中打开simulink library browser,在simulink library browser中选择opc toolbox.点击New modle建立一个新的仿真文件并将需要的模块依次拖入新建文件中。

在simulink模块中,将transport delay、step、gain、pid controller等模块拖入new modle中,如图2.1、2.2,建立对应的模块仿真。并且在simulink模块中将控制对象模块设为 ,改变延迟时间运行模块仿真,打开scope观察图像,得到化别图2.3、图2.4.

 

图2.1 基于smith反馈补偿器的simulink模块仿真

 

图2.1 为基于smith反馈补偿器的simulink模块仿真,由图2.1可知在反馈环节当中加入了相同的控制对象以及相同的延迟量,因此在修改他们的同时必须保持反馈环节与原环节的数据一致。若数据不一致则会造成反馈环节的不完全补偿。更改数据之后运行simulink模块仿真可以得到图2.3.由图2.3可知基于smith反馈补偿器的simulink模块仿真它的超调非常的小保持在图形的1-2之间,它的反映时间也是相当的快,在600的时候就达到了稳定状态。

 

图2.2 基于PID控制器的simulink模块仿真

 

图2.2 为基于PID控制器的simulink模块仿真,如图建立simulink模块运行仿真之后得到图2.2.由图2.2可知基于PID的控制器它的反应时间极快,但是他却难以达到稳定状态,因次传统的PID控制器并不能良好的解决时滞问题。

图2.2 基于PID控制器的simulink模块仿真运行图

 

图2.3 基于smith反馈补偿器的simulink模块仿真运行图

 

综上所述,可知图2.2基于PID控制器的simulink模块仿真运行图可知PID控制器的反应速度很快,却难以达到稳态。由图2.3基于smith反馈补偿器的simulink模块仿真运行图可知smith反馈补偿控制器的超调非常的小并且反应时间也比较快能够迅速的达到稳态,因此对于解决时滞问题smith预估补偿控制器优于传统的PID控制器。

2.3 本章小结

MATLAB是现代计算机设计系统中的一种具有“包括万象”功能的神奇商业软件,由美国MathWorks公司出品,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,应用十分广泛。Smiulink是由MATLAB最重要的组件,它提供一个动态系统建模、仿真和创新网综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。本章介绍Smiulink的十个功能特点,同时进行Smiulink的操作程序掩饰,为实现smith预估补偿控制器中Smiulink的应用,提出了先前性的简介。

 

第三章 Smith预估补偿控制器的离散化设计应用

 

在smith预估补偿控制器的设计当中,由于计算机无法接受连续的信号,所以需要将控制对象Gp进行Z变化将连续的信号离散化,以便于计算机接受信号。同时还需要引入零阶保持器将离散的信号再转化为连续的信号。

3.1 Smith预估器的离散化实现

smith反馈补偿控制器想要达到完全补偿,必须要达到 与 相等的要求。因此,必须在反馈环节以及原环节当中,各自加入一个零阶保持器。若单独加入一个零阶保持器,则会造成 与 不相等,形成不完全补偿。

 

 

 

 

 

 

 

 


图3.1史密斯预估补偿控制框图

 

由图3.1可得到闭环传递函数:

………………………………(3.1)

Smith预估器的离散化实现:

            ………………………………(3.2)

由此我们可以看出闭环特征方程中已消去了项 ,即消除了时滞对控制品质不利的影响。对于随动系统,控制过程仅推迟 时间,系统的过渡过程形状与无时滞相同。

3.2 零阶保持器的应用分析

零阶保持器的作用,是保持直到下一个采样时刻停止时,离散信号各采样时刻的值不变,从而形成由高度为各采样时刻值的矩形波组成的脉动序列。如上图再将各矩形波顶边的中点用一条光滑的曲线连接成上图中绿色虚线此绿色虚线就能较准确地复现由红色虚线表示的原连续信号,且采样周期越小,复现精度越高.

图3.2离散信号图

 

图3.2中蓝色虚线表示的复原后连续信号比采样前的连续信号在时间上滞后了T/2. 经上分析,   可得零阶保持器的传递函数为:

…………………………(3.3)

    …………………………(3.4)

…………………………………………………(3.5)

 

 

图3.3零阶保持器的幅频特性图

 

由图3.3可知零阶保持器的幅频特性除了主频谱外,还有高频分量。

可见零阶保持器是一相位滞后的低通滤波器,高频分量尚不能完全滤尽,因此它只能近似地复原连续信号。D/A转换器就具有零阶保持器的作用,步进电机也具有零阶保持器的作用. 零阶保持器还可用阻容网络实现。

3.3 本章小结

离散化是程序设计中常用概念,其基本作用就是可以有效的降低时间运算的复杂度程度。本章从改型smith预估补偿控制器如何产生离散化计算入手,阐述实现离散化的方法。同时提出应用知零阶保持装置,对离散性的设计提供稳定精确保障。

 

第四章 Matlab 在Smith预估器设计中的应用

 

4.1 Matlab数字信号的应用

MATLAB是功能强大的科学及计算软件,它不但具有以矩阵计算为基础的强大数学计算和分析功能,而且还具有丰富的可视化图形表现功能和方便的程序设计能力。MATLAB的应用领域极为广泛,除了数学计算和分析外,还被广泛地应 用于自 动 控 制、系 统 仿 真、数 字 信 号处 理、图 形图 像分析、数 理 统 计、人工智 能、虚拟现实技术、通信工程、金融系统等领域,因此,MATLAB是面向21世纪的计算机程序设计及科学计算语言。 随着MATLAB/SIMULINK通信、信号处理专业函数库和专业工具箱的成熟,它们在通信理论研究、算法设计、系统设计、建模仿真和性能分析验证等方面的应用也更加广泛。MATLAB软件集数值分析、信号处图形显示于一体,且界面友好、具有强大的专业函数库和工具箱,在数字信号处理的科学研究中越来越重要的计算和仿真验证工具。

Matlab优势特点:

1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;

2) 具有完备的图形处理功能,实现计算结果和编程的可视化;

3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;

4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。

4.2含零阶保持器实现时滞对象运算离散化

设目标函数为:

Ts=20,K=1,Tp=60,tol=80,delta=0.885,TI=160,TD=40。

采用Z变换将对象离散化,并描述为离散状方程的形式。 ………………………………………………(4.3)

函数Z变换:

…………………………………………………(4.4)

……………………………(4.5)

…………………………………(4.6)

………………………………(4.7)

………………………………(4.8)

转换为离散方程形式:

   ………………(4.9)

很显然,从上式可以看出,当前时刻的Y与前一个时刻的Y和前5个时刻的U有关。因此在编制Matlab程序时候需要5个延迟因子。

4.3 Matlab控制器的设计

将史密斯预估补偿控制框图稍作变化在闭环传递函数上分别加上 、 、 、 .得到图4.1,由图得到:

 

图4.1 史密斯预估补偿控制图(改)

 

                  …………………………………(4.1)

   …………………………………………(4.2)

               ………………………………………(4.3)

          …………………………………………(4.4)

由于反馈环节作完全补偿所以     ……………………(4.5)

  …………………………………(4.6)

根据4.2对控制对象的离散化以及以上对于 、 的推导设计了Matlab控制器程序,程序见附录1

4.4 Matlab控制器程序运行结果

运行matlab控制器程序得到如下结论。

当M=1时,PI+Smith作不完全补偿,即kp1=2*5.10; Tp1=4*5.10; tol1=4*10.0; 得到图4.2.从图中可知PI+Smith作不完全补偿时超调较大、反应时间也比较慢。

 

图4.2 PI+Smith作不完全补偿时matlab运行图

当M=2时,PI+Smith作完全补偿,即kp=2;Tp=4; tol=4。得到图4.3。从图中可知PI+Smith作完全补偿时它的超调很小、反应时间也是非常的迅速不足50s的时间就达到了稳态。

 

图4.3 PI+Smith作完全补偿时matlab运行图

当M=3时,即仅使用PI作为控制器,得到图4.4.从图中可知,仅使用PI作为控制器时,它的超调很大极其的不稳定,反应时间也比较长经过了150s的时间才达到了稳态

 

图4.4 仅用PI作为控制器时matlab运行图

 

综上所述,我们发现使用PI+Smith控制器能够比较好的解决时滞问题。它的超调与反应时间都是比较小的。因此我们采用PI+Smith的控制器来进行具体的实例研究。

为了更好的对PI+Smith控制器与PI控制器做比较。我们尝试着改变传递函数时,令Kp=4,Tp=8运行程序得到图4.5、图4.6、图4.7.由图可知PI+Smith完全补偿依然是解决时滞问题中最优的控制器。并且当改变传递函数时,能够发现PI+Smith控制器作不完全补偿时有可能会造成如图4.7的发散现象。

 

图4.5 PI+Smith作不完全补偿时matlab运行图(1)

 

图4.6 PI+Smith作完全补偿时matlab运行图(1)

 

图4.7 仅用PI作为控制器时matlab运行图(1)

 

4.5 本章小结

本章是本文的收官之章,主要介绍Matlab 在Smith预估器设计中的应用。首先再次叙述软件Matlab“矩阵工厂”的强悍功能,阐述Matlab对Smith预估器设计产生离散效应的计算推理。接着提出Matlab 在Smith预估器设计中的应用原理。为证明其正确,进行了程序运行的成果检验,以证实采取PI+Smith模型设计Smith预估器对于抑制时滞效应的正确选择思路。

 

 

第五章 PI+Smith系统控制设计实例

 

5.1 水箱液位控制系统工作原理及数学模型

考虑如图5.1所示的单容水箱,其中:Q1为水箱流入量;Q2为水箱流出量;A为水箱截面积;V为进水阀开度;H为水箱液位.对于一定的挡板开度,当水箱的流入量和流出量相等时,水箱的液位将保持不变. 此时若增大流入量会导致液位上升,上升后的液位会增大出水压力,从而会使流出量增加,当流入量与流出量再次相等,液位将在某一新高度上保持稳定;反之减小流入量,液位会下降,并最终稳定在另一较低的液位高度上.由于水箱的流入量可以调节,流出量随着液位的变化而变化,所以只需建立流入量与液位之间的数学关系就可以建立该水箱对象的数学模型。

 

图5.1单容水箱液位调节示意图

 

    若H0为水箱初始液位;K1为阀体流量比例系数;K 2为压力流量比例系数.下面将对单容水箱的数学模型进行推导.假设系统初始状态(V0,H0)为稳定状态,A,K1,K2为非时变参数,则由图1可得:

Q1−Q2=A*dH/dt………………………………(5.1)                                        

Q1=K1V…………………………………………(5.2)                                           Q2=K2   …………………………………(5.3)                                          

显然该系统为非线性系统,为便于利用经典控制理论对其实施有效的控制,将系统在平衡点H0附近进行线性化,则式(3)近似写为

Q2/H≈K2/ =K3      ……………………(5.4) 

所以近似的有:

Q2=K3H   ………………………………(5.5)                                           

对式(1)(2)(5)进行拉普拉斯变化得

Q1(s)-Q2(s)=sAH(s)  ………………(5.6)                                     

Q1(s)=K1V(s)        ………………(5.7)                                        Q2(s)=K3H(s) ……………………………(5.8)                                           

考虑系统输入为V,输出为H,由式(6)∼式(8)可以得出系统在平衡点(V0,H0)附近的模型的近似模型:

G(s)=H(s)/V(s)=K1/sA+K3    ………(5.9)                              

水箱液位系统存在着一些固有延迟,主要由于阀门传动机构,传感器的反应时间,信号的传输时间等方面都存在滞后.考虑系统的固有延迟τ,并令K=K1/K3, T=A/K3,单容水箱的模型可以近似为下面的一阶惯性滞后环节:

G(s)=k /Ts+1      …………………(5.10)                                         

传递函数(10)只是单容水箱在不同平衡点附近近似的数学模型, 在不同液位高度的多个线性模型可以用来近似描述水箱的动态特性.

5.2 PI+Smith应用双容水箱的控制计算

对于双容水箱,控制目标仍然考虑控制底层水箱的液位,但控制输入为二级水箱进水阀处的进水量.为简化问题,进行如下分析.如果要下水箱稳定在液位H,这时下水箱的进水量应该保持一个稳定值, 即中水箱的出水量要保持稳定.在这种情况下,中水箱的液位必定会稳定在某一个高度H0.如果此时直接对中水箱进行控制, 使它最终稳定在H0,那么在稳定状态下,下水箱必然会稳定于H. 这样双容水箱的控制问题就转化为单容水箱的控制问题.正是基于这样的考虑,经过多次实验可得出,稳态时,当中水箱电动调节阀的开度为在65%时,中水箱的液位将会保持在50%左右,这时下水箱液位可以稳定在60%.针对中水箱输入输出,采集中水箱在平衡点(65%,50%)附近的数据,建立控制对象:

………………(5.11)

 5.3 PI+Smith实现对双容水箱Matlab控制的效果

根据附录(程序1)Matlab控制器程序改动传递函数。当不改变采集时间改变阶数后有附录程序2。当运行程序2时,得到图5.2、图5.3、图5.4。

 

图5.2 PI+Smit作不完全补偿时matlab运行图(双容水箱模型)

 

 

图5.3 PI+Smih作完全补偿时matlab运行图(双容水箱模型)

 

图5.4仅PI用作控制器时matlab运行图(双容水箱模型)

 

 

表5.1算法性能比较

算法比较

 

控制比较

PI+Smith不完全补偿

PI+Smith完全补偿

仅用PI作控制器

Ymax(最大超调量)

494.23

548.58

697.74

Tmax(上升时间)

1100

885

1503

 

在运行程序的同时调用工作空间,在工作空间中得到最大超调量及上升时间。绘制成得表格5.1。由表格5.1可知当PI+Smith控制器作完全补偿时上升时间最为迅速,最大超调量也与作不完全补偿时的最大超调量相差不大。综上所述PI+Smith作完全补偿的时候能够较好的解决时滞问题。

当不改变阶数,改变采集时间Ts改为1.25秒之后再运行程序(见程序3),得到图5.5、图5.6、图5.7.

 

图5.5 PI+Smith不完全补偿时matlab运行图(Ts=1.25s)

 

图5.6 PI+Smith完全补偿时matlab运行图(Ts=1.25s)

 

图5.7仅PI用为控制器时matlab运行图(Ts=1.25s)

由图5.5、图5.6、图5.7,可知当改变采集时间后与原来改变阶数之后的图形差别并不大。同样PI+Smith作完全补偿时依然是反应最快的。事实证明PI+Smith控制器对于能够有效的解决时滞所带来的问题。与传统的PID控制器相比有着非常大的优越性。

5.4 本章小结

本章是成果应用检验章节。选择水箱容水控制作为PI+Smith控制器设计实践检验对象。首先介绍了水箱容水控制系统的基本原理,接着提出双容水箱及利用PI+Smith模式进行控制的原理与计算,从PI+Smith实现对双容水箱Matlab控制的良好效果,进一步证明PI+Smith控制器设计的科学性和实用性。

 

第六章 本文结论

 

撰写本论文的目的,就是参与解决控制系统中产生时滞问题的研究。

自Smith预估补偿控制问世以来,受硬件条件不能满足设计要求的制约,的限制,真正应用在实际中很鲜见。近年来,由于以计算机技术为首的电子科技迅猛发展,适应Smith预估补偿控制的需求,在实际中的范围逐渐拓宽。但是,由于Smith预估补偿控制算法模型本身,存在着控制效果与模型精度息息相关、紧密相连的弱点,而现实中运用于控制系统的、精准的理想数学模型又不存在,所以在实际应用中,Smith预估补偿控制的控制效果也并非理想状态。控制系统模型参数的误差、尤其是纯滞后时间的时滞误差较大,会导致控制系统不稳定而影响控制效果。为攻克此项难关,不少专家学者和科研技术人员,都在不遗余力的进行着Smith预估补偿控制性能改进提高的研究,呈现出不少的成绩于成果。目前,流行于世的改进模型预测控制性能的基本思路,就是在被控对象的输入端附加输入信息,通过修正Smith预估补偿器中的模型参数,促使Smith预估补偿器中的模型与实际被控对象的模型参数误差减小或趋零。这种设计思路,无疑是当前改进传统Smith预估补偿控制效果的重要途径。

针对Smith预估补偿器的反馈补偿带来时滞的不良效果,本文针以具有时滞效应的被控对象,提出了PI+Smith的预估控制器设计方法,通过推导计算,得出在满足控制器设计目标要求的前提下,对控制参数进行优化,消除控制器时滞现象,改善系统的动态性能。同时,以双容水箱建立模型为控制对象,把PI+Smith控制器解决时滞问题的设计成果进行实践检验,从中得出了可行性的正确结论。

本文通过对Matlab数字化的实现以及simulink仿真等方法的运算推理,证明PI+Smith的方法可以良好的改善控制系统系统的控制品质,对抑制由于时滞环节的存在带来的不稳定因素,切实能够起到积极的促进作用。

 

 

参考文献

 

[1] 孙优贤,褚健编著.工业过程控制技术一方法篇.化学工业出版社,2006

[2] 土正林,郭阳宽编著.过程控制与Simulink应用.电了工业出版社,2006

[3] 土立新编著.模糊系统与模糊控制教程.清华大学出版社,2005

[4] 刘金馄,先进PID控制及其MATLAB仿真.电了工业出版社,2004

[5] 邵惠鹤,工业过程高级控制.上海交通大学出版社,2003

[6] 张国良.模糊控制及其MATLAB应用.西安交通大学出版社,2002

[7] 土树青等编著.先进控制技术及应用.化学工业出版社,2001

[8] 陶永华,尹怡欣,葛芦生.新型PID控制及其应用.机械工业出版社,2001

[9] 薛定宇,陈阳泉.基于MATLAB/Simulink的系统仿真技术与应用.清华大学出版社,2000

[10] 土永富,柴天佑.白适应模糊控制理论的研究综述.控制工程,2006, 5

[11] T.Thyagarajan, C.C. Yu, H.P. Huang, Assessment of controller performance: a relay feedback approach, Chem. Eng. Sci. 2003

[12] D.Chen, and D.E., Seborg. PI/PID Controller design based on direct synthesis anddisturbance rejection. Ind. Eng.Chem.Res. 2002

[13] S.L.Jamsa-Jounela,R.Poikonen,Z.Georgiev,U.Zuehlke,K.Halmevaara. Evaluation of control performance methods and applications. Proceedings of the 2002 IEEE international Conference on Control Applications. Glasgow, Scot and U.K. September 2002

[14] I-Lung, Chien, S.C. Peng, J.H., Liu.Simple control method for integrating processes with long dead time. Journal of Process Control. 2002

[15] Airikka P-Advanced control methods for industrial Process control Computing and Control Engineering. Journal. 2004,3

[16] Rodger Lea Kouichi Matsuda Ken Miyashita, Java for 3Dand VRML Worlds, New Riders Publishing.

[17] Christian Babski , A Seamless Shape f rom HANIM Compliant Bodies.

[18] 阳化冰等著, 虚拟现实构造语言, 北京航天航空大学出版社。

[19] 孙家广等著, 计算机图形等(第三版), 清华大学出版社.

[20] 刘志俭等编著, MATLAB 应用程序接口用户指南, 科学出版社, 2000.

 

附录

 

程序1

clear all;close all;

Ts=1; %采样时间

 %时滞对象

kp=2; %比例系数

Tp=4; %过度时间

tol=4;  %时滞

sys=tf([kp],[Tp,1],'inputdelay',tol);  %设置延时时间

dsys=c2d(sys,Ts,'zoh'); %转换离散模型时,加入零阶保持器

[num,den]=tfdata(dsys,'v'); %该离散模型的分子分母多项式系数

 M=2;

%预估模型

if M==1  %不完全补偿: PI+Smith

   kp1=kp*5.10;

   Tp1=Tp*5.10;

   tol1=tol*10.0;

elseif M==2|M==3  %完全补偿: PI+Smith

   kp1=kp;

   Tp1=Tp;

   tol1=tol;

end

sys2=tf([kp1],[Tp1,1]);

dsys2=c2d(sys2,Ts,'zoh');

 [num2,den2]=tfdata(dsys2,'v');

sys1=tf([kp1],[Tp1,1],'inputdelay',tol1);

dsys1=c2d(sys1,Ts,'zoh');

[num1,den1]=tfdata(dsys1,'v'); 

u_1=0.0;u_2=0.0;

u_3=0.0;u_4=0.0;u_5=0.0;

e1_1=0; e2=0.0;

e2_1=0.0; ei=0; 

xm_1=0.0;

ym_1=0.0;

y_1=0.0;

delta=0.1185;

for k=1:1:400 

 time(k)=k*Ts; 

 S=1;

if S==1    rin(k)=10;     %追踪阶跃信号

end

if S==2    rin(k)=sign(sin(0.0002*2*pi*k*Ts));  %追踪方波信号

end  %预估模型 

xm(k)=-den1(2)*xm_1+num1(2)*u_1;

ym(k)=-den1(2)*ym_1+num1(2)*u_5;  %延迟因子

 yout(k)=-den(2)*y_1+num(2)*u_5;

if M==1     

%不完全补偿: PI+Smith  

e1(k)=rin(k)-yout(k);

 e2(k)=e1(k)-xm(k)+ym(k);

 ei=ei+Ts*e2(k);

 u(k)=delta*(e2(k)+ei);  

  e1_1=e1(k);

elseif M==2   %完全补偿: PI+Smith  

 e2(k)=rin(k)-xm(k);

 ei=ei+Ts*e2(k);

 u(k)=delta*(e2(k)+ei);

 e2_1=e2(k);

elseif M==3  %仅 PI  

e1(k)=rin(k)-yout(k);

ei=ei+Ts*e1(k);

u(k)=delta*(e1(k)+ei);  

e1_1=e1(k);

end

%----------返还史密斯因素------------

 xm_1=xm(k);

 ym_1=ym(k);

 u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);

 y_1=yout(k);

 end

 plot(time,rin,'b',time,yout,'r');

 xlabel('time(s)');ylabel('rin,yout');

程序2

clear all;close all;

Ts=1;

 

%Delay plant

kp=0.72701;

Tp=95.186;

tol=5;

sys=tf([kp],[Tp,1],'inputdelay',tol);

dsys=c2d(sys,Ts,'zoh');

[num,den]=tfdata(dsys,'v');

 

M=2;

%Prediction model

if M==1  %No Precise Model: PI+Smith

   kp1=kp*5.10;

   Tp1=Tp*5.10;

   tol1=tol*10.0;

elseif M==2|M==3  %Precise Model: PI+Smith

   kp1=kp;

   Tp1=Tp;

   tol1=tol;

end

 

sys2=tf([kp1],[Tp1,1]);

dsys2=c2d(sys2,Ts,'zoh');

[num2,den2]=tfdata(dsys2,'v');

 

sys1=tf([kp1],[Tp1,1],'inputdelay',tol1);

dsys1=c2d(sys1,Ts,'zoh');

[num1,den1]=tfdata(dsys1,'v');

 

u_1=0.0;u_2=0.0;u_3=0.0;u_4=0.0;u_5=0.0;u_6=0.0; 

e1_1=0;

e2=0.0;

e2_1=0.0;

ei=0;

 

xm_1=0.0;

ym_1=0.0;

y_1=0.0;

delta=0.1185;

 

for k=1:1:5000

    time(k)=k*Ts;

   

S=1;

if S==1

   rin(k)=10;     %Tracing Step Signal

end

if S==2

   rin(k)=sign(sin(0.0002*2*pi*k*Ts));  %Tracing Square Wave Signal

end

 

%Prediction model

xm(k)=-den1(2)*xm_1+num1(2)*u_1;

ym(k)=-den1(2)*ym_1+num1(2)*u_6;  %With Delay 

 

yout(k)=-den(2)*y_1+num(2)*u_6;

 

if M==1       %No Precise Model: PI+Smith

   e1(k)=rin(k)-yout(k);

   e2(k)=e1(k)-xm(k)+ym(k);

    ei=ei+Ts*e2(k);

    u(k)=delta*(e2(k)+ei);

   e1_1=e1(k);

elseif M==2   %Precise Model: PI+Smith

   e2(k)=rin(k)-xm(k);

    ei=ei+Ts*e2(k);

    u(k)=delta*(e2(k)+ei);    

    e2_1=e2(k);

elseif M==3  %Only PI

   e1(k)=rin(k)-yout(k);

    ei=ei+Ts*e1(k);

    u(k)=delta*(e1(k)+ei);   

   e1_1=e1(k);

end

 

%----------Return of smith parameters------------

xm_1=xm(k);

ym_1=ym(k);

 

u_6=u_5;u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);

y_1=yout(k);

end

X=find(abs(yout-10)>0.05);

tsss=max(X);

Tmax=tsss;           %计算上升时间

Y_max=max(yout);          

Ymax=(Y_max-10)*100;       %计算最大超调量

plot(time,rin,'b',time,yout,'r');

xlabel('time(s)');ylabel('rin,yout');

程序3

clear all;close all;

Ts=1.25;

 

%Delay plant

kp=0.72701;

Tp=95.186;

tol=5;

sys=tf([kp],[Tp,1],'inputdelay',tol);

dsys=c2d(sys,Ts,'zoh');

[num,den]=tfdata(dsys,'v');

 

M=3;

%Prediction model

if M==1  %No Precise Model: PI+Smith

   kp1=kp*5.10;

   Tp1=Tp*5.10;

   tol1=tol*10.0;

elseif M==2|M==3  %Precise Model: PI+Smith

   kp1=kp;

   Tp1=Tp;

   tol1=tol;

end

 

sys2=tf([kp1],[Tp1,1]);

dsys2=c2d(sys2,Ts,'zoh');

[num2,den2]=tfdata(dsys2,'v');

 

sys1=tf([kp1],[Tp1,1],'inputdelay',tol1);

dsys1=c2d(sys1,Ts,'zoh');

[num1,den1]=tfdata(dsys1,'v');

 

u_1=0.0;u_2=0.0;u_3=0.0;u_4=0.0;u_5=0.0;

e1_1=0;

e2=0.0;

e2_1=0.0;

ei=0;

 

xm_1=0.0;

ym_1=0.0;

y_1=0.0;

delta=0.1185;

 

for k=1:1:4000

    time(k)=k*Ts;

   

S=1;

if S==1

   rin(k)=10;     %Tracing Step Signal

end

if S==2

   rin(k)=sign(sin(0.0002*2*pi*k*Ts));  %Tracing Square Wave Signal

end

 

%Prediction model

xm(k)=-den1(2)*xm_1+num1(2)*u_1;

ym(k)=-den1(2)*ym_1+num1(2)*u_5;  %With Delay 

 

yout(k)=-den(2)*y_1+num(2)*u_5;

 

if M==1       %No Precise Model: PI+Smith

   e1(k)=rin(k)-yout(k);

   e2(k)=e1(k)-xm(k)+ym(k);

    ei=ei+Ts*e2(k);

    u(k)=delta*(e2(k)+ei);

   e1_1=e1(k);

elseif M==2   %Precise Model: PI+Smith

   e2(k)=rin(k)-xm(k);

    ei=ei+Ts*e2(k);

    u(k)=delta*(e2(k)+ei);    

    e2_1=e2(k);

elseif M==3  %Only PI

   e1(k)=rin(k)-yout(k);

    ei=ei+Ts*e1(k);

    u(k)=delta*(e1(k)+ei);   

   e1_1=e1(k);

end

 

%----------Return of smith parameters------------

xm_1=xm(k);

ym_1=ym(k);

 

u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);

y_1=yout(k);

end

plot(time,rin,'b',time,yout,'r');

xlabel('time(s)');ylabel('rin,yout');

 

 

 

相关案例

查看更多