简介:航空航天质量管理标准SAE AS9138由国际航空航天质量集团发布,专门面向质量工程师、计划人员和审核员,规定统计产品验收要求,并整合替代了早期ARP9013系列文档。这份资源为完整英文原版PDF,共1个文件,文件类型为pdf,压缩包大小约2.71MB,便于存档、检索和打印,适合质量部门作为标准文本使用。标准内容突出消费者保护导向,对统计抽样计划、接受准则、风险管理、过程监控和持续改进给出了系统化要求,同时附带多套统计表格与工具,供实际计算和判定采用。2018版也同步更新了与9100/9110/9120质量体系相关术语,使语言和现有航空航天管理体系保持一致,便于企业直接引用或展开内部培训。已有252人浏览/学习,尤其适合正在实施AS9138或需要编写产品验收规范、供应商审核清单的质量团队,阅读后可以快速掌握条款重点和变更新点。
1. 一份 94 页的标准,凭什么决定你要抽多少件货
产线检验员拿着一批 2000 件的零件,问你要抽多少、允收多少,如果你还在凭经验说“抽 125 件吧”,那这和 AS9138 的统计产品验收要求就差了一步之遥。SAE AS9138 是航空航天质量管理体系里专门讲“统计产品验收(Statistical Product Acceptance,SPA)”的标准文件,它回答的问题很具体:当你不打算做 100% 检验时,抽多少样本、允许出现多少不合格品,才能让批次的接收判断有统计学依据。AS9100 的审核员在开不符合项时经常引用的就是这类要求。适合的读者是质量工程师、制造工程师、SQE 和体系审核员——你不需要先成为统计学家,但至少要看得懂 OC 曲线、AQL 和 α/β 风险这几个词的物理意义,才能把标准里的要求落到检验规程里。
2. AS9138 的定位:统计产品验收管什么,不管什么
2.1 从 AS9100 到 AS9138:SPA 是“放行依据”而不是“过程控制”
AS9100 系列标准要求在策划产品实现时确定“监视和测量活动”,并特别强调当统计技术用于验证过程能力或产品特性时,组织要建立并保持受控的程序。AS9138 就是专门针对“产品验收”这个环节提供统计方法的指导文件,它和应用在过程监控的 SPC(统计过程控制)是两套东西。SPC 盯的是过程随时间的变化,目的是预防;SPA 盯的是已经生产出来的这批货,目的是判断“能不能放行”。
这个区别如果不分清,很多企业会把控制图上的 Cpk 当作抽检的替代品,这是审核中常见的误区。过程能力指数再高,也只能说明这个过程在抽样时段内是稳定的,不能保证每一个未检验的单元都合格。AS9138 的逻辑是:如果你不打算全检,至少要保证抽样方案本身的判别力能够覆盖供需双方的风险。
2.2 产品验收方法的边界:全检、SPA 与过程能力验证的关系
在航空航天的供应链里,验收往往不是“要么全检、要么抽检”这么简单。首件检验(FAI)解决的是“首批产品是否按正确的方法制造出来的”,它和批次抽样解决的不是同一个问题。AS9138 规范的是“批次/批量产品的统计验收”,它不替代首件检验,也不替代设计验证或破坏性试验的试验大纲。
以下矩阵是常见的验收方法选择逻辑:
| 验收方法 | 解决的问题 | 典型适用场景 | 与 AS9138 的关系 |
|---|---|---|---|
| 100% 检验 | 每个单元都满足接收准则 | 高风险特性、关键安全件、数量极少的批次 | 不涉及抽样,不需引用 SPA |
| 计数抽样验收 | 批次不合格品率低于某个界限 | 大批量、缺陷相互独立、检验成本敏感 | 标准明确要求的关键方法 |
| 计量抽样验收 | 用样本均值/标准差推断批次均值 | 特性呈正态分布且可测 | 标准允许但对前提条件有要求 |
| SPC/过程能力验证 | 确认过程持续受控 | 批量大、自动化程度高 | 不能作为批次放行的唯一依据 |
AS9138 的价值在于把“用一批产品的不合格品数量来判断整批是否可接收”这个行为标准化,并要求方案设计时先明确接收质量限(AQL)和风险承受水平。如果你所在的组织采取的是“抽 5 件若全好就放行”的做法,那很遗憾,这就不是统计产品验收,而是一种没有判别力的惯例——它没有定义误判风险,也没有规定批量与样本量的关系,出了问题没有追溯依据。
3. 抽样方案设计前必须算清的三类风险:α、β 和 OC 曲线
3.1 为什么 AQL 不等于“允许的不良率”
AS9138 引用的核心概念是接收质量限(AQL,Acceptance Quality Limit)。很多人把 AQL 误解为“这批次允许有这么多不良品”,这是概念上的硬伤。AQL 是供需双方约定的一种过程平均质量水平:当过程平均不合格品率等于或优于 AQL 时,抽样方案会以较高概率接收该批。换句话说,AQL 是“好的批次被接收的基准”,不是“可以放行的不良率”。
与 AQL 相对的是极限质量(LQ 或 LTPD),它表示使用方不愿意接收的更差质量水平。任何一个计数抽样方案,都由样本量 n、接收数 Ac(Receipt number,拒收数 Re=Ac+1)决定。方案设计的基本矛盾是:n 越大,方案区分好坏批的能力越强,但检验成本越高;Ac 越低,对不良越严苛,但生产方风险越高。
3.2 用 Python 把 OC 曲线画出来,再决定调 n 还是调 Ac
抽样方案的特性可以用操作特性曲线(OC 曲线,Operating Characteristic Curve)来完整描述。横轴是假设的批次不合格品率 p,纵轴是该方案接收该批的概率 Pa。一个理想的方案,应该在 p 小于 AQL 时 Pa=1,在 p 超过 LQ 时 Pa=0,但现实中的曲线是一条平滑的 S 形曲线。
下面这段代码可以快速生成一个方案的 OC 曲线,并标出你在意的 AQL 点:
import numpy as np from scipy.stats import binom import matplotlib.pyplot as plt def oc_curve(n, c, p_grid=None): """ 计算并绘制计数抽样方案的 OC 曲线。 参数: n: 样本量 c: 接收数(样本中不合格品数 <= c 时接收该批) p_grid: 需要计算的点,默认根据 n 自动生成 """ if p_grid is None: p_grid = np.linspace(0, 0.15, 300) # 假设批量足够大,二项分布近似有效; # 若 n/N > 0.1 则更建议用超几何分布。 pa = [binom.cdf(c, n, p) for p in p_grid] return p_grid, np.array(pa) def plot_oc(ax, n, c, aql, rql): p, pa = oc_curve(n, c) ax.plot(p, pa, label=f"n={n}, Ac={c}") ax.axvline(aql, color="green", linestyle="--", label=f"AQL={aql}") ax.axvline(rql, color="red", linestyle="--", label=f"LQ={rql}") ax.axhline(0.95, color="green", linestyle=":", alpha=0.5) ax.axhline(0.10, color="red", linestyle=":", alpha=0.5) ax.set_xlabel("不合格品率 p") ax.set_ylabel("接收概率 Pa") ax.legend() if __name__ == "__main__": fig, ax = plt.subplots(figsize=(8, 5)) # 示例:批量很大时 n=125, Ac=2 的方案 plot_oc(ax, n=125, c=2, aql=0.65/100, rql=3.0/100) plt.title("OC Curve for n=125, Ac=2") plt.grid(alpha=0.3) plt.tight_layout() plt.savefig("oc_curve_test.png", dpi=150)代码里的binom.cdf(c, n, p)计算的是在 n 次独立试验中,不合格品数不超过 c 的累积概率,也就是接收概率。aql=0.65/100和rql=3.0/100只是示例,你可以替换成自己约定的接收质量限和极限质量。参数调整的规律值得记住:固定 Ac 增大 n,曲线会变陡,方案判别力增强;固定 n 增大 Ac,曲线右移,方案变宽松,生产方风险下降,使用方风险上升。设计方案时,我一般会先根据检验成本定一个 n 的上限,再用 OC 曲线反查这个 n 是否能同时满足双方对 AQL 和 LQ 的风险要求。
3.3 航空航天为什么倾向 Ac=0 的零缺陷方案
在 AS9138 的语境下,很多关键特性会选择 Ac=0 的抽样方案。这背后的逻辑不是“不允许任何缺陷存在”的口号,而是当样本量小、批量大、缺陷不可能绝对为零时,Ac=0 的方案对不良品的敏感度更高。举个例子,同样是 n=50,Ac=0 的方案在批次不良率 2% 时的接收概率约为 0.36,而 Ac=1 的方案接收概率约为 0.74。对于后续装配成本极高、返工涉及适航问题的零件,多发现一次批次性不良远比承担误判风险更有价值。
但这并不意味着所有物料都该用 C=0 计划。对于低风险、稳定供应的标准件,Ac=0 会让生产方风险显著上升,供应商可能被迫频繁挑选,反而破坏了供应链的稳定性。标准的要求是方案要和被检特性的风险等级匹配,而不是一刀切。
4. 把 AS9138 落到检验规程:AQL、检验水平与转移规则
4.1 五个必填参数:批量、检验水平、AQL、n、Ac 的确定流程
在大多数企业里,统计产品验收的实施载体是《进货检验规程》或《产品最终检验规程》。一个可执行的抽样方案,必须按下面的顺序来确定,任何一步跳过都会导致方案不完整。
| 步骤 | 要确定的参数 | 常见做法 | 注意事项 |
|---|---|---|---|
| 1 | 批量 N | 按生产批或交付批定义 | 仓库临时拼批会让方案失效 |
| 2 | 检验水平 | 一般检验水平 II 或特殊水平 S-2/S-3 | 破坏性检验或成本高用特殊水平 |
| 3 | AQL 值 | 按特性风险和客户要求定 | AQL 只适用于连续批,孤立批要单独评估 |
| 4 | 样本量字母 | 由 N 与检验水平查 ANSI/ASQ Z1.4 表 | 与 ISO 2859-1 通用 |
| 5 | n 与 Ac | 由样本量字母和 AQL 交叉查表得出 | 记录方案版本,避免换版混淆 |
以一个实际例子来说明:某液压阀体批次数量为 2000 件,关键尺寸的特性要求 AQL=0.65%,选择一般检验水平 II。在 ASQ Z1.4 中,2000 件落在“1201~3200”的批量范围,对应样本量字母 K,正常检验的样本量 n=125。AQL=0.65% 与字母 K 交叉,接收数 Ac=2,拒收数 Re=3。也就是说,从 125 件中查出 2 件以下不合格则整批接收,查出 3 件则整批拒收。
这里有个容易踩的坑:Ac=2 指的是“样本中的不合格品数”,而不是“批次中允许有 2 件不良”。批次里到底有多少不良,你是不知道的,抽样只是以一定的概率对这个未知量做出判断。很多质量工程师把这两个概念混在一起,向供应商解释拒收原因时就会出现逻辑漏洞。
4.2 用脚本自动产检方案,减少人为查表错误
查表本身不复杂,但在多品种小批量的航天供应链环境里,人工查表非常容易出错。常见做法是把抽样表的有效字段录入到系统中,用代码按批量范围和 AQL 直接返回方案。下面是一个简化的脚本示例,演示的数据结构只覆盖了部分批量区间,实际部署时应将 Z1.4 完整表录入:
# 简化的抽样方案查询示例,只覆盖一般检验水平 II,正常检验 # 正式实施时需按 ANSI/ASQ Z1.4-2019 的完整主表录入 SAMPLE_CODE_TABLE = { (2, 8): "A", (9, 15): "B", (16, 25): "C", (26, 50): "D", (51, 90): "E", (91, 150): "F", (151, 280): "G", (281, 500): "H", (501, 1200): "J", (1201, 3200): "K", } # 关键样本字母与 AQL=0.65% 的抽样方案示例(正常检验) PLAN_FOR_AQL = { "K": {"n": 125, "Ac": 2, "Re": 3}, } def get_sampling_plan(batch_size: int, aql: float = 0.65): """根据批量和 AQL 返回 (n, Ac, Re)。""" for (lo, hi), code in SAMPLE_CODE_TABLE.items(): if lo <= batch_size <= hi: if code in PLAN_FOR_AQL: plan = PLAN_FOR_AQL[code] return code, plan["n"], plan["Ac"], plan["Re"] else: return code, None, None, None raise ValueError("batch_size out of sample code range") if __name__ == "__main__": code, n, ac, re = get_sampling_plan(2000, aql=0.65) print(f"样本字母: {code}, n: {n}, Ac: {ac}, Re: {re}") if n is None: print("警告:当前 AQL 下该样本字母无直接方案,可能需要换页或加严检验")脚本中的SAMPLE_CODE_TABLE用批量范围映射到样本字母,PLAN_FOR_AQL保存了 AQL 对应的方案。在正式项目里,你需要把一般检验水平 II 的正常检验、加严检验、放宽检验的全部交叉项录入,并增加inspection_level参数。这样检验员在系统里输入批量和物料号,就可以直接得到 n、Ac、Re 三个值,而不是抱着一本 PDF 翻表。
4.3 转移规则:正常、加严、放宽的切换条件是审核重点
AS9138 相关的接受抽样体系还包含转移规则,这在审核中经常被忽略。转移规则的核心逻辑是:历史质量好的供应商可以放宽检验以降低检验成本,历史质量差的必须加严检验以保护使用方。
简化的转移规则如下:正常检验开始时,若连续 10 批(或按标准规定的批次数量)均被接收,且过程平均质量优于 AQL,可转移到放宽检验;加严检验开始后,若累计 5 批仍不合格,则停止接收检验,直到供应商采取纠正措施并重新验证。这里最容易被开不符合项的地方在于:企业制定了加严规则,但发现供应商质量波动时没有切换到加严方案,仍然按正常检验放行。AS9100 审核员在查阅检验记录时,会重点看“连续不合格批次”和“是否启动转移”之间的对应关系。
4.4 批次不合格的处置闭环:挑选与返工不能破坏原始数据
当批次被判拒收时,最常见的企业做法是 100% 挑选。这个动作本身是被允许的,但要在流程中留下两个记录:第一,原始抽样记录必须保留,不能因为挑选后全部合格就把最初的不合格信息抹掉;第二,挑选后重新提交检验时,一般应按加严检验执行,而不是再次使用正常检验。很多不良品批次在经过供应商挑选后,再次提交时又按正常方案抽一次,等于把第一次的拒收信息从统计意义上“清零”了。这个做法和 AS9138 的持续改进逻辑相悖——它忽略了一个基本事实:过程已经表现出超过 AQL 水平的波动,只是这次抽样又侥幸通过了。
5. 文件化与证据链:把 SPA 嵌入质量管理体系的四个关键文件
5.1 质量手册、程序文件、作业指导书、记录表各写什么
统计产品验收不是一句“我们按照 AS9138 执行”就完事了的,它必须转化为可审核的文件和记录。根据 AS9100 对成文信息的要求,SPA 相关的文件至少要覆盖四个层面,这里逐一说明:
第一层是质量手册中的简要声明,写明在采购产品验收和最终产品放行中使用统计抽样,并引用 AS9138 作为方法基础。第二层是程序文件《统计产品验收控制程序》,必须定义 AQL 的制定权限、检验水平的选择原则、转移规则的触发条件,以及批次不合格时的处置流程。第三层是作业指导书,要告诉检验员“怎么查表/调系统得到 n 和 Ac”“样本怎么抽取(随机性要求)”“出现边缘情况时找谁判定”。第四层是记录表单,包括抽样记录、拒收通知、复检记录、转移状态记录。
很多企业在第二层写得很薄,只写了“按 ANSI/ASQ Z1.4 执行”,却没说清楚 AQL 由谁定、多久评审一次、与客户要求冲突时以谁为准。AS9100 审核员在文件审查阶段就会对此提出质疑。
5.2 SPA 记录的实证要求:一组可追溯的数据
每个抽样记录至少应该包含以下字段:物料号与图号、供应商/内部生产批号、批量 N、当前检验水平与转移状态、样本量 n、AQL 值、接收数 Ac 与拒收数 Re、实际不合格品数、判定结果、检验员签名或系统账号、日期。建议用统一的 CSV 或数据库叶字段来管理这些数据,便于在客户审核时快速导出:
-- 抽样记录的推荐表结构与查询示例(SQLite/PostgreSQL 均可) CREATE TABLE sampling_records ( id INTEGER PRIMARY KEY, part_no TEXT NOT NULL, batch_id TEXT NOT NULL, lot_size INTEGER NOT NULL, inspection_level TEXT NOT NULL, sampling_code TEXT, sample_size INTEGER NOT NULL, aql NUMERIC NOT NULL, ac INTEGER NOT NULL, re INTEGER NOT NULL, defect_count INTEGER NOT NULL, verdict TEXT NOT NULL CHECK (verdict IN ('accept', 'reject')), inspection_date DATE NOT NULL ); -- 查询过去 6 个月内拒收次数超过 3 次的物料,用于触发加严检验 SELECT part_no, COUNT(*) AS reject_count FROM sampling_records WHERE verdict = 'reject' AND inspection_date >= date('now', '-6 months') GROUP BY part_no HAVING COUNT(*) >= 3 ORDER BY reject_count DESC;这段 SQL 展示了如何把抽样记录结构化,并自动识别需要加严的物料。verdict字段的 CHECK 约束可以避免录入歧义。实际项目中,我的习惯是在检验工序的扫码终端上直接录入这些字段,而不是事后录入 Excel,否则统计转移规则时往往缺数据。
第 5.3 节还要提醒一个边界:SPA 不能取消首件检验(FAI)。AS9102 规定首件检验的目的是确认生产过程能持续生成符合要求的产品,而 SPA 是对已生产批次的接收判断。两者的证据链都必须独立留存。审核时若发现企业用“供应商有进货抽检记录”来替代首件报告,这会是一个严重不符合项。
6. 三个进阶技巧:让 AS9138 从“写了文件”变成“用得上”
6.1 把 OC 曲线画到检验站看板上,让“抽多少”不再靠解释
方案设计完了,检验员常常不理解为什么 AQL=0.65% 时 125 件里允许 2 件不合格。把当批方案的 OC 曲线打印张贴在检验站,加上两个标记点:AQL 点(Pa≈95%)和 LQ 点(Pa≈10%)。检验员一眼就能明白:这个方案不是允许 2 件不良,而是“批次不良率 0.65% 时有 95% 概率被接 收,不良率 3% 时只有 10% 概率被接收”。这比训斥式的“照章执行”有效得多。
6.2 样品量超批量 10% 时改用超几何分布验证方案
当抽取样本量 n 与批量 N 的比值超过 0.1 时,二项分布近似的误差会明显变大,尤其在小批量、大样本的航天场景里经常遇到。此时建议用超几何分布重新计算接收概率,不要在 Excel 里硬套BINOM.DIST。Python 的scipy.stats.hypergeom可以直接给出精确值。方案是否成立应以超几何分布的计算结果为准。
6.3 审核前自我检查三连问
内部审核前,对照 AS9138 检查这三个问题:第一,是否所有未 100% 检验的物料/工序都有明确定义的 AQL 和检验水平,有没有“默认抽 5 件”的灰色地带;第二,转移规则是否自动执行,连续不合格批次是否触发了加严检验,有没有人为跳过;第三,抽样记录能否追溯到当时的方案版本,标准换版后表单是否同步更新。这三个问题覆盖了文件、执行、记录三层证据链,也是外部审核员最常切入的角度。把这三个问题变成你们的月度质量例会固定议题,SPA 就从“纸面程序”变成了持续改进的抓手。
本文还有配套的精品资源,点击获取