MEASURE / CONTROL 阶段

控制图:选哪一种、控制限怎么算、判异规则怎么落地

控制图看起来简单,一条中心线加两条界限。但现场最常见的三个错误都出在这里:把规格限当成控制限画、图型选错、判异规则八条全开导致天天误报。这一章把选型、公式、常数表和自动判异的实现方式一次讲完。

阅读约 16 分钟 含 A2 / D3 / D4 常数表 含判异规则实现方法
最要紧的一件事

控制限不是规格限

这两条线来源不同、用途不同,画在同一张图上会同时造成漏报和误报。

控制限 · 过程说了算

UCL / LCL

由过程自身的历史数据算出来,反映这个过程在稳定状态下正常的波动范围。

它回答的问题是:这个点是正常波动,还是出了新情况。

规格限 · 客户说了算

USL / LSL

由设计要求或客户合同规定,跟你的过程能做到什么水平毫无关系。

它回答的问题是:这个产品能不能交付。

把规格限画到控制图上,会同时带来两个后果。

如果过程能力很好,规格限比控制限宽得多,那么过程已经明显失控、均值漂了一大截,点还在规格线之内,图上什么都看不出来——该报的没报

反过来,如果过程能力不足,规格限比控制限还窄,那么大量正常波动的点会越过规格线,现场天天在追查根本不存在的异常——不该报的乱报

控制图是用来判断过程稳不稳定的,判断产品合不合格用的是规格限和过程能力指数。两件事,两张图,不要混。

图型选择

先看数据类型,再看子组大小

选错图型,后面的控制限和判异全都不成立。

数据类型条件用哪种图说明
计量型子组大小 = 1I-MR 单值与移动极差图单件流、破坏性试验、低频检验用它。移动极差取相邻两点之差的绝对值
计量型子组大小 2 至 9X̄-R 均值与极差图最常用的一种。极差计算简单,现场手工也能算
计量型子组大小 ≥ 10X̄-S 均值与标准差图子组大时用标准差比极差更稳健,极差只用到最大最小两个点
计数型不合格品数,子组大小固定np 图每次检验数量都一样时用它,纵轴直接是件数
计数型不合格品率,子组大小不固定p 图每批数量不同时用它,控制限会随子组大小逐点变化
计数型缺陷数,检验单位固定c 图一件产品上可能有多个缺陷时用这一类,而不是不合格品图
计数型单位缺陷数,检验单位不固定u 图如每平方米疵点数、每千件缺陷数

一个常被忽略的区分:「不合格品」是按件判定合格与否,「缺陷」是数一件上有几处问题。一块板子上有三个焊点不良,按不合格品算是 1 件,按缺陷算是 3 个。两者用的图不同,不能混用。

控制限公式

常用图型的控制限怎么算

X̄-R 图 均值图 CL = X̄ UCL = X̄ + A2 × R̄ LCL = X̄ − A2 × R̄
极差图 CL = R̄ UCL = D4 × R̄ LCL = D3 × R̄ X̄ 为各子组均值的总平均,R̄ 为各子组极差的平均。A2、D3、D4 只与子组大小有关,见下表。子组大小小于 7 时 D3 为 0,即极差图没有下控制限。
I-MR 图(子组大小为 1) 单值图 CL = X̄ UCL = X̄ + 2.66 × MR̄ LCL = X̄ − 2.66 × MR̄
移动极差 CL = MR̄ UCL = 3.267 × MR̄ LCL = 0 MR̄ 为移动极差的平均值。2.66 与 3.267 是移动极差长度为 2 时的固定系数。
X̄-S 图(子组大小 ≥ 10) 均值图 CL = X̄ UCL = X̄ + A3 × S̄ LCL = X̄ − A3 × S̄
标准差图 CL = S̄ UCL = B4 × S̄ LCL = B3 × S̄ S̄ 为各子组标准差的平均值。A3、B3、B4 同样按子组大小查标准表取值,数值可在任何统计过程控制手册中找到,各家取值一致。
p 图(不合格品率,子组大小可变) CL = p̄ UCL = p̄ + 3 × √( p̄(1−p̄) / nᵢ ) LCL = p̄ − 3 × √( p̄(1−p̄) / nᵢ ) p̄ 为总体不合格品率,nᵢ 为第 i 个子组的检验数量。因为 nᵢ 逐组变化,p 图的控制限是阶梯状的,不是直线。LCL 算出为负数时取 0。
常数表

A2、D3、D4 常数

X̄-R 图专用,按子组大小 n 取值。同样建议做成小表接进流程按 n 关联。

子组大小 nA2D3D4
21.88003.267
31.02302.574
40.72902.282
50.57702.114
60.48302.004
70.4190.0761.924
80.3730.1361.864
90.3370.1841.816
100.3080.2231.777

这些是统计过程控制的标准表值,与上一章的 d2、c4 出自同一套体系。如果你的结果和别的软件对不上,先查子组是怎么分的,再查用的是哪一版公式,基本不会是常数的问题。

判异规则

八条判异准则,以及为什么不要全开

把控制限之间的区域按 1σ 分成六个带,规则就是在描述点落在这些带里的模式。

1

1 点落在控制限之外建议开启

超出 3σ。最直接的异常信号,几乎所有场合都应该启用。

2

连续 9 点落在中心线同一侧建议开启

提示过程均值发生了持续偏移,虽然还没超限,但中心已经移动。

3

连续 6 点持续上升或持续下降建议开启

典型的趋势信号,常见于刀具磨损、模具损耗、溶液浓度衰减。

4

连续 14 点上下交替按需

规律性的锯齿,常见原因是两台设备或两个操作工轮流作业、或子组划分方式有问题。

5

连续 3 点中有 2 点落在同侧 2σ 以外按需

比规则 1 更灵敏,能更早发现偏移,但误报率也更高。

6

连续 5 点中有 4 点落在同侧 1σ 以外按需

中等程度偏移的信号,灵敏度介于规则 2 和规则 5 之间。

7

连续 15 点都在中心线两侧 1σ 以内按需

看起来「太好了」反而是异常。常见原因是数据被修饰、子组分层不当,或控制限本身算宽了。

8

连续 8 点在中心线两侧且无一点落在 1σ 以内按需

双峰分布的特征,提示数据里混了两个不同的过程,应当分层重画。

为什么不建议八条全开。每一条规则在过程完全正常时都有一定的误报概率。单独用规则 1,平均每 370 个点会有一次误报;八条同时启用,误报间隔会缩短到几十个点。

后果是现场每周都在追查不存在的异常,几次之后就没人再当回事了——控制图挂在墙上,但没有人相信它。先开 1、2、3 三条,运行一段时间看误报频率,再按需增加。规则 7 和规则 8 更适合作为定期复盘的诊断工具,而不是实时告警。

落地做法

在数据平台里怎么把控制图搭出来

没有现成的控制图节点,但用基础节点组合完全可以实现,关键在第三步的做法。

01

按子组聚合并排序

沿用第 1 章的口径流程,按子组标识聚合出各组的均值、极差或标准差,并按时间顺序排列。控制图的横轴是时间或序号,顺序错了图就没意义。

用到:分组聚合 · 排序 · 公式节点(极差)
02

关联常数表,算出三条线

按子组大小关联 A2/D3/D4,再做一次全局聚合得到 X̄ 与 R̄,用公式节点算出 UCL、CL、LCL 三个值。

用到:表格读取(常数表) · 关联 · 分组聚合(全局) · 公式节点
03

把三条线作为常量列附加到数据上

这是关键的一步,也是很多人卡住的地方。不需要图表工具支持「参考线」功能——把 UCL、CL、LCL 分别加成三个新列,每一行都填同一个值,然后把这四列(测量值加三条线)一起画成多系列折线图。那三列因为取值恒定,自然呈现为三条水平直线。

这个做法在任何能画多系列折线图的工具里都成立,而且有额外好处:控制限跟着数据走,导出成表格时三条线的值也一并带着,便于交接和复核。

用到:常量列追加 · 折线图(多系列)
附加后的数据表长这样
子组均值UCLCLLCL
第 1 组10.2410.6110.189.75
第 2 组10.0910.6110.189.75
第 3 组10.6710.6110.189.75
第 4 组10.3110.6110.189.75

注意 p 图是例外:它的控制限随子组大小逐点变化,所以那三列不是常量,而是按每行的 nᵢ 分别算出来的。画出来会是阶梯线而不是直线,这是正确的。

04

用滞后列实现判异规则

规则 1 最简单,一个条件判断就够。规则 2 和规则 3 需要看前后若干个点,做法是先生成滞后列——把前 1 点、前 2 点一直到前 8 点的值各取成一列,然后用规则节点写判断条件。

例如规则 2「连续 9 点同侧」,就是判断当前点与前 8 个点是否全部大于中心线,或全部小于中心线。规则 3「连续 6 点上升」,则是判断相邻差值是否连续 5 次为正。

用到:滞后列生成 · 规则引擎 · 公式节点(差值)
05

输出违规点清单,而不只是一张图

图是给人看的,清单是给人跟进的。把触发了判异规则的点单独筛出来,带上时间、子组、触发了哪条规则,输出成表格或直接发邮件。这样质量工程师拿到的是一份待办,而不是一张要自己找问题的图。

用到:行过滤 · 列筛选 · 表格输出 · 邮件发送
06

封装成组件

把上面整段封装起来,对外暴露测量值列、子组列、图型选择和启用哪几条规则。之后换产品、换产线直接复用,口径由一处维护。

用到:组件封装 · 组件参数配置
最容易搞错的运维问题

控制限不是每次都重算的

  • 控制限应在过程受控期间确定,然后冻结。用一段确认稳定的历史数据算出 UCL、CL、LCL,之后新数据进来只做判断,不重新参与计算。
  • 每次拿全部数据重算是常见错误。如果过程慢慢变坏,控制限会跟着一起变宽,永远不会报警——图表看起来一直正常,实际上过程已经退化了。这是自动化脚本最容易写错的地方。
  • 什么时候该重新计算:工艺发生了有意的变更、设备大修或更换、更换了供应商或原料规格、以及改善项目完成后确认新的稳定状态。这几种情况下要重新取一段数据、重新确定控制限,并在图上标注切换时点。
  • 重算时要说明依据。把重算的原因、取数区间、新旧控制限一并记录在流程注释里。半年后有人问「为什么三月份控制限变了」,要答得上来。
  • 初次建立控制限至少要 25 个子组。数据太少算出的控制限本身就不稳,后续判异会频繁误报。
常见错误

四个让控制图失效的做法

把规格限画成控制限

本章开头讲的那条。除此之外还有一种变体:规格限和控制限都画,但没有区分颜色和标注,现场分不清哪条是哪条,效果和只画规格限一样糟。

数据来源混了不同过程

两台设备的产品画在同一张图上,均值不同会让图看起来变异很大,而且判异规则 8 会频繁触发。正确做法是分层,一台设备一张图。

对自相关数据用常规控制图

连续生产的化工、冶金过程,相邻时间点的测量值天然高度相关。常规控制图假设数据点独立,用在这类过程上会大量误报。这类场景需要专门的方法,不在本章范围内。

图有人画,异常没人管

最普遍也最致命的一种。控制图的价值在于触发响应,如果触发之后没有既定的处理流程和责任人,那它只是一张定期打印的纸。第 5 步输出违规点清单,就是为了解决这一点。

先去看一眼现场那几张控制图

不用等做新系统。拿本章第一节的标准去核对现有的控制图:那两条线是从数据算出来的,还是直接抄的规格限。这一条核对完,往往就能解释为什么图挂了很久却从没报出过问题。

iModel 专属客服
在线留言或电话联系
在线留言

留下您的问题和联系方式,我们会在一个工作日内回复。

手机与邮箱至少填一项

4008568196 拨打此号码联系我们

微信扫码咨询

iModel 微信咨询二维码

使用微信扫描上方二维码