详细分析STEP7中SFB41/FB41如何进行数据处理及PID控制(一)

S7系列PLC集成了系统功能块SFB41用作连续PID控制,如果安装了标准PID控制软件包的话,也可以调用其中的FB41来实现连续PID控制。


一、SFB41/FB41简介

SFB41是系统功能块,集成在S7 CPU中,是操作系统的一部分。不同的PLC所支持的系统功能块不尽相同,调用系统功能块时要首先确认该类型PLC是否支持相应的系统功能块。

FB41是标准PID控制软件包中定义的功能块,使用前首先要安装标准PID软件包

SFB41和FB41在指令树中的位置如图1所示。

FB41在功能上和SFB41兼容,它们可用作单独的PID恒值控制器,也可以在多闭环控制中实现级联控制器、混合控制器及比例控制器,如果需要的话,SFB41/FB41可以用脉冲发生器SFB43/FB43进行扩展,产生脉冲宽度调制的输出信 ,来控制比例执行机构的二级或三级控制器。


二、SFB41/FB41功能框图

如图2所示,为SFB41/FB41的功能框图。


三、设定值与反馈值的处理

1、设定值输入

SP_INT为设定值输入,数据类型为浮点数;

2、过程值输入

过程值输入即反馈值,有两种方式:

PVPER_ON=0时,PV_IN作为过程值的输入,数据类型为浮点数。这种情况下,PV_IN的值一般来自于经过FC105转换的外设过程值。

PVPER_ON=1时,PV_PER(外设过程值)作为过程值的输入,即模拟量输入模块接收的值作为PID控制的反馈值。这种情况下,由于模拟量输入模块直接送来的数据与设定值SP_INT数据类型不同,因此,首先要进行类型转换,才能进行后续处理。数据类型的转换部分如图3所示。

功能”CRP_IN”将外设过程值转换为-100%~+100%之间的浮点数格式的数值,而外设过程值正常范围的最大输出值(100.0%)为27648(6C00H),因此,”CRP_IN”的输出(以%为单位)PV_R满足:

功能”PV_NORM”用于将外设过程值标准化,其输出PV_NORM满足:

其中:PV_FAC为过程变量的系数,默认值为1.0;PV_OFF为过程变量的偏移量,默认值为0.0。PV_FAC和PV_OFF用来调节过程输入的范围。

图2中,”PV”为浮点数类型的实际值:

PVPER_ON=0时,PV=PV_IN;

PVPER_ON=1时,PV由PV_PER经过”CRP_IN”和”PV_NORM”转换而来。


四、误差的计算与处理

如图4所示,”ER”即为负反馈误差值,ER=SP_INT – PV。为了抑制由于控制器输出量的量化造成的连续的较小幅度的振荡,例如用SFB43/FB43进行脉冲宽度调制时可能出现的振荡,可以用”死区Dead Bead”进行处理,死区宽度由DEADB_W来定义,当DEADB_W=0时,死区被关闭。


<<上一篇《S7-300实现PID控制——何为”单闭环控制系统“》

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年4月1日
下一篇 2019年4月1日

相关推荐