S7系列PLC集成了系统功能块SFB41用作连续PID控制,如果安装了标准PID控制软件包的话,也可以调用其中的FB41来实现连续PID控制。一、SFB41/FB41简介
SFB41是系统功能块,集成在S7CPU中,是操作系统的一部分。不同的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转换的外设过程值。

功能"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"转换而来。
四、误差的计算与处理