PID(比例-积分-微分)

PID 是使用过程循环控制诸如温度、压力、液面或流速等物理属性的输出指令。
操作详细信息︰
  • 在启用后,PID 将使用包括 PID 控制器的 SP 和 Gains 在内的输入参数来控制过程。
  • “运行”到“编程”模式转换,PID 指令将禁用,参数值将保留。
  • 编程到运行模式转换,PID 指令保持禁用状态,直到用户将 Enable 复位为 true。
支持的语言︰功能块图、梯形图和结构化文本。
该指令适用于 L20E、L50E 和 L70E 控制器。
PID
PID
PID 参数
参数
参数类型
数据类型
描述
Enable
输入
BOOL
启用指令。
  • TRUE: 使用当前输入参数开始执行。
  • FALSE:PID 不执行。将 CV 设置为 0,并计算 AbsoluteError。
PV
输入
REAL
进程值。该值通常读取自模拟输入模块。
SI 单位必须与 Setpoint 相同。
SP
输入
REAL
过程的设置点值。
AutoManual
输入
BOOL
自动或手动模式选择。
  • TRUE: CV 由 PID 控制。
  • FALSE:PID 正在运行,并且 CV 由 CVManual 输入控制。
CVManual
输入
REAL
为手动模式操作定义的控制值输入。
CVManual 的有效范围为:
CVMin < CVManual < CVMax。
CVMin
输入
REAL
控制值的最小限值。
  • 如果 CV < CVMin,则 CV = CVMin。
  • 如果 CVMin > CVMax,则发生错误。
CVMax
输入
REAL
控制值的最大限值。
  • 如果 CV > CVMax,则 CV = CVMax。
  • 如果 CVMax < CVMin,则发生错误。
Gains
输入
PID_GAINS
控制器 PID 的增益。
使用 PID_GAINS 数据类型可配置 Gains 参数。
Control
输入
BOOL
控制过程的方向:
  • TRUE: 正向作用,如冷却。
  • FALSE:反向作用,如加热。
Active
输出
BOOL
PID 控制器的状态。
  • TRUE: PID 处于活动状态。
  • FALSE:PID 已停止。
CV
输出
REAL
控制值输出。
如果发生任何错误,则 CV 为 0。
AbsoluteError
输出
REAL
绝对误差是过程值 (PV) 和设置点 (SP) 值之间的差值。
Error
输出
BOOL
表示存在错误条件。
  • TRUE: 操作过程遇到错误。
  • FALSE:操作过程成功完成或指令未执行。
ErrorID
输出
USINT
标识错误的唯一数字。这些错误在 PID 错误代码中定义。
PID_GAINS 数据类型
参数
参数类型
数据类型
描述
Kc
输入
REAL
PID 的控制器增益。
比例和积分取决于此增益。(>= 0.0001)。
增大 Kc 可提高响应时间性能,但也会增加 PID 的过冲和振荡。
如果 Kc 无效,则发生错误。
Ti
输入
REAL
以秒为单位的时间积分常数 (>= 0.0001)。
增大 Ti 会降低 PID 的过冲和振荡。
如果 Ti 无效,则发生错误。
Td
输入
REAL
以秒为单位的时间微分常数 (>= 0.0)。
当 Td 等于 0 时,不存在微分作用,PID 成为 PI 控制器。
增加 Td 会减少过冲,并消除 PID 控制器的振荡。
如果 Td 无效,则发生错误。
FC
输入
REAL
滤波常数 (>= 0.0)。建议的 FC 范围为 0 至 20。
增大 FC 会平滑 PID 控制器的响应。
如果 FC 无效,则发生错误。
PID 错误代码
错误代码
错误描述
0
PID 正常工作。
1
Kc 无效。
2
Ti 无效。
3
Td 无效。
4
FC 无效。
5
CVMin > CVMax 或 CVMax < CVMin。
6
CVManual < CVMin。
CVManual 无效。
7
CVManual > CVMax。
CVManual 无效。

PID 示例

PID 功能块图示例
PID 梯形图示例
PID 梯形图示例
PID 结构化文本示例
PID 结构化文本示例
结果
结果
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal