由于操作过于频繁,请点击下方按钮进行验证!

在上海正航A5系列PLC上实现PID调节

n         理解PID

比例-积分-微分控制规律是工业上最常用的控制规律。人们一般根据比例-积分-微分的英文缩写,将其简称为PID控制。即使在更为先进的控制规律广泛应用的今天,各种形式的PID控制仍然在所有控制回路中占85%以上。

PID 控制中,积分控制的特点是:只要还有余差(即残余的控制偏差)存在,积分控制就按部就班地逐渐增加控制作用,直到余差消失。所以积分的效果比较缓慢,除特殊情况外,作为基本控制作用,缓不救急。

微分控制的特点是:尽管实际测量值还比设定值低,但其快速上扬的冲势需要及早加以抑制,否则,等到实际值超过设定值再作反应就晚了,这就是微分控制施展身手的地方了。作为基本控制使用,微分控制只看趋势,不看具体数值所在,所以最理想的情况也就是把实际值稳定下来,但稳定在什么地方就要看你的运气了,所以微分控制也不能作为基本控制作用。

比例控制没有这些问题,比例控制的反应快,稳定性好,是最基本的控制作用,积分、微分控制是对比例控制起增强作用的,极少单独使用。在实际使用中比例和积分一般一起使用,比例承担主要的控制作用,积分帮助消除余差。微分只有在被控对象反应迟缓,需要在开始有所反应时,及早补偿,才予以采用。只用比例和微分的情况很少见。

A5系列PLC支持浮点数运算,可以在A5上方便地实现PID功能。

n         程序工作原理

Ø         PID方程式

 

Mn         =            MPn                            +     Min                       +     MDn

输出       =            比例项                  +     积分项                  +     微分项

 

其中:    Mn         n采样时刻的计算值

              MPn              n采样时刻的比例项值

              MIn        n采样时刻的积分项值

              MDn       n采样时刻的微分项值

 

Ø         PID方程的比例项

比例项MP是增益(Kc)和偏差(e)的乘积,其中Kc决定输出对偏差的灵敏度,偏差(e)是给定值(SP)与过程变量(PV)之差,求比例项的算式是:

MPn              =     Kc         *     (      SPn -    PVn      )

其中:    MPn              n采样时刻的比例项值

              Kc          增益

              SPn        n采样时刻的给定值

              PVn        n采样时刻的过程变量值

 

Ø         PID方程的积分项

积分项值MI与偏差和成正比,求积分项的算式是:

MIn        =     Kc   *     Ts    /      Ti    *     (SPn              -      PVn )      +     MX

其中:    MIn        n采样时刻的积分项值

              Kc          增益

              Ts           采样时间间隔

              Ti           积分时间

              SPn        n采样时刻的给定值

              PVn        n采样时刻的过程变量值

              MX         n-1采样时刻的积分值(积分项前值,也称积分和或偏置)

 

Ø         PID方程的微分项

微分项值MD与偏差的变化成正比,求解微分项的算式是:

 

MDn = Kc      *     Td   /      Ts    *     ((SPn-PVn)  -  ( SPn-1  -  PVn-1))

 

为了避免给定值变化的微分作用而引起的跳变,假定给定值不变(SPn=SPn-1),这样,可以用过程变量的变化替代偏差的变化,计算算式可改进为:

 

MDn = Kc      *     Td   /      Ts    *     (PVn-1  -  PVn)

 

其中:    MDn       n采样时刻的微分项值

              Kc          增益

              Ts           采样时间间隔

              Td          微分时间

              SPn        n采样时刻的给定值

SPn-1     n-1采样时刻的给定值

              PVn        n采样时刻的过程变量值

              PVn-1     n-1采样时刻的过程变量值

第一次采样设定PVn-1= PVn

n         程序实例

下面,我们举一个例子,用A5-CPU224XP来实现一个PID调节。假设输入的信号为AIW2,输出为AQW2,给定值为16000。首先,分步来计算各个变量。

l         地址分配

地址

变量名

格式

类型

范围

说明

VD1000

PVn

实数

输入

0.0--1.0

过程变量

VD1004

SPn

实数

输入

0.0--1.0

设定值

VD1008

Mn

实数

输入/输出

0.0--1.0

输出值

VD1012

Kc

实数

输入

可正可负

增益常数

VD1016

Ts

实数

输入

必须为正

采样时间,单位为秒

VD1020

Ti

实数

输入

必须为正

积分时间,单位为分钟

VD1024

Td

实数

输入

必须为正

微分时间,单位为分钟

VD1028

MX

实数

输入/输出

0.0--1.0

积分项前项

VD1032

PV(n-1)

实数

输入/输出

0.0--1.0

前一次采样过程变量值

VD1036

MPn

实数

输入/输出

0.0--1.0

比例项

VD1040

MIn

实数

输入/输出

0.0--1.0

积分项

VD1044

MDn

实数

输入/输出

0.0--1.0

微分项

VW1048

 

 

 

 

Round(Ts*10),定时器用时间长度

VD1060

 

实数

 

 

临时变量

VD1064

 

实数

 

 

临时变量

VD1068

 

实数

 

 

临时变量

l         用户预先指定值

用户需要预先指定如下变量(均为实数):

VD1008

Mn

VD1012

Kc

VD1016

Ts

VD1020

Ti

VD1024

Td

VD1028

MX

 

l         AIW2进行标准化得到PVn

LD           SM0.0

ITD         AIW2      ,      VD1060

DTR        VD1060  ,      VD1064

/R            VD1064  ,      32767.0   ,      VD1000

l         注意到第一次采样设定PVn-1= PVn

LD           SM0.0

MOVR     VD1000  ,      VD1032

 

l         将给定值进行标准化得到SPn(若给定值不变,仅计算一次即可),也可以通过文本等设定给定值,但一定要设定为标准化的给定值(0.0—1.0之间)

LD           SM0.0

/R            16000     ,      32767     ,      VD1004

 

l         计算MPn

MPn              =     Kc         *     (      SPn -    PVn      )

LD           SM0.0

-R            VD1004  ,      VD1000  ,      VD1060

*R           VD1060  ,      VD1012  ,      VD1036

 

l         计算MIn

MIn        =     Kc   *     Ts    /      Ti    *     (SPn              -      PVn )      +     MX

LD           SM0.0

*R           VD1036  ,      VD1016  ,      VD1060

/R            VD1060  ,      VD1020  ,      VD1064

/R            VD1064  ,      60.0        ,      VD1068

+ R          VD1068  ,      VD1028  ,      VD1040

l         MIn保存为下一次的MX

LD           SM0.0

MOVR     VD1040  ,      VD1028

l         计算MDn      

MDn = Kc      *     Td   /      Ts    *     (PVn-1  -  PVn)

LD           SM0.0

-R            VD1032  ,      VD1000  ,      VD1060

*R           VD1060  ,      VD1024  ,      VD1064

*R           VD1064  ,      VD1012  ,      VD1068

*R           VD1068  ,      60.0        ,      VD1060

/R            VD1060  ,      VD1016  ,      VD1044

 

l         计算Mn  

Mn         =            MPn              +     MIn        +     MDn

LD           SM0.0

+R           VD1036  ,      VD1040  ,      VD1060

+R           VD1060  ,      VD1044  ,      VD1008

 

l         输出值(将标准化的Mn转换为AQ值输出)

LD           SM0.0

*R           VD1008  ,      32000.0   ,      VD1060

ROUND          VD1060  ,      VD1064

DTI         VD1064  ,      AQW2


声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容,以保证您的权益!联系电话:010-58612588 或 Email:editor@mmsonline.com.cn。

网友评论 匿名:

分享到