# SPC计数型报表 ## 1. 功能概述 SPC计数型报表属于 MES 系统的质量管理模块,用于对生产过程中的**离散型质量数据**(如不良品数量、缺陷数量)进行统计过程控制分析。与计量型报表不同,计数型报表关注的是产品是否合格、缺陷个数等可计数的质量特性,通过生成 DPMO、P 控制图、NP 控制图、C 控制图和 U 控制图等 SPC 控制图,帮助质量管理人员监控生产过程中不合格品率和缺陷率的变化趋势,及时发现质量异常。 **核心功能:** - 按工序单元、SPC项目、时间范围和批次号查询质量数据 - 自动从过程数据中提取缺陷类型并进行子组分组统计 - 生成五种计数型 SPC 控制图:DPMO、PChart、NPChart、CChart、UChart - 支持控制图上控制限自动计算、异常点高亮、图表滚动等交互功能 **功能对应截图**: ![图片:SPC计数型报表功能截图](/public/image/spc_attribute_charts/图片:SPC计数型报表功能截图.png) ## 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计数型报表查询条件截图](/public/image/spc_attribute_charts/图片:SPC计数型报表查询条件截图.png) **操作步骤:** 1. 进入【质量管理】→【SPC统计过程控制】→【SPC计数型报表】,在左侧导航中选择所需控制图类型(DPMO / PChart / NPChart / CChart / UChart) 2. 在【工序单元】下拉框中选择要监控的工序 3. 在【项目】下拉框中选择 SPC 配置项(项目列表会根据所选工序自动过滤) 4. 在【时间范围】选择器中设定查询的起止时间 5. (可选)在【批次号】输入框中输入批次号进行精准过滤 6. 点击【查询】按钮,系统将自动获取数据并生成对应的控制图 **【说明】** 点击【重置】按钮可清空所有查询条件,恢复默认状态。 ### 3.2 数据查询与图表生成 系统根据用户选择的查询条件,从 MES 数据采集库中提取对应工序的 SCADA 实时数据,按小时粒度对数据按子组进行分组,统计每个子组内各缺陷类型的发生次数,然后自动计算控制上下限并绘制控制图。 **数据查询流程说明:** ```mermaid 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 = 六西格玛水平) - 缺陷发生机会数不恒定的场景 **功能对应截图**: ![图片:DPMO控制图截图](/public/image/spc_attribute_charts/图片:DPMO控制图截图.png) ### 3.4 PChart(不良品率控制图) #### 3.4.1 PChart 说明 PChart(P 控制图,不良品率控制图)用于监控每个子组中不良品占总检验数量的比例。PChart 关注的是**不合格品在样本中所占的百分比**,子组大小可以不相同,控制限会随子组大小变化而调整,形成阶梯状的控制界限。 **适用场景:** - 子组容量不固定的情况(如每天检验的产品数量不同) - 需要监控生产过程中不良品率的变化趋势 - 每个产品只判定为合格或不合格(二分类结果) **功能对应截图**: ![图片:PChart控制图截图](/public/image/spc_attribute_charts/图片:PChart控制图截图.png) ### 3.5 NPChart(不良品数控制图) #### 3.5.1 NPChart 说明 NPChart(NP 控制图,不良品数控制图)用于监控每个子组中的不良品绝对数量。与 PChart 不同,NPChart 显示的是**不合格品的实际个数**,而非比例。NPChart 要求每个子组的样本容量必须相同,否则控制限将不再有效。 **适用场景:** - 子组容量固定的情况(如每批次固定检验 100 件产品) - 需要直观展示不良品数量的变化趋势 - 便于现场人员理解和使用(直接读取不良品数量) **功能对应截图**: ![图片:NPChart控制图截图](/public/image/spc_attribute_charts/图片:NPChart控制图截图.png) ### 3.6 CChart(缺陷数控制图) #### 3.6.1 CChart 说明 CChart(C 控制图,缺陷数控制图)用于监控每个子组中的总缺陷数量。CChart 关注的是一个产品上可能存在多个缺陷的情况(如一块面板上可能有多处划痕),因此 CChart 统计的是**缺陷总数**而非不良品数量。CChart 要求缺陷发生机会必须恒定(即所检查的区域/范围要保持一致)。 **适用场景:** - 固定面积或固定数量的产品检验(如每片玻璃、每张板材) - 一个产品可能存在多个不同类型缺陷 - 需要监控总体缺陷数量的变化趋势 **【注意事项】** - 缺陷发生机会必须保持恒定(如每次检查相同面积或相同数量的产品) - CChart 关注缺陷数而非不良品数,一个产品可能有多个缺陷 **功能对应截图**: ![图片:CChart控制图截图](/public/image/spc_attribute_charts/图片:CChart控制图截图.png) ### 3.7 UChart(单位缺陷数控制图) #### 3.7.1 UChart 说明 UChart(U 控制图,单位缺陷数控制图)用于监控每个单位产品上的平均缺陷数量。与 CChart 不同,UChart 适用于**缺陷发生机会不恒定**的场景(如每天检验的产品数量不同、面积不同),它将缺陷数按单位规模进行归一化处理,计算每个单位的平均缺陷数,控制限会随子组规模变化而调整。 **适用场景:** - 检验区域或产品数量不固定的场景(如每天检验的布料长度不同) - 需要比较不同规模的检验批次之间的缺陷水平 - 一个产品可能存在多个缺陷,且每次检验的产品数量可能不同 **功能对应截图**: ![图片:UChart控制图截图](/public/image/spc_attribute_charts/图片:UChart控制图截图.png) ## 4. 控制图交互功能说明 所有五种计数型控制图均提供以下通用交互功能: | 功能 | 说明 | |------|------| | 控制上下限自动计算 | 系统基于采集到的子组数据自动计算控制上限(UCL)和控制下限(LCL) | | 异常点高亮 | 超出控制限的数据点以高亮标记突出显示,便于快速识别异常 | | 滚动条 | 当子组数量较多时,支持水平滚动查看完整的控制图数据 | | 计算值显示 | 图表中显示每个子组的统计计算值(如不良品率、缺陷数等) | | 报警状态显示 | 图表中标注各子组的报警状态信息 | | 图表控制开关 | 支持开启/关闭控制图的各类辅助显示选项 | **【说明】** 控制图基于业界标准的 QC SPC 控制图算法库生成,控制限计算遵循统计过程控制的标准公式,确保分析结果的准确性和权威性。 ## 5. 注意事项 1. **SPC渲染条件前置配置**:使用 SPC 计数型报表前,需要先在【SPC渲染条件配置】中完成对应工序单元和数据节点的 SPC 配置,否则在"项目"下拉框中将无法选择到对应的监控项目。 2. **数据源说明**:SPC 计数型报表的数据来源于 MES 系统中的 SCADA 实时采集数据,数据采集频率和子组间隔由 SPC 渲染条件配置中的参数决定。数据存储于系统的数据采集表中,前端通过 EdgeManager 服务接口获取加工后的子组统计数据。 3. **子组容量要求**:NPChart 要求每个子组的样本容量必须相同,若实际数据中子组容量不一致,可能导致控制限计算不准确。建议在 SPC 渲染条件配置中统一设置子组采样参数。 4. **缺陷类型统计**:缺陷类型(NG 代码)来源于生产过程中设备或人工记录的不良分类信息。系统以 NG 代码作为缺陷类型的唯一标识进行分组统计,请确保 NG 编码体系的规范性。 5. **时间粒度**:系统按小时粒度对数据进行子组分组。子组间隔(subgroup sampling interval)配置决定了相邻子组之间的时间跨度,如果配置为 2 小时,则每 2 小时的采集数据会合并为一个子组。