施耐德 PLC 的 PID 块:零基础上手(基于官方资料)
本文面向初学者,覆盖两条常见平台:EcoStruxure™ Machine Expert Basic(M221 等)与EcoStruxure™ Control Expert(Unity Pro,M340/M580 等)。所述参数/步骤均依据施耐德官方手册与产品帮助整理。
1. 我用的是哪种 PID?
-
M221 / SoMachine(Machine Expert)Basic:使用PID功能块,带AT(自整定)与AT+PID模式,适合温控、流量、液位等常规过程控制。
-
M340/M580 / Control Expert(Unity Pro):使用控制库中的 PID 功能块(如PID/PIDFF等)。若要二位式(开关)控制,可将 PID 输出接 PWM 块实现。
2. 基本概念与信号方向
典型 PID 结构:设定值 SP、过程值 PV、控制输出 OUT。控制目标是让e(t)=SP−PV→ 0。施耐德 PID 支持标准连续控制(P/I/D),并提供采样周期、输出限幅、手/自动切换等常用参数。
3. M221(Machine Expert Basic)快速上手
-
新建项目并插入 PID 功能块 在 Logic Builder 的程序中放置PIDFB,或用“PID 向导/Assistant”快速生成(含采样周期与 PWM 选项)。
-
接线与量程
-
把传感器接至模拟量通道(如 0–10V/4–20mA),在通道属性里做量程映射到工程单位(℃、L/min)。
-
把执行器(加热 SSR、阀门、变频器给定等)对应到 PID 的q输出或q_xPWM(若需脉宽调制)。
注意:i_iPWMPeriod需是采样周期的整数倍,避免 PWM 抖动。
-
必须设置的核心参数(PID 选项卡/块引脚)
|
名称
|
含义
|
新手建议
|
|
Sample Time
|
PID 计算周期(跟随任务周期)
|
100–500 ms(温度/慢速过程),与程序任务周期一致。
|
|
SP(设定值)
|
目标值
|
如 200.0 ℃,可以 HMI 调节
|
|
PV(过程值)
|
测量反馈
|
来自模拟量通道(建议滤波)
|
|
Kp / Ti / Td
|
比例/积分/微分
|
初始可用 AT 自整定获得;或从小到大逐步整定。
|
|
Mode
|
PID / AT+PID / AT
|
初次用 AT+PID,整定完改为 PID 常态运行。
|
|
OutMin/OutMax
|
输出限幅
|
0–100%(PWM/阀开度)或 0–10V
|
|
Manual/Auto
|
手自动切换
|
调试期可手动给输出(带无扰切换)
|
-
一键自整定(AT)流程 选择 AT+PID,设好 SP 与边界,启动 AT;控制器会对过程施加试探,计算出 Kp/Ti/Td 并切入 PID 运行。完成后把模式改回 PID。例子:电加热温控
-
-
AI 通道 → 传感器温度(PV);
-
PID 输出 →q_xPWM→ 数字输出驱动 SSR;PWM 周期 2–10 s;
-
AT 完成后,设置输出限幅(避免过冲),对 PV 加一阶滤波(降低噪声)。
4. M340/M580(Control Expert)快速上手
-
添加控制库 PID 块 在 Control Expert 里,从“Control Block Library”插入 PID(或 PIDFF)。文档列出了各引脚/参数及典型接法。
-
基本参数 设置 SP、PV、Kp、Ti、Td、采样周期(可由周期性任务 OB 决定),配置输出上下限与手/自动切换。
-
驱动执行器 若需要二位式(开/关)控制,将 PID 的模拟输出接入 PWM/脉冲功能块以得到占空比控制(Unity 本身无“ON-OFF 模式”开关)。
5. 一页整定秘籍(先跑起来再优化)
-
先定采样周期:选 5–10×过程时间常数的 1/10~1/20(温度类 100–500 ms 常见)。
-
AT 自整定:初学者优先;完成后锁定参数、改回 PID 常态。
-
手动限幅与防积分饱和:设 OutMin/OutMax 与积分限幅,避免长时间饱和导致大过冲。
-
输入滤波:PV 前加低通滤波或移动平均,减少噪声驱动的微分放大。
-
PWM 配置(如用 SSR):i_iPWMPeriod取采样周期的整数倍(2–10 s),避免输出抖动与 SSR 过度频繁开关。
6. 新手常见坑(对照表)
|
现象
|
常见原因
|
处理
|
|
PWM 抖、占空比不稳
|
PWM 周期不是采样周期整数倍
|
将i_iPWMPeriod设为 k×SampleTime。
|
|
AT 无法收敛/参数怪异
|
量程/单位/方向(正反作用)搞错
|
确认 “增大 OUT 会让 PV 朝 SP 方向变化” 的正负号;修正量程与方向后再 AT。
|
|
阀或加热器忽快忽慢
|
输出未限幅/死区、采样过快
|
加输出限幅与斜率限制;把采样周期设为过程可接受的下限。
|
|
想做开关控制找不到开关模式
|
Unity/Control Expert 的 PID 无“ON-OFF”模式
|
PID 输出 → PWM/比较器实现二位式。
|
7. 参考:官方资料
-
Machine Expert Basic《通用函数库指南》与在线帮助(PID 块、采样周期、PWM 关系)。
-
FAQ:SoMachine Basic 的 PID 支持的模式(PID / AT+PID / AT)。
-
Control Expert《Control Block Library》:Unity/Control Expert 的 PID 引脚与参数说明。
-
FAQ:Unity/Control Expert 的 PID 无 ON-OFF 设置,需接 PWM。
8. 一份可直接抄的“温控示例”(M221)
// 假设:AI_Temp 已缩放为 ℃;DO_SSR 用于驱动加热固态继电器
// 周期任务:200 ms;PWM 周期:2 s(10×采样)
// 1) PID 配置(在 PID Assistant/块参数中完成)
// SampleTime = 200 ms
// Mode = AT+PID(首轮自整定)
// OutMin/OutMax = 0..100 (%)
// i_iPWMPeriod = 2000 ms(必须是 SampleTime 的整数倍)
// SP 初始 200.0 ℃
// 2) 程序调用(结构化文本/梯形图等价)
PID_1(
i_rSetPoint := HMI_SP,
i_rProcess := AI_Temp,
q_rOut := OutPct, // 0..100%
q_xPWM := DO_SSR // 连接到数字输出
);
// 3) 整定完成后将 Mode 切换为 PID,保留 Kp/Ti/Td 运行
以上示例的采样与 PWM 配置关系、AT/模式切换说明均来自官方帮助与手册。