
PID_Compact — 紧凑型 PID
紧凑型 PID 控制器:设定值/过程值输入,输出连续或 PWM。
在 TIA 里试一下
选一个示例块,通过 TiaLink 导入当前 TIA 项目:预检、默认不覆盖、不自动保存。示例块不会自动运行;导入后请在 OB1 调用并接变量。
一句话
PID_Compact 是紧凑型 PID 控制器:设定值/过程值输入,输出连续量或 PWM。
符号与引脚
分类:技术
需要实例
模板值:无
| 引脚 | 方向 | 说明 |
|---|---|---|
en | 流输入 | 使能输入 |
Setpoint | 输入 | 设定值 |
Input | 输入 | 过程值 |
Input_PER | 输入 | 模拟量过程值 |
Disturbance | 输入 | 扰动 |
ManualEnable | 输入 | 手动使能 |
ManualValue | 输入 | 手动输出值 |
Mode | 输入 | 模式(InOut) |
ModeActivate | 输入 | 激活模式 |
Reset | 输入 | 复位 |
ErrorAck | 输入 | 错误确认 |
ScaledInput | 输出 | 标定后的过程值 |
Output | 输出 | PID 输出 |
Output_PER | 输出 | 模拟量输出 |
Output_PWM | 输出 | PWM 输出 |
SetpointLimit_H | 输出 | 设定值上限 |
SetpointLimit_L | 输出 | 设定值下限 |
InputWarning_H | 输出 | 过程值高警告 |
InputWarning_L | 输出 | 过程值低警告 |
State | 输出 | 状态 |
Error | 输出 | 错误 |
ErrorBits | 输出 | 错误位 |
符号见下面的最小示例;引脚名与方向来自 lad-ir 指令目录,说明为本站补充。
最小示例
Enable=1 时每个扫描调用;Setpoint/Input 给设定值和过程值,Output 是 PID 输出。

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 DB 变量。
怎么工作
PID_Compact是 FB,需要静态实例(本页Inst_PID)。Setpoint是设定值,Input是过程值;Output是 PID 输出。ManualEnable/ManualValue切手动;ModeActivate激活模式;Reset/ErrorAck复位/确认错误。Mode是 InOut(会被指令读写),不能声明成普通 Input。State/Error/ErrorBits给出状态和错误。- PID 参数、输出限幅、模式等在工艺对象/调试界面配置;示例只保证块能编译。
常用场景
1. 闭环控制
同上面的最小示例。
2. 温度闭环
Setpoint=80.0,Input 接温度反馈,Output 去加热执行器。
| 参数 | 示例值 |
|---|---|
Enable |
TRUE |
Setpoint |
80.0 |
Input |
温度反馈(如 72.5) |
ManualEnable |
FALSE |
ManualValue |
0.0 |
Reset / ErrorAck |
FALSE |
Mode |
由调试/工艺对象设置 |

常见坑
- Mode 用 Input:TIA 会报写访问错误;必须用 InOut。
- 不调用:PID 必须在循环 OB 中每个扫描调用。
- 没调试:默认参数不一定适合你的回路;先做 PID 自整定/手动调试。
- 输出限幅:执行器有量程,配置上下限,避免积分饱和。
- 手动/自动切换:切换前处理输出无扰,避免冲击。