本页按照官方软件窗口与手册要点整理,默认示例以 XC/XD/XL 系列的 PID 指令为对象;不同机型界面可能略有差异,请以实际机型手册为准。
目录PID D100 D101 D4000 D200 // SV、PV、参数区起始、输出字 // 或: PID D100 D101 D4000 Y0 // 输出为开关量(位),如加热 SSR
参数区长度固定为 43 字(从Dn起始到Dn+42)。请确保该区域未被其他指令占用;建议放在带电池保持的寄存器区,并在上电首次扫描时做初始化。
在 XCP Pro 中,选中 PID 指令并点击工具条的 PID 图标,可弹出参数对话框(常见字段如下)。常用做法:先在此处配置并“写入 PLC”,需要时再在监控里微调寄存器。
| 字段 | 含义 / 单位 | 建议/说明 |
|---|---|---|
| Manual / Auto | 手动/自动整定 | 初次投运建议启用 Auto 完成一次整定,再按需微调 |
| Sampling Time | 采样周期(ms) | 与任务周期匹配;常见 100–500 ms |
| Proportion Gain (KP) | 比例增益 | 整定后可微调;过大易振荡 |
| Integration Time (TI) | 积分时间(×100 ms) | 先做 PI,再加 I;过小易积累饱和 |
| Differential Time (TD) | 微分时间(×10 ms) | 对快速扰动有帮助;噪声大场合慎用 |
| PID Computation Scope | PID 运算范围(绝对值) | 超出范围时输出直接顶/关,提高响应 |
| PID Control Death Region | 死区(绝对值) | 在死区内不调整输出,压抑小抖动 |
| Self Study Periodic Value | 自整定周期参数 | 用于 AT 的步进/保持逻辑(按工艺适度) |
| Overshoot Config | 是否允许超调 | 对压力/温度等不宜过冲的对象建议禁用 |
| Each Time Adjust Increase | 每步接近比例(%) | 禁超调时有效;越小越保守 |
| Current value resident count | 暂驻步数 | 禁超调时有效;值大更稳但更慢 |
| 字段 | 含义 / 单位 | 建议/说明 |
|---|---|---|
| Input Filter Constant | 输入滤波系数(%) | 对 PV 做一阶平滑,降低噪声 |
| Differential Increase | 微分增益系数(%) | 抑制突变;噪声大时酌情降低 |
| Output Upper / Lower Limit | 输出上下限(标度值) | 例如 0..4095 对应 0..10V AO |
| Direction Config | 正/反作用 | 加热多用“反作用”,冷却/制动多用“正作用” |
// 假设:AI→D10(0..4000=0..10V),AO 写入模块寄存器由工程自定 // 1) 缩放 PV 到 0..10000;SP 由 HMI 给定 MOV D10 D20 // D20 = AI 原码 MUL D20 K10000 D21 DIV D21 K4000 D101 // 写 PV MOV K6000 D100 // SP = 60.00% // 2) 执行 PID,输出到 D200(0..4095) PID D100 D101 D4000 D200 // 3) 写模拟量输出: // 把 D200 限幅后写入 AO 通道的原码寄存器(示例名 AO0_Raw) LIMIT K0 D200 K4095 AO0_Raw
// ┌──[ PV 缩放 ]────────────┐ ┌───[ PID ]─────────┐ ┌──[ AO 输出 ]─────┐ // | AI→0..10000 → D101 |-->| PID D100 D101 ... |-->| 限幅→AO 通道 | // └─────────────────────────┘ └───────────────────┘ └──────────────────┘
// 变量:ParamStart:=D4000;SP:=D100;PV:=D101;MV:=D200;手/自:=M0;AT_Trig:=M1 // 1) 手/自:手动时直接把手动给定写到 MV;自动时运行 PID IF M0 = 0 THEN // 自动 PID(D100, D101, D4000, D200); ELSE // 手动 D200 := MAN_OUT; // HMI 手动输出 END_IF; // 2) 一次性触发 AT(在对话框中也可操作,此处示意) IF R_TRIG(AT_Trig) THEN // 可通过参数区相关位 data 寄存器启动 AT;或直接用软件对话框“Auto”并写入PLC END_IF;
| 步骤/现象 | 要点/原因 | 处理建议 |
|---|---|---|
| ① 标度统一 | SP/PV/MV 标度不一致会导致顶格或迟钝 | 统一到 0..10000(PV/SP)与 0..4095(MV)或工程单位 |
| ② 方向不对 | PV 上升 MV 也上升/下降与工艺相反 | 切换 Direction 为正/反作用;必要时翻转执行器极性 |
| ③ 输出总顶/总关 | PID 运算范围/限幅设置不当;KP 过大;I 饱和 | 放宽/调整范围与限幅;减小 KP;暂关 I 重新整定 |
| ④ 噪声引起抖动 | PV 抖动、采样过快、D 未滤波 | 增大 Input Filter;适度加 Ts;降低 D 或加死区 |
| ⑤ AT 不完成/超冲 | 限幅过窄/过宽;对象慢;禁超调参数不当 | 调整上下限;延长等待;减小步进比例、增大暂驻步数 |
提示:参数区支持“从 PLC 读取 / 写入 PLC”,便于把整定结果保存为项目默认值。
声明:本文为现场快速实操整理。具体地址命名、模块原码范围与可用字段以你的机型与软件版本的官方手册为准。