S7-300400在模拟量闭环控制中的应用 联系客服

发布时间 : 星期日 文章S7-300400在模拟量闭环控制中的应用更新完毕开始阅读e6bf4820192e45361066f59e

第四章 S7-300/400在模拟量闭环控制中的应用

第一节 闭环控制与PID调节器

一、模拟量单闭环控制系统的组成

典型的模拟量单闭环控制系统如图9-1所示,图中sp(n)为摸拟量设定值,pv(n)为检测值。误差ev(n) = sp(n) ? pv(n)。被控制量c(t)(如压力、温度、流量等)是连续变化的模拟量。大多数执行机构要求PLC输出模拟信号mv(t),测量元件检测的值一般也为模拟量,而PLC的CPU只能处理数字量,所以需要对p (n)要进行A/D转换送入PLC中,PLC也要对mv(t)进行D/A转换送到执行器中。

图9-1 典型的模拟量单闭环控制系统

作为测量元件的变送器有电流输出型和电压输出型,,S7-300/400 的模拟量输入模块最大传输距离为200m。

二、闭环控制反馈极性的确定

在开环状态下运行PID 控制程序。如果控制器中有积分环节,因为反馈被断开了,不能消除误差, D/A 转换器的输出电压会向一个方向变化。如果假设接上执行机构,能减小误差,则为负反馈,反之为正反馈。

以温度控制为例,假设开环运行时给定值大于反馈值,若D/A转换器的输出值不断增大,如果形成闭环,将使用电动调节阀的开度增大,闭环后温度反馈值将会增大,使误差减小,由此可判定系统是负反馈。 三、PID控制器的优点

(1) 不需要被控对象的数学模型。 (2) 结构简单,容易实现。

(3) 有较强的灵活性和适应性。根据被控对象的具体情况,可采用PID控制器的多种变化和改进的控制方式,如PI、PD、带死区的PID等。

(4) 使用方便。现在很多PLC都提供具有PID控制功能的产品,使用简单方便。

四、PID 控制器的数字化

模拟量PID 控制器的输出表达式为:

需要较好的动态品质和较高的稳态精度时,可以选用PI;控制对象的惯性滞后较大时,应选择PID 控制方式。

五、死区特性在PID 控制中的应用

在控制系统中,某些执行机构如果频繁动作,会导致小幅振荡,造成严重的机械磨损。从控制要求来说,很多系统又允许被控量在一定范围内存在误差。带死区的PID控制器(如

图9-2)能防止执行机构的频繁动作。

当死区非线性环节的输入量(即误差ev(n))的绝对值小于设定值B时,死区非线性的输出量(即PID控制器的输入量)为0,这时PID控制器的输出分量中,比例部分和微分部分为0,积分部分保持不变,因此PID的输出保持不变,PID控制器不起调节作用,系统处于开环状态。当误差的绝对值超过设定值时,开始正常的PID控制。

图9-2 PID的死区特性

第二节 使用系统功能块实现闭环控制

S7-300/4000为用户提供了功能强大、使用方便的模拟量闭环控制功能,来实现PID控制。系统功能块SFB41~SFB43用于CPU31x的闭环控制。SFB41“CONT_T” 用于连续PID 控制,SFB 42“CONT_S”(步进控制器)用开关量输出信号控制积分型执行机构,电动调节阀用伺服电机的正转和反转来控制阀门的打开和关闭,基于PI 控制算法。SFB 43“PULSEGEN”(脉冲发生器)与连续控制器“CONT_C”一起使用,构建脉冲宽度调制的二级(two step)或三级(three step)PID 控制器。 另外,安装了标准PID控制(Standard PID Control)软件包后,文件夹“\\Libraries\\ Standard Libraries”中的FB41~FB43用于PID控制,FB58和FB59用于PID温度控制。FB41~ FB43与SFB41~SFB43兼容。

本节主要介绍SFB41连续控制功能块。 一、设定值与过程变量的处理 1.设定值的输入

设定值的输入如图9-3所示,浮点数格式的设定值(setpoint)用变量SP_INT(内部设定值)输入。

2.过程变量的输入

可以用两种方式输入过程变量(即反馈值): (1) 用PV_IN(过程输入变量)输入浮点格式的过程变量,此时开关量PVPER_ON (外围设备过程变量)应用0状态。

(2) PVPER_ON(外围设备过程变量)输入外围设备(I/O)格式的过程变量,即 用模拟量输入模块产生的数字值作为PID控制的过程变量,此时开关量PVPER_ON应为1状态。

3. 外部设备过程变量转换为浮点数

外部设备(即模拟量输入模块)正常范围的最大输出值(100.0%)为27648,功能CRP_IN将外围设备输入值转换为-100%~+100%之间的浮点数格式的数值,CPR_IN的

输出(以%为单位)用下式计算:

PV_R = PV_PER ×100/27648

4. 外部设备过程变量的标准化

PV_NORM功能用下面的公式将CRP_IN的输出PV_R格式化: PV_NORM的输出 = PV_R × PV_FAC + PV_OFF

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

如果设定值有物理意义,实际值(即反馈值)也可以转换为物理值。

图9-3 SFB41设定值与过程变量的处理

二、PID控制算法 1.误差的计算与处理

用浮点数格式设定值SP_INT减去转换为浮点数格式的过程变量PV(即反馈值),便得到负反馈的误差。为了抑制由于控制器输出量的量化造成的连续的较小的振荡,用死区(Dead Band)非线性对误差进行处理。死区的宽度由参数DEAD_W来定义,如果DEAD_W设为0,表示死区被关闭。

2.控制器的结构

SFB41采用位置式PID算法,由比例运算、积分运算和微分运算三部分并联,可以单独激活或取消它们,因此可将控制器组态为P、PI、PD、PID控制器。ID控制器很少使用。引入扰动量DISV可以实现前馈控制。图9-4为控制器的结构图,图中GAIN为比例部分的增益或比例系数,TI和TD分别为积分时间常数和微分时间常数。

P_SEL: BOOL:比例选择位:该位ON时,选择P(比例)控制有效;默认值为1。 I_SEL: BOOL:积分选择位;该位ON时,选择I(积分)控制有效;默认值为1。

D_SEL : BOOL:微分选择位,该位ON时,选择D(微分)控制有效;默认值为0。 LMN_P :REAL:PID输出中P的分量;(可用于在调试过程中观察效果)。 LMN_I :REAL:PID输出中I的分量;(可用于在调试过程中观察效果)。 LMN_D :REAL:PID输出中D的分量;(可用于在调试过程中观察效果)。

图9-4 PID控制器的结构图

SFB“CONT_C”有一个初始化程序,在输入参数COM_RST(完全重新起动)设置为1 时该程序被执行。在初始化过程中,如果I_ITL_ON(积分作用初始化)为1 状态,将输入I_ITLVAL 作为积分器的初始值。INT_HOLD 为1 时积分操作保持,积分输出被冻结。

三、控制器输出值的处理

4. 控制器输出值处理包括手动/自动模式的选择、输出限幅、输出量的格式化处

理以及输出量转换为外围设备(I/O)格式。结构图如图9-5所示。

1.手动模式

参数MAN_ON(手动值ON)为1时是手动模式,为0时是自动模式。在手动模式中,控制变量(即控制器的输出值)被手动选值的值MAN(手动值)代替。

在手动模式时如果令微分项为0,将积分部分(INT)设置为LMN– LMN_P – DISV, 可以保证手动到自动的无扰切换,即切换时控制器的输出值不会突变,DISV 为扰动输入变量。

2.输出限幅

LMNLIMIT(输出量限幅)功能用于将控制器输出值限幅。LMNLIMIT功能的输入量超出控制器输出值的上极限LMN_HLM时,信号位QLMN_HLM(输出超出上限)变为1状态;小于下极限值LMN_LLM时,信号位QLMN_LLM(输出超出下限)变为1状态。

3.输出量的格式化处理

LMN_NORM(输出量格式化)功能用下述公式来将功能LMNLIMIT的输出量QLMN_LIM格式化:

式中LMN是格式化后浮点数格式的控制输出值;LMN_FAC为输出量的系数,默认值