您现在的位置是:首页 > PLC技术 > PLC技术

PLC的PID算法

来源:艾特贸易2017-06-05

简介在模拟量的控制中,经常用到 PID 运算来执行 PID 回路的功能, PID 回路指令使这一任务的编程和实现变得非常容易。 如果一个 PID 回路的输出 M(t) 是时间的函数,则可以看作是比例项、

    在模拟量的控制中,经常用到PID运算来执行PID回路的功能,PID回路指令使这一任务的编程和实现变得非常容易。    如果一个PID回路的输出M(t)是时间的函数,则可以看作是比例项、积分项和微分项3部分之和,即:
    以上各量都是连续量,第一项为比例项,最后一项为微分项,中间两项为积分项。其中e是给定值与被控制变量之差,即回路偏差。Kc为回路的增益。用数字计算机处理这样的控制算式,连续的算式必须周期采样进行离散化,同时各信号也要离散化,公式如下:    MPn=Kc×(SPn-PVn)+Kc×Ts/Ti×(SPn-PVn)+MX+Kc×Td/Ts×(PVn-1-PVn)    公式中包含9个用来控制和监视PID运算的参数,在PID指令使用时构成回路表,回路表的格式如表5.20所示。    5.20    PID回路表
    参数  地址偏移量     数据格式 I/O类型     描述 过程变量当前值PVn  0 双字,实数 I 过程变量,0.0~1.0 给定值SPn  4 双字,实数 I 给定值,0.0~1.0 输出值Mn  8 双字,实数 I/O 输出值,0.0~1.0 增益Kc  12 双字,实数 I 比例常数,正、负 采样时间Ts  16 双字,实数 I 单位为s,正数 积分时间TI  20 双字,实数 I 单位为分钟,正数 微分时间TD  24 双字,实数 I 单位为分钟,正数 积分项前值MX  28 双字,实数 I/O 积分项前值,0.0~1.0 过程变量前值PVn-1  32 双字,实数 I/O 最近一次PID变量值
    回路表初始化程序实例:    如果Kc0.4Ts0.2秒,Ti30分钟,Td15分钟,则可以建立一个子程序SBR0用来对回路表进行初始化。程序如图5.19所示。
回路表初始化子程序SBR0
    5.19    回路表初始化子程序SBR0