PID控制及温度调节程序举例
一、PID控制的定义
在工程实际中,应用最为广泛的调节器控制规律为比例、 积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。
当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。 即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量 进行控制的。
1、比例(P)控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差。
2、在积分(I)控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统。 为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。
3、在微分(D)控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。 自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入“比例”项往往是 不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例 + 微分的控制器,就能够提前使抑制误差的控制作用等于零, 甚至为负值,从而避免了被控量的严重超调。
二、 PID控制器的参数整定
PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:
一、是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。
二 、是工程整定方法,它主要依赖工程经验,直接在控制系统的试 验中进行,且方法简单、易于掌握,在工程实际中被广泛采用 。
三、PID控制在S7-300中的实现
利用S7-300所具有的PID功能,可以方便的进行调试, 得到各个参数的设定,大大节省工程时间。下面我们依然 以314C-2PN/DP为例,来看一下PID控制在S7-300中的实现。
1、PID函数的调用
由于对积分微分时间的精确计算,PID函数必须在循环中断中调用。为此,在博途界面,首先在项目树中点击“添加新块”,选择“组织块”中的“CYC_INT5”,即OB35。
OB35是一个循环中断组织块,每隔一定时间其会自动调用执行一次,该间隔时间的设置方法如图,在项目树中双击“设备组态”,再双击CPU模块,找到下方“常规”项的“中断”, 点选其中的“循环中断”,OB35所对应的执行时间,就是这个间隔时间,这里我们设置为200ms。
OB35块添加后,打开OB35块的程序编写界面,在该界面下我们就可以调用PID函数了。依次选择右侧“指令”中的“工艺 ”、“PID控制”、“PID基本函数”,将“CONT_C”添加 到编程界面。
2、PID函数说明
常用的PID函数为 CONT_C,即“连 续控制器”函数 ,控制具有连续输入和输出变量 的工艺过程,实现了一个完整的 PID 控制器。
该函数虽然具有众多参数,但是其中很多参数并不需要修改, 使用默认设置即可,下面我们结合参数说明,强调一下那些常用和重要的参数,首先是梯形图左侧的输入参数部分。
COM_RST: BOOL型,重新启动PID,当为TURE时,PID 执行重启动功能;
MAN_ON: BOOL型,当为TURE时,PID功能块直接将 MAN的值输出到LMN,也就是说,这个位是PID的手动/ 自动切换位;
CYCLE : TIME型,PID采样周期,该值需与OB35的 调用时间相匹配;
SP_INT:REAL型,是PID的给定值;
PV_IN : REAL型,是PID的反馈值(也称过程变量) ;
MAN : REAL型,手动值,由MAN-ON选择有效;
GAIN : REAL型,比例增益,即PID的P;
TI : TIME型,积分时间,即PID的I;
DEADB_W: REAL型,死区宽度,如果输出在平衡点附近微 小幅度振荡,可以考虑用死区来降低灵敏度;
LMN_HLM: REAL型,PID上极限,一般是100%; LMN_LLM: REAL型,PID下极限;一般为0%,如果需要双 极性调节,则需设置为-100%;
再看一下梯形图右侧的输出参数部分:
LMN :REAL型,PID输出,不可直接与控制器输出互连;
LMN_PER:WORD型,PID输出,可直接与控制器输出互连;
3、使用仿真器PLCSIM查看PID函数工作况
(1)参数设置:
(2)程序编写: 在OB35中编写如下梯形图程序
(3)开始仿真:打开仿真器PLCSIM,下载硬件组态和程序块,并监视程序运行。
使用PLCSIM设置MD30为50.0,如果M0.0为0,可以看到,当 M0.1为1时,50.0被直接送到MD40;而如果M0.0为1,则MD40 被复位为0。
初始状态下,使用PLCSIM设置MD10为60.0,MD20为55.0, 则会看到MD40中的数值从0开始逐渐增大直至100.0。
MD10为60.0不变,将MD20设为62.0,则会看到MD40中的数值开始逐渐减小直至0。
(4)打开组态或调试窗口:我们可以通过图示两处打开组态或调试窗口。
组态窗口用于参数的设置,如果要修改参数,可 以直接在该窗口修改,而无需再回到梯形图中修改。
调试窗口用来观察PID的控制效果,以及参数状态,非常直观。
二、温度调节程序举例
一、控制要求
通过实验箱搭建一个温度控制系统,自行编写程序,实现温度的控制,使温度保持在40℃。 这是一个典型的恒温闭环控制,可以使用S7-300的PID功能实现。
二、设备介绍
下面介绍一下所用到的设备。除了PLC依然使用314C-2PN/DP 外,还要用到ACT-WK实验箱。 ACT-WK是温度检测与控制实验箱,实验箱上包含温度变送及脉宽调制加热执行单元。
温度传感器信号类型为电压型,测量信号量程为0~10v, 表示范围为0~100℃;
加热执行单元信 号类型为电压型,输出信号量程为0~10V,加热效果为 0~100%。
接着,来讲一下如何接线,搭建起这个系统。如图所示。
温度变送单元接在模拟量输入上,脉宽调制加热执行单元接在 模拟量输出上。为了能够监测到当前的温度状况,将电压表接 在温度变送单元上。由于温度变送的对应关系是0~100℃对应 了0~10V的电压,所以可以通过电压表的示数知道当前的温度 ,比如电压表示数为4.00伏,对应的温度就是40 ℃。
三、PID控制实现
现在大家知道如何接线了,下面我们演示一下如何在博途中 使用PID功能完成程序设计,实现所要求的恒温控制。
1、新建TIA工程项目,取名为温度控制。
2、进行硬件组态和相关设置。设置DI/DO的地址,设置 AI/AO的地址,设置AI/AO的信号类型及量程范围,设置循环 中断OB35的间隔执行时间为500ms。
3、编写程序。 添加需要的变量,IW3用于模拟量输入,M0.0用于保证定标 正极性,MW5保存出错信息,MD10用于模拟量输入定标后的 保存,I0.0用于重启PID,I0.1用于PID手动/自动切换,QW2 用于模拟量输出。
在OB1中编写模拟量定标程序,将输入模拟值定标至 0.0~100.0,定标后的值保存至MD10。 添加新块OB35,并在其中编写PID控制程序。将COM_RST设为 I0.0,MAN_ON设为I0.1,CYCLE设为T#500ms,SP_INT设为 40.0,PV_IN设为MD10,LMN_PER设为QW2。其他参数可采用默认设置。 4、将硬件组态和程序块下载到PLC。
四、运行调试
下载完成后,可以点击“监视”图标,监视程序的运行情况 。为了进行PID控制的调试,可以打开PID控制函数的组态或 调试窗口。在组态窗口可以修改程序中所设置的PID参数; 在调试窗口,可以看到PID控制的效果,在其中可以修改PID 参数,以调节控制效果,修改后的参数可以点击闪电图标直 接发送至CPU运行,这时候调试所用参数与程序中设置的参 数可能有所不同。
观察过程值PV与调节变量LMN的曲线变化,是否达到PID的控 制要求,这需要花费几分钟的时间。在本例子中,可以看到 ,经过一段时间,PV与LMN的变化趋近一条直线,满足要求 。这时,在系统中的反映为电压表示数基本保持在4.00伏, 也就是说温度基本保持在40 ℃。
这就是用,S7-300的PID控制功能来完成温度调节的例子。
PID控制及温度调节程序举例
一、PID控制的定义
在工程实际中,应用最为广泛的调节器控制规律为比例、 积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。
当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。 即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量 进行控制的。
1、比例(P)控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差。
2、在积分(I)控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统。 为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。
3、在微分(D)控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。 自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入“比例”项往往是 不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例 + 微分的控制器,就能够提前使抑制误差的控制作用等于零, 甚至为负值,从而避免了被控量的严重超调。
二、 PID控制器的参数整定
PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:
一、是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。
二 、是工程整定方法,它主要依赖工程经验,直接在控制系统的试 验中进行,且方法简单、易于掌握,在工程实际中被广泛采用 。
三、PID控制在S7-300中的实现
利用S7-300所具有的PID功能,可以方便的进行调试, 得到各个参数的设定,大大节省工程时间。下面我们依然 以314C-2PN/DP为例,来看一下PID控制在S7-300中的实现。
1、PID函数的调用
由于对积分微分时间的精确计算,PID函数必须在循环中断中调用。为此,在博途界面,首先在项目树中点击“添加新块”,选择“组织块”中的“CYC_INT5”,即OB35。
OB35是一个循环中断组织块,每隔一定时间其会自动调用执行一次,该间隔时间的设置方法如图,在项目树中双击“设备组态”,再双击CPU模块,找到下方“常规”项的“中断”, 点选其中的“循环中断”,OB35所对应的执行时间,就是这个间隔时间,这里我们设置为200ms。
OB35块添加后,打开OB35块的程序编写界面,在该界面下我们就可以调用PID函数了。依次选择右侧“指令”中的“工艺 ”、“PID控制”、“PID基本函数”,将“CONT_C”添加 到编程界面。
2、PID函数说明
常用的PID函数为 CONT_C,即“连 续控制器”函数 ,控制具有连续输入和输出变量 的工艺过程,实现了一个完整的 PID 控制器。
该函数虽然具有众多参数,但是其中很多参数并不需要修改, 使用默认设置即可,下面我们结合参数说明,强调一下那些常用和重要的参数,首先是梯形图左侧的输入参数部分。
COM_RST: BOOL型,重新启动PID,当为TURE时,PID 执行重启动功能;
MAN_ON: BOOL型,当为TURE时,PID功能块直接将 MAN的值输出到LMN,也就是说,这个位是PID的手动/ 自动切换位;
CYCLE : TIME型,PID采样周期,该值需与OB35的 调用时间相匹配;
SP_INT:REAL型,是PID的给定值;
PV_IN : REAL型,是PID的反馈值(也称过程变量) ;
MAN : REAL型,手动值,由MAN-ON选择有效;
GAIN : REAL型,比例增益,即PID的P;
TI : TIME型,积分时间,即PID的I;
DEADB_W: REAL型,死区宽度,如果输出在平衡点附近微 小幅度振荡,可以考虑用死区来降低灵敏度;
LMN_HLM: REAL型,PID上极限,一般是100%; LMN_LLM: REAL型,PID下极限;一般为0%,如果需要双 极性调节,则需设置为-100%;
再看一下梯形图右侧的输出参数部分:
LMN :REAL型,PID输出,不可直接与控制器输出互连;
LMN_PER:WORD型,PID输出,可直接与控制器输出互连;
3、使用仿真器PLCSIM查看PID函数工作况
(1)参数设置:
(2)程序编写: 在OB35中编写如下梯形图程序
(3)开始仿真:打开仿真器PLCSIM,下载硬件组态和程序块,并监视程序运行。
使用PLCSIM设置MD30为50.0,如果M0.0为0,可以看到,当 M0.1为1时,50.0被直接送到MD40;而如果M0.0为1,则MD40 被复位为0。
初始状态下,使用PLCSIM设置MD10为60.0,MD20为55.0, 则会看到MD40中的数值从0开始逐渐增大直至100.0。
MD10为60.0不变,将MD20设为62.0,则会看到MD40中的数值开始逐渐减小直至0。
(4)打开组态或调试窗口:我们可以通过图示两处打开组态或调试窗口。
组态窗口用于参数的设置,如果要修改参数,可 以直接在该窗口修改,而无需再回到梯形图中修改。
调试窗口用来观察PID的控制效果,以及参数状态,非常直观。
二、温度调节程序举例
一、控制要求
通过实验箱搭建一个温度控制系统,自行编写程序,实现温度的控制,使温度保持在40℃。 这是一个典型的恒温闭环控制,可以使用S7-300的PID功能实现。
二、设备介绍
下面介绍一下所用到的设备。除了PLC依然使用314C-2PN/DP 外,还要用到ACT-WK实验箱。 ACT-WK是温度检测与控制实验箱,实验箱上包含温度变送及脉宽调制加热执行单元。
温度传感器信号类型为电压型,测量信号量程为0~10v, 表示范围为0~100℃;
加热执行单元信 号类型为电压型,输出信号量程为0~10V,加热效果为 0~100%。
接着,来讲一下如何接线,搭建起这个系统。如图所示。
温度变送单元接在模拟量输入上,脉宽调制加热执行单元接在 模拟量输出上。为了能够监测到当前的温度状况,将电压表接 在温度变送单元上。由于温度变送的对应关系是0~100℃对应 了0~10V的电压,所以可以通过电压表的示数知道当前的温度 ,比如电压表示数为4.00伏,对应的温度就是40 ℃。
三、PID控制实现
现在大家知道如何接线了,下面我们演示一下如何在博途中 使用PID功能完成程序设计,实现所要求的恒温控制。
1、新建TIA工程项目,取名为温度控制。
2、进行硬件组态和相关设置。设置DI/DO的地址,设置 AI/AO的地址,设置AI/AO的信号类型及量程范围,设置循环 中断OB35的间隔执行时间为500ms。
3、编写程序。 添加需要的变量,IW3用于模拟量输入,M0.0用于保证定标 正极性,MW5保存出错信息,MD10用于模拟量输入定标后的 保存,I0.0用于重启PID,I0.1用于PID手动/自动切换,QW2 用于模拟量输出。
在OB1中编写模拟量定标程序,将输入模拟值定标至 0.0~100.0,定标后的值保存至MD10。 添加新块OB35,并在其中编写PID控制程序。将COM_RST设为 I0.0,MAN_ON设为I0.1,CYCLE设为T#500ms,SP_INT设为 40.0,PV_IN设为MD10,LMN_PER设为QW2。其他参数可采用默认设置。 4、将硬件组态和程序块下载到PLC。
四、运行调试
下载完成后,可以点击“监视”图标,监视程序的运行情况 。为了进行PID控制的调试,可以打开PID控制函数的组态或 调试窗口。在组态窗口可以修改程序中所设置的PID参数; 在调试窗口,可以看到PID控制的效果,在其中可以修改PID 参数,以调节控制效果,修改后的参数可以点击闪电图标直 接发送至CPU运行,这时候调试所用参数与程序中设置的参 数可能有所不同。
观察过程值PV与调节变量LMN的曲线变化,是否达到PID的控 制要求,这需要花费几分钟的时间。在本例子中,可以看到 ,经过一段时间,PV与LMN的变化趋近一条直线,满足要求 。这时,在系统中的反映为电压表示数基本保持在4.00伏, 也就是说温度基本保持在40 ℃。
这就是用,S7-300的PID控制功能来完成温度调节的例子。
举报