那三个厂区,A 厂用德国某品牌的 SPC 系统,B 厂用国产 MES 自带模块,C 厂最惨——还在用 Excel 模板加宏。
总部要的东西很朴素:同一个齿轮轴外径特性,三个厂的月度 Cpk 放一张图上比。听着简单,做起来全是坑:
A 厂导出的字段叫 `PartNo`,B 厂叫 `零件编号`,C 厂表头是"图号";A 厂时间戳是 `2025-03-14T09:20:15`,B 厂是 `2025/3/14 9:20`,C 厂那一列干脆是空的;更要命的是子组归属——A 厂导出时把子组编号带出来了,B 厂拍平成一行一个测量值,子组信息彻底丢失。
IT 部门写了三套映射脚本,每换一个特性就得改一次。半年后放弃,改人工。
我去的时候提了一句:ISO/TR 11462-5 里有现成的东西,叫 Q-DATE(Quality Data Exchange Format,质量数据交换格式)。它不是某家厂商的私货,是标准里定义的一套 K 字段词汇表。A 软件导出的,B 软件能直接读。
技术总监听完第一反应是:"这玩意儿早说啊。"
Q-DATE 把质量数据拆成三类文件,各管一摊:
| 扩展名 | 类型 | 装什么 | 典型字段 |
|---|---|---|---|
| \*.DFD | 描述文件 Descriptive | 零件、设备、特性等静态描述信息 | K1001 零件号、K2002 特性名 |
| \*.DFX | 数值文件 Value | 实际的测量值数据 | K0001 测量值、K0004 日期时间、K0010 机床号 |
| \*.DFQ | 共享文件 Shared | 被多个文件共用的主数据 | 工厂、供方等 |
这个拆法很讲究。零件号、特性名、规格限这些东西一个月都不变,测量值一分钟来几十条。混在一个文件里,每条测量值后面都得跟一遍零件描述,文件体积翻十倍不止。分开之后,DFD 存一份,DFX 只管流水,DFQ 放大家共用的工厂/供方主数据,冗余降下来了,接口也清爽。
K 字段的编号不是随便编的,四个号段各有分工:
| 号段 | 内容 | 例子 |
|---|---|---|
| K0xxx | 测量值相关 | K0001 测量值、K0004 日期时间、K0008 操作员、K0010 机床号 |
| K1xxx | 零件 / 设备 / 工厂 | K1001 零件号、K1002 零件名 |
| K2xxx | 特性 / 规格 / 量具 | K2001 特性号、K2002 特性名、K2100 目标值、K2110 下限、K2111 上限 |
| K3xxx | 结构数据 | 层级、分组等 |
字段类型也有约定:A = 字符型,F = 浮点,I = 整数,D = 日期时间,S = 短整数。
记住这四个号段,看到一段陌生的 Q-DATE,大致就能猜出每行在说什么。K2110 / K2111 一看就是规格上下限,K0004 一看就是时间戳。

数据孤岛的本质不是"没有导出功能",是语义不对齐。每家厂商都有导出,但字段名各叫各的,含义边界还不一样——A 厂的"测量时间"是采集时间,B 厂的是上传时间,差几个小时。
Q-DATE 的做法是把词汇表固定死:K0004 就是日期时间,谁也别改。这就跟集装箱标准化一个道理,箱子尺寸统一了,船、吊、车才能通用。
它落地的还是 ISO 11462-1 里那两条要素——过程数据记录和收集、员工培训和参与流程数据。数据能被机器读,这两条才算真做到位。
再往下说一句实在的:11462-3 和 11462-4 保证软件"算得对",11462-5 保证软件之间"读得通"。三份加起来,才是完整的 SPC 软件质量。
咱不空谈格式,直接拿一段真实的 Q-DATE 数据走一遍完整流程——解析、还原、算能力。
第 1 步:拿到 DFD 描述段
``` K1001 GJ-2207 K1002 变速箱齿轮轴 K2001 3 K2002 外径 φ25 K2100 25.000 K2110 24.980 K2111 25.020 ```
读出来的信息:零件号 GJ-2207,零件名变速箱齿轮轴,第 3 个特性,名称"外径 φ25",目标值 25.000,下限 24.980,上限 25.020。公差带 T = 0.040 mm。
第 2 步:拿到 DFX 数值段(节选 10 条)
``` K0001 25.004 K0004 2025-03-14T09:20:15 K0008 王师傅 K0010 CNC-07 K0001 25.001 K0004 2025-03-14T09:26:02 K0008 王师傅 K0010 CNC-07 ... ```
第 3 步:解析成结构化表
解析规则很简单:逐行按第一个等号(或第一个空格分隔符)拆成键与值,忽略空行和不含分隔符的行。
| 序号 | K0001 测量值 (mm) | 与目标偏差 (µm) | K0010 机床 |
|---|---|---|---|
| 1 | 25.004 | +4 | CNC-07 |
| 2 | 25.001 | +1 | CNC-07 |
| 3 | 24.998 | −2 | CNC-07 |
| 4 | 25.006 | +6 | CNC-07 |
| 5 | 25.003 | +3 | CNC-07 |
| 6 | 24.997 | −3 | CNC-07 |
| 7 | 25.002 | +2 | CNC-07 |
| 8 | 25.005 | +5 | CNC-07 |
| 9 | 24.999 | −1 | CNC-07 |
| 10 | 25.001 | +1 | CNC-07 |
第 4 步:手算均值
偏差求和(µm):4 + 1 − 2 + 6 + 3 − 3 + 2 + 5 − 1 + 1 = 16 平均偏差 = 16 ÷ 10 = 1.6 µm 均值 x̄ = 25.000 + 0.0016 = 25.0016 mm
第 5 步,手算标准差
各点对均值的偏离(µm):2.4, −0.6, −3.6, 4.4, 1.4, −4.6, 0.4, 3.4, −2.6, −0.6 平方:5.76, 0.36, 12.96, 19.36, 1.96, 21.16, 0.16, 11.56, 6.76, 0.36 平方和 = 80.40 µm² s² = 80.40 ÷ (10 − 1) = 8.9333 µm² s = √8.9333 = 2.989 µm = 0.002989 mm
第 6 步,算 Pp / Ppk
注意这里是 10 个个体值、没有子组结构,用的是整体标准差,所以算出来的是性能指数 Pp/Ppk,不是能力指数 Cp/Cpk(这个坑咱在第 84 篇讲过)。
Pp = T / (6s) = 0.040 / (6 × 0.002989) = 0.040 / 0.017934 = 2.23 PpkU = (USL − x̄) / (3s) = (25.020 − 25.0016) / 0.008967 = 0.0184 / 0.008967 = 2.05 PpkL = (x̄ − LSL) / (3s) = (25.0016 − 24.980) / 0.008967 = 0.0216 / 0.008967 = 2.41 Ppk = min(2.05, 2.41) = 2.05
第 7 步,回填
算完的结果可以再按 Q-DATE 结构回写给总部系统。三个厂区都按这套字段出数据,总部那张趋势图,脚本一天就能写完——不用再改六个月。

Q-DATE 不难,难的是意识到"数据格式也是质量体系的一部分"。咱做质量的天天讲可追溯,可追溯的前提是数据能被下一个系统读懂。K1001、K2110、K0004 这几个号,值得贴在 IT 部门的墙上。
互动提问:你厂的 SPC 数据导出,有没有把"子组编号"和"量具编号"带出来?要是现在让你把去年某一天某台机床的原始子组还原出来,你办得到吗?
如需配套互动练习、培训课件或软件试用,可搜索「东方大易」或访问大易官网 www.eastdayi.com(苏州东方大易管理咨询有限公司,电话 0512-65561989)联系客服获取。