PID算法在西门子PLC模拟量闭环控制中的实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PID算法在西门子PLC模拟量闭环控制中的实现

摘要:本文主要针对PID算法在西门子PLC模拟量闭环控制中的实现展开分析,明确了如何在PLC模拟量闭环控制中更好的应用PID算法,提出了实现的思路和

具体的实现方法,可供今后参考。

关键词:PID算法,西门子,PLC,模拟量,闭环控制

前言

PID算法在西门子PLC模拟量闭环控制中的实现是十分关键的技术工作,一

定要采取更好的实现技术和方法,才能提高其实现的质量和效率,对于其中的关

键环节和技术必须要更加重视。

1、PID控制概述

PID控制是连续系统控制中广泛应用的一种控制方法,由于它结构改变灵活,可根据系统的要求,在常规PID调节的基础上进行多种PID变型控制,如PI、PD

控制,比例PID控制,不完全微分控制,带死区的PID控制等。而且不需要建立

精确的控制系统数学模型,有较强的适应性和灵活性。

我们都知道模拟量是指一些连续变化的物理量。而PLC是由继电器控制电路

引进微处理器技术后发展而来,可以方便、可靠地进行开关量的控制。PLC进行

模拟量控制,需要将模拟量转换成数字量,数字量的本质也就是开关量。经转换

后的模拟量,对有较强信息处理的PLC并不难。

2、PID算法的实现

在模拟量闭环过程控制领域内,扩展模拟量处理模块,如EM231、EM232、EM235,根据PLC提供的PID编程功能模块,只需设定好PID参数,运行PID控

制指令,就能求得输出控制值,实现模拟量闭环控制。

2.1PID算法

在模拟量的控制中,经常用到PID运算来执行PID回路的功能,PID回路指令使这一任务的编程和实现变得非常容易[。

如果一个PID回路的输出M(t)是时间的函数,则可以看作是比例项、积分项

和微分项三部分之和。即:

M(t)=Kc*e+Kc∫t00tedt+M0+Kc*de/dt

以上各量都是连续量,第一项为比例项,最后一项为微分项,中间两项为积

分项。其中e是给定值与被控制变量之差,即回路偏差。Kc为回路的增益。用数

字计算机处理这样的控制算式,连续的算式必须周期采样进行离散化,同时各信

号也要离散化,公式如下:

MPn=Kc*(SPn-PVn)+Kc*Ts/Ti*(SPn-PVn)+MX+Kc*Td/Ts•(PVn-1-PVn) 公式中包含9个用来控制和监视PID运算的参数,在PID指令使用时构成回

路表,。

2.2PID指令

使能输入有效时,该指令利用回路表中的输入信息和组态信息,进行PID运算。梯形图的指令盒中有2个数据输入端:TBL,回路表的起始地址,是由VB指定的字节型数据;指令LOOP,回路号,是0~7的常数。

指令格式:PIDTBL,LOOP

2.2.1PID回路号

用户程序中最多可有8条PID回路,不同的PID回路指令不能使用相同的回

路号,否则会产生意外的后果。

2.2.2数值转换及标准化

用可编程序控制器控制PID回路时,要把实际测量输入量、设定值和回路表中的其他输入参数进行标准化处理,即用程序转化为PLC能够识别和处理的数据的标准,例如把从AIW采集来的16位整数转化为0.0~1.0之间的标准化实数。标准化实数又分为双极性(围绕0.5上下变化)和单极性(以0.0为起点在0.0和1.0之间的范围内变化)两种。

程序执行时把各个标准化实数量用离散化PID算式进行处理,产生一个标准化的实数运算结果,这一结果同样也要用程序将其转化为相应的16位整数,然后周期性将其传送到指定的AQW,用以驱动模拟量的输出负载,实现控制。

转换方法如下:应用实例中断程序中的程序片断。

2.2.3选择PID回路类型

在大部分模拟量的控制中,使用的回路控制类型并不是比例、积分和微分三者俱全。例如只需要比例回路或只需要比例积分回路,通过对常量参数的设置,可以关闭不需要的控制类型。

关闭积分回路:把积分时间TI设置为无穷大,此时虽然由于有初值MX使积分项不为零,但积分作用可以忽略。

关闭微分回路:把微分时间TD设置为0,微分作用即可关闭。

关闭比例回路:把比例增益Kc设置为0,则可以只保留积分和微分项。

2.3PID参数

S7-200CPU提供PID回路指令,进行PID计算。PID回路的操作取决于存储在36字节回路表内的9个参数。PID回路表见表1。

2.4PID的编程步骤

2.4.1设定回路输入及输出选项。

2.4.2设定回路参数在PID指令中,必须指定内存区内的36个字节参数表的首地址。其中要选定过程变量、设定值、回路增益、采样时间、积分时间和微分时间,并转换成标准值存入回路表中。

2.4.3设定循环警报选项。

2.4.4为计算指定内存区域,PID计算需要一定的存储空间,存储暂时结果。需要指定此计算区域的起始V内存字节地址。

2.4.5指定初始化子程序及中断程序。

2.4.6生成PID程序。

图1

3、应用实例

有一水箱有一条进水管和一条出水管,进水管的水流量随时间不断变化,要求控制出水管阀门的开度,使水箱内的液位始终保持在水满时液位的一半。系统使用比例积分微分控制,假设采用下列控制参数值:Kc为0.25,Ts为0.1秒,Ti为30分钟。

本供水系统的设定值是水箱满水位的75%时的水位,过程变量是由漂浮在水面的水位测量仪给出。输出值是进水泵的速度,可以从允许最大值的0%变到100%。设定值可以预先设定后直接输入回路表中,过程变量是来自水位表的单极性模拟量,回路输出值也是一个单极性模拟量,用来控制水泵速度。这个模拟量的范围是0.0~1.0,分辨率为1/32000(标准化)。

本工程的特点是在系统中,水泵的机械惯性比较大,故系统仅采用比例和积分控制。其增益和时间常数可以通过工程计算初步确定。实际上还需要进一步调

相关文档
最新文档