当前位置:首页 > 用RSLogix5000梯形图实现一种高级PID运算
用RSLogix5000梯形图实现一种高级PID运算
─ 带滤波器的PID控制器
随着数字技术的飞速发展,在过程控制领域,围绕着对传统PID控制策略的改进,出现了各种改进型的PID控制器。带滤波器的PID控制器(又称二自由度PID)就是其中之一。 带滤波器的PID控制实际上是在设定值回路里加入了一个超前滞后环节,当设定值作阶跃变化时,通过超前滞后的滤波作用,设定值变得缓慢了许多,从而可大大提高控制器的比例增益和积分增益,达到改善控制效果的目的。带滤波器的PID控制器适用于设定值需要经常改变的场合,如串级控制的副回路、比值控制的从回路、程序控制及具有上位机设定功能的控制系统中。对于一般的单参数定值控制系统,实际上在PID参数整定过程中,一般是在设定值作阶跃情况下进行的,所以,对改善控制系统的性能也有积极意义。
本人先后利用MATLAB/Smulink 模型进行仿真及用RSLogix5000梯形图程序,利用Emulate 5000 Chassis Monitor 进行仿真,都取得比较满意的效果。下面介绍如何用AB 公司PLC 实现带滤波器的PID控制及其仿真。 1. 带滤波器的PID 控制原理
PID 控制器兼有两种职能,一是克服各种扰动;二是追踪设定值变化。因为,引起被控制参数变化的控制量和扰动作用其特性是不同的,因此,用一套PID 参数去完成这两种职能并都能达到最佳是不可能的。一般是通过改变设定值来整定系统。多数情况下当按设定值将PID参数整定的比较理想时,克服扰动的功能就会很差;若按扰动来整定系统时,跟随设定值变化时就会出现超调。
带滤波器的PID控制器能较好地兼顾这两种职能,使系统具有很好的控制特性。 其控制原理如下图所示:
2. 用RSLogix 5000 实现超前滞后运算
超前滞后环节是一个拉氏变换式,若将其反变换可得如下微分方程:
将其离散化可得:
式中:△t 为采样时间,以Ts 表示;
△y 为两次采样输出变化量,以yn – yn-1 表示; △x 为两次采样输入变化量,以xn – xn-1 表示; 于是有:
若采样时间Ts 为0.5 秒,T1 取10秒,T2 取3 秒,则得:
yn = 0.95 yn-1 + 0.3 xn – 0.28 xn-1 若用梯形图表示如下图所示:
其中:xn 为设定值。Yn为滤波后的设定值。 3. 控制对象的模拟
众所周知,工业上常常可以用一阶惯性环节加纯滞后环节来模拟控制对象。其传递函数为 K/(TS+1)。其中一阶惯性环节通过反拉氏变换可得如下差分方程:
若令T=10 秒,Ts=0.5 秒,K=2,则有: yn = 0.95 yn-1 + 0.1 xn
纯滞后环节实际上通过设定一个数组,将数据逐一送入这个数组,根据程序执行时间和数组数目,可以算出最终从数组中传递出数据所需要的时间,即为纯滞后时间。若程序0.5秒执行一次,那么,选择一个一维数组E[16],可实现纯滞后时间为8秒。 4. 带滤波器的PID控制Emulate5000仿真
将上述控制思想及控制对象用RSLogix5000梯形图语言编程,然后用Emulate5000软件仿真,在RSView32监控画面上观察趋势曲线。
1) 对同一控制对象,用一般PID控制,当KP=1,KI=0.1时,响应曲线比较理想。
图3为设定值作10% 阶跃时的输出响应。
图3.一般PID控制仿真趋势图
2) 当采用带滤波器的PID控制时,KP=1.4,KI=0.15时,取得了很好的控制效果。
图4为设定值作10% 阶跃时的输出响应。
图4.带滤波器的PID控制趋势图
下面是带滤波器的PID控制梯形图程序。该程序执行周期为0.5秒。图中Y为设定值变量,F为滤波器输出,D[15]为模拟控制对象的输出。
共分享92篇相关文档