高级PID算法
- 更新时间2023-02-21
- 阅读时长3分钟
PID高级VI使用的算法和假设与PID VI算法相同,但增加了下面描述的功能。
下列模拟程序框图演示了PID高级VI提供的PID实现方式:

![]() |
注: 创建类似上面的模拟程序框图需要LabVIEW Control Design and Simulation模块。但借助PID VI可实现PID控制器。用户无需Control Design and Simulation模块便可生成PID控制器。 |
手动/自动操作
某些情况下,可能需要关闭PID控制器并在开环/手动模式中对系统进行操作。PID高级VI使用类似抗饱和算法的方法,确保手动/自动之间的切换不会给控制器输出造成任何干扰。
比例操作和微分操作的设定值权重
设定值权重是指应用于控制器错误值的更正值。beta输入(Β)(范围为0和1),按如下方式应用于比例操作:

| 其中 | e表示误差 |
| SP表示设定值 | |
| PV表示过程变量 | |
| Kc表示控制器增益 |
使用beta输入可减少设定值改变引起的过冲,并允许增加控制器增益以改进控制器的抗扰能力。
gamma (γ)输入(范围也为0和1),按如下方式应用于误差和微分:

微分操作过滤(
)
PID高级VI实现的微分操作基于微分操作的后向方法。但是,取决于微分操作、比例增益和采样时间的值,控制器可能生成带快速振荡的响应(尤其是执行PID自整定的时候)。为避免这一问题,该VI提供的alpha (
) 参数可对微分操作(D)进行额外过滤。过滤可减少带宽内容,如下所示:

其中,Td表示微分时间(单位为分钟),也称比率时间
线性度因子(L)实现的误差平方PID
线性度输入引入了增益的线性度改变,如下等式所示:

计算有二自由度控制的比例操作误差公式如下所示:

| 其中 | SP范围是设定值的范围 |
| ß是比例操作公式所述的二自由度PID算法的设定值因子 | |
| L是生成非线性增益项的线性度因子,其中控制器增益随误差幅度增加。 |
如L为1,控制器为线性。值0.1生成控制器10% Kc的最小增益。使用非线性增益项被称为误差平方PID算法。
