FB41“CONT_C”高级功能

fb41“cont_c”除了基本的pid运算之外,软件本身也提供了积分设定值、积分保持、死区、无扰动切换(手动切换自动)等高级功能。
积分分量
fb41“cont_c”的“lmn_i”积分分量,在手动状态下,根据不同的偏差,不同的man值,lmn_i的值不同
图1. fb41cont_c: sp_int=pv_in; man=0;gain=2
图2. fb41cont_c:sp_int≠pv_in;man=0;gain=2
图3. fb41cont_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.积分初始化
积分冻结
积分饱和:具有积分作用的控制器,只要被控对象与设定值有偏差,其输出就会不停的变化。如果由于某种原因(阀门开度限制、泵故障等),被控对象偏差一时无法消除,而控制器依然要校正这个偏差,经过一段时间之后,控制器输出将进入深度饱和状态,这种现象叫做积分饱和。进入深度饱和的控制器,要等偏差反向之后才会慢慢的从饱和状态退出来,重新恢复控制作用。针对fb41cont_c,常用的解决方法是积分冻结,当pid输出超过某一限制值时,保持积分作用不变。
由上图可见,在保持偏差不变的条件下(比例分量保持不变),当激活int_hold后,积分分量也保持不变,int_hold设置只有在自动模式下才有效,手动模式下无效。
死区
死区:从控制要求来说,很多系统允许被控量在一定范围内存在误差,在该范围内,要求pid的输出保持不变。系统允许被控量的误差大小,被称为pid的死区宽度。
图6.死区设置
图7,死区作用
由上述两图可知,死区设置后,当当前值( pv_in )在死区范围内,fb41cont_c的输出保持不变,死区范围遵循如下公式:
sp_int-deadb_w < dead zone ( pv_in )< sp_int+deadb_w
无扰动切换
无扰动切换:在手动与自动切换的瞬间,保持控制器的输出信号不发生突变,以免切换给控制系统带来干扰。在自动状态下,阀位手动给定值要跟随现场调节阀的阀位反馈值的变化而变化;而在手动状态下,设定值要跟随被调变量(比如:流量、压力、温度、液位等)的实时测量值的变化而变化。
fb41cont_c的控制模式从手动切换到自动是无扰切换,反之不是无扰切换,需要通过编程实现。
图8. 手动切换自动
由上图可见,当fb41cont_c从手动切换到自动后,无扰动切换自动生效,系统保持稳定.
图9. 自动切换手动
由上图可见,当fb41cont_c从手动切到自动后,pid的输出直接变为man值,系统振荡.
增加如下程序,来实现自动切手动时的无扰动切换
图10. 无扰动切换
常问问题
fb41cont_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
fb41cont_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. 积分初始化