理论教育 如何实现PID功能块控制?

如何实现PID功能块控制?

时间:2023-07-01 理论教育 版权反馈
【摘要】:西门子S7-300、S7-400系列PLC用的编程软件STEP 7,有PID控制软件包,它含有FB41、FB42、FB43功能块,可很方便地用以实现模拟量的PID控制。而PID函数块处理的实际值为实数,两个字。所以,从输入模块取得的数须经转换,PID函数才能处理。4)手动、自动选择:置MAN为TRUE,可中断PID控制,进入手动控制。PID参数设定,有比例系数,积分时间常数,微分时间常数,微分作用时延,重起动时积分初值设定以及积分作用保持等功能。

如何实现PID功能块控制?

西门子S7-300、S7-400系列PLC用的编程软件STEP 7,有PID控制软件包,它含有FB41(CONT_C)、FB42(CONT_S)、FB43(PULSEGEN)功能块(FB),可很方便地用以实现模拟量的PID控制。新版本的这个软件还有温度控制模块,可直接用以对温度量进行PID控制。

图3-70所示为FB41函数块的原理图。图中的符号含义见表3-13。从表中数据可知,它的功能比PID指令更要强些。

978-7-111-39745-8-Chapter04-121.jpg

图3-69 S7-200 PID指令使用程序实例

表3-13 参数含义

978-7-111-39745-8-Chapter04-122.jpg

(续)

978-7-111-39745-8-Chapter04-123.jpg

(续)

978-7-111-39745-8-Chapter04-124.jpg

978-7-111-39745-8-Chapter04-125.jpg

图3-70 FB41函数块的原理图

具体讲,FB41(CONT_C)函数块的特点是:

(1)数据处理用的数据格式为实数(REAL,浮点数),占两个字。除时间常数设定外,其余各项的取值范围多为-100~100。

(2)设有很多选择开关,可进行有关的PID控制的结构及工作选定。为在各种情况下使用这个函数块,提供了方便。这些选择是:

1)输入选择。输入模块得到的输入值多为十六进制的整数,占12位或16位,最多一个字,两个字节。而PID函数块处理的实际值为实数,两个字。所以,从输入模块取得的数须经转换,PID函数才能处理。这个转换有两个可能的选择:用人工自行转换,转换后赋值给PV(现值);或由函数块转换。

用函数块转换时,先把PV_PER按下式转换为CRP_IN:

CRP_IN=(PV_PER∗100)/27648

然后,再按下式把CRP_IN转换为PV_NORM:(www.daowen.com)

PV_NORM=CRP_IN∗PV_FAC+PV_OFF

这里的PV_FAC及PV_OFF值应依实际情况,由用户指定。

2)PID结构选择:可仅选用P(P_SEL为TRUE);也可既选用P(P_SEL为TRUE),又选用I(I_SEL为TRUE);也可PID全选(P_SEL、I_SEL及D_SEL全为TRUE)。

选用积分作用时,还可使积分值保持(INT_HOLD为TRUE),这时,已有的积分值保持不变。

3)初始化选择:置COM_RST为TRUE,可使PID控制重起动,其积分值又从积分初值计算。

4)手动、自动选择:置MAN为TRUE,可中断PID控制,进入手动控制。这时,控制输出(LMN)可由人工输入确定。

5)输出选择:输出模块输出值多为12位或16位,最多一个字,两个字节。而PID函数块处理的控制输出(LMN)为实数,两个字。所以,从LMN到输出模块的实际输出,得经过数据转换。这个转换也有两个可能的选择:用人工自行转换或由函数块转换。

用函数块转换时,先把PV_PER按下式转换为CRP_IN:

CRP_IN=(PV_PER∗100)/27648

然后,再按下式把CRP_IN转换为PV_NORM:

PV_NORM=CRP_IN∗PV_FAC+PV_OFF

这里的PV_FAC及PV_OFF值应依实际情况,由用户指定。

输出值还可作限幅控制。

(3)PID参数设定,有比例系数,积分时间常数,微分时间常数,微分作用时延,重起动时积分初值设定以及积分作用保持等功能。

死区处理选择:考虑到在平衡点附近,实际值的小变化有时可忽略。这时可对输入量设一个死区(DEAD BANK)。

(4)PID计算过程的中间值,如偏差值、微分值、积分值是可视的,有的,如积分值,还可调整(改变)。这为手动、自动无扰动切换以及实现与其他控制算法相配合的控制提供了方便。

(5)调用此函数块时,要指定数据块(DB)供其使用。

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

我要反馈