13 KiB
SPC计数型报表
1. 功能概述
SPC计数型报表属于 MES 系统的质量管理模块,用于对生产过程中的离散型质量数据(如不良品数量、缺陷数量)进行统计过程控制分析。与计量型报表不同,计数型报表关注的是产品是否合格、缺陷个数等可计数的质量特性,通过生成 DPMO、P 控制图、NP 控制图、C 控制图和 U 控制图等 SPC 控制图,帮助质量管理人员监控生产过程中不合格品率和缺陷率的变化趋势,及时发现质量异常。
核心功能:
- 按工序单元、SPC项目、时间范围和批次号查询质量数据
- 自动从过程数据中提取缺陷类型并进行子组分组统计
- 生成五种计数型 SPC 控制图:DPMO、PChart、NPChart、CChart、UChart
- 支持控制图上控制限自动计算、异常点高亮、图表滚动等交互功能
2. 术语说明
| 术语 | 定义 | 说明 |
|---|---|---|
| SPC计数型报表 | SPC Attribute Charts,SPC 属性控制图 | 针对计数型质量特性(如不良品数量、缺陷数量)的统计过程控制报表 |
| DPMO | Defects Per Million Opportunities,每百万机会缺陷数 | 衡量每百万个出错机会中实际发生的缺陷数,是评价过程质量水平的综合性指标 |
| PChart | P Chart,不良品率控制图 | 监控每个子组中不良品占总检验数量的比例(百分率),子组大小可以变化 |
| NPChart | NP Chart,不良品数控制图 | 监控每个子组中的不良品数量,要求每个子组的容量相等 |
| CChart | C Chart,缺陷数控制图 | 监控每个子组中的总缺陷数量,适用于缺陷发生机会恒定的场景 |
| UChart | U Chart,单位缺陷数控制图 | 监控每个单位产品上的平均缺陷数量,适用于缺陷发生机会不恒定的场景 |
| 子组 | Subgroup | SPC 分析中,在相近时间条件下采集的一组样本数据 |
| 缺陷类型 | Defect Types | 过程中出现的不同缺陷的分类,如划痕、变形、气泡等,每种类型对应一个具体的 NG 代码 |
| 工序单元 | Working Subclass | 生产过程中的标准化作业单元,是 SPC 监控的最小粒度 |
| SPC渲染条件 | SPC Render Configuration | 定义 SPC 报表数据来源、子组采样参数和控制限的配置项 |
五种计数型控制图对比说明:
| 控制图 | 数据类型 | 适用场景 | 子组容量要求 |
|---|---|---|---|
| DPMO | 缺陷数/机会数 | 衡量整体质量水平,可用于不同产品/工序间的质量对比 | 需明确出错机会数 |
| PChart | 不良品率(小数/百分比) | 监控生产过程中不良品所占比例 | 子组大小可不同 |
| NPChart | 不良品数(整数) | 监控每个子组中不良品的绝对数量 | 子组容量必须相同 |
| CChart | 缺陷数(整数) | 监控固定区域的缺陷总数 | 缺陷机会必须恒定 |
| UChart | 单位缺陷数(小数) | 监控单位产品上的平均缺陷数 | 子组大小可不同 |
3. SPC计数型报表交互流程
3.1 通用查询条件说明
所有五种计数型控制图共用相同的查询条件界面,用户通过以下条件筛选数据后,系统自动按对应的控制图类型生成图表。
操作路径: 进入【质量管理】→【SPC统计过程控制】→【SPC计数型报表】,选择对应的控制图类型。
查询条件字段说明:
| 字段 | 说明 | 必填 |
|---|---|---|
| 工序单元 | 选择需要查看的生产工序单元,下拉列表来源于系统配置的所有工序 | 是 |
| 项目 | 选择 SPC 监控的具体项目(数据节点),选项随工序单元联动过滤 | 是 |
| 时间范围 | 查询数据的起止时间,默认为当前时间前溯 24 小时 | 是 |
| 批次号 | 按生产批次过滤数据,不填写则查询所有批次 | 否 |
功能对应截图:
操作步骤:
- 进入【质量管理】→【SPC统计过程控制】→【SPC计数型报表】,在左侧导航中选择所需控制图类型(DPMO / PChart / NPChart / CChart / UChart)
- 在【工序单元】下拉框中选择要监控的工序
- 在【项目】下拉框中选择 SPC 配置项(项目列表会根据所选工序自动过滤)
- 在【时间范围】选择器中设定查询的起止时间
- (可选)在【批次号】输入框中输入批次号进行精准过滤
- 点击【查询】按钮,系统将自动获取数据并生成对应的控制图
【说明】 点击【重置】按钮可清空所有查询条件,恢复默认状态。
3.2 数据查询与图表生成
系统根据用户选择的查询条件,从 MES 数据采集库中提取对应工序的 SCADA 实时数据,按小时粒度对数据按子组进行分组,统计每个子组内各缺陷类型的发生次数,然后自动计算控制上下限并绘制控制图。
数据查询流程说明:
sequenceDiagram
participant 用户 as 用户
participant MES前端 as MES 前端
participant EdgeManager as EdgeManager 服务
participant 数据库 as SCADA 数据库
用户->>MES前端: 1. 选择工序单元、项目、时间范围、批次
用户->>MES前端: 2. 点击【查询】
MES前端->>EdgeManager: 3. 发送查询请求(含工序编码、项目编码、时间范围等)
EdgeManager->>数据库: 4. 查询 SCADA 实时数据表
数据库-->>EdgeManager: 5. 返回原始数据(采集值 + 采集时间)
EdgeManager->>EdgeManager: 6. 按小时分组分配子组 ID
EdgeManager->>EdgeManager: 7. 统计每个子组的缺陷类型及次数
EdgeManager-->>MES前端: 8. 返回子组统计数据
MES前端->>MES前端: 9. 渲染对应类型的 SPC 控制图
MES前端-->>用户: 10. 显示控制图及统计信息
流程说明:
| 步骤 | 执行者 | 操作 | 说明 |
|---|---|---|---|
| 1-2 | 用户 | 设置查询条件并提交 | 选择工序单元、项目、时间范围和批次 |
| 3 | MES 前端 | 发送查询请求 | 通过 EdgeManager 服务接口发送查询,查询参数包含:action(固定为 get_node_subgroup_sampling_type)、工序编码、项目编码、采样时间范围、批次号等信息 |
| 4 | EdgeManager | 查询数据库 | 动态拼装数据表名(格式:hf_mes_scada_data_capture_node_data_{工序编码}_{节点编码}),按时间范围查询原始采集数据 |
| 5 | 数据库 | 返回原始数据 | 返回采集值和对应的采集时间 |
| 6 | EdgeManager | 子组分组 | 按小时(HOUR)对所有原始数据使用 ROW_NUMBER 进行排序编号,为每个子组分配样本序号 |
| 7 | EdgeManager | 缺陷类型统计 | 统计每个子组中各缺陷类型(NG 代码)的出现次数,生成 defect_types 统计结果 |
| 8 | EdgeManager | 返回统计数据 | 返回包含子组编号、采样时间、缺陷类型统计的结构化数据 |
| 9 | MES 前端 | 渲染控制图 | 根据控制图类型(DPMO/PChart/NPChart/CChart/UChart)选择对应的渲染方式 |
| 10 | 用户 | 查看控制图 | 显示完整的控制图,包括数据点、控制上下限、异常高亮等 |
3.3 DPMO(每百万机会缺陷数)
3.3.1 DPMO 说明
DPMO(Defects Per Million Opportunities)是衡量过程质量水平的综合性指标,表示每百万个出错机会中实际发生的缺陷数。DPMO 值越低,说明过程质量水平越高。DPMO 控制图通过监控各子组的 DPMO 值变化趋势,帮助质量管理人员判断过程是否处于稳定受控状态。
适用场景:
- 需要衡量和对比不同产品、不同工序之间的质量水平
- 需要将质量指标与六西格玛水平进行对标(如 3.4 DPMO = 六西格玛水平)
- 缺陷发生机会数不恒定的场景
3.4 PChart(不良品率控制图)
3.4.1 PChart 说明
PChart(P 控制图,不良品率控制图)用于监控每个子组中不良品占总检验数量的比例。PChart 关注的是不合格品在样本中所占的百分比,子组大小可以不相同,控制限会随子组大小变化而调整,形成阶梯状的控制界限。
适用场景:
- 子组容量不固定的情况(如每天检验的产品数量不同)
- 需要监控生产过程中不良品率的变化趋势
- 每个产品只判定为合格或不合格(二分类结果)
3.5 NPChart(不良品数控制图)
3.5.1 NPChart 说明
NPChart(NP 控制图,不良品数控制图)用于监控每个子组中的不良品绝对数量。与 PChart 不同,NPChart 显示的是不合格品的实际个数,而非比例。NPChart 要求每个子组的样本容量必须相同,否则控制限将不再有效。
适用场景:
- 子组容量固定的情况(如每批次固定检验 100 件产品)
- 需要直观展示不良品数量的变化趋势
- 便于现场人员理解和使用(直接读取不良品数量)
3.6 CChart(缺陷数控制图)
3.6.1 CChart 说明
CChart(C 控制图,缺陷数控制图)用于监控每个子组中的总缺陷数量。CChart 关注的是一个产品上可能存在多个缺陷的情况(如一块面板上可能有多处划痕),因此 CChart 统计的是缺陷总数而非不良品数量。CChart 要求缺陷发生机会必须恒定(即所检查的区域/范围要保持一致)。
适用场景:
- 固定面积或固定数量的产品检验(如每片玻璃、每张板材)
- 一个产品可能存在多个不同类型缺陷
- 需要监控总体缺陷数量的变化趋势
【注意事项】
- 缺陷发生机会必须保持恒定(如每次检查相同面积或相同数量的产品)
- CChart 关注缺陷数而非不良品数,一个产品可能有多个缺陷
3.7 UChart(单位缺陷数控制图)
3.7.1 UChart 说明
UChart(U 控制图,单位缺陷数控制图)用于监控每个单位产品上的平均缺陷数量。与 CChart 不同,UChart 适用于缺陷发生机会不恒定的场景(如每天检验的产品数量不同、面积不同),它将缺陷数按单位规模进行归一化处理,计算每个单位的平均缺陷数,控制限会随子组规模变化而调整。
适用场景:
- 检验区域或产品数量不固定的场景(如每天检验的布料长度不同)
- 需要比较不同规模的检验批次之间的缺陷水平
- 一个产品可能存在多个缺陷,且每次检验的产品数量可能不同
4. 控制图交互功能说明
所有五种计数型控制图均提供以下通用交互功能:
| 功能 | 说明 |
|---|---|
| 控制上下限自动计算 | 系统基于采集到的子组数据自动计算控制上限(UCL)和控制下限(LCL) |
| 异常点高亮 | 超出控制限的数据点以高亮标记突出显示,便于快速识别异常 |
| 滚动条 | 当子组数量较多时,支持水平滚动查看完整的控制图数据 |
| 计算值显示 | 图表中显示每个子组的统计计算值(如不良品率、缺陷数等) |
| 报警状态显示 | 图表中标注各子组的报警状态信息 |
| 图表控制开关 | 支持开启/关闭控制图的各类辅助显示选项 |
【说明】 控制图基于业界标准的 QC SPC 控制图算法库生成,控制限计算遵循统计过程控制的标准公式,确保分析结果的准确性和权威性。
5. 注意事项
-
SPC渲染条件前置配置:使用 SPC 计数型报表前,需要先在【SPC渲染条件配置】中完成对应工序单元和数据节点的 SPC 配置,否则在"项目"下拉框中将无法选择到对应的监控项目。
-
数据源说明:SPC 计数型报表的数据来源于 MES 系统中的 SCADA 实时采集数据,数据采集频率和子组间隔由 SPC 渲染条件配置中的参数决定。数据存储于系统的数据采集表中,前端通过 EdgeManager 服务接口获取加工后的子组统计数据。
-
子组容量要求:NPChart 要求每个子组的样本容量必须相同,若实际数据中子组容量不一致,可能导致控制限计算不准确。建议在 SPC 渲染条件配置中统一设置子组采样参数。
-
缺陷类型统计:缺陷类型(NG 代码)来源于生产过程中设备或人工记录的不良分类信息。系统以 NG 代码作为缺陷类型的唯一标识进行分组统计,请确保 NG 编码体系的规范性。
-
时间粒度:系统按小时粒度对数据进行子组分组。子组间隔(subgroup sampling interval)配置决定了相邻子组之间的时间跨度,如果配置为 2 小时,则每 2 小时的采集数据会合并为一个子组。






