您好,欢迎访问一九零五行业门户网

功能块FB41的功能及用法

在step7中的库中,有专门用于pid控制的fb块——fb41。pid控制必须在循环中断中执行,以确保其扫描、执行时间基本固定。本例中的cpu仅有ob35一个循环中断,因此,要在ob35中调用fb41。
图1 fb41在库中的位置
图2 fb41的逻辑图
fb41的逻辑如图2所示。分解介绍如下:
· sp_int端为给定值,本例中即为给定压力,假设为0.5mpa;即:0.5==>sp_int;
· 实际值有两条通路可选:
· 当pvper_on=0时,pv_in端的值为实际值,该值通常有fc105转换而来;
· 当pvper_on=1时,pv_per端的值为实际的压力值,该值来自ai模块,为压力传感器的反馈值;
本例中,我们以pvper_on=1时,来说明。即:1==>pvper_on、piw272==>pv_per
· pv_fac、pv_off对应压力的范围,即:1==>pv_fac、0==>pv_off。
· pv是根据pv_per计算出的实际压力值。具体来说:
pv_per=0时,对应的实际压力为pv_off,即0mpa;
pv_per=27648时,对应的实际压力为pv_fac,即1mpa;
pv=pv_per/27648*(pv_fac – pv_off),本例中,pv=pv_per/27648;
· er为给定值sp_int和实际值pv的偏差,pid即是基于它进行调节的;
· gain、ti、td分别为比例、积分、微分的系数。比例功能投入与否,由p_sel决定,当p_sel=1时,比例功能起作用;同理,i_sel、d_sel决定是否启用积分、微分调节;
· lmn_p、lmn_i、lmn_d分别记录当前控制量的比例分量、积分分量、微分分量。
· lmn_hlm、lmn_llm分别为输出的上、下限值,上限100对应50hz,下限0对应0hz,所以:lmn_hlm=100/50=2;lmn_llm=0;
· lmn_fac、lmn_off标定频率的变化范围,分别为50hz和0hz;
· lmn_per为输出的标准化,lmn_per=lmn/100*27648;
fb41中还有其他参数,本文仅对pid控制做简单介绍,上述几个参数是必须了,将其定义在db1中,如图3所示。然后在ob35中,调用fb41,并将db1中的数据一一对应的填入相应的引脚,即完成了pid控制的基础工作,如图4所示。
图3 fb41关键参数定义
图4 ob35中调用fb41
其它类似信息

推荐信息