CN101872158A - 一种应用pid算法的控制方法及其控制*** - Google Patents
一种应用pid算法的控制方法及其控制*** Download PDFInfo
- Publication number
- CN101872158A CN101872158A CN200910038926A CN200910038926A CN101872158A CN 101872158 A CN101872158 A CN 101872158A CN 200910038926 A CN200910038926 A CN 200910038926A CN 200910038926 A CN200910038926 A CN 200910038926A CN 101872158 A CN101872158 A CN 101872158A
- Authority
- CN
- China
- Prior art keywords
- value
- integrated value
- difference
- differential
- intensity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Feedback Control In General (AREA)
Abstract
本发明涉及PID控制技术领域,尤其涉及一种应用PID算法的控制方法及其控制***;本发明所述的一种改进的PID算法,其外设参数除了基本的采样周期、比例系数、积分系数和微分系数四个参数外,还增设了起始差值、死区差值、死区积分值、微分周期、积分加权系数和积分值上限六个外设参数,而且还改变了积分值的计算方法;因此本发明可更合理地做出执行强度反应,通过更多的手段达到理想的控制精度。
Description
技术领域:
本发明涉及PID控制技术领域,尤其涉及一种应用PID算法的控制方法及其控制***。
背景技术:
目前,工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。在工程实际应用中,应用最为广泛的控制理论为PID(Proportion IntegrationDifferentiation)算法。PID算法被广泛应用于温度、速度、位置等控制***,如常见的温控表,其核心就是固化在芯片中的PID运算软件。如图1所示,PID算法的基本原理是对实测值与目标值进行差值计算,并对差值进行积分和微分,得出积分值和微分值;根据被控制***执行部分与传感部分之间的惯性特征,设定合适的比例系数、积分系数和微分系数,将这三个系数作为权重分别与差值、积分值和微分值相乘,即可将三个乘积之和作为执行部分的执行强度。其表现是:比例系数越大,出现差值时执行部分的反应越强烈,而过于强烈的反应容易使差值走向相反的方向,并引起振荡;积分系数不是在出现差值时马上加大执行强度,而是差值持续时间越长执行强度越大,因此可有效降低引起振荡的风险;微分系数主要反映差值的变化方向和速率,它是差值变化速率越大时执行强度越大,可有效防止快速出现的较大偏差。通常应用好PID算法控制理论即可将实测值控制在目标值附近,但仍无法最合理地做出执行强度反应。
在漆包线生产行业中,同样应用着PID算法作为温度控制***的控制理论,随着控制精度要求的提高,使用原始理论的PID算法已不能满足漆包线生产的要求。为适应不断提高的控制精度要求,各控制仪表及PLC生产厂家均对PID算法进行改进,各厂家的改进算法均属技术秘密,无法了解其具体的改进内容,但它们提供给用户的外设参数均是基本的采样周期、比例系数、积分系数和微分系数四个参数,说明它们的改进仅限于固定的算法部分,未改变人机交换的内容和使用方法。从使用的结果看,日本RKC温控表及美国Emerson的PLC温控模块,通过对上述四个参数的调节可使控温精度达到一定水平,但仍缺乏更多的手段使控制精度达到理想水平,不能满足开发新式漆包机中大惯性控温***的要求。
发明内容:
本发明的目的在于针对现有技术的不足,提供一种应用PID算法的控制方法及其控制***,可更合理地做出执行强度反应,通过更多的手段达到理想的控制精度。
为实现上述目的,本发明通过以下技术方案实现:一种应用PID算法的控制方法,它包括以下步骤:
步骤A,获取预置的采样周期、比例系数、积分系数、微分系数、起始差值、死区差值、死区积分值、微分周期、积分加权系数和积分值上限;其中:
采样周期为每次进行判断并改变执行强度的时间间隔;
比例系数为根据差值大小调节比例执行强度的权重;
积分系数为根据积分值大小调节积分执行强度的权重;
微分系数为根据微分值大小调节微分执行强度的权重;
起始差值为根据PID计算来调节执行强度的范围值;
死区差值为目标值附近的理想区域范围;
死区积分值为死区差值范围内的固定积分值;
微分周期为每次进行微分值计算的时间间隔;
积分加权系数为根据微分值调节单次积分值累加量的系数;
积分值上限为积分值的上限;
步骤B:每隔一个微分周期计算一次微分值,具体为:
微分值(i)=实测值(i-1)-实测值(i);
步骤C:每隔一个采样周期计算一次差值,具体为:
差值(j)=目标值-实测值(j);
差值绝对值(j)=ABS(差值(j));
进入步骤D;
步骤D:如果,差值绝对值(j)>=起始差值,进入步骤E;
如果,差值绝对值(j)<起始差值,进入步骤F;
步骤E:如果,差值(j)>=0,则令:
积分值(j)=积分值上限;
执行强度(j+1)=最大执行强度;
如果,差值<0,则令:
积分值(j)=-积分值上限;
执行强度(j+1)=-最大执行强度;
进入步骤L;
步骤F:如果,差值绝对值(j)<=死区差值,则令:
积分值(j)=死区积分值,进入步骤J;
如果,差值绝对值(j)>死区差值,进入步骤G;
步骤G:如果,当前微分值(i,j)>=0,则令:
积分值加权分量(j)=差值绝对值(j)×当前微分值(i,j)×积分加权系数/100;
积分值(j)=积分值(j-1)+差值绝对值(j)+积分值加权分量(j);
如果,微分值<0,则令:
积分值加权分量(j)=差值绝对值(j)×(当前微分值(i,j)+1)×积分加权系数/100;
积分值(j)=积分值(j-1)-差值绝对值(j)+积分值加权分量(j);
进入步骤H;
步骤H:如果,差值(j)>=0,且积分值(j)<死区积分值,则令:积分值(j)=死区积分值;
如果,差值(j)<0,且积分值(j)>死区积分值,则令:积分值(j)=死区积分值;
进入步骤I;
步骤I:如果,积分值(j)>积分值上限,则令:
积分值(j)=积分值上限;
如果,积分值(j)<-积分值上限,则令:
积分值(j)=-积分值上限;
进入步骤J;
步骤J:比例执行强度(j+1)=差值(j)×比例系数;
积分执行强度(j+1)=积分值(j)×积分系数;
微分执行强度(j+1)=当前微分值(i,j)×微分系数;
执行强度(j+1)=比例执行强度(j+1)+积分执行强度(j+1)+微分执行强度(j+1);
进入步骤K;
步骤K:如果,执行强度(j+1)>最大执行强度,则令:
执行强度(j+1)=最大执行强度;
如果,执行强度(j+1)<-最大执行强度,则令:
执行强度(j+1)=-最大执行强度;
进入步骤L;
步骤L:按照执行强度(j+1)值在j+1个采样周期内控制执行部件的动作,实现控制实测值靠近目标值的目的;
上述i=1.2.3.....n,其中i表示第i个微分周期的递增,n表示微分周期递增的次数,微分值(i)表示第i个微分周期的微分值,实测值(i-1)表示第i-1个微分周期的实测值,实测值(i)表示第i个微分周期的实测值;
上述j=1.2.3.....n,其中j表示第j个采样周期的递增,n表示采样周期递增的次数,差值(j)表示第j个采样周期的差值,差值绝对值(j)表示差值(j)的绝对值,目标值为设定好的预期达到的值,实测值(j)表示第j个采样周期的实测值,积分值(j)表示第j个采样周期的积分值,积分值(j-1)表示第j-1个采样周期的积分值,当前微分值(i,j)表示第j个采样周期时的当前第i个微分周期的微分值(i),执行强度(j+1)表示第j+1个采样周期的执行强度,积分值加权分量(j)表示第j个采样周期的积分值加权分量。
所述步骤L中,如果执行部件只有正向的控制功能,且执行强度(j+1)<0,则令:
执行强度(j+1)=0。
所述步骤L中,如果执行部件采用开关量控制,则:
执行时间(j+1)=采样周期×执行强度(j+1)/最大执行强度;
其中执行时间(j+1)表示第j+1个采样周期执行部件的执行时间;
如果执行部件采用模拟量控制,则:
模拟量(j+1)=模拟量最大值×执行强度(j+1)/最大执行强度;
其中模拟量(j+1)表示第j+1个采样周期执行部件的模拟量。
使用16位整数存储器计算时,所述最大执行强度的值为32000。
所述微分值(i)、实测值(i-1)、实测值(i)、差值(j)、差值绝对值(j)、积分值(j)、执行强度(j+1)、比例执行强度(j+1)、积分执行强度(j+1)、微分执行强度(j+1)、当前微分值(i,j)的计算值在人机界面上通过变化曲线显示处理,作为观察控制过程,优化预置参数值的手段。
所述目标值可以为温度目标值、速度目标值或位置目标值,相应的实测值为温度实测值、速度实测值或位置实测值。
一种应用PID算法的控制***,包括检测装置、执行部件和控制器,其中执行部件用于执行动作,控制器为应用权利要求1所述的一种应用PID算法的控制方法的控制器,检测装置用于检测实测值并将检测信号输送给控制器,控制器计算出执行强度并控制执行部件动作,实现控制实测值靠近目标值的目的。
本发明的有益效果:本发明所述的一种应用PID算法的控制方法及其控制***,其外设参数除了基本的采样周期、比例系数、积分系数和微分系数四个参数外,还增设了起始差值、死区差值、死区积分值、微分周期、积分加权系数和积分值上限六个外设参数,而且还改变了积分值的计算方法,因此本发明可更合理地做出执行强度反应,通过更多的手段达到理想的控制精度。
附图说明:
图1为标准PID算法积分值计算示意图;
图2为本发明积分值计算示意图。
具体实施方式:
下面以具体实施方式对本发明作进一步的说明:
以温度控制为例进行说明,本发明中,如果执行部件既有正向的控制功能,又有负向的控制功能,如既有加热功能,又有冷却功能的温度控制***,则执行强度为正数时表示加热,执行强度为负数时表示冷却,执行强度为零时表示不执行加热或冷却。
本发明中,如果执行部件只有正向的控制功能,如只有加热功能,没有冷却功能的温度控制***,当执行强度为负数将执行强度设为零,则执行强度为正数时表示加热,执行强度为零时表示不执行加热。
实施例,应用本发明所述的一种应用PID算法的控制方法,使用PLC控制温度为例来解释参数的选定及计算过程。因为在PLC中整数比较容易处理,所以在全部的运算过程中均使用整数。在运算过程中执行强度将是最大的整数,最大执行强度的值应尽可能选大以提高计算精度,而常用的16位整数存储器的存储范围是-32767~32767,为了尽可能提高计算精度,将最大执行强度设为32000,即执行强度为32000时执行100%加热。本实施例是只有开关量加热执行部件的温度***,所以仅当执行强度大于零时,根据执行强度控制在一个采样周期内的加热时间,且执行部件采用开关量控制。如图2所示:
本实施例步骤A,获取预置的采样周期、比例系数、积分系数、微分系数、起始差值、死区差值、死区积分值、微分周期、积分加权系数和积分值上限,所述采样周期、比例系数、积分系数、微分系数、起始差值、死区差值、死区积分值、微分周期、积分加权系数和积分值上限均为工程经验值。预置的设定如下:
1)采样周期设为64:因为在此使用0.1秒精度的计时器计时,所以采样周期64的实际时间即为6.4秒。
2)比例系数设为320:前一个采样周期温差达到100时,比例执行强度达到32000,即执行100%加热。其中温度测量精度为0.1度,温差达到100即实际温度差异为10度。
3)积分系数设为40:积分值达到800时,比例执行强度达到32000,即执行100%加热。
4)微分系数设为400:微分值达到80时,比例执行强度达到32000,即执行100%加热。微分时间倍数为10,采样周期为64,即在64秒内温度下降了8度就执行100%加热。
5)起始差值设为50:前一个采样周期温差大于5度时,不作任何计算直接执行100%加热,若升温时有明显过冲,起始差值应当加大。起始差值的作用是,大于此起始差值时执行强度为百分之百,小于此起始差值时才开始PID计算并按计算结果决定执行强度。在标准算法中是全程计算PID,计算结果大于百分之百时按百分之百执行,小于百分之百时按计算结果执行,计算结果小于百分之百的起点受到了比例、积分和微分三个系数的复杂影响。加入此起始差值参数后,用户可延长百分之百执行的时间,比如原来温度差10度时执行强度就开始下降,现在可以使它在差5度时才开始下降。这样做的好处是,在不引起过冲的前提下,越晚结束百分之百执行,能够越快接近目标值。
6)死区差值设为3:前一个采样周期温差绝对值小于0.3度时,积分值设为死区积分值。在相当接近目标值时,PID计算出来的执行强度往往比较小,导致控制对象的实测值在此理想区域停留时间不长。死区差值定义了理想区域的范围,在此范围内固定一个积分值,使执行强度保持一种必要的水平,使控制对象的实测值在死区停留的时间最长。死区差值应当小于目标控制精度。
7)死区积分值设为200:在接近设定温度的死区范围内,积分执行强度固定为8000,即不考虑比例和微分的话固定执行25%加热,接近于该工况的平均加热量。在死区差值范围内的固定积分值。此值的大小可参考***的平均执行强度来确定,越接***均执行强度,控制对象的实测值在死区差值范围停留的时间越长。此值如果偏大,控制对象的实测值会在死区差值及高出死区差值之间徘徊,应当适当调小。此值如果偏小,控制对象的实测值会在死区差值及低于死区差值之间徘徊,应当适当调大。最理想的结果是控制对象的实测值停留在死区差值很长时间,仅当出现较大干扰因素时才会离开。
8)微分周期设为640:即每64秒计算一次微分值。要实现较高精度的控制,采样周期不宜太长,而在较短的采样周期内,代表控制对象的实测值变化速率的微分值可能因为传感器灵敏度的限制而得出间断性的结果,不能有效反映其变化趋势。单独设置的微分周期可比采样周期长,从而保证得出连贯的微分值,有效反映实测值的变化速率。调试时可观察微分值的变化,若微分值变化不连贯,可加大微分周期。但微分周期不宜过大,过大也有可能使变化趋势被掩盖,应当调试到微分值刚进入连贯的临界点附近。
9)积分加权系数设为50:即在单个温差累加或累减外,每增加或减少一个微分值再累加或累减50%温差。微分值较大时表示控制对象的实测值变化速率较快,此时可适当加大积分值变化幅度,从而加大消除此变化的执行强度。标准算法的积分计算通常是每次累加或累减一个差值到积分值上,而改进算法是在一个差值之外再累加或累减一个差值乘以微分值再乘以积分加权系数。如果积分加权系数等于零,则积分值计算方法与标准算法相同。
10)积分值上限设为800:积分值大于800则使之等于800,小于-800则使之小于-800。积分值大到单独可使执行强度大于百分之百之后是没有意义的,标准算法通常将积分值上限设为百分之百除以积分系数。将它定义为外设参数的目的是方便用户限制积分的最大作用,给用户一个额外调节手段。
在运行过程中,采样周期与微分周期是分别计时的,它们可能不同步,所以分别介绍其计算过程。
在微分周期到达一个周期时,假定此时实测温度为4440,前一个微分周期的实测温度为4435,微分值计算如下:
步骤B:微分值=前次温度实测值-本次温度实测值=4435-4440=-5;并将实测值4440赋值为前次实测值供下一个微分周期计算用;
在采样周期到达一个周期时,假定设定温度即温度目标值为4500,此时存储器中的积分值即前一个采样周期的积分值为800,当前微分值为-5,本次采样温度实测值为4440,本次采样后计算过程如下:
步骤C:差值=温度目标值-温度实测值=4500-4440=60;
差值绝对值=ABS(差值)=ABS(60)=60;
进入步骤D;
步骤D:差值绝对值=60>=起始差值=50,进入步骤E;
步骤E:差值=60>0,则令:
积分值=积分值上限=800;
执行强度=32000;
进入步骤L;
步骤L:加热时间=采样周期×执行强度/32000=64×32000/32000=64;
即在下一个采样周期内加热6.4秒,相当于全时加热。
经过n个采样周期后,假定设定温度即温度目标值为4500,此时存储器中的积分值即前一个采样周期的积分值为800,当前微分值为-4,本次采样温度实测值为4451,本次采样后计算过程如下:
步骤C:差值=温度目标值-温度实测值=4500-4451=49;
差值绝对值=ABS(差值)=ABS(49)=49;
进入步骤D;
步骤D:差值绝对值=49<起始差值=50,进入步骤F;
步骤F:差值绝对值=49>死区差值=3,进入步骤G;
步骤G:当前微分值=-4<0,则令:
积分值加权分量=差值绝对值×(当前微分值+1)×积分加权系数/100
=49×(-4+1)×50/100=-73;
此处只有整数运算,所以计算结果-73.5只有-73的得数;
积分值=积分值-差值绝对值+积分值加权分量
=800-49+(-73)=678;
进入步骤H;
步骤H:差值=49>0且,积分值=678>死区积分值=200,则:进入步骤I;
步骤I:积分值=678<积分值上限=800,且积分值=678>-积分值上限=-800,所以直接进入步骤J;
步骤J:比例执行强度=差值×比例系数=49×320=15680;
积分执行强度=积分值×积分系数=678×40=27120;
微分执行强度=微分值×微分系数=-4×400=-1600;
执行强度=比例执行强度+积分执行强度+微分执行强度
=15680+27120+(-1600)=41200;
进入步骤K:
步骤K:执行强度=41200>32000,则令:
执行强度=32000;
进入步骤K;
步骤L:加热时间=采样周期×执行强度/32000
=64×32000/32000=64;
即在下一个采样周期内加热6.4秒,相当于全时加热。
再经过n个采样周期后,假定设定温度即温度目标值为4500,此时存储器中的积分值即前一个采样周期的积分值为150,当前微分值为-1,本次采样温度实测值为4497,本次采样后计算过程如下:
步骤C:差值=温度目标值-温度实测值=4500-4497=3;
差值绝对值=ABS(差值)=ABS(3)=3;
进入步骤D;
步骤D:差值绝对值=3<起始差值=50,进入步骤F;
步骤F:差值绝对值=3<=死区差值=3,则令:
积分值=死区积分值=200,进入步骤J;
步骤J:比例执行强度=差值×比例系数=3×320=960;
积分执行强度=积分值×积分系数=200×40=8000;
微分执行强度=微分值×微分系数=-1×400=-400;
执行强度=比例执行强度+积分执行强度+微分执行强度
=960+8000+(-400)=8560;
进入步骤K:
步骤K:执行强度=8560<32000,且执行强度=8560>-32000,进入步骤L;
步骤L:加热时间=采样周期×执行强度/32000
=64×8560/32000=17;
即在下一个采样周期内加热1.7秒,相当于26.56%加热。
再经过n个采样周期后,假定设定温度即温度目标值为4500,此时存储器中的积分值即前一个采样周期的积分值为200,当前微分值为-1,本次采样温度实测值为4504,本次采样后计算过程如下:
步骤C:差值=温度目标值-温度实测值=4500-4504=-4;
差值绝对值=ABS(差值)=ABS(-4)=4;
进入步骤D;
步骤D:差值绝对值=4<起始差值=50,进入步骤F;
步骤F:差值绝对值=4>死区差值=3,进入步骤G;
步骤G:微分值=-1<0,则令:
积分值加权分量=差值绝对值×(当前微分值+1)×积分加权系数/100
=4×(-1+1)×50/100=0;
积分值=前一个采样周期的积分值-差值绝对值+积分值加权分量
=200-4+0=196;
进入步骤H;
步骤H:差值=-4<0且,积分值=196<死区积分值=200,则:进入步骤I;
步骤I:积分值=196<积分值上限=800,且积分值=196>-积分值上限=-800,所以直接进入步骤J;
步骤J:比例执行强度=差值×比例系数=-4×320=-1280;
积分执行强度=积分值×积分系数=196×40=7840;
微分执行强度=微分值×微分系数=-1×400=-400;
执行强度=比例执行强度+积分执行强度+微分执行强度
=-1280+7840+(-400)=6160;
进入步骤K:
步骤K:执行强度=6160<32000,且执行强度=6160>-32000,进入步骤L;
步骤L:加热时间=采样周期×执行强度/32000=64×6160/32000=12;
即在下一个采样周期内加热1.2秒,相当于18.75%加热。
再经过n个采样周期后,假定设定温度即温度目标值为4500,此时存储器中的积分值即前一个采样周期的积分值为-300,当前微分值为0,本次采样温度实测值为4534,本次采样后计算过程如下:
步骤C:差值=目标值-实测值=4500-4534=-34;
差值绝对值=ABS(差值)=ABS(-34)=34;
进入步骤D;
步骤D:差值绝对值=34<起始差值=50,进入步骤F;
步骤F:差值绝对值=34>死区差值=3,进入步骤G;
步骤G:微分值=0>=0,则令:
积分值加权分量=差值绝对值×微分值×积分加权系数/100
=34×0×50/100=0;
积分值=前一个采样周期的积分值+差值绝对值+积分值加权分量
=-300+34+0=-266;
进入步骤H;
步骤H:差值=-34<0,且积分值=-266<死区积分值=200,则:进入步骤I;
步骤I:积分值=-266<积分值上限=800,且:
积分值=-266>-积分值上限=-800,所以直接进入步骤J:
步骤J:比例执行强度=差值×比例系数=-34×320=-10880;
积分执行强度=积分值×积分系数=-266×40=-10640;
微分执行强度=微分值×微分系数=0×400=0;
执行强度=比例执行强度+积分执行强度+微分执行强度
=-10880+(-10640)+0=-21520;
进入步骤KJ:
步骤K:执行强度=-21520>32000,且执行强度=-21520>-32000,进入步骤L;
步骤L:执行强度=-21520<0,则令:
加热时间=0;
即在下一个采样周期内加热0秒,相当于不加热。
再经过n个采样周期后,假定设定温度即温度目标值为4500,此时存储器中的积分值即前一个采样周期的积分值为-50,当前微分值为2,本次采样温度实测值为4514,本次采样后计算过程如下:
步骤C:差值=目标值-实测值=4500-4504=-14;
差值绝对值=ABS(差值)=ABS(-4)=14;
进入步骤D;
步骤D:差值绝对值=14<起始差值=50,进入步骤F;
步骤F:差值绝对值=14>死区差值=3,进入步骤G;
步骤G:微分值=2>=0,则令:
积分值加权分量=差值绝对值×微分值×积分加权系数/100
=14×2×50/100=14;
积分值=前一个采样周期的积分值积分值+差值绝对值+积分值加权分量
=-50+14+14=-22;
进入步骤H;
步骤H:差值=-14<0,且积分值=-22<死区积分值=200,则:
进入步骤I;
步骤I:积分值=-22<积分值上限=800,且积分值=-22>-积分值上限
=-800,所以直接进入步骤J;
步骤J:比例执行强度=差值×比例系数=-14×320=-4480;
积分执行强度=积分值×积分系数=-22×40=-880;
微分执行强度=微分值×微分系数=2×400=800;
执行强度=比例执行强度+积分执行强度+微分执行强度
=-4480+(-880)+800=-4560;
进入步骤K:
步骤K:执行强度=-4560>32000,且执行强度=-4560>-32000,进入步骤L;
步骤L:执行强度=-4560<0,则令:
加热时间=0;
即在下一个采样周期内加热0秒,相当于不加热。
再经过n个采样周期后,假定设定温度即温度目标值为4500,此时存储器中的积分值即前一个采样周期的积分值为100,当前微分值为2,本次采样温度实测值为4503,本次采样后计算过程如下:
步骤C:差值=目标值-实测值=4500-4503=-3;
差值绝对值=ABS(差值)=ABS(-3)=3;
进入步骤D;
步骤D:差值绝对值=3<起始差值=50,进入步骤F;
步骤F:差值绝对值=3<=死区差值=3,则令:
积分值=死区积分值=200,进入步骤J;
步骤J:比例执行强度=差值×比例系数=-3×320=-960;
积分执行强度=积分值×积分系数=200×40=8000;
微分执行强度=微分值×微分系数=2×400=800;
执行强度=比例执行强度+积分执行强度+微分执行强度
=-960+8000+800=7840;
进入步骤K;
步骤K:执行强度=7840<32000,且执行强度=7840>-32000,进入步骤L;
步骤L:加热时间=采样周期×执行强度/32000=64×7840/32000=15;
即在下一个采样周期内加热1.5秒,相当于23.44%加热。
如此不断循环,即可实现较高的控制精度。在编制软件时,应当将相关中间值的计算结果上传到人机界面上,若控制精度不太理想,可观察中间值计算的情况,发现控制精度不高的原因后,可通过调节相应的外设参数来改善。本发明改进的PID算法,除内部计算方法有所改进外,最重要的是引进了更多的外设参数,将通常的四个外设参数增加到十个。借助于这些外设参数,用户可根据控制过程的表现,特别是人机界面显示的中间值计算过程,可发现控制过程的缺陷,然后调节相应的外设参数予以解决,最终达到理想的控制精度。本发明所述改进的PID算法尤其适合于采用PLC进行控制温度,也可用于速度或位置等其它PID控制,还可将本算法应用于专用控制仪表,如温度控制表等,作为应用该改进的PID算法的温度控制***。
以上所述仅是本发明的较佳实施例,故凡依本发明专利申请范围所述的构造、特征及原理所做的等效变化或修饰,均包括于本发明专利申请范围内。
Claims (7)
1.一种应用PID算法的控制方法,其特征在于,它包括以下步骤:
步骤A,获取预置的采样周期、比例系数、积分系数、微分系数、起始差值、死区差值、死区积分值、微分周期、积分加权系数和积分值上限;其中:
采样周期为每次进行判断并改变执行强度的时间间隔;
比例系数为根据差值大小调节比例执行强度的权重;
积分系数为根据积分值大小调节积分执行强度的权重;
微分系数为根据微分值大小调节微分执行强度的权重;
起始差值为根据PID计算来调节执行强度的范围值;
死区差值为目标值附近的理想区域范围;
死区积分值为死区差值范围内的固定积分值;
微分周期为每次进行微分值计算的时间间隔;
积分加权系数为根据微分值调节单次积分值累加量的系数;
积分值上限为积分值的上限;
步骤B:每隔一个微分周期计算一次微分值,具体为:
微分值(i)=实测值(i-1)-实测值(i);
步骤C:每隔一个采样周期计算一次差值,具体为:
差值(j)=目标值-实测值(j);
差值绝对值(j)=ABS(差值(j));
进入步骤D;
步骤D:如果,差值绝对值(j)>=起始差值,进入步骤E;
如果,差值绝对值(j)<起始差值,进入步骤F;
步骤E:如果,差值(j)>=0,则令:
积分值(j)=积分值上限;
执行强度(j+1)=最大执行强度;
如果,差值<0,则令:
积分值(j)=-积分值上限;
执行强度(j+1)=-最大执行强度;
进入步骤L;
步骤F:如果,差值绝对值(j)<=死区差值,则令:
积分值(j)=死区积分值,进入步骤J;
如果,差值绝对值(j)>死区差值,进入步骤G;
步骤G:如果,当前微分值(i,j)>=0,则令:
积分值加权分量(j)=差值绝对值(j)×当前微分值(i,j)×积分加权系数/100;
积分值(j)=积分值(j-1)+差值绝对值(j)+积分值加权分量(j);
如果,微分值<0,则令:
积分值加权分量(j)=差值绝对值(j)×(当前微分值(i,j)+1)×积分加权系数/100;
积分值(j)=积分值(j-1)-差值绝对值(j)+积分值加权分量(j);
进入步骤H;
步骤H:如果,差值(j)>=0,且积分值(j)<死区积分值,则令:
积分值(j)=死区积分值;
如果,差值(j)<0,且积分值(j)>死区积分值,则令:
积分值(j)=死区积分值;
进入步骤I;
步骤I:如果,积分值(j)>积分值上限,则令:
积分值(j)=积分值上限;
如果,积分值(j)<-积分值上限,则令:
积分值(j)=-积分值上限;
进入步骤J;
步骤J:比例执行强度(j+1)=差值(j)×比例系数;
积分执行强度(j+1)=积分值(j)×积分系数;
微分执行强度(j+1)=当前微分值(i,j)×微分系数;
执行强度(j+1)=比例执行强度(j+1)+积分执行强度(j+1)+微分执行强度(j+1);
进入步骤K;
步骤K:如果,执行强度(j+1)>最大执行强度,则令:
执行强度(j+1)=最大执行强度;
如果,执行强度(j+1)<-最大执行强度,则令:
执行强度(j+1)=-最大执行强度;
进入步骤L;
步骤L:按照执行强度(j+1)值在j+1个采样周期内控制执行部件动作,实现控制实测值靠近目标值的目的;
上述i=1.2.3.....n,其中i表示第i个微分周期的递增,n表示微分周期递增的次数,微分值(i)表示第i个微分周期的微分值,实测值(i-1)表示第i-1个微分周期的实测值,实测值(i)表示第i个微分周期的实测值;
上述j=1.2.3.....n,其中j表示第j个采样周期的递增,n表示采样周期递增的次数,差值(j)表示第j个采样周期的差值,差值绝对值(j)表示差值(j)的绝对值,目标值为设定好的预期达到的值,实测值(j)表示第j个采样周期的实测值,积分值(j)表示第j个采样周期的积分值,积分值(j-1)表示第j-1个采样周期的积分值,当前微分值(i,j)表示第j个采样周期时的当前第i个微分周期的微分值(i),执行强度(j+1)表示第j+1个采样周期的执行强度,积分值加权分量(j)表示第j个采样周期的积分值加权分量。
2.根据权利要求1所述的一种应用PID算法的控制方法,其特征在于:所述步骤L中,如果执行部件只有正向的控制功能,且执行强度(j+1)<0,则令:
执行强度(j+1)=0。
3.根据权利要求2所述的一种应用PID算法的控制方法,其特征在于:所述步骤L中,如果执行部件采用开关量控制,则:
执行时间(j+1)=采样周期×执行强度(j+1)/最大执行强度;
其中执行时间(j+1)表示第j+1个采样周期执行部件的执行时间;如果执行部件采用模拟量控制,则:
模拟量(j+1)=模拟量最大值×执行强度(j+1)/最大执行强度;
其中模拟量(j+1)表示第j+1个采样周期执行部件的模拟量。
4.根据权利要求3所述的一种应用PID算法的控制方法,其特征在于:使用16位整数存储器计算时,所述最大执行强度的值为32000。
5.根据权利要求1至4任一项所述的一种应用PID算法的控制方法,其特征在于:所述微分值(i)、实测值(i-1)、实测值(i)、差值(j)、差值绝对值(j)、积分值(j)、执行强度(j+1)、比例执行强度(j+1)、积分执行强度(j+1)、微分执行强度(j+1)、当前微分值(i,j)的计算值在人机界面上通过变化曲线显示处理,作为观察控制过程,优化预置参数值的手段。
6.根据权利要求1至4任一项所述的一种应用PID算法的控制方法,其特征在于:所述目标值可以为温度目标值、速度目标值或位置目标值,相应的实测值为温度实测值、速度实测值或位置实测值。
7.一种应用PID算法的控制***,包括检测装置、执行部件和控制器,其中执行部件用于执行动作,控制器为应用权利要求1所述的一种应用PID算法的控制方法的控制器,检测装置用于检测实测值并将检测信号输送给控制器,控制器计算出执行强度并控制执行部件动作,实现控制实测值靠近目标值的目的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910038926A CN101872158A (zh) | 2009-04-24 | 2009-04-24 | 一种应用pid算法的控制方法及其控制*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910038926A CN101872158A (zh) | 2009-04-24 | 2009-04-24 | 一种应用pid算法的控制方法及其控制*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101872158A true CN101872158A (zh) | 2010-10-27 |
Family
ID=42997080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910038926A Pending CN101872158A (zh) | 2009-04-24 | 2009-04-24 | 一种应用pid算法的控制方法及其控制*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101872158A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103066909A (zh) * | 2013-01-14 | 2013-04-24 | 杭州电子科技大学 | 带死区的pid控制器的控制方法及纱线恒张力控制*** |
CN106773652A (zh) * | 2017-01-25 | 2017-05-31 | 北京鸿智电通科技有限公司 | 一种pid***及其参数自动调整方法 |
CN106909073A (zh) * | 2017-05-03 | 2017-06-30 | 北京合康新能变频技术有限公司 | 一种数字调节器的参数调整方法 |
CN109375684A (zh) * | 2018-12-12 | 2019-02-22 | 深圳市美晶科技有限公司 | Pid控制方法 |
CN110154214A (zh) * | 2019-05-16 | 2019-08-23 | 中国电建集团铁路建设有限公司 | 管片生产智能蒸养控制*** |
CN110779268A (zh) * | 2019-10-25 | 2020-02-11 | 长虹美菱股份有限公司 | 一种电冰箱内部温度控制***算法 |
CN113862728A (zh) * | 2021-09-30 | 2021-12-31 | 佛山仙湖实验室 | Pem纯水电解制氢的压力控制方法、***、设备及介质 |
-
2009
- 2009-04-24 CN CN200910038926A patent/CN101872158A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103066909A (zh) * | 2013-01-14 | 2013-04-24 | 杭州电子科技大学 | 带死区的pid控制器的控制方法及纱线恒张力控制*** |
CN106773652A (zh) * | 2017-01-25 | 2017-05-31 | 北京鸿智电通科技有限公司 | 一种pid***及其参数自动调整方法 |
CN106773652B (zh) * | 2017-01-25 | 2021-01-19 | 北京鸿智电通科技有限公司 | 一种pid***及其参数自动调整方法 |
CN106909073A (zh) * | 2017-05-03 | 2017-06-30 | 北京合康新能变频技术有限公司 | 一种数字调节器的参数调整方法 |
CN106909073B (zh) * | 2017-05-03 | 2019-09-13 | 北京合康新能变频技术有限公司 | 一种数字调节器的参数调整方法 |
CN109375684A (zh) * | 2018-12-12 | 2019-02-22 | 深圳市美晶科技有限公司 | Pid控制方法 |
CN110154214A (zh) * | 2019-05-16 | 2019-08-23 | 中国电建集团铁路建设有限公司 | 管片生产智能蒸养控制*** |
CN110779268A (zh) * | 2019-10-25 | 2020-02-11 | 长虹美菱股份有限公司 | 一种电冰箱内部温度控制***算法 |
CN110779268B (zh) * | 2019-10-25 | 2021-09-28 | 长虹美菱股份有限公司 | 一种电冰箱内部温度控制***算法 |
CN113862728A (zh) * | 2021-09-30 | 2021-12-31 | 佛山仙湖实验室 | Pem纯水电解制氢的压力控制方法、***、设备及介质 |
CN113862728B (zh) * | 2021-09-30 | 2024-01-09 | 佛山仙湖实验室 | Pem纯水电解制氢的压力控制方法、***、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101872158A (zh) | 一种应用pid算法的控制方法及其控制*** | |
Bonvin et al. | Dynamic optimization in the batch chemical industry | |
CN104460319B (zh) | 多批次间歇反应过程二维多模型预测迭代学习控制方法 | |
EP2930573B1 (en) | Adjustment device, control method, and control program | |
CN116518640B (zh) | 一种冷柜控制方法、***和设备 | |
CN101765258B (zh) | 电熔镁炉熔炼过程中三相电极的定位装置及其控制方法 | |
CN109616161B (zh) | 一种基于孪生支持向量回归机的发酵过程软测量方法 | |
CN104750902B (zh) | 基于多输出支持向量回归机的铁水质量动态软测量方法 | |
CN105404141A (zh) | 模糊pid控制仪及控制方法 | |
CN104199488A (zh) | 一种全自动生化分析仪的比色杯反应液恒温控制装置及方法 | |
CN110908361A (zh) | 一种基于在线孪生支持向量回归机的发酵过程软测量方法 | |
CN106774516A (zh) | 高通量微型生物反应器温度控制***与方法 | |
CN106019934A (zh) | 控制装置及控制方法 | |
CN105954218B (zh) | 一种面向qpq工艺的氮化盐成分半自动检测仪器 | |
CN108608016A (zh) | 一种电主轴快速温升的辨识方法及其*** | |
CN101281182B (zh) | 铝酸钠溶液组分浓度软测量方法 | |
WO2002022246A1 (en) | System and method for mixture optimization | |
CN103675009B (zh) | 模糊方程的工业熔融指数软测量仪表及方法 | |
CN102073275B (zh) | 连续搅拌反应釜的自适应模糊动态面控制装置及控制方法 | |
CN111680932A (zh) | 一种高炉异常炉况成因的获取方法和装置 | |
CN103675008B (zh) | 加权模糊的工业熔融指数软测量仪表及方法 | |
CN112815612B (zh) | 一种基于家用电冰箱电气件温度控制测试***控制方法 | |
CN107315390A (zh) | 一种基于多机床温差分析的机床运动补偿*** | |
Zhao et al. | Research and exploit on PCR apparatus | |
Guo et al. | Applying a generalized predictive control theory to a carding autoleveler |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20101027 |