首页 理论教育 PID控制器的结构与参数优化

PID控制器的结构与参数优化

时间:2023-06-26 理论教育 版权反馈
【摘要】:可以用FB41作为单独的PID控制器,也可以用脉冲发生器FB43进行扩展,产生脉冲宽度调制的开关量输出信号,来控制比例执行机构。当误差的绝对值超过DEADB_W时,死区环节的输入、输出为线性关系,为正常的PID控制。默认的控制方式为PI控制。

PID控制器的结构与参数优化

1.怎样实现PID控制

PID是比例、积分、微分的缩写,PID控制器是应用最广的闭环控制器。

S7-300/400有专用的闭环控制模块,一般使用普通的信号模块和专用的功能块来实现PID控制。所有型号的CPU可以使用FB41~FB43和用于温度控制的FB58和FB59,它们在程序编辑器左边窗口的文件夹“\库\Standard Library\PID Controller(PID控制器)”中。CPU 31xC还可以使用集成在CPU中的与FB41~FB43兼容的SFB41~SFB43,本章介绍应用最广的FB41的使用方法和仿真实验方法。

FB41“CONT_C”(连续控制器)输出的数字值一般用AO模块转换为连续的模拟量。可以用FB41作为单独的PID控制器,也可以用脉冲发生器FB43进行扩展,产生脉冲宽度调制的开关量输出信号,来控制比例执行机构。

2.PID控制器输出的表达式

模拟量PID控制器的输出表达式为

978-7-111-53804-2-Chapter09-6.jpg

式中,控制器的输入量(误差信号)为

978-7-111-53804-2-Chapter09-7.jpg

sp(t)为设定值,pv(t)为过程变量(反馈值);mv(t)是控制器的输出信号,KP为比例系数(FB41称为比例增益),TI和TD分别是积分时间和微分时间,M是积分部分的初始值。

式(9-1)中等号右边的前3项分别是比例、积分、微分部分,它们分别与误差ev(t)、误差的积分和误差的一阶导数成正比。如果取其中的一项或两项,可以组成P、PI或PD调节器。一般采用PI控制方式;控制对象的惯性滞后较大时,应选择PID控制方式。

功能块FB41的输入、输出参数很多,建议结合FB41的方框图(见图9-5)来学习和理解这些参数。

3.过程变量的处理

在FB41内部,PID控制器的设定值SP_INT(图9-5)、过程变量输入PV_IN和输出值LMN都是浮点数格式的百分数。可以用两种方式输入过程变量(即反馈值)。

1)Bool输入参数PVPER_ON(外部设备过程变量ON)为0状态时,用PV_IN(过程变量输入)输入以百分数为单位的浮点数格式的过程变量。

2)PVPER_ON为1状态时,用PV_PER输入外部设备(I/O格式)的过程变量,即用AI模块输出的数字值作为PID控制的过程变量。

图9-5中的CRP_IN方框将0~27648或±27648(对应于模拟量输入的满量程)的外部设备过程变量PV_PER,转换为0~100%或±100%的浮点数格式的百分数,CPR_IN方框的输出PV_R用下式计算:

978-7-111-53804-2-Chapter09-8.jpg

978-7-111-53804-2-Chapter09-9.jpg

图9-5 FB41 CONT_C的框图

PV_NORM(外设变量格式化)方框用下面的公式将CRP_IN方框的输出PV_R格式化:

PV_NORM的输出=PV_R×PV_FAC+PV_OFF式中,PV_FAC为过程变量的系数,默认值为1.0;PV_OFF为过程变量的偏移量,默认值为0.0。PV_FAC和PV_OFF用来调节外设输入过程变量的范围。它们采用默认值时,PV_NORM方框的输入、输出值相等。图中的PV(过程变量)供调试时使用。

4.误差的计算与死区特性(www.xing528.com)

SP_INT(内部设定值)是以百分数为单位的浮点数设定值。用SP_INT减去浮点数格式的过程变量PV(即反馈值,见图9-5),得到误差值。

在控制系统中,某些执行机构如果频繁动作,将会导致小幅振荡,造成严重的机械磨损。从控制要求来说,很多系统又允许被控量在一定范围内有少量的误差。死区环节能防止执行机构的频繁动作。当死区环节的输入量(即误差)的绝对值小于输入参数死区宽度DEADB_W时,死区环节的输出量(即PID控制器的输入量)为0,这时PID控制器的输出分量中,比例部分和微分部分为0,积分部分保持不变,因此PID控制器的输出值保持不变,控制器不起调节作用,系统处于开环状态。当误差的绝对值超过DEADB_W时,死区环节的输入、输出为线性关系,为正常的PID控制。如果令DEADB_W为0,死区被关闭。图9-5中的误差ER为FB41输出的中间变量。

5.设置控制器的结构

PID控制器的比例运算、积分运算和微分运算3部分并联,P_SEL、I_SEL和D_SEL为1状态时分别启用比例、积分和微分作用,反之则禁止对应的控制作用。因此可以将控制器组态为P、PI、PD和PID控制器。默认的控制方式为PI控制。LNM_P、LNM_I和LNM_D分别是PID控制器输出量中的比例分量、积分分量和微分分量,它们供调试时使用。

图9-5中的GAIN为比例增益,对应于式(9-1)中的KP。TI和TD分别为积分时间和微分时间,对应于式(9-1)中的TI和TD。

微分的引入可以改善系统的动态性能,其缺点是对干扰噪声敏感,使系统抑制干扰的能力降低。为此在微分部分增加了一阶惯性滤波环节,以平缓PID控制器输出值中微分部分的剧烈变化。惯性滤波环节的时间常数为TM_LAG,SFB41的帮助文件建议将TM_LAG设置为TD/5,这样可以减少一个需要整定的参数。

引入扰动量DISV(Disturbance)可以实现前馈控制,一般设置DISV为0.0。

6.积分器的初始值

FB41有一个初始化程序,在输入参数COM_RST(完全重新启动)为1状态时该程序被执行。在初始化过程中,如果Bool输入参数I_ITL_ON(积分作用初始化)为1状态,将输入参数I_ITLVAL作为积分器的初始值,所有其他输出都被设置为其默认值。

INT_HOLD为1状态时积分操作保持不变,积分输出被冻结,一般不冻结积分输出。

7.手动模式与自动模式的切换

BOOL变量MAN_ON为1状态时为手动模式,为0状态时为自动模式。在手动模式,控制器的输出值被手动输入值MAN代替。

8.输出量限幅

LMNLIMIT(输出量限幅)方框用于将控制器的输出量限幅。LMNLIMIT的输入量超出控制器输出量的上限值LMN_HLM时,Bool输出QLMN_HLM(输出超出上限)为1状态;小于下限值LMN_LLM时,Bool输出QLMN_LLM(输出超出下限)为1状态。LMN_HLM和LMN_LLM的默认值分别为100.0%和0.0%。

9.输出量的格式化处理

LMN_NORM(输出量格式化)方框用下述公式来将限幅后的输出量LMN_LIM格式化:

978-7-111-53804-2-Chapter09-10.jpg

式中,LMN是格式化后浮点数格式的控制器输出值(手册称为操作值);LMN_FAC为输出量的系数,默认值为1.0;LMN_OFF为输出量的偏移量,默认值为0.0;LMN_FAC和LMN_OFF用来调节控制器输出值的范围。它们采用默认值时,LMN_NORM方框的输入、输出值相等。

10.输出值转换为外部设备(I/O)格式

为了将PID控制器的输出值送给AO模块,通过“CPR_OUT”方框,将LMN(0~100%或±100%的浮点数格式的百分数)转换为外部设备(I/O)格式的变量LMN_PER(0~27648或±27648的整数)。转换公式为

978-7-111-53804-2-Chapter09-11.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈