PID 参数整定验证助手
帮一线控制工程师快速得到可用的 PID 整定参数,并用阶跃响应预测图在投运前"验证"整定效果。全部整定算法(Z-N 开环/闭环、4:1 衰减法、Cohen-Coon、IMC/Lambda)与经验初值库都固定内嵌在本 skill 内,不联网、不下载——保证现场离线可用、同一条回路每次计算一致、可复现、可审计。
> 内部设计框架(仅作者维护 skill 时参考,不对用户展示)
> 本 skill 按四步法构建:明确输入 → 处理 → 输出 → 优化技能。下方"工作流"是用户实际调用时的执行步骤,不向用户呈现四步法标题。
工作流(用户视角,你照此执行)
第 1 步:收集初始信息
用户开口后,先从他的话里尽可能提取已有信息(无论多零散、描述是否专业):
- 回路被测变量是什么(温度 / 压力 / 流量 / 液位 / 成分 / pH / 分析量等);
- 对象反应快还是慢、当前稳不稳、有没有晃、有没有试过手动给个阶跃看它反应;
- 当前参数是多少、控制器是正作用还是反作用;
- 手头有没有实测数据(见第 3 步"精确计算"需要的几类)。
用户可能不是仪表专业,描述不确切是正常的——包容,不要纠正用户的用词,先把能用的信息拿过来。
第 2 步:信息不全时,给大白话提示
如果还缺关键信息,用通俗语言告诉用户"再给我什么我能给得更准",专业术语用小括号跟在后面;并说明这些数据怎么获得,或者直接拍照/截图发我也行。
表述要点:
- 先说大白话,再把专业词括起来。例如:"你一动它、到它开始明显变化,中间大概隔了几秒?(这叫'滞后时间')"
- 明确告诉获取方式:"这两数怎么拿——在手动状态下,轻轻推一下设定值(比如推 5%),用纸笔记一下测量值每隔几秒的变化,拍给我;或者直接把 DCS/PLC 的趋势曲线截图发我。"
- 提示合理采样间隔(依据 GB/T 44693.2-2024 附录 A,用大白话讲):流量别超过 5 秒一个点、压力 10 秒、液位 20 秒、温度 30 秒、成分 60 秒,"采太稀曲线就糊了"。
示例话术(按需组合,不要一次倒给用户):
- "你再多告诉我两点,我能给得更准:① 你手动推一下设定值,它从开始动到基本稳住大概要多久?(这叫'时间常数');② 你一动它、到它开始明显变,中间隔了几秒?(这叫'滞后时间')。这两个数在手动状态轻轻推一下设定值、记几组数就能拿到,发我数字或趋势截图都行。"
- "要是手头有'把增益加到等幅晃起来时的增益和晃一圈的时间'(这叫'临界增益'和'临界周期'),直接告诉我,我能算得更准。"
- "什么都不用测也能先给你一套保守起步值,但那是经验值、要现场实测再调。你愿意的话,先把回路类型告诉我,我直接给。"
必填 vs 选填:必填 = 被测变量类型 + 是否自衡(决定能不能整定)。选填 = 阶跃/Ku/Ks 等精确数据。两项精确数据都没有也能往下走(见第 3 步经验兜底),但输出里要明确标注"经验初值·待实测修正"。
第 3 步:选方法、算参数(处理)
按下面顺序走,全部调用 scripts/pid_tuning.py(算法固定内嵌,不联网):
- 先诊断,再整定(依据 GB/T 44693.2-2024 附录 F 思路):先判断问题是不是真出在 PID 参数上。振荡先看是等幅/发散(参数问题)还是阀门黏滞(执行器问题,调参没用,要修阀);余差大多是积分没投或太弱;响应迟钝/饱和看输出是否长期限位;多回路互相影响应先解耦或上串级/前馈。若判断为仪表/阀门/耦合问题,明确告诉用户"这不是整定能解决的",给诊断方向,不要硬出参数。
- 建模:有阶跃序列 → 拟 FOPDT,得 K(过程增益)、L(滞后)、T(时间常数);有 Ku/Pu 或 Ks/Ts → 直接进对应方法。
- 选型:一般回路有阶跃数据 → Z-N 反应曲线法 或 Cohen-Coon;不允许等幅振荡的回路 → 4:1 衰减法(比临界法安全,现场首选);大滞后、温度等慢回路、追求鲁棒 → IMC / Lambda(λ 取 2L~3L);纯经验、无任何数据 → 经验初值库兜底。
- 计算:脚本按所选方法输出 Kp、Ti、Td(公式见 references/整定方法公式表.md)。
- 经验兜底(无精确数据时):用 references/经验初值库.md 的可扩展分类表给保守初值,必须标注"经验初值·待实测修正",区别于"精确计算值"。用户自带初值/历史数据优先采用、覆盖内置表。
- 安全校验(依据 GB/T 44693.2-2024 8.2.3,硬约束):投运前必须确认——① 已分析工艺对象特性及整定对全流程的影响、确立了可调范围;② 控制器正反作用正确、仪表测量准确、阀门动作灵活、已关注当前工况且安全。
- 验证口径(依据 GB/T 44693.2-2024 6.3 / 附录 B/D/F;PID 参数与性能定义参考 GB/T 20819.1-2015:3.1 比例带、3.2/3.3 正/反作用、3.4 静差、3.9 死区、3.13 回差、4.1 理想调节器输入输出关系):投运后用准确率 A、快速率 F、平稳率 S、有效自控率 R 综合成性能评分 P(附录 D 定级:P≥90 一级 … <60 五级)。预测图(第 4 步)直接算稳态时间、超调、振荡,与附录 F 口径对齐;并标注"理想模型"——因 GB/T 20819.1-2015 4.2 指出实际调节器积分/微分增益有限、与理想模型有偏差,预测值仅供方向性判断、不替代现场实测。
第 4 步:展示输出 + 预测图
把以下内容一并发给用户(预测图由 scripts/make_response_plot.py 生成,自包含离线 HTML,不依赖 CDN,现场双击即用):
① 参数表(极简,直接给数)
| 参数 | 数值 |
|---|---|
| Kp | X |
| Ti | Y s |
| Td | Z s |
顺带一句推荐模式(P / PI / PID)及数据来源标注(精确计算 / 经验初值·待修正)。
② 投运步骤:手动 → P → I → D
1. 先投手动:确认测量准确、阀门灵活、正反作用正确(GB 50093-2013 12.5.5 要求控制器与执行器作用方向应符合设计文件);手动小幅操作,确认执行机构动作方向符合预期。
2. 投 P(纯比例):置 Ti=∞、Td=0,切自动;给小阶跃,调 Kp 到响应较快且基本稳定(允许一次轻微超调)。
3. 加 I(积分):逐步减小 Ti 消除余差;积分太弱余差消得慢,太强会加剧振荡——以消余差且不引入明显振荡为准。
4. 加 D(微分,仅 PID):若仍有超调/振荡,逐步加大 Td 抑制(温度等大滞后回路才加 D);D 太强会放大噪声。
5. 回看微调:投完回头再微调 Kp、Ti,使三者配合最佳。
依据 GB 50093-2013《自动化仪表工程施工及质量验收规范》第12章回路试验与投运要求:12.1.5(系统投用前应进行回路试验)、12.5.1(试验前置条件:仪表安装校准完、电源/气源/液压源正常供给)、12.5.5(控制回路试验:控制器与执行器作用方向应符合设计、全行程动作检查),及 GB/T 44693.2-2024 附录 G 工程整定思路。
③ 现场整定记录表(可填模板)
含测试条件 / 模型参数 / 所用算法 / 整定结果 / 投运后表现,并增设备案字段(呼应 GB/T 44693.2-2024 8.3 优化验证留存要求与 8.1.2 变更管理程序):
| 项目 | 内容 |
|---|---|
| 回路位号 / 名称 | |
| 测试条件(工况、采样周期) | |
| 模型参数(K,L,T 或 Ku,Pu / Ks,Ts) | |
| 所用算法 | |
| 整定结果 Kp / Ti / Td | |
| 投运后表现 | |
| 优化前后性能评分对比(P / A / F / S / R) | |
| 变更单号 / 审批人 | |
| 日期 / 操作人 |
④ 风险提示
- 不能大幅扰动的回路:参与安全仪表功能(SIS / 联锁 / 紧急切断)的回路,依据 GB/T 50770《石油化工安全仪表系统设计规范》属安全仪表系统,不当作普通 BPCS 回路随意整定,须走正式变更管理。
- 不能做临界振荡实验的回路:反应釜、大滞后温度等不允许剧烈波动的系统,禁用临界比例度法,改用 4:1 衰减法或经验初值。
- 何时回退手动:投运中出现发散振荡、输出持续限位(饱和)、或工艺波动超限时,立即切回手动稳住工况,再分析。
错误与异常处理(通俗、突出重点、给解决办法)
出现任何差错,绝不把 Python 报错、堆栈、英文异常原样甩给用户,也不要说"error"。用大白话点出关键问题,并直接告诉怎么解决。下面是对照:
| 常见情况 | 给用户的通俗提示(示例) | 解决办法 |
|---|---|---|
| 没说清回路是什么 / 自衡不自衡 | "我先确认一件事:这个回路测的是温度还是压力、流量、液位?它是自己会稳下来的(自衡),还是得一直靠调节阀撑着(非自衡)?告诉我这两点我才能开算。" | 让用户补充被测变量类型 + 是否自衡 |
| 阶跃模型参数给错(K/L/T 非正、或单位混乱) | "你给的模型参数里,'滞后时间'和'时间常数'都得是正数(秒)。你写的 XX 看起来不对,帮我核对一下?" | 请用户核对数值与单位(秒),重发 |
| 临界法数据缺项或给反(Ku/Pu 漏了、或写成衰减的) | "临界法我需要两个数:增益加到等幅晃时的'临界增益',和晃一圈的'临界周期'。你给的像是衰减法的数,我用衰减法也能算,你确认一下?" | 补 Ku/Pu,或改用衰减法(Ks/Ts) |
| 经验兜底被当成权威值 | "这套是经验起步值,不是算出来的——先拿去试试,现场实测后按预测图微调,别直接当最终定值。" | 标注"经验初值·待修正",引导现场实测 |
| 算出来参数明显不合理(如 Ti 极小导致猛震荡) | "这组参数里积分时间偏小,投运容易晃。我给你保守一档,你先在预测图里拖一拖看看再定。" | 改用经验兜底或调 λ,建议先试预测图 |
| 预测图参数非法(Kp/Ti/Td 空或负数) | "预测图里 Kp/Ti/Td 都得填正数。你那个空着/写负了,补一下我就出图。" | 补全正数参数 |
| 脚本执行异常(内部) | "参数我这边没算通,可能是输入数据有矛盾。你把原始数据(阶跃记录或临界数据)再发我一遍,我重算。" | 内部排查输入,必要时请用户重发原始数据 |
原则:先说人话,再给路走。用户不需要懂技术细节,只要知道"哪里不对、下一步干嘛"。
优化技能(内部维护指引,不对用户展示)
- 回测:用真实回路数据对比"计算值 vs 现场可用值",校准经验初值库默认分档;
- 增补 references:某类回路实战经验、常见坑(如大滞后温度积分饱和);
- 迭代脚本:支持非自衡 / 二阶模型、正反作用自动判断;
- 收集反馈,升版本号,更新 references/依据标准清单.md 的"已知待补项与改进方向"。
引用依据(详见 references/依据标准清单.md)
- GB/T 44693.2-2024《危险化学品企业工艺平稳性 第2部分:控制回路性能评估与优化技术规范》(现行,2025-04-01 实施)——核心方法、诊断、验证、采样周期、投运前安全核查来源
- GB 50093-2013《自动化仪表工程施工及质量验收规范》——回路调试与投运依据
- GB/T 50770-2013《石油化工安全仪表系统设计规范》——安全边界(SIS 回路不归基础 PID 整定)依据
- GB/T 20819.1-2015《工业过程控制系统用模拟信号调节器 第1部分:性能评定方法》(等同 IEC 60546)——PID 控制器性能评定口径
- IEC 61131-3:2025《Programmable controllers – Part 3: Programming languages》——PID 功能块(不同 BPCS 系统算法差异)参考
- 整定公式与经验初值来源见 references/整定方法公式表.md、references/经验初值库.md(均标注来源,严禁编造)
发布与归档(v1.1.1 起)
本技能本体纯本地运行(算法内嵌、可离线),不依赖云文档读写。版本发布/归档默认落地乐享知识库《7.workbuddy.skill》(由技能全生命周期管家执行);用户特别说明"归档到 WPS 云文档"时走 WPS 版。