mcpField
A
algo-mfg-cpk

algo-mfg-cpk

github.com/asgard-ai-platform数据与数据库24346 次安装21 周前更新
代码仓库

关于 algo-mfg-cpk

用于制造流程能力分析的技能,依据规格限值、均值和组内标准差计算 Cp、Cpk,并估算不良率。它强调流程须先处于统计受控状态,并提供 Python 脚本进行计算与验证。

主要功能

  1. 01计算 Cp、Cpk、Cpm
  2. 02估算不良率 PPM
  3. 03评估流程居中情况
  4. 04检查正态性与稳定性要求
  5. 05Python 脚本与内置测试

适用场景

  1. 01判断流程能否满足客户规格
  2. 02比较设备或时段的流程能力
  3. 03评估量产前的流程准备度

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/asgard-ai-platform/skills --skill algo-mfg-cpk

安装后在 Claude Code 中输入/algo-mfg-cpk确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

examples/
sample_input.json
references/
capability-indices.md
non-normal-capability.md
scripts/
cpk.py

详细介绍

Cpk 过程能力指数

概述

Cpk 用于衡量过程在多大程度上符合规格限,同时考虑变差(离散程度)和居中情况。Cpk = min((USL - μ) / 3σ, (μ - LSL) / 3σ)。通常要求 Cpk ≥ 1.33;关键特性要求 Cpk ≥ 1.67。与 Cp 不同,Cpk 会对偏离中心的过程进行惩罚。

适用场景

触发条件:

  • 评估制造过程能否满足客户规格
  • 比较不同过程、机器或时间段的能力
  • 确认过程已具备投产条件

不适用场景:

  • 过程未处于统计受控状态时(先使用 SPC 稳定过程)
  • 未经转换的非正态分布

算法

IRON LAW: Cpk Is Only Valid for a STABLE, IN-CONTROL Process
Computing Cpk on an unstable process gives a meaningless number.
The process MUST be in statistical control (per SPC charts) before
capability analysis. An unstable process with Cpk=2.0 today may
produce defects tomorrow when it shifts.
阶段 1:输入验证

收集:来自稳定过程的 100 个或更多测量值。确定:USL、LSL(客户规格)。确认过程处于受控状态(SPC 控制图显示稳定)。 关卡: 过程受控、规格已定义,且有 100 个或更多数据点。

阶段 2:核心算法
  1. 计算过程均值:μ = Σxᵢ / n
  2. 计算过程标准差:σ = 根据 R-bar/d₂ 或 S-bar/c₄ 估算(组内)——不得使用总体标准差
  3. Cp = (USL - LSL) / 6σ(潜在能力,不考虑居中情况)
  4. Cpk = min((USL - μ) / 3σ, (μ - LSL) / 3σ)(实际能力)
  5. 根据 Cpk 估算不良品 PPM(例如,Cpk=1.33 → 约 63 PPM)
阶段 3:验证

检查:Cp 与 Cpk 的差异是否表明居中问题(Cp >> Cpk 表示偏离中心)。分布是否近似正态(直方图、正态性检验)。 关卡: 能力已计算、居中情况已评估、正态性已验证。

阶段 4:输出

返回能力指数和不良率估算值。

输出格式

{
  "capability": {"cp": 1.8, "cpk": 1.45, "ppm_defective": 27},
  "centering": {"mean": 50.2, "target": 50.0, "offset_pct": 0.4},
  "specs": {"usl": 55, "lsl": 45, "target": 50},
  "metadata": {"samples": 200, "sigma_method": "rbar_d2", "normality_p": 0.35}
}

示例

输入/输出示例

输入: USL=55,LSL=45,μ=50.2,σ=1.5 预期: Cp = (55-45)/(6×1.5) = 1.11。Cpk = min((55-50.2)/4.5, (50.2-45)/4.5) = min(1.07, 1.16) = 1.07。低于 1.33 的目标值。

边界情况
输入预期原因
μ 恰好位于目标值Cp = Cpk完全居中
μ 超出规格范围Cpk < 0过程均值超出规格限
仅有单侧规格仅使用该侧的 Cpk例如,表面光洁度只有 USL

注意事项

  • σ 估算方法:使用组内 σ(R̄/d₂),不得使用总体 σ。总体 σ 包含组间变差,会使 σ 偏大并低估 Cpk。
  • 非正态数据:Cpk 假设数据服从正态分布。对于偏态数据(表面光洁度、同心度),使用 Box-Cox 转换或非参数能力指数。
  • 短期与长期:Cp/Cpk 衡量短期能力(组内变差)。Pp/Ppk 使用总体变差(长期)。客户通常需要 Ppk。
  • 样本量置信度:根据 30 个样本计算出的 Cpk,其置信区间较宽。报告点估计值时应同时提供置信区间。
  • Cpk ≠ 零缺陷:即使 Cpk=2.0,理论不良率仍约为 0.002 PPM。对于超关键应用,需要更高的 Cpk 或进行过程验证。

脚本

脚本描述用法
scripts/cpk.py根据过程数据计算 Cp、Cpk、Cpm 和不良品 PPMpython scripts/cpk.py --help

运行 python scripts/cpk.py --verify 可执行内置的合理性测试。

参考资料

  • Cp/Cpk/Pp/Ppk 对比参见 references/capability-indices.md
  • 非正态能力分析参见 references/non-normal-capability.md

评论

支持 Markdown