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:无效 |
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. 积分初始化