一种PID控制仿真的实现.doc_第1页
一种PID控制仿真的实现.doc_第2页
一种PID控制仿真的实现.doc_第3页
一种PID控制仿真的实现.doc_第4页
一种PID控制仿真的实现.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文已经发表于计算技术与自动化(中国科技核心期刊)2013年第1期2527页本文只供参考和学习,不可直接复制抄袭。一种PID控制仿真的实现杨鹏(白银有色集团股份公司 装备与自动化控制研究所,甘肃 白银 730900)摘要:由于PLC、DCS在当今工业领域的普遍使用,技术人员可以通过“编程”的方式,快捷廉价地实现PID控制,所以PID控制越发显得重要了。本文详细介绍了PID控制理论;探讨了PID控制的应用场合,以及使用时的注意事项;由于计算机的工作方式具有离散型,所以对相关公式进行了离散化,以便于计算机仿真,由于阶跃信号的特殊性,无法进行较好的离散化,本文采用了一种改进的离散化阶跃信号,实验证明,这种改进型的离散化阶跃信号能有效地减少误差;介绍了面向对象思想在编程领域的应用,使用面向对象语言实现了PID控制仿真。关键字:PID控制;计算机仿真;改进型离散阶跃信号;面向对象语言中图分类号:TP15 文献标识码:ARealization of a kind of PID control simulationYANG Peng(Institute of equipment and automated control ,Baiyin Nonferrous Metal Group Co.Ltd., Baiyin 730900,China)Abstract:As a result of PLC,DCS in the industry today is in common use, technical personnel can through the programming way to cheaply to realize PID control, so PID control theory is increasingly becoming important. In this paper,the PID control theory is introduced; The application conditions of the PID control are introduced, the suitability of the PID for use is introduced; As the computers way of working is discrete, so the relevant equations are discretized in order to computer simulation, due to the particularity of the step signal, it can not be good discretized, an improved discretization step signal is adopted, the facts have proved that it is effective to reduce the error. Object-oriented thinking in the programming field is introduced, realization of a kind of PID control simulation is done with the object-oriented language.Key Words:PID control; computer simulation; improved discrete step signal; object-oriented language1 引言PID控制是“比例-积分-微分控制”的简称,根据人们的思维方式创建,具有符合人们思维习惯、经验资料丰富、易于改进,以及具有自动调节、抗干扰、等诸多优势,甚至在不需了解被控对象内部机理的情况下,也能实现“稳、准、快”控制,在模拟量的就地控制中,PID控制有着举足轻重的地位。另外,由于PID控制会使得执行机构频繁动作,所以PID控制有一定的适用范围。在当今的工业生产中,现场总线技术使得工业控制呈现为“网络化”特征,而由于以PLC、DCS为代表的数字式控制器的普遍使用,技术人员可以通过“编程”的方式实现控制逻辑,所以如今的工业控制又呈现为“软件化”的特征。工业控制的软件化,使得技术人员可以非常容易、快速、廉价地实现PID控制,也可以非常方便地进行PID参数的整定,这是固态PID控制器根本无法实现的。市面上的PLC和DCS产品大都提供了现成的PID控制算法,很多类型的变频器也配备了软件化(设置参数即可)的PID控制器。实现一种PID控制仿真软件,不仅可以实现对现有系统的仿真,更是是学习PID控制理论的工具。本文介绍的PID仿真程序,采用了面向对象语言,从PID控制的基本理论出发,采用数值积分法1,使用基本语句编程而成。2 PID控制简介至少在结构简单的线性负反馈系统中,PID控制是有效的。无论系统涉及什么设备,该系统的结构框图最终应该是一个简单的负反馈结构,所以PID控制最常见的应用场合为模拟量的“就地控制”。图1为一个带有PID控制的典型负反馈系统。图1 带有PID控制的典型负反馈系统在图1中,用字母P、I、D分别表示比例、积分、微分环节,这三个环节通过并联方式组成了PID控制器;PID控制器的输出为u(t),u(t)输入到执行器,执行器作用于被控对象,从而引起被控值的改变;被控对象的“被控值”则由传感器测得之后,反馈回去,与设定值进行减法比较,所得结果即为偏差e(t);PID控制器时刻对偏差e(t)进行运算,不断矫正输出u(t),使“被控制”和“设定值”趋于相等(如果系统稳定的话)。如果系统处在稳态,事实上是处在动态平衡状态,当出现干扰、设定值改变等情况,造成偏差e(t)的绝对值过大,则在减法比较器、PID控制器环节的共同作用下,使偏差具有向零靠近的趋势,即被控值与设定值趋于相等。所以负反馈控制也称偏差控制。由于系统处于动态平衡状态,会造成执行器频繁动作,容易形成硬件损伤,所以在有些情况下,应该避免使用PID控制,或者改进PID控制算法之后,再使用。PID控制最常见的应用场合为“模拟量”的“就地控制”。PID只对模拟量有效,模拟量是指连续变化的量,如流量值等,相对而言,数字量指的是只有两种取值的量,如开关,当阀门完全打开时,产生24mA信号,无中间取值;再者,由于实际值和设定值存在“偏差”,PID控制器要对“偏差”要进行时时的运算,并将运算结果马上作用于执行机构,中间不能经过太多环节,延时严重的环节会使PID控制失效,甚至会出现系统紊乱的现象。 图2 PID控制的一种典型应用图2所示为PID控制的一种典型应用,在这里“被控对象”是管道中的水,被控值是流量。流量计测得管道中水的流量,以420mA的标准电信号的形式,传输至可编程控制器(PLC)的模拟量输入模块,减法运算、PID运算全部由PLC完成,得到新值之后,PLC通过模拟量输出模块,以420mA的标准电信号的形式,传输至变频器,变频器则改变水泵上的电机转速,从而改变流量。相对于PID控制器来说,执行器和被控对象可视为一个整体理解,即视为PID的下一个环节,尽管这两个环节可能是两个独立的物理设备,对于仿真软件来说,也没有必要将其拆分理解,后文提到的“被控对象”指的是执行器和被控对象。对PID控制器建立时域数学模型,见式(1):(1)在式(1)中,e(t)为PID控制器的输入,是反馈的被控值与设定值的差,u(t)为PID控制器的输出,KP为放大系数,TI为积分时间,TD为微分时间。如果需要考虑u(t)的初始值时,则应该在式1右侧加上U0项。参照式(1),可将式(1)右侧中的KP分配到每一项,将其展开,但在这里不采用展开式,因为参数KP、TI、TD有着更加直观、感性的意义,很多品牌的PLC、DCS产品提供的PID控制功能就是以式1为数学模型。PID控制器各个环节的作用,以及参数KP、TI、TD的意义,如下所述:(1)比例环节:起主导作用。该环节的输出为偏差e(t)的KP倍, 但是比例环节无法消除静差,假设PID控制器无积分、无微分环节,仅有比例环节时,则稳定值与设定值可能总存在一个固定的差值,即静差。(2)积分环节:主要作用为消除静差,提高控制系统的精度。积分作用的强弱取决于积分时间TI,TI越大,积分作用越弱,反之则越强。当设定值有较大变化时,或者其它原因,积分环节容易引起系统超调。使用PLC、DCS产品,如果想关闭积分环节,则需要将TI设置为无穷大,很多厂商自定义了“无穷大”符号。(3)微分环节:对偏差的变化趋势做出反应,在偏差信号变化较大时,可以加快系统的反应速度,减少调节时间。但是微分环节容易放大干扰,所以有些情况下,不使用微分环节。由PID控制还可衍生出P控制、PI控制、PD控制,由于比例控制其主导作用,所以无论哪种控制都离不开P环节。实现PID控制,很重要的一项工作,就是整定PID参数。整定PID参数的方法很多,经典的方法有:经验凑试法、临界比例度法、4:1衰减法等。但是,在实际生产中,有些PID参数整定法,实施起来存在很多困难,如临界比例度法要求产生测试信号,测试信号的产生往往不容易,再如临界比例度法要求系统达到临界振荡状态,并不是所有系统允许达到临界振荡状态,或者存在临界振荡状态。PID控制方法指的是,将系统形成负反馈,加入PID控制器,通过整定KP、TI、TD这三个参数,达到控制目标。在生产实践中,PID控制方法也经常用于改善系统响应特征。如使得系统的响应加快,或使得系统的响应变钝;或使得被控对象的响应不出现超调、不出现振荡特征;或抑制干扰,等等。在这些情况下,很多试图寻求最优参数的PID参数的整定方法发挥不了作用,需要技术人员的不断调试。3 建立“被控对象”的数学模型在实践中,尽管对“被控对象”有较少了解的情况下,仍然可以实现PID控制,但是对于仿真软件来说,却需要一个形式上明确的数学模型,即不管数学模型的表达式,是否能准确地描述现实系统,但是在形式上必须要明确(可以是一个确定的微分方程),否则,就无法实现编程仿真。参考图1,由于PID控制器的数学模型已知,所以建立整个控制系统的数学模型,关键是建立“被控对象”的数学模型。常见的具体的建立数学模型的方法有:机理分析法、直接相似法(也称类比分析法)、系统辨别法、概率统计法、量纲分析法、图解法、定性推理法,等等。这些建模方法都有自身优势,有不同的应用场合2。3.1 位式控制尽管PID控制适用于结构简单的线性负反馈系统,但是很多具有“反馈结构”的控制系统,不能将其理解为“线性负反馈系统”,不能应用PID控制。假如有这样一种控制需求,某蓄水池,液位传感器将液位测量值反馈到控制器,当水位低于某个值时,控制器发出控制信号,加电启动电机水泵,向蓄水池注水,当水位高于某个值时,控制器发出控制信号,断电停止电机水泵。这里的电机水泵,要么较长时间处在停止状态,要么较长时间处在以恒定流量注水的工作状态。电机水泵在进行“状态改变”时,电机水泵的响应过程,相对“长时间停止,或者长时间恒定流量注水”来说,显得很短暂,加之系统精度要求不高,所以可以忽略电机在状态改变时的响应特征,此时,该电机水泵环节的数学模型为式(2): (2)在式(2)中,k为常数,x为输入信号,y为输出信号。类似这样的控制系统,虽然具有“反馈结构”,但是我们更愿意称之为所谓的“位式控制”系统,或者称之为所谓的“联锁控制”系统,对其无需建立微分方程、传递函数形式的数学模型,甚至,对其建立任何形式的数学模型,都是没有必要的,仅仅进行逻辑分析即可。“位式控制”系统不能使用PID控制。在实践中,存在很多系统在忽略次要的响应特征之后,都可以理解为一个“位式控制”系统。尽管,位式控制不能使用PID控制,但是在位式控制系统的局部可以考虑使用PID控制,在本案例中,如果要求电机水泵,可以抗内部因素(例如:液体密度、粘度、压强等有变化)、外部因素的干扰,而达到流量的恒定,则可通过流量计,测得水泵的出水流量值,将流量值负反馈回去,通过PID控制器实现对电机的调节,从而在系统局部利用了PID控制的优势。PID控制最常见的应用场合就是“模拟量的就地控制”。另外,参照图1所示的“带有PID控制的典型负反馈系统”,如果图1中的执行器是一个恒值输出环节,那么在系统中加入PID控制器是无效的,因为PID控制器的输出是根据偏差计算而来的,是一个变化的值,很显然,“变化的值”输入到“输出恒定不变”的环节,就显得无意义了。3.2 建立“被控对象”的数学模型3对于整个控制系统来说,由于PID控制器的数学模型已知,所以关键是建立“被控对象”的数学模型。如果仿真软件用于仿真现实系统,其实用性取决于是否可以得到比较精确的“被控对象”的数学模型。但在很多领域中,由于机理知识不足,非线性元件普遍存在,多输入系统普遍存在、内外因素交织得太繁杂,观测手段不成熟,无法停工观测,测试信号无法产生,等等原因,造成不能建立精确的数学模型。仿真软件需要形式上明确的数学模型,本文设定“被控对象”为“二阶环节”。二阶环节在控制领域具有重要的意义。在一定条件下,忽略一些次要因素,常常可以把一个高阶系统降为二阶系统来处理,仍然不失其基本特性4。振荡环节为典型的二阶环节,其时域数学模型为式(3),(3)在式(3)中,c(t)为输出,r(t)为输入,To称为振荡环节的时间常数,为阻尼比。当To0,00时,如果=0,则“振荡环节”的阶跃响应为等幅振荡。(2) 当To0时,如果=1,则“振荡环节”的阶跃响应为临界状态。在这里利用“振荡环节”的临界状态,进行特例验证,本文采用微软提供的C#语言进行编程4,C#语言的浮点运算符合IEEE标准,所以浮点运算允许出现截断误差。为了减少截断误差的影响,采用C#语言提供的decimal数据类型,这种数据类型精度更高。除了使用decimal数据类型外,还精心设计了相关参数,令仿真步长T=1,振荡环节的时间常数To=1000,阻尼比=1,设定值为500。之所以这样设计参数,遵循了一些原则,观察式(2),由于式中多次出现T2并参与除法运算,所以设置T=1,这样可以有效抑制幂运算、乘法运算对误差的放大作用;而To的大小决定响应的上升时间,取值过小,则在仿真数据中,上升段的数据太少,仿真效果不细腻,而取值过大,则由于式中多次出现To2并参与除法运算,则增大截断误差的影响,反复权衡之后,To的取值为T的1000倍,比较好。由于仿真数据过多,在此不便罗列,数据显示,仿真系统对两种信号的响应,虽然都大致符合理论值,但是存在差异,表2 罗列了部分仿真数据。表2 特例验证

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论