适用机型:S7-1200 / S7-1500(TIA Portal V13~V19)
PID(比例 Proportional、积分 Integral、微分 Derivative)是最常见的闭环控制算法:
在 PLC 中以离散形式实现,配合固定采样周期运行。
| 项目 | 说明 |
|---|---|
| 功能块 | PID_Compact |
| 调用位置 | 建议在周期中断 OB(如 OB35)中调用,保持固定采样周期。 |
| 典型周期 | 100 ms 或更短,按被控对象动态特性选择。 |
| 典型对象 | 温度、液位、压力、转速、流量等过程量。 |
| 参数名 | 类型 | 作用 |
|---|---|---|
| PV_IN | Real | 过程值输入(反馈量,来自 AI 缩放后) |
| SP_INT | Real | 设定值输入(工程单位,与 PV 对齐) |
| PV_PER | Bool | 过程值更新触发(TRUE 表示新数据到达) |
| MAN_ON | Bool | 手动模式使能 |
| MAN | Real | 手动模式输出值(% 或工程单位) |
| AUTO | Bool | 自动模式使能(TRUE 时 PID 生效) |
| QPOS | Real | 控制输出(连接 AO 或内部变量) |
| LMN_HLM / LMN_LLM | Real | 输出上限 / 下限(如 0~100) |
| GAIN | Real | 比例增益 Kp |
| TI | Time | 积分时间 Ti |
| TD | Time | 微分时间 Td |
| CYCLE | Time | 控制周期,与 OB 周期一致 |
| AUTO_TUNE | Bool | 自动整定触发信号 |
| DONE_AT | Bool | 自动整定完成标志 |
| INIT | Bool | 初始化信号,用于首次或参数变更后初始化 |
注意:整定期间输出可能振荡,请确保被控设备允许扰动,必要时先降功率或设置输出限幅。
保持储罐液位在 50%,AI 读取液位变送器(4-20 mA),AO 输出至变频器频率给定(0-10 V 或 4-20 mA)。
OB35 周期中断(100 ms)
读取 AI 原始值
Scale → PV_IN(0~100%)
PID_Compact(
PV_IN := PV_Scaled,
SP_INT := 50.0,
GAIN := 3.0,
TI := T#8s,
TD := T#0s,
CYCLE := T#100ms,
LMN_LLM := 0.0,
LMN_HLM := 100.0,
AUTO := TRUE,
QPOS => CV_Percent
)
Unscale CV_Percent → AQ0(0~10 V)
为避免切换突跳,进入手动时将 MAN 置为当前输出值,退出手动时做软移交:
IF Mode_Manual THEN PID.MAN_ON := TRUE; PID.MAN := LastOutput; // 进入手动,保持当前输出 ELSE PID.MAN_ON := FALSE; // 返回自动 END_IF;
| 现象 | 可能原因 | 对策 |
|---|---|---|
| 输出长时间顶到上限 | 积分饱和 | 启用抗积分饱和,扩大上限前加限幅,增大 Ti |
| 曲线持续振荡 | Kp 偏大或 Ti 过小 | 减小 Kp 或增大 Ti,适当加 Td 与滤波 |
| 响应迟缓 | Kp 太小或 Ti 太大 | 增大 Kp 或减小 Ti |
| PV 噪声大 | 传感器噪声或采样周期不匹配 | 输入滤波、延长周期、谨慎使用 Td |
| SP/PV 单位不一致 | 缩放或工程量转换错误 | 统一工程单位,检查 Scale/Unscale |
适配平台:明扬工控商城 技术文库 / 明扬资讯