
最近从网上看到了一种对PID的解释,比较通俗易懂,也好记住,经过自己的整理后说明如下。
控制模型:你控制一个人让他以PID控制的方式走110步后停下。
(1)P比例控制,就是让他走110步,他按照一定的步伐走到一百零几步(如108步)或100多步(如112步)就停了。
说明:P比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差(Steady-state error)。
(2)PI积分控制,就是他按照一定的步伐走到112步然后回头接着走,走到108步位置时,然后又回头向110步位置走。在110步位置处来回晃几次,最后停在110步的位置。
说明:在积分I控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(System with Steady-state Error)。为了消除稳态误差,在控制器中必须引入积分项。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。
(3)PD微分控制,就是他按照一定的步伐走到一百零几步后,再慢慢地向110步的位置靠近,如果最后能精确停在110步的位置,就是无静差控制;如果停在110步附近(如109步或111步位置),就是有静差控制。
说明:在微分控制D中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳,其原因是由于存在有较大惯性组件(环节)或有滞后(
PID(进程控制符)英文全称为Process Identifier,它也属于电工电子类技术术语。
PID就是各进程的身份标识,程序一运行系统就会自动分配给进程一个独一无二的PID。进程中止后PID被系统回收,可能会被继续分配给新运行的程序。
PID一列代表了各进程的进程ID,也就是说,PID就是各进程的身份标识。
在实际调试中,只能先大致设定一个经验值,然后根据调节效果修改。
对于温度系统:P(%)20--60,I(分)3--10,D(分)0.5--3
对于流量系统:P(%)40--100,I(分)0.1--1
对于压力系统:P(%)30--70,I(分)0.4--3
对于液位系统:P(%)20--80,I(分)1--5
扩展资料:
特点:
1、光离子化检测器对大多数有机物可产生响应信号,如对芳烃和烯烃具有选择性,可降低混合碳氢化合物中烷烃基体的信号,以简化色谱图。
2、光离子化检测器不但具有较高的灵敏度,还可简便地对样品进行前处理。在分析脂肪烃时,其响应值可比火焰离子化检测器高50倍。
3、具有较宽的线性范围(107),电离室体积小于50μe,适合于配置毛细管柱色谱。
4、它是一种非破坏性检测器,还可和质谱、 红外检测器等实行联用,以获取更多的信息。
5、光离子化检测器和火焰离子化检测器联用,可按结构区分芳烃、烯烃和烷烃,从而解决了极性相近化合物的族分析问题。它还可与色谱微波等离子体发射光谱相媲美,并且直观,方法简便。
6、可在常压下进行 *** 作,不需使用氢气、空气等,简化了设备,便于携带。
7、光离子化检测器通常以异丁烯作为校正气体,测量单一组分气体时,需注意切换成与待测气体相一致的CF值,以保证测试结果的准确性。测量组分不确定的混合气体时,因无法明确CF值,此时检测器显示值并非混合气体的实际浓度。
参考资料:百度百科--PID
给你个Step 7写的PID控制的FC模块。带"_IN"与带"_OUT"的变量,如果前缀是一样的,要求连接同一个变量。FUNCTION FC1 : VOID
VAR_INPUT
Run:BOOL //True-运行,False-停止
Auto:BOOL //True-自动,False-手动
ISW:BOOL //True-积分有效,False-积分无效
DSW:BOOL //True-微分有效,False-微分无效
SetMV:REAL //手动时的开度设定值
SVSW:REAL //当设定值低于SVSW时,开度为零
PV:REAL //测量值
SV:REAL //设定值
DeadBand:REAL //死区大小
PBW:REAL //比例带大小
IW:REAL //积分带大小
DW:REAL //微分带大小
dErr_IN:REAL //误差累积
LastPV_IN:REAL //上一控制周期的测量值
END_VAR
VAR_OUTPUT
MV:REAL //输出开度
dErr_OUT:REAL //误差累积
LastPV_OUT:REAL//上一控制周期的测量值
END_VAR
VAR
Err:REAL //误差
dErr:REAL //误差累积
PBH:REAL //比例带上限
PBL:REAL //比例带下限
PVC:REAL //测量值在一个控制周期内的变化率,即测量值变化速率
P:REAL //比例项
I:REAL //积分项
D:REAL //微分项
END_VAR
IF Run=1 THEN
IF Auto=1 THEN
IF SV>=SVSW THEN
Err:=SV-PV
PBH:=SV+PBW
PBL:=SV-PBW
IF PV<PBL THEN
MV:=1
ELSIF PV>PBH THEN
MV:=0
ELSE
P:=(PBH-PV)/(PBH-PBL) //计算比例项
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////以下为积分项的计算//////////////////////////////////////////////////////////////
IF ISW=1 THEN
dErr:=dErr_IN
IF (PV<(SV-DeadBand)) OR (PV>(SV+DeadBand)) THEN
IF (dErr+Err)<(0-IW) THEN
dErr:=0-IW
ELSIF (dErr+Err)>IW THEN
dErr:=IW
ELSE
dErr:=dErr+Err
END_IF
END_IF
I:=dErr/IW
dErr_OUT:=dErr
ELSE
I:=0
END_IF
/////////////////////////////////////////////以上为积分项的计算//////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////以下为微分项的计算//////////////////////////////////////////////////////////////
IF DSW=1 THEN
PVC:=LastPV_IN-PV
D:=PVC/DW
LastPV_OUT:=PV
ELSE
D:=0
END_IF
/////////////////////////////////////////////以上为微分项的计算//////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
IF (P+I+D)>1 THEN
MV:=1
ELSIF (P+I+D)<0 THEN
MV:=0
ELSE
MV:=P+I+D
END_IF
END_IF
ELSE
MV:=0
END_IF
ELSE
MV:=SetMV
END_IF
ELSE
MV:=0
END_IF
END_FUNCTION
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)