上古年间,驼子曾有计划写一系列文章,总结一下“PID控制”。无奈事情太多,只发布了一篇(《用S7-300PLC进行PID控制——功能块FB41的功能及用法介绍》),然后就太监了。恰好最近又接触到这方面的工作,决定再重拾起来,希望这次能坚持更新完整。
【前言:PLC单闭环控制系统】
如图1所示,是典型的PLC单闭环控制系统(绿框中的部分是在PLC中实现的)。
![566ceefa3aec4869af80e0ebe08286e0.png](https://i-blog.csdnimg.cn/blog_migrate/ffad489b0218809e5a60ac06f6be622e.jpeg)
图1 PLC单闭环控制系统
其中:
- Sp(n)是给定值
- Pv(n)是A/D转换后的反馈值
- Ev(n)为误差,即ev(n)=sp(n)-pv(n)
- c(t)为被控量,是连续变化的模拟量,如压力、温度、流量、速度等;
- pv(t)为反馈量,它是标准量程的直流电流信号(如4-20mA)或直流电压信号(如0-10V),它是被控量c(t)经由测量元件(包括传感器和变送器)转换而来的;
- Mv(n)是控制器计算出的控制量,其经过D/A转换后,变为mv(t),驱动执行机构动作,使得被控对象趋向于控制目标。
一、实例:炉温闭环控制
- 用热电偶检测实时炉温,并将其转化为标准的电压信号pv(t):1-5V;
- 反馈信号pv(t)由模拟量输入模块输入,并经过A/D转换(模-数转换),得到与反馈温度成比例的数字量pv(n);
- CPU将其与设定值sp(n)比较,得到误差ev(n)=sp(n)-pv(n);
- 控制器(PID)根据ev(n)计算出控制量mv(n),经过D/A转换(数-模转换)得到标准电流信号mv(t):4-20mA;
- 执行机构为比例阀,mv(t)控制比例阀的开度,控制燃气的流量大小,从而实现炉温的闭环控制。
控制器选择为"PID控制",基本的控制逻辑是:
当炉温c(t)低于设定值时,反馈量pv(n)小于给定值sp(n),误差ev(n)为正,控制器的输出量mv(t)将增大,使比例阀开度增大,燃气流量增加,使炉温升高,最终使实际温度趋近给定值;
当炉温c(t)高于设定值时,反馈量pv(n)大于给定值sp(n),误差ev(n)为负,控制器的输出量mv(t)将减小,使比例阀开度减小,燃气流量减少,使炉温降低,最终使实际温度趋近给定值。
二、通过S7-300/400实现模拟量闭环控制
S7系列的PLC为用户提供了多种模拟量闭环控制的方法。
1、闭环控制模块
S7-300的FM355和S7-400的FM455是西门子提供了智能化4路、16路通用闭环控制模块,用于化工和过程控制,模块上带有A/D和D/A转换器。
2、用于闭环控制的系统功能块
S7-300/400还提供了系统功能块SFB41-SFB43来实现闭环控制。
- SFB41:"CONT_C",用于连续控制
- SFB42:"CONT_S",用于步进控制
- SFB43:"PULSEGEN",用于脉冲宽度调制
3、标准PID控制软件包
标准PID控制(Standard PID Control)软件包提供了5个用于闭环控制的功能块,FB41-FB43、FB58及FB59,如图2所示。
![8d30b9f65cc10f621e5ec0575ae05451.png](https://i-blog.csdnimg.cn/blog_migrate/ea5d31cb6fad19e181a0e36a80edf123.jpeg)
图2 标准PID控制软件包
其中:
- FB41-FB43与SFB41-SFB43兼容
- FB58、FB59用于PID温度控制
三、标准PID控制功能块的使用
可以调用系统功能块SFB41-SFB43来实现闭环控制,如果安装了标准PID控制软件包的话,也可以选择该软件包中的功能块FB41-B43、FB58及FB59来实现PID闭环控制。
应在启动时执行的组织块OB100或在循环中断(如OB35)中调用FB41-FB43。PID的采样周期应设置为与OB35的循环时间间隔一致。
![35d699bc819898a93a7964d1f9f74758.png](https://i-blog.csdnimg.cn/blog_migrate/e16b8acc1cca267232a548628b878a95.jpeg)
图3 PID控制器采样时间
下一篇文章开始,围绕实例“炉温闭环控制”,深入探讨一下“PID控制”。