工控网首页
>

应用设计

>

S7-300/400模拟量闭环控制

S7-300/400模拟量闭环控制

2016/5/4 9:43:05

1 概述   为满足工艺生产上的需要,对生产流程进行精准控制并节约人力资源,我们常常需要对现有PLC程序进行优化,增加各类如流量、压力、温度、液位等的闭环可调控制回路,并实现系统的手动/自动无扰动切换。但是如何快速准确的实现以上功能,下面将对其做详细的介绍。

2 模拟量闭环控制系统的基本概念

2.1 模拟量闭环控制系统的组成

典型的PLC模拟量闭环控制系统如图1所示,虚线中的部分是PLC实现的。

图1  PLC模拟量闭环控制系统方框图

  在模拟量闭环控制系统中,被控量c(t)(例如压力、温度、流量、液位等)是连续变化的模拟量,大多数执行机构(例如气动调节阀和变频器等)要求PLC输出模拟信号mv(t),而PLC的CPU只能处理数字量。c(t)首先被测量元件(传感器)和变送器转换为标准量程的直流电流信号或直流电压信号pv(t),例如4-20mA和0-5V的信号,PLC用模拟量输入模块中的A/D转换器将它们转换为数字量pv(n)。模拟量与数字量之间的相互转换和PID程序的执行都是周期性的操作,其间隔时间称为采样周期,各数字量括号中的n表示第n次采样计算时的数字量。图1中的sp(n)是给定值,pv(n)为A/D转换后的反馈量,误差ev(n)=sp(n)-pv(n)。D/A转换器将PID控制器输出的数字量mv(n)转换为模拟量(直流电压或直流电流)mv(t),再去控制执行机构。闭环负反馈控制可以使控制系统的反馈量pv(n)等于或者是跟随给定值sp(n)。闭环控制系统结构结构简单,容易实现自动控制,现在各个领域被广泛应用。

2.2 S7-300/400的模拟量闭环控制功能

  S7-300/400为用户提供了功能强大、使用简单方便的模拟量闭环控制功能。

2.2.1 闭环控制模块

  S7-300的FM335和S7-400的FM455是智能的4路和16路闭环控制模块。可以用于化工和过程控制,模块带有A/D转换器和D/A转换器。

2.1.2用于闭环控制的系统功能块   除了专用的闭环控制模块,S7-300/400也可以用PID控制功能块来实现PID控制。但是需要配置模拟量输入模块和模拟量输出模块(或者数字量输出模块)。 系统功能块SFB41“CONT_C”用于连续控制,SFB42“CONT_S”用于步进控制,SFB43“PULSEGEN”用于脉冲宽度调制。 2.2.3 闭环控制软件包

  程序编辑器的文件来“\库\Standard Library(标准库)\PID Controller(PID控制器)”中的FB41~FB43适用于所有的S7-300和S7-400的CPU的PID控制,FB58和FB59适用于PID温度控制。FB41~FB43与SFB41~SFB43兼容。PID自整定软件包(PID Self Tuner可以提供控制优化支持。本文模拟量闭环控制系统就依SFB/FB41“CONT_C”连续控制功能块的实现来加以说明,下面将介绍SFB/FB41“CONT_C”功能。

3 连续PID控制器SFB41

3.1 描述

  SFB/FB "CONT_C" (连续控制器)在SIMATIC S7可编程逻辑控制器上使用,通过持续的输入和输出变量来控制工艺过程。在参数分配期间,可以通过激活或取消激活PID控制器的子功能使控制器适应过程的需要。使用参数分配工具可以轻松完成分配(菜单路径:开始 > Simatic > Step7 > 分配PID控制参数)    注意只有在以固定时间间隔调用块时,在控制块中计算的值才是正确的。为此,应该在周期性中断OB (OB30至OB38)中调用控制块。在CYCLE参数中输入采样时间。 可以外设(如触摸屏)或以浮点格式输入过程变量。CRP_IN功能根据以下公式将PV_PER外设值转换为介于 -100和 +100 %间的浮点格式值: PV_R=PV_PER * 100/27648 输出根据以下公式将浮点值LMN转换为外设值: LMN_PER=LMN * 27648/100 3.2 SFB/FB41“CONT_C”框图

图2  SFB/FB "CONT_C"框图

3.3 PID控制算法 3.3.1误差的计算与处理     用浮点数格式设定值SP_INT减去转换为浮点数格式的过程变量PV(反馈值),便得到负反馈的误差。为抑制由于控制器输出量的量化造化的连续较小的振荡,用死区(Dead Band)非线性对误差进行处理。死区的宽度由参数DEADB_W来定义,如果令DEADB_W为0。死区被关闭。 3.3.2控制器的结构   SFB 41比例、积分(INT)和微分(DIF)操作以并联方式连接,因而可以分别激活或取消激活。这使对P、PI、PD和PID控制器进行组态成为可能。还可以对纯I和D控制器进行组态。扰动量DISV(Disturbance)可以实现前馈控制,一般设置DISV为0.0。   GAIN为比例部分的增益或比例系数,TI和TD分别为积分时间常数和微分时间常数,参数TM_LAG为微分操作的延迟时间,建议该参数设为TM_LAG=TD/5。 P_SEL(比例作用)为1时激活比例作用,反之禁止比例作用,默认值为1。 I_SEL(积分作用)为1时激活积分作用,反之禁止积分作用,默认值为1。 D_SEL(微分作用)为1时激活微分作用,反之禁止微分作用,默认值为0。默认的控制方式为PI控制。   LNM_P、LNM_I和LNM_D分别是PID控制器输出量中的比例分量、积分分量和微分分量,编程时可引出到外设(如触摸屏)上,供调试时使用。 3.3.3积分器的初始值   SFB“CONT_C”有一个初始化的程序,在输入参数COM_RST设置为1时被执行。在初始化过程中,如果I_ITL_ON(积分作用初始化)为1状态,将输入变量I_ITLVAL作为积分器的初始值。如果在一个循环中断优先级调用它,它将从该数值开始继续运行,所有其它输出都被设置为其默认值。INT_HOLD为1时积分操作保持,积分输出被冻结,一般不冻结积分输出。 3.4 控制器输出值的处理 3.4.1.手动/自动模式   变量MAN_ON为1时为手动模式,为0时为自动模式。在手动模式,控制器的输出值被手动输入值MAN代替。在手动模式,控制器输出中的积分分量被自动设置为LMN-LMN_P-DISV,微分分量被自动设置为0,这样可以保证手动到自动的无扰动切换,使切换前后PID控制器的输出值LMN不会突变。   如果要用编程的方法来实现手动/自动无扰动切换,可以按如下思路进行:在手动切模式换成自动模式时,将系统的PV_IN值赋给SP_INT值。在自动模式切换成手动模式时,将系统的LMN值赋给MAN值。根据我们的经验,在赋值过程中需要注意的是数据的格式转换问题。 3.4.2输出限幅   LMNLIMIT的输入量超出控制器输出值的上极限LMN_HLM时,信号位QLMN_HLM(输出超出上限)变为1状态;小于下限值LMN_LLM时,信号位QLMN_LLM(输出超出下限)变为1状态。LMN_HLM和LMN_LLM的默认值分别为100%和0.0% 。 3.4.3输出量的格式化处理 格式化公式如下: LMN=LMN_LIM * LMN_FAC + LMN_OFF 式中,LMN是格式化后浮点数格式的控制器输出值;LMN_FAC为输出量的系数,默认值为1.0;LMN_OFF为输出量的偏移量,默认值为0.0;LMN_FAC和LMN_OFF用来调节控制器输出量的范围。 4 程序示例与仿真 4.1 程序结构   主体程序为组织块OB1、OB100和OB35,PLC刚进入RUN模式时CPU自动执行OB100,可设置相关的初始化数据。在HW config中将循环中断组织块OB35的时间间隔设置为200ms,保存后将组态数据下载到CPU模块。程序运行时将每隔200ms自动调用一次OB35。示例程序选择系统为一流量闭环调节控制系统,外设假设为由一支流量计和一个调节阀组成的闭环控制回路。PIW288为流量计输入值(量程0-200 m3/h),PQW304为调节阀输出值(范围0-27648)。 4.1.1组织块OB1   在OB1中,计算出流量计输入值,并将该值放入MD76,在SFB41中将MD76赋给PV_IN,图3是该段的程序。

图3  OB1中的梯形图

4.1.2启动组织块OB100

在OB100中调用SFB41时,只设置两个输入变量的实参:

(1)令启动标志COM_RST为TRUE,执行PID重启功能,将PID控制器的内部参数复位为默认值。

(2)设置采样周期CYCLE为200ms 。 4.1.3循环中断组织块OB35   在循环中断组织块OB35中调用SFB41,背景数据块为DB41,见程序段1。默认的设置为PI控制器,将参数D_SEL设置为1(TRUE),该控制器则为PID控制器。将PID控制器的输出变量LMN_PER送给PQW304用来控制调节阀的开度。为实现负反馈,将比例增益设为负数。积分时间取值应大于采样时间。微分时间TD一般可以设置为TI的几分之一,微分部分的延迟时间TM_LAG建议值为TD/5。为实现手动/自动无扰动切换, 程序段2中,在自动状态时,将LMN值赋给MAN;程序段3中,在手动状态时,将PV_IN的值赋给SP_INT。其中,M40.1为手动/自动切换的BOOL变量。 程序段1:       CALL  "CONT_C" , DB41        COM_RST :=        MAN_ON  :=M40.1        PVPER_ON:=        P_SEL   :=TRUE        I_SEL   :=TRUE        INT_HOLD:=        I_ITL_ON:=        D_SEL   :=TRUE        CYCLE   :=T#200MS        SP_INT  :=        PV_IN   :=MD76        PV_PER  :=        MAN     :=        GAIN    :=-1.500000e+000        TI      :=T#30S        TD      :=T#5S        TM_LAG  :=        DEADB_W :=        LMN_HLM :=        LMN_LLM :=        PV_FAC  :=   PV_OFF  :=        LMN_FAC :=        LMN_OFF :=        I_ITLVAL:=        DISV    :=        LMN     :=        LMN_PER :=PQW304        QLMN_HLM:=        QLMN_LLM:=        LMN_P   :=        LMN_I   :=        LMN_D   :=        PV      :=        ER      :=       NOP   0 程序段2:       AN    M     40.1       JNB   _001       L     DB41.DBD   72       T     DB41.DBD   16 _001: NOP   0 程序段3: A     M     40.1       JNB   _002       L     DB41.DBD   10       T     DB41.DBD    6 _002: NOP   0 4.2 系统仿真 4.2.1 S7-PLCSIM仿真   为方便调试,采用仿真软件S7-PLCSIM代替PLC硬件来进行程序仿真。S7-PLCSIM与SETP7编程软件集成在一起,用于在计算机上模拟S7-300和S7-400 CPU的功能,可以在开发阶段发现和排除错误,从而提高用户程序的质量和降低试车成本,同时S7-PLCSIM也是S7-300/400编程、程序调试和故障诊断的有力工具。利用S7-PLCSIM模拟PLC的过程映像输入/输出,并通过在仿真窗口中改变输入变量的ON/OFF状态,来控制程序运行,见图4。                

图4 S7-PLCSIM仿真窗口

4.2.2仿真结果与分析   通过S7-PLCSIM仿真,修改系统设定值SP_INT和系统测量值PV_IN,并监视系统输出值LMN的变化趋势(图5)。我们可以看出,该系统具有良好的动态特性,且程序能够满足对系统的闭环控制的绝大多数要求,并且在手动/自动切换过程中实现了系统无扰动切换。但针对不同的控制对象(温度、压力、流量、液位等),需要在调试中反复修改控制参数(如果控制参数是通过人机界面接口HMI直接连接到背景数据块的地址,则比例是实际的,TI和TD的单位是毫秒),以期使系统达到相对最佳的控制效果。

         图5 监视背景数据块FB41 5、总结   本文结合编程及现场实践经验,针对S7-300/400闭环控制系统的如何实现,归纳总结出了一套切实可行的的编程方法,   并就如何在手动/自动切换时,实现系统的无扰动提出了解决方案。对于初涉PLC的编程者有很好的指导意义。   

参考文献:

  [1]廖常初. S7-300/400 PLC应用技术 第2版 机械工业出版社2008.6
  [2]Siemens AG.Standard PID Control Manual,2003.
  [3]Siemens AG.Programming With STEP7 Manual,2006.
[4]Siemens AG.S7-PLCSIM V5.3 incl.SP1 User Manual,2005.
[5]Siemens AG.Statement List(STL) for S7-300 and S7-400 Programming Reference Manual,2006.

备注:本文为gongkong用户:彭东 原创文章,未经作者本人或中国工控网授权,禁止转载!

审核编辑(
王静
)
投诉建议

提交

查看更多评论
其他资讯

查看更多

超越传统直觉,MATLAB/Simulink助力重型机械的智能化转型

新大陆自动识别精彩亮相2024华南国际工业博览会

派拓网络被Forrester评为XDR领域领导者

智能工控,存储强基 | 海康威视带来精彩主题演讲

展会|Lubeworks路博流体供料系统精彩亮相AMTS展会