一种应用pid算法的控制方法及其控制系统的制作方法

文档序号:6286600阅读:119来源:国知局
专利名称:一种应用pid算法的控制方法及其控制系统的制作方法
技术领域
本发明涉及PID控制技术领域,尤其涉及一种应用PID算法的控制方法及其控制 系统。
背景技术
目前,工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。在工程 实际应用中,应用最为广泛的控制理论为PID (Proportion IntegrationDifferentiation) 算法。PID算法被广泛应用于温度、速度、位置等控制系统,如常见的温控表,其核心就是固 化在芯片中的PID运算软件。如图1所示,PID算法的基本原理是对实测值与目标值进行 差值计算,并对差值进行积分和微分,得出积分值和微分值;根据被控制系统执行部分与传 感部分之间的惯性特征,设定合适的比例系数、积分系数和微分系数,将这三个系数作为权 重分别与差值、积分值和微分值相乘,即可将三个乘积之和作为执行部分的执行强度。其表 现是比例系数越大,出现差值时执行部分的反应越强烈,而过于强烈的反应容易使差值走 向相反的方向,并引起振荡;积分系数不是在出现差值时马上加大执行强度,而是差值持续 时间越长执行强度越大,因此可有效降低引起振荡的风险;微分系数主要反映差值的变化 方向和速率,它是差值变化速率越大时执行强度越大,可有效防止快速出现的较大偏差。通 常应用好PID算法控制理论即可将实测值控制在目标值附近,但仍无法最合理地做出执行 强度反应。在漆包线生产行业中,同样应用着PID算法作为温度控制系统的控制理论,随着 控制精度要求的提高,使用原始理论的PID算法已不能满足漆包线生产的要求。为适应不 断提高的控制精度要求,各控制仪表及PLC生产厂家均对PID算法进行改进,各厂家的改 进算法均属技术秘密,无法了解其具体的改进内容,但它们提供给用户的外设参数均是基 本的采样周期、比例系数、积分系数和微分系数四个参数,说明它们的改进仅限于固定的 算法部分,未改变人机交换的内容和使用方法。从使用的结果看,日本RKC温控表及美国 Emerson的PLC温控模块,通过对上述四个参数的调节可使控温精度达到一定水平,但仍缺 乏更多的手段使控制精度达到理想水平,不能满足开发新式漆包机中大惯性控温系统的要 求。

发明内容
本发明的目的在于针对现有技术的不足,提供一种应用PID算法的控制方法及其 控制系统,可更合理地做出执行强度反应,通过更多的手段达到理想的控制精度。为实现上述目的,本发明通过以下技术方案实现一种应用PID算法的控制方法, 它包括以下步骤步骤A,获取预置的采样周期、比例系数、积分系数、微分系数、起始差值、死区差 值、死区积分值、微分周期、积分加权系数和积分值上限;其中采样周期为每次进行判断并改变执行强度的时间间隔;
比例系数为根据差值大小调节比例执行强度的权重;积分系数为根据积分值大小调节积分执行强度的权重; 微分系数为根据微分值大小调节微分执行强度的权重;起始差值为根据PID计算来调节执行强度的范围值;死区差值为目标值附近的理想区域范围;死区积分值为死区差值范围内的固定积分值;微分周期为每次进行微分值计算的时间间隔;积分加权系数为根据微分值调节单次积分值累加量的系数;积分值上限为积分值的上限;步骤B 每隔一个微分周期计算一次微分值,具体为微分值⑴=实测值(i-l)_实测值⑴;步骤C 每隔一个采样周期计算一次差值,具体为差值(j)=目标值_实测值(j);差值绝对值(j) = ABS (差值(j));进入步骤D ;步骤D 如果,差值绝对值(j) >=起始差值,进入步骤E ;如果,差值绝对值(j) <起始差值,进入步骤F ;步骤E 如果,差值(j) > = 0,则令积分值(j)=积分值上限;执行强度(j+Ι)=最大执行强度;如果,差值<0,则令积分值(j)=-积分值上限;执行强度(j + Ι)=-最大执行强度;进入步骤L ;步骤F 如果,差值绝对值(j) <=死区差值,则令积分值(j)=死区积分值,进入步骤J ;如果,差值绝对值(j) >死区差值,进入步骤G ;步骤G 如果,当前微分值(i,j) >= 0,则令积分值加权分量(j)=差值绝对值(j) X当前微分值(i,j) X积分加权系数 /100 ;积分值(j)=积分值(j_l)+差值绝对值(j) +积分值加权分量(j);如果,微分值< 0,则令积分值加权分量(j)=差值绝对值(j) X (当前微分值(i,j)+l) X积分加权系数 /100 ;积分值(j)=积分值(j-l)_差值绝对值(j) +积分值加权分量(j);进入步骤H;步骤H 如果,差值(j) >= 0,且积分值(j) <死区积分值,则令积分值(j)=死 区积分值;如果,差值(j) < 0,且积分值(j) >死区积分值,则令积分值(j)=死区积分值; 进入步骤I ;步骤I 如果,积分值(j) >积分值上限,则令积分值(j)=积分值上限;如果,积分值(j) < -积分值上限,则令积分值(j)=-积分值上限;进入步骤J ;步骤J 比例执行强度(j + Ι)=差值(j) X比例系数;积分执行强度(j+Ι)=积分值(j) X积分系数;微分执行强度(j+Ι)=当前微分值(i,j) X微分系数;执行强度(j+Ι)=比例执行强度(j+Ι) +积分执行强度(j+Ι)+微分执行强度
(j+D ;进入步骤K ;步骤K 如果,执行强度(j+Ι) >最大执行强度,则令执行强度(j+Ι)=最大执行强度;如果,执行强度(j+1) <_最大执行强度,则令执行强度(j+Ι)=-最大执行强度;进入步骤L ;步骤L 按照执行强度(j+Ι)值在j+Ι个采样周期内控制执行部件的动作,实现控 制实测值靠近目标值的目的;上述i = 1. 2. 3.....n,其中i表示第i个微分周期的递增,η表示微分周期递增
的次数,微分值(i)表示第i个微分周期的微分值,实测值(i-ι)表示第i-1个微分周期的 实测值,实测值(i)表示第i个微分周期的实测值;上述j = 1. 2. 3. . . . . n,其中j表示第j个采样周期的递增,η表示采样周期递增 的次数,差值(j)表示第j个采样周期的差值,差值绝对值(j)表示差值(j)的绝对值,目 标值为设定好的预期达到的值,实测值(j)表示第j个采样周期的实测值,积分值(j)表示 第j个采样周期的积分值,积分值(j-Ι)表示第j-Ι个采样周期的积分值,当前微分值(i, j)表示第j个采样周期时的当前第i个微分周期的微分值(i),执行强度(j+Ι)表示第j+1 个采样周期的执行强度,积分值加权分量(j)表示第j个采样周期的积分值加权分量。所述步骤L中,如果执行部件只有正向的控制功能,且执行强度(j+Ι) < 0,则令执行强度(j+Ι)= 0。所述步骤L中,如果执行部件采用开关量控制,则执行时间(j+Ι)=采样周期X执行强度(j+Ι)/最大执行强度;其中执行时间(j+Ι)表示第j+Ι个采样周期执行部件的执行时间;如果执行部件采用模拟量控制,则模拟量(j+Ι)=模拟量最大值X执行强度(j+Ι) /最大执行强度;其中模拟量(j+Ι)表示第j+Ι个采样周期执行部件的模拟量。使用16位整数存储器计算时,所述最大执行强度的值为32000。所述微分值⑴、实测值(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 加热时间=采样周期X执行强度/32000 = 64X32000/32000 = 64 ;即在下一个采样周期内加热6. 4秒,相当于全时加热。经过η个采样周期后,假定设定温度即温度目标值为4500,此时存储器中的积分 值即前一个采样周期的积分值为800,当前微分值为_4,本次采样温度实测值为4451,本次 采样后计算过程如下步骤C 差值=温度目标值_温度实测值=4500-4451 = 49 ;差值绝对值=ABS(差值)=ABS (49) = 49 ;进入步骤D ;步骤D 差值绝对值=49 <起始差值=50,进入步骤F;步骤F 差值绝对值=49 >死区差值=3,进入步骤G ;步骤G 当前微分值=-4 <0,则令积分值加权分量=差值绝对值X (当前微分值+1) X积分加权系数/100= 49 X (-4+1) X 50/100 = -73 ;此处只有整数运算,所以计算结果-73. 5只有-73的得数;积分值=积分值-差值绝对值+积分值加权分量= 800-49+(-73) = 678 ;进入步骤H;
步骤H 差值=49 > 0且,积分值=678 >死区积分值=200,则进入步骤I ;步骤I 积分值=678 <积分值上限=800,且积分值=678 > -积分值上限 =-800,所以直接进入步骤J ;步骤J 比例执行强度=差值X比例系数=49X320 = 15680 ;积分执行强度=积分值X积分系数=678X40 = 27120 ;微分执行强度=微分值X微分系数=-4X400 = -1600 ;执行强度=比例执行强度+积分执行强度+微分执行强度= 15680+27120+(-1600) = 41200 ;进入步骤K:步骤K 执行强度=41200 > 32000,则令执行强度=32000;进入步骤K;步骤L 加热时间=采样周期X执行强度/32000= 64X32000/32000 = 64 ;即在下一个采样周期内加热6. 4秒,相当于全时加热。再经过η个采样周期后,假定设定温度即温度目标值为4500,此时存储器中的积 分值即前一个采样周期的积分值为150,当前微分值为-1,本次采样温度实测值为4497,本 次采样后计算过程如下步骤C 差值=温度目标值_温度实测值=4500-4497 = 3 ;差值绝对值=ABS(差值)=ABS (3) = 3 ;进入步骤D ;步骤D 差值绝对值=3 <起始差值=50,进入步骤F ;步骤F 差值绝对值=3 <=死区差值=3,则令积分值=死区积分值=200,进入步骤J ;步骤J 比例执行强度=差值X比例系数=3X320 = 960 ;积分执行强度=积分值X积分系数=200X40 = 8000 ;微分执行强度=微分值X微分系数=-1X400 = -400 ;执行强度=比例执行强度+积分执行强度+微分执行强度= 960+8000+(-400) = 8560 ;进入步骤K:步骤K 执行强度=8560 < 32000,且执行强度=8560 > -32000,进入步骤L ;步骤L 加热时间=采样周期X执行强度/32000= 64X8560/32000 = 17 ;即在下一个采样周期内加热1. 7秒,相当于26. 56%加热。再经过η个采样周期后,假定设定温度即温度目标值为4500,此时存储器中的积 分值即前一个采样周期的积分值为200,当前微分值为-1,本次采样温度实测值为4504,本 次采样后计算过程如下步骤C 差值=温度目标值_温度实测值=4500-4504 = _4 ;差值绝对值=ABS(差值)=ABS (_4) = 4 ;0154]进入步骤D;
0155]步骤D 差值绝对值=4 <起始差值=50,进入步骤F ;
0156]步骤F 差值绝对值=4 >死区差值=3,进入步骤G ;
0157]步骤G 微分值=-1 < 0,则令
0158]积分值加权分量=差值绝对值X (当前微分值+1) X积分加权系数/100
0159]= 4X (-1+1) X50/100 = 0 ;
0160]积分值=前一个采样周期的积分值_差值绝对值+积分值加权分量
0161]= 200-4+0 = 196 ;
0162]进入步骤H;
0163]步骤H 差值=-4 < 0且,积分值=196 <死区积分值=200,则进入步骤I ;
0164]步骤I 积分值=196 <积分值上限=800,且积分值=196 > -积分值上限 =-800,所以直接进入步骤J ;
0165]步骤J 比例执行强度=差值X比例系数=-4X320 = -1280 ;
0166]积分执行强度=积分值X积分系数=196X40 = 7840 ;
0167]微分执行强度=微分值X微分系数=-1X400 = -400 ;
0168]执行强度=比例执行强度+积分执行强度+微分执行强度
0169]= -1280+7840+(-400) = 6160 ;
0170]进入步骤K:
0171]步骤K 执行强度=6160 < 32000,且执行强度=6160 > -32000,进入步骤L ;
0172]步骤L 加热时间=采样周期X执行强度/32000 = 64X6160/32000 = 12 ;
0173]即在下一个采样周期内加热1. 2秒,相当于18. 75%加热。
0174]再经过n个采样周期后,假定设定温度即温度目标值为4500,此时存储器中的积 分值即前一个采样周期的积分值为-300,当前微分值为0,本次采样温度实测值为4534,本 次采样后计算过程如下
0175]步骤C 差值=目标值-实测值=4500-4534 = -34 ;
0176]差值绝对值=ABS(差值)=ABS (-34) = 34 ;
0177]进入步骤D;
0178]步骤D 差值绝对值=34 <起始差值=50,进入步骤F ;
0179]步骤F 差值绝对值=34 >死区差值=3,进入步骤G ;
0180]步骤G 微分值=0 >= 0,则令
0181]积分值加权分量=差值绝对值X微分值X积分加权系数/100
0182]= 34X0X50/100 = 0 ;
0183]积分值=前一个采样周期的积分值+差值绝对值+积分值加权分量
0184]= -300+34+0 = -266 ;
0185]进入步骤H;
0186]步骤H 差值=-34 < 0,且积分值=-266 <死区积分值=200,则进入步骤I ;
0187]步骤I 积分值=-266 <积分值上限=800,且
0188]积分值=-266 > -积分值上限=-800,所以直接进入步骤J
0189]步骤J 比例执行强度=差值X比例系数=-34X320 = -10880 ;
积分执行强度=积分值X积分系数=-266X40 = -10640 ;微分执行强度=微分值X微分系数=0X400 = 0 ;执行强度=比例执行强度+积分执行强度+微分执行强度= -10880+(-10640)+0 = -21520 ;进入步骤KJ:步骤K 执行强度=-21520 > 32000,且执行强度=-21520 > -32000,进入步骤 L ;步骤L 执行强度=-21520 < 0,则令加热时间=0;即在下一个采样周期内加热0秒,相当于不加热。再经过η个采样周期后,假定设定温度即温度目标值为4500,此时存储器中的积 分值即前一个采样周期的积分值为-50,当前微分值为2,本次采样温度实测值为4514,本 次采样后计算过程如下步骤C 差值=目标值-实测值=4500-4504 = -14 ;差值绝对值=ABS(差值)=ABS (-4) = 14 ;进入步骤D ;步骤D 差值绝对值=14 <起始差值=50,进入步骤F ;步骤F 差值绝对值=14 >死区差值=3,进入步骤G ;步骤G 微分值=2 > = 0,则令积分值加权分量=差值绝对值X微分值X积分加权系数/100= 14X2X50/100 = 14 ;积分值=前一个采样周期的积分值积分值+差值绝对值+积分值加权分量= -50+14+14 = -22 ;进入步骤H;步骤H 差值=-14 < 0,且积分值=-22 <死区积分值=200,则进入步骤I;步骤I 积分值=-22 <积分值上限=800,且积分值=-22 > -积分值上限= -800,所以直接进入步骤J ;步骤J 比例执行强度=差值X比例系数=-14X320 = -4480 ;积分执行强度=积分值X积分系数=-22X40 = -880 ;微分执行强度=微分值X微分系数=2X400 = 800 ;执行强度=比例执行强度+积分执行强度+微分执行强度=-4480+(-880)+800 =-4560 ;进入步骤K 步骤K 执行强度=-4560 > 32000,且执行强度=-4560 > -32000,进入步骤L ;步骤L 执行强度=-4560 < 0,则令加热时间=0;即在下一个采样周期内加热0秒,相当于不加热。再经过η个采样周期后,假定设定温度即温度目标值为4500,此时存储器中的积分值即前一个采样周期的积分值为100,当前微分值为2,本次采样温度实测值为4503,本 次采样后计算过程如下步骤C 差值=目标值-实测值=4500-4503 = _3 ;差值绝对值=ABS(差值)=ABS (_3) = 3 ;进入步骤D ;步骤D 差值绝对值=3 <起始差值=50,进入步骤F ;步骤F 差值绝对值=3 < =死区差值=3,则令积分值=死区积分值=200,进入步骤J ;步骤J 比例执行强度=差值X比例系数=-3X320 = -960 ;积分执行强度=积分值X积分系数=200X40 = 8000 ;微分执行强度=微分值X微分系数=2X400 = 800 ;执行强度=比例执行强度+积分执行强度+微分执行强度= -960+8000+800 = 7840 ;进入步骤K ;步骤K 执行强度=7840 < 32000,且执行强度=7840 > -32000,进入步骤L ;步骤L 加热时间=采样周期X执行强度/32000 = 64X7840/32000 = 15 ;即在下一个采样周期内加热1. 5秒,相当于23. 44%加热。如此不断循环,即可实现较高的控制精度。在编制软件时,应当将相关中间值的计 算结果上传到人机界面上,若控制精度不太理想,可观察中间值计算的情况,发现控制精度 不高的原因后,可通过调节相应的外设参数来改善。本发明改进的PID算法,除内部计算方 法有所改进外,最重要的是引进了更多的外设参数,将通常的四个外设参数增加到十个。借 助于这些外设参数,用户可根据控制过程的表现,特别是人机界面显示的中间值计算过程, 可发现控制过程的缺陷,然后调节相应的外设参数予以解决,最终达到理想的控制精度。本 发明所述改进的PID算法尤其适合于采用PLC进行控制温度,也可用于速度或位置等其它 PID控制,还可将本算法应用于专用控制仪表,如温度控制表等,作为应用该改进的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个采样周期的积分值加权分量。
2.根据权利要求1所述的一种应用PID算法的控制方法,其特征在于所述步骤L中, 如果执行部件只有正向的控制功能,且执行强度(j+1) <0,则令执行强度(j+1) = 0。
3.根据权利要求2所述的一种应用PID算法的控制方法,其特征在于所述步骤L中, 如果执行部件采用开关量控制,则执行时间(j+1)=采样周期X执行强度(j+Ι)/最大执行强度; 其中执行时间(j+Ι)表示第j+Ι个采样周期执行部件的执行时间;如果执行部件采用 模拟量控制,则模拟量(j+1)=模拟量最大值X执行强度(j+1)/最大执行强度;其中模拟量(j+1)表示第j+1个采样周期执行部件的模拟量。
4.根据权利要求3所述的一种应用PID算法的控制方法,其特征在于使用16位整数 存储器计算时,所述最大执行强度的值为32000。
5.根据权利要求1至4任一项所述的一种应用PID算法的控制方法,其特征在于所 述微分值(i)、实测值(i_l)、实测值(i)、差值(j)、差值绝对值(j)、积分值(j)、执行强度 (j+1)、比例执行强度(j+1)、积分执行强度(j+1)、微分执行强度(j+1)、当前微分值(i,j) 的计算值在人机界面上通过变化曲线显示处理,作为观察控制过程,优化预置参数值的手 段。
6.根据权利要求1至4任一项所述的一种应用PID算法的控制方法,其特征在于所 述目标值可以为温度目标值、速度目标值或位置目标值,相应的实测值为温度实测值、速度 实测值或位置实测值。
7.一种应用PID算法的控制系统,包括检测装置、执行部件和控制器,其中执行部件用 于执行动作,控制器为应用权利要求1所述的一种应用PID算法的控制方法的控制器,检测 装置用于检测实测值并将检测信号输送给控制器,控制器计算出执行强度并控制执行部件 动作,实现控制实测值靠近目标值的目的。
全文摘要
本发明涉及PID控制技术领域,尤其涉及一种应用PID算法的控制方法及其控制系统;本发明所述的一种改进的PID算法,其外设参数除了基本的采样周期、比例系数、积分系数和微分系数四个参数外,还增设了起始差值、死区差值、死区积分值、微分周期、积分加权系数和积分值上限六个外设参数,而且还改变了积分值的计算方法;因此本发明可更合理地做出执行强度反应,通过更多的手段达到理想的控制精度。
文档编号G05B11/42GK101872158SQ20091003892
公开日2010年10月27日 申请日期2009年4月24日 优先权日2009年4月24日
发明者周开勇 申请人:东莞市康汇聚线材科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1