本文为您介绍DT-PID组件。
功能说明
PID控制器是最常见的单变量基础控制器,其算法简单、鲁棒性好和可靠性高,被广泛应用于工业过程控制,广泛适用于没有精确模型的控制系统,对于可建立精确数学模型的确定性控制系统也具有较好的精确控制能力。
PID控制又称为比例、积分、微分控制,控制器有三个核心控制参数,分别为比例系数Kp、积分时间常数Ti 、微分时间常数Td,分别介绍如下。
比例系数Kp
直接影响系统的闭环增益和响应速度,即影响系统的动态响应能力;增大比例系数使系统反应更灵敏,调节速度更快,并且可以减小稳态误差。但是比例系数过大会使超调量增大,振荡次数增加,调节时间加长,动态性能变坏,比例系数太大甚至会使闭环系统不稳定。
对于大多数系统而言,单纯的比例控制很难保证调节得恰到好处,完全消除稳态误差,很多时候需要积分作用配合一起进行控制。
积分时间常数Ti
积分具有相位滞后作用,直接影响系统的稳态误差,即影响系统的稳态响应能力;积分控制能在比例控制的基础上消除系统输出跟踪设定值的稳态误差。
减小积分时间常数使系统消除稳态误差能力增强,但过小的积分时间常数会使得积分作用过强,导致系统闭环稳定性下降。
微分时间常数Td
微分具有相位超前作用,直接影响系统的动态响应超调量,即影响系统稳定性余量;微分控制在比例控制或比例积分控制的基础上,能有效改善系统的动态响应性能,它可以使系统超调量减小,稳定性增加,动态误差减小。
增大微分时间常数使系统动态响应能力增强,但过大的微分时间常数会使得微分作用过强,导致系统抗扰动和抑制噪声能力下降。
计算逻辑原理
DT-PID-v2组件采用增量式PID控制,控制量u离散化描述满足如下
其中,u(k-1)是上一时刻系统的控制量,也可以是初始时刻的外部参考值,为当前时刻控制量增量。
DT-PID-v2组件中控制增量有如下形式
其中,为积分系数,为微分系数。DT-PID-v2组件中控制增量写成如下形式
使用流程说明
在AICS画布中拖入DT-PID-v2组件, 点击组件DT-PID-v2进入PID基础配置页面。
将组件的输入输出端口与相关组件端口进行连接,然后选择输入配置进行输入端口和控制器参数配置,并点击确认保存。
输出端口和参数包括输出控制量u和对应质量码,已默认配置好,无需配置。
组件参数说明
输入端口参数
参数名 | 参数描述 | 参数默认值 | 参数范围 | 备注 |
比例系数 | PID控制器关键参数kp | 1 | 非负 | [1] |
积分系数 | PID控制器关键参数ki (ki=kp/Ti) | 0 | 非负 | [2] |
微分系数 | PID控制器关键参数kd (kp=kp*Td) | 0 | 非负 | [2] |
控制变量上限 | 控制变量可执行范围的上限u_max | 9999 | 无 | |
控制变量下限 | 控制变量可执行范围的下限u_min | -9999 | 小于控制变量上限 | |
控制变量增量上限 | 控制变量每步变化率的上限du_max | 9999 | 无 | |
控制变量增量下限 | 控制变量每步变化率的下限du_min | -9999 | 小于控制变量上限 | |
设定值死区下限增量 | 被控变量设定范围的下限 dsp_low | 0 | 小于0 | [3] |
设定值死区上限增量 | 被控变量设定范围的上限 dsp_high | 0 | 大于0 | |
目标设定值 | 被控变量的设定值 sp | 0 | 无 | |
被控变量测量值 | 被控变量的实际测量值 pv | 0 | 无 | |
前馈量 | PID的前馈变量,只有连续前馈的差值才会作用到最终结果 ff | 0 | 无 | |
正作用/反作用 | 误差的正反作用 | 是(反作用) | 是、否 | [7] |
算法开关 | 算法开关打开时算法输出,否则控制量输出锁定不变并且是quality=0的坏值 | 是(打开) | 是、否 | [4] |
手自动开关 | 自动为PID算法输出,手动为直接调用dcs信号输出 | 是(自动) | 是、否 | [4][5] |
控制量参考开关 | 在自动模式下可用,打开后每一步的值都会参考dcs信号 | 否(不参考dcs信号) | 是、否 | [6] |
手动dcs信号 | 外接的dcs指令信号,手动模式使用,同时作为自动模式的初始化信号 u_dcs | 0 | 无 | [1] |
控制量反馈测量值 | 外接的dcs指令测量值信号,手动模式使用,同时作为自动模式的初始化信号 u_given | 0 | 无 | [1] |
输入参数备注说明
该PID组件为增量式PID,如果仅有比例项系数(如kp=1, ki=kd=0),控制器仅依靠偏差的变化量进行计算输出,当偏差变化较小时,控制量输出变化较小,此时请谨慎选择手动dcs信号。由于我们采用以手动dcs信号初始化,如果u_dcs/u_given为0, PID输出会以0为初值且变化较慢,可能会导致控制异常。
请注意积分系数,微分系数的输入参数定义方式,其中Ti与Td是以算法底层秒为单位的积分时间与微分时间。公式中不包含的采样时间Ts 会在算法中考虑。
设定值死区上下限为0时意味着该功能禁用。
算法开关和手自动开关可以随时打开关闭。
即使用了自动模式,也会采用手动模式作为第一步去初始化,所以dcs信号在两种模式下同样重要。
打开后会把计算得到的du附加在手动u_dcs信号上,而不是在PID容器储存的上一时刻的输出u_pre。
正作用:误差=pv-sp,反作用:误差=sp-pv;若已在pid控制器之前计算好误差量,则可直接用误差输入到sp端口或pv端口。
输出端口参数
参数名 | 参数描述 |
u | 计算得到的控制量u |
state | PID控制器的质量码状态 |
输出参数备注说明
state 参数是新引入的表示PID状态的值,在PID输入信号质量码都好的情况下会输出True, 单次接收到坏质量码仍会输出True,在连续三次以上接收到坏质量码后会输出False作为警报。
state只是作为提示输出,本身不参与任何控制器的运算与执行。
PID组件使用
DT-PID-v2组件在AICS平台画布中的控制系统连接及使用如下图: