登录站点

用户名

密码

控制系统 - 嵌入式系统

  • 分享

    浅谈DCS及PLC控制系统中PID的运算及应用(原创)

    孙严军 2010-04-01 14:00

      引言

          工业自动化控制领域内,大部分采用的是DCS、PLC控制系统,现在国内外一些著名的品牌厂家几乎论断的整个工业自动化控制领域,如:国外的有艾默生、西门子;国内的有:浙大中控、和利时等,那么在这些控制系统中最常规的PID控制是怎么实现的,他们又是怎么进行编程组态得到的PLD运算的,本文就常规的PID及起模块进行总结以及应用做个简单的介绍:

    一、DCS及PLC控制系统中PID的运算

     

    1       指令解说

     l  上式T为梯形图时间继电器周期输出,在此引为采样及调节周期。

    l  S1为设定的目标值,又称给定值

    l  S2为实际测定值。

    l  S3PID控制参数的起始参数单元,控制参数占用S3后续的25D数据寄存器。具体说明如下:

    S3+0:       TS  采样时间     设定为K1(1T)

    S3+1:       ACT.运算方向     一般设为 H0001

    设为H0000时为反PID运算。

    S3+2:       L   滤波系数  0-99%  0% 无滤波。  参考设定为K50

                              0000-99.00

    S3+3:       KP  比例増益  0-32767%          参考设定为K2000

                              0000-327.67

    S3+4:       TI  积分时间  0-32767(1T)   参考设定为K500

    S3+5:       KD  微分増益  0-32767%          一般设定为K0

                              0000-327.67

    S3+6:       TD  微分参数  0-32767(1T)    设定为K0,无微分

    S3+7:       偏差,浮点数表示,占两个字节:S7+7S7+8

    E(K)=SV-PV  (ACT.0=1)

                        E(K)=PV-SV  (ACT.0=0)

    S3+8: 

    S3+9:       偏差的一阶导数,浮点数表示。S3+9S3+10

    E(K)'=E(K)-E(K-1)

    S3+10:

    S3+11:      偏差的二阶导数,浮点数表示。S3+11S3+12

    E(K)''=E(K)'-E(K-1)'

    S3+12:

    S3+13:      本次滤波后的实测值,浮点数表示。S3+13S3+14

    PVF(K)=PV(K)+L [PVF(K-1)-PV(K)]

    S3+14:

     

    S3+15:      PID的微分调整项,浮点数表示。S3+15S3+16

    PID_D(K)=[TDE(K)''+KDTDPID_D(K-1)]/(TS+KDTD)

    S3+16:

    S3+17:      PID的本次调整输出,浮点数表示。S3+17S3+18

    DMV(K)=DMV(K-1)小数部分+KP[E(K)'+TSE(K)/TI+PID_D(K)]

    S3+18:

    S3+19:      PID控制的输出值,取值范围:0-32767

    MVK=MVK-1+INTDMV

    S3+20:      SH  上限报警                  设定为K20000

    S3+21:      SL  下限报警                  设定为K20

    S3+22:      OH  上限幅值                  设定为K10000

    S3+23:      OL  下限幅值                  设定为K20

    S3+24:      ALM.0 SH上限报警时ON

                        ALM.1 SL下限报警时ON

                        ALM.2 OH上限输出时ON

                        ALM.3 OL下限输出时ON

    6.1.2            PID运算式

    1.  PVF(K)=PV(K)+L[PV(K-1)-PV(K)]

                E(K)=SV(K)-PVF(K)

                E(K)'=E(K)-E(K-1)

                E(K)''=E(K)'-E(K-1)'

    2.  D(K)=[TDE(K)''+KDTDD(K-1)]/(TS+KDTD)

    3.  MV(K)=MV(K-1)+KP[E(K)'+TSE(K)/TI+D(K)]

     

     符号说明:

            PV:测定值。  SV:目标值。   MV:输出值。

           PVF:滤波后的测定值。

    L :滤波系数。     

    TS:采样时间。      

    KP:比例増益。

    TI:积分时间。

    TD:微分时间。

    KD:微分増益。

    PV(K):本次采样测定值。

    DK): 微分项。

    INTDMV):PID本次增量输出。

    PV(K-1):一个调节周期T前测定值。

     二、DCS及PLC控制系统中PID的运算的应用

            案例一.   控制一组(四台)实验电炉,温度检测用PT100热电阻,工作温度在100℃以下,控制精度要求在0.1,超调小于0.5℃。热源为电阻丝,每电炉发热总功率380VAC 8KW

    控制方案:选一混合型PLC作调节控制单元,其输出控制四个三相智能模块硅,办公室计算机与PLC通信,作温度跟踪记录。

    各通道的设置参数(由人机界面或字符屏设定)

     

     

    0通道

    1通道

    2通道

    3通道

    AI通道

    设定温度

    D300

    D310

    D320

    D330

    P参数

    D301

    D311

    D321

    D331

    I参数

    D302

    D312

    D322

    D332

    D参数

    D303

    D313

    D323

    D333

    PID手动自动切换

    M100

    M110

    M120

    M130

    手动加

    M101

    M111

    M121

    M131

    手动减

    M102

    M112

    M122

    M132

    实测温度

    D10

    D11

    D12

    D13

    DA通道

    输出电流

    D20

    D21

    D21

    D23

    选取其中一路作简要说明:

    第一步:规划并设定控制区参数。PID控制共占用28个数据寄存器,第一路控温规划到D2000-D2027

    第二步:PID调节与手动调节要相互协调,做到无扰切换。示例中,手动调节和自动调节最终输出都归入D2028

你还不是该群组正式成员,不能参与讨论。 现在就加入