FB41“CONT_C”高级功能

FB41“CONT_C”除了基本的PID运算之外,软件本身也提供了积分设定值、积分保持、死区、无扰动切换(手动切换自动)等高级功能。

积分分量

积分初始值

积分冻结

死区

无扰动切换

常问问题

积分分量

FB41“CONT_C”的“LMN_I”积分分量,在手动状态下,根据不同的偏差,不同的MAN值,LMN_I的值不同

图1. FB41"CONT_C": SP_INT=PV_IN; MAN=0;GAIN=2

图2. FB41"CONT_C":SP_INT≠PV_IN;MAN=0;GAIN=2

图3. FB41"CONT_C":SP_INT≠PV_IN;MAN=25;GAIN=2

注:以TIA Potal V13 SP1为例,该功能块在STEP 7中的管脚与其相同

由以上3图所示,当在MAN_ON=1的手动状态时,

LMN_I=LMN-LMN_P,而手动时:LMN=MAN,则:

LMN_I=MAN-LMN_P

积分初始值

从上述积分分量作用的描述可得出,积分分量的大小依据手动值和比例分量自行计算。如果要实现人为设定,则需要使用积分初始值。

表1.积分初始化管脚

参数 类型 说明
I_ITL_ON BOOL

0:无效
1:有效

I_ITLVAL REAL

积分初始值

图4.积分初始化

积分冻结

积分饱和:具有积分作用的控制器,只要被控对象与设定值有偏差,其输出就会不停的变化。如果由于某种原因(阀门开度限制、泵故障等),被控对象偏差一时无法消除,而控制器依然要校正这个偏差,经过一段时间之后,控制器输出将进入深度饱和状态,这种现象叫做积分饱和。进入深度饱和的控制器,要等偏差反向之后才会慢慢的从饱和状态退出来,重新恢复控制作用。针对FB41"CONT_C",最常用的解决方法是积分冻结,当PID输出超过某一限制值时,保持积分作用不变。

图5. 积分冻结

由上图可见,在保持偏差不变的条件下(比例分量保持不变),当激活INT_HOLD后,积分分量也保持不变,INT_HOLD设置只有在自动模式下才有效,手动模式下无效。

死区

死区:从控制要求来说,很多系统允许被控量在一定范围内存在误差,在该范围内,要求PID的输出保持不变。系统允许被控量的误差大小,被称为PID的死区宽度。

图6.死区设置

图7,死区作用

由上述两图可知,死区设置后,当当前值( PV_IN )在死区范围内,FB41"CONT_C"的输出保持不变,死区范围遵循如下公式:

SP_INT-DEADB_W < DEAD ZONE ( PV_IN )< SP_INT+DEADB_W

无扰动切换

无扰动切换:在手动与自动切换的瞬间,保持控制器的输出信号不发生突变,以免切换给控制系统带来干扰。在自动状态下,阀位手动给定值要跟随现场调节阀的阀位反馈值的变化而变化;而在手动状态下,设定值要跟随被调变量(比如:流量、压力、温度、液位等)的实时测量值的变化而变化。

FB41"CONT_C"的控制模式从手动切换到自动是无扰切换,反之不是无扰切换,需要通过编程实现。

图8. 手动切换自动

由上图可见,当FB41"CONT_C"从手动切换到自动后,无扰动切换自动生效,系统保持稳定.

图9. 自动切换手动

由上图可见,当FB41"CONT_C"从手动切到自动后,PID的输出直接变为MAN值,系统振荡.

增加如下程序,来实现自动切手动时的无扰动切换

图10. 无扰动切换

常问问题

FB41"CONT_C" 如何实现P,PI,PD,PID控制模式?

  P_SEL I_SEL D_SEL
P 1 0 0
PI 1 1 0
PD 1 0 1
PID 1 1 1

FB41"CONT_C" 输出LMN与LMN_PER 的区别?

LMN的输出范围:LMN_LLM * LMN_FAC + LMN_OFF < LMN < LMN_HLM * LMN_FAC + LMN_OFF;

LMN_PER输出范围: 32512 < LMN_PER < 32511;

积分冻结与积分初始化有什么区别?

1, 积分冻结是锁定积分分量,而积分初始化是给积分分量一个初始值;

2,积分冻结仅在自动状态下有效,积分初始化手/自动模式下均有效。

为何激活积分初始化后,积分变量保持不变?

必须用沿调用,如下图:

图11. 积分初始化