当前位置:首页 > 高端制造 > 正文

S7-300学习PID控制之前,首先要了解并掌握FB41的功能及用法

一、控制系统假设图1液压系统控制框图如图1为液压系统的简单控制框图。控制方式为使用变频器拖动泵,使系统的实际压力等于设定压力。本文基于此系统,探讨一下如何用S7-300进行PID控制。为方便讨论,做以下假定:·系统压力的可调范围为:0–1MPa;·变频器的变频范围为:0–50Hz;·压力传感器的输入...

一、控制系统假设图1液压系统控制框图如图1为液压系统的简单控制框图。控制方式为使用变频器拖动泵,使系统的实际压力等于设定压力。本文基于此系统,探讨一下如何用S7-300进行PID控制。为方便讨论,做以......

一、控制系统假设


图1液压系统控制框图

如图1为液压系统的简单控制框图。控制方式为使用变频器拖动泵,使系统的实际压力等于设定压力。本文基于此系统,探讨一下如何用S7-300进行PID控制。为方便讨论,做以下假定:

·系统压力的可调范围为:0–1MPa;

·变频器的变频范围为:0–50Hz;

·压力传感器的输入外设地址:PIW272;模拟量输出外设地址为PQW288。

二、FB41简介

在STEP7中的库中,有专门用于PID控制的FB块——FB41。PID控制必须在循环中断中执行,以确保其扫描、执行时间基本固定。本例中的CPU仅有OB35一个循环中断,因此,要在OB35中调用FB41。


图2FB41在库中的位置


图3FB41的逻辑图

FB41的逻辑如图3所示。分解介绍如下:

·SP_INT端为给定值,本例中即为给定压力,假设为0.5MPa;即:0.5=="SP_INT";

·实际值有两条通路可选:

·当PVPER_ON=0时,PV_IN端的值为实际值,该值通常有FC105转换而来;

本例中,我们以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中,如图4所示。然后在OB35中,调用FB41,并将DB1中的数据一一对应的填入相应的引脚,即完成了PID控制的基础工作,如图5-7所示。


图4FB41关键参数定义




图5-7OB35中调用FB41

目前为止,我们就完成了PID控制的基础工作,至于如何调试PID参数,我们下一篇文章继续讨论。

最新文章