S7-300实现PID控制——何为“单闭环控制系统”
前言:PLC单闭环控制系统
如图1所示,是典型的PLC单闭环控制系统(绿框中的部分是在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所示。
图2 标准PID控制软件包
其中:
FB41-FB43与SFB41-SFB43兼容
FB58、FB59用于PID温度控制
三、标准PID控制功能块的使用
可以调用系统功能块SFB41-SFB43来实现闭环控制,如果安装了标准PID控制软件包的话,也可以选择该软件包中的功能块FB41-B43、FB58及FB59来实现PID闭环控制。
应在启动时执行的组织块OB100或在循环中断(如OB35)中调用FB41-FB43。PID的采样周期应设置为与OB35的循环时间间隔一致。
图3 PID控制器采样时间