Files
WC-SPC/MES-Manager_View/docs/SPC智能预测预警技术文档.md
2026-05-28 13:45:16 +08:00

457 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SPC智能预测预警技术文档
## 1. 文档目标
本文档用于设计 `MES-Manager_View` 中 AI 助手的 SPC 智能预测预警功能。功能基于现有质量数据查询结果分析测量值趋势、Cp/Cpk 工序能力参数趋势,并在 AI 助手界面输出商业软件级别的预测预警结果。
本阶段只编写技术设计文档,不修改任何代码、不提交、不推送。
## 2. 功能目标
SPC 智能预测预警需要实现以下能力:
| 能力 | 说明 |
|---|---|
| 质量趋势预警 | 根据测量值随时间变化识别超限、接近规格限、连续漂移、波动变大等风险 |
| Cp/Cpk 能力预警 | 根据滚动窗口计算 Cp、Cpk判断工序能力是否下降 |
| 风险分级 | 输出正常、关注、预警、严重四级结果 |
| 图表展示 | 在 AI 助手中展示测量值趋势图、Cp/Cpk 趋势图、风险点 |
| 结果解释 | 说明触发规则、计算依据、样本范围、置信度 |
| 商业化输出 | 使用规范表格、清晰颜色、可追溯明细和建议措施 |
## 3. 数据来源约束
所有数据必须来自项目已有 HMI 查询能力,不允许直连数据库。
质量数据查询链路:
```text
AI助手
-> MCP Server
-> queryQualityData()
-> MESCommonBase.ashx
-> CreateData 参数结构
-> 质量数据_发动机质量数据_各个工位_视图_发动机型号_综合查询
```
禁止事项:
- 不直接连接 SQL Server。
- 不在 AI 服务中拼 SQL。
- 不新增数据库依赖。
- 不修改质量数据查询页面底层业务逻辑。
- 不绕过项目已有函数查询数据。
## 4. 推荐分析对象
预测预警应优先针对单一工序特性分析。
推荐查询粒度:
```text
工位号 + 测量位置 + 测量项目
```
示例:
```text
查询质量数据 工位号 OP10 测量位置 缸盖螺栓 测量项目 扭矩 做SPC智能预警
```
如果用户未提供完整条件:
| 缺失条件 | 处理方式 |
|---|---|
| 未提供工位号 | 允许分析,但提示可能混合多个工位 |
| 未提供测量位置 | 允许分析,但提示可能混合多个测量位置 |
| 未提供测量项目 | 允许分析,但提示可能混合多个测量项目 |
| 无任何条件 | 使用全时间范围最新数据分析,置信度标记为低 |
## 5. 输入参数设计
| 参数 | 来源 | 说明 |
|---|---|---|
| query | 用户原始问题 | 用于解析意图和筛选条件 |
| stationNumber | 自然语言解析 | 工位号 |
| testPosition | 自然语言解析 | 测量位置 |
| testItem | 自然语言解析 | 测量项目 |
| engineId | 自然语言解析 | 工件编号 |
| startTime | 自然语言解析 | 开始时间 |
| endTime | 自然语言解析 | 结束时间 |
| analysisSize | 系统默认 | 分析样本数,默认 150 |
| displaySize | 系统默认 | 展示样本数,默认 50 |
| windowSize | 系统默认 | Cp/Cpk 滚动窗口大小,默认 25 |
| windowStep | 系统默认 | 滚动窗口步长,默认 10 |
如果当前查询接口只能稳定返回 50 条,则第一版使用最新 50 条完成分析;后续可扩展分页获取更多分析样本,但 AI 界面仍只展示最新 50 条。
## 6. 数据字段映射
| 标准字段 | 兼容字段 | 用途 |
|---|---|---|
| 生产日期 | 操作时间、完成时间、时间 | 趋势排序、X轴 |
| 工位号 | 指南工位号、工位编号 | 工位识别 |
| 工位名称 | 工序名称、工位名称 | 展示 |
| 工件编号 | 发动机号、工件编号 | 明细追溯 |
| 测量位置 | 位置 | 测点识别 |
| 测量项目 | 测量内容、项目 | 特性识别 |
| 测量值 | 实际值、value、Value | 核心分析值 |
| 上限值 | USL、上限 | 规格上限 |
| 下限值 | LSL、下限 | 规格下限 |
| 理论值 | 目标值、中心值 | 目标中心线 |
| 合格标志 | 是否合格、合格 | 不合格识别 |
## 7. 预警等级设计
| 等级 | 分数范围 | 含义 | 建议颜色 |
|---|---:|---|---|
| 正常 | 0-19 | 数据稳定,未发现明显风险 | 绿色 |
| 关注 | 20-39 | 存在轻微趋势或接近边界 | 蓝色/黄色 |
| 预警 | 40-69 | 存在明显质量风险 | 橙色 |
| 严重 | 70-100 | 已超限或能力严重不足 | 红色 |
最终等级取所有命中规则中的最高风险等级,并结合累计风险分数输出。
## 8. 测量值趋势预警规则
| 规则 | 判断条件 | 风险等级 |
|---|---|---|
| 超规格上限 | 测量值 > 上限值 | 严重 |
| 低于规格下限 | 测量值 < 下限值 | 严重 |
| 已不合格 | 合格标志为不合格、NG、false、0 | 严重 |
| 接近规格限 | 距离上限或下限小于规格宽度 10% | 关注 |
| 高危接近规格限 | 距离上限或下限小于规格宽度 5% | 预警 |
| 连续上升 | 最近 5 个有效测量值连续上升 | 预警 |
| 连续下降 | 最近 5 个有效测量值连续下降 | 预警 |
| 均值偏移 | 最近窗口均值较历史窗口偏移超过规格宽度 10% | 预警 |
| 波动增大 | 最近窗口标准差大于历史窗口标准差 1.5 倍 | 关注/预警 |
## 9. Cp/Cpk 工序能力计算
计算公式:
```text
Mean = 测量值平均值
Sigma = 样本标准差
Cp = (USL - LSL) / (6 * Sigma)
Cpu = (USL - Mean) / (3 * Sigma)
Cpl = (Mean - LSL) / (3 * Sigma)
Cpk = min(Cpu, Cpl)
```
判断标准:
| Cpk | 等级 | 说明 |
|---:|---|---|
| >= 1.67 | 优秀 | 工序能力充足 |
| 1.33 - 1.67 | 正常 | 满足常规质量要求 |
| 1.00 - 1.33 | 关注 | 工序能力边缘 |
| 0.67 - 1.00 | 预警 | 工序能力不足 |
| < 0.67 | 严重 | 工序能力严重不足 |
Cp 与 Cpk 的关系解释:
| 情况 | 说明 |
|---|---|
| Cp 高、Cpk 高 | 工序稳定且居中 |
| Cp 高、Cpk 低 | 波动不大,但过程中心偏移 |
| Cp 低、Cpk 低 | 波动大且能力不足 |
| Cp 正常、Cpk 连续下降 | 存在逐步偏移风险 |
## 10. Cp/Cpk 趋势预警规则
采用滚动窗口计算能力趋势:
| 参数 | 默认值 |
|---|---:|
| 窗口大小 | 25 条 |
| 窗口步长 | 10 条 |
| 最少窗口数 | 3 个 |
规则:
| 规则 | 判断条件 | 风险等级 |
|---|---|---|
| Cpk 低于合格线 | 最近窗口 Cpk < 1.33 | 关注 |
| Cpk 低于预警线 | 最近窗口 Cpk < 1.00 | 预警 |
| Cpk 严重不足 | 最近窗口 Cpk < 0.67 | 严重 |
| Cpk 连续下降 | 最近 3 个窗口 Cpk 连续下降 | 预警 |
| Cpk 快速下降 | 最近窗口较上一窗口下降超过 20% | 预警 |
| 中心偏移 | Cp >= 1.33 且 Cpk < 1.00 | 预警 |
## 11. 风险评分建议
| 事件 | 分数 |
|---|---:|
| 测量值超限 | +70 |
| 存在不合格标志 | +60 |
| Cpk < 0.67 | +70 |
| Cpk < 1.00 | +45 |
| Cpk < 1.33 | +25 |
| Cpk 连续下降 | +35 |
| 接近规格限 5% | +35 |
| 接近规格限 10% | +20 |
| 连续 5 点上升或下降 | +30 |
| 波动增大 1.5 倍 | +25 |
| 样本不足 | 不加分,但降低置信度 |
| 多工位或多测点混合 | 不加分,但降低置信度 |
## 12. AI 助手触发词
只有明确出现以下触发词时才进入预测预警:
```text
SPC预测预警
智能预警
质量预警
趋势预警
异常预测
失控风险
CPK预警
Cpk趋势预警
工序能力预警
过程能力预警
预测这个工位是否有风险
```
不应触发预警的普通问题:
```text
查询质量数据
显示最新50条质量数据
绘制SPC基本趋势图
绘制直方图
查看Cpk趋势图
质量数据查询模块有什么功能
```
## 13. AI 输出格式
AI 助手输出应固定包含以下模块。
### 13.1 预警结论表
| 项目 | 内容 |
|---|---|
| 风险等级 | 正常 / 关注 / 预警 / 严重 |
| 风险分数 | 0-100 |
| 分析对象 | 工位号 / 测量位置 / 测量项目 |
| 样本数量 | 有效测量值数量 |
| 时间范围 | 最早生产日期 - 最新生产日期 |
| 当前 Cp | 最近窗口 Cp |
| 当前 Cpk | 最近窗口 Cpk |
| Cpk 趋势 | 上升 / 平稳 / 下降 |
| 置信度 | 高 / 中 / 低 |
| 结论摘要 | 一句话说明主要风险 |
### 13.2 规则命中表
| 规则 | 是否命中 | 风险等级 | 说明 |
|---|---|---|---|
| 规格超限 | 是/否 | 严重 | 是否存在超上限或低下限 |
| 接近规格限 | 是/否 | 关注/预警 | 是否接近 USL/LSL |
| 连续漂移 | 是/否 | 预警 | 是否连续上升或下降 |
| 均值偏移 | 是/否 | 预警 | 最近均值是否偏移 |
| 波动增大 | 是/否 | 关注/预警 | 标准差是否增大 |
| Cpk 能力不足 | 是/否 | 关注/预警/严重 | Cpk 是否低于阈值 |
| Cpk 连续下降 | 是/否 | 预警 | 能力是否持续变差 |
### 13.3 Cp/Cpk 趋势表
| 窗口 | 样本范围 | 平均值 | 标准差 | Cp | Cpk | 判断 |
|---|---|---:|---:|---:|---:|---|
| W1 | 第1-25条 | | | | | |
| W2 | 第11-35条 | | | | | |
| W3 | 第21-45条 | | | | | |
### 13.4 改进建议表
| 风险 | 建议 |
|---|---|
| 测量值接近上限 | 检查设备补偿、夹具状态、刀具磨损或拧紧参数 |
| 测量值接近下限 | 检查装配不到位、零件批次或工艺参数偏低 |
| Cpk 下降 | 优先确认过程中心是否偏移,再检查波动来源 |
| 波动变大 | 检查设备稳定性、环境、人员操作和来料一致性 |
| 已超限 | 建议立即停线确认、隔离相关工件并追溯前后批次 |
## 14. 图表设计
### 14.1 测量值趋势预警图
图表内容:
- X 轴:生产日期或样本序号。
- Y 轴:测量值。
- 折线:测量值。
- 辅助线:上限值、下限值、理论值、平均值。
- 风险点:
- 红色:超限点。
- 橙色:接近规格限点。
- 蓝色:正常点。
### 14.2 Cp/Cpk 趋势图
图表内容:
- X 轴:滚动窗口编号。
- Y 轴Cp / Cpk。
- 折线:
- Cp
- Cpk
- 辅助线:
- 1.67 优秀线。
- 1.33 合格线。
- 1.00 预警线。
- 0.67 严重线。
- Cpk 低于 1.00 的点应突出显示。
## 15. MCP 工具设计
新增工具名称:
```text
predict_quality_spc_warning
```
输入:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| query | string | 空 | 用户原始问题 |
| stationNumber | string | 空 | 工位号 |
| testPosition | string | 空 | 测量位置 |
| testItem | string | 空 | 测量项目 |
| engineId | string | 空 | 工件编号 |
| startTime | string | 1900-01-01 00:00:00 | 开始时间 |
| endTime | string | 2099-12-31 23:59:59 | 结束时间 |
| analysisSize | number | 150 | 分析样本数 |
| displaySize | number | 50 | 展示样本数 |
| windowSize | number | 25 | 滚动窗口大小 |
| windowStep | number | 10 | 滚动窗口步长 |
输出:
| 字段 | 说明 |
|---|---|
| html | 预警表格 HTML |
| charts | ECharts 图表配置 |
| data.rows | 原始查询数据 |
| data.displayRows | 展示用明细数据 |
| data.analysis | 预警分析结果 |
| data.capabilityWindows | Cp/Cpk 滚动窗口结果 |
| data.params | 实际查询参数 |
| data.confidence | 置信度说明 |
## 16. AI 路由优先级
AI 助手应按以下顺序处理用户问题:
1. 页面导航。
2. 模块功能说明。
3. SPC 智能预测预警。
4. 指定图表绘制。
5. 普通质量数据查询。
6. DeepSeek 普通问答。
这样可以避免:
- 普通质量数据查询误触发预警。
- 普通图表绘制误触发预警。
- 用户明确要求预警时只返回普通表格。
## 17. 置信度设计
| 条件 | 置信度 |
|---|---|
| 单工位、单测量位置、单测量项目,样本 >= 100 | 高 |
| 单工位、单测量位置、单测量项目,样本 50-99 | 中 |
| 样本 10-49 | 低 |
| 多工位混合 | 低 |
| 多测量位置混合 | 低 |
| 多测量项目混合 | 低 |
| 缺少上下限 | 低,仅做趋势判断 |
| 样本少于 10 | 极低,仅做超限判断 |
## 18. 异常处理
| 场景 | 输出 |
|---|---|
| MES 后端不可用 | 查询入口已定位,但接口调用失败 |
| 无数据 | 未查询到符合条件的质量数据 |
| 无测量值 | 无法进行趋势和能力分析 |
| 无上下限 | 无法计算 Cp/Cpk仅输出测量值趋势 |
| 标准差为 0 | Cp/Cpk 不可计算,提示样本无波动 |
| 样本不足 10 | 仅做基础超限判断 |
| 多测点混合 | 输出低置信度提示 |
| 多测量项目混合 | 输出低置信度提示 |
## 19. 测试方案
### 19.1 意图识别测试
| 输入 | 期望 |
|---|---|
| 查询质量数据 | 普通表格,不触发预警 |
| 查询质量数据 显示最新50条 | 普通表格,不触发预警 |
| 查询质量数据 做SPC预测预警 | 触发预警 |
| 工位 OP10 测量位置 A 测量项目 扭矩 做CPK预警 | 触发预警 |
| 绘制Cpk趋势图 | 图表绘制,不触发预警 |
| 质量数据查询模块有什么功能 | 功能说明,不查询数据 |
### 19.2 计算规则测试
| 场景 | 期望 |
|---|---|
| 存在测量值 > 上限值 | 严重 |
| 存在测量值 < 下限值 | 严重 |
| Cpk = 1.5 | 正常 |
| Cpk = 1.2 | 关注 |
| Cpk = 0.9 | 预警 |
| Cpk = 0.5 | 严重 |
| 最近 3 个窗口 Cpk 连续下降 | 预警 |
| 最近 5 个测量值连续上升 | 预警 |
| 无上下限 | 不计算 Cp/Cpk |
### 19.3 UI 测试
| 项目 | 期望 |
|---|---|
| 预警结论表 | 样式规范,风险颜色明确 |
| 明细表 | 最多显示 50 条 |
| 趋势图 | 显示测量值、USL、LSL、理论值 |
| Cp/Cpk 图 | 显示 Cp、Cpk 和能力阈值线 |
| 窗口缩放 | 图表跟随 AI 助手窗口缩放 |
| 大数据结果 | 不交给 DeepSeek 重写大表,避免卡顿 |
## 20. 实施节点
1. 增加预警意图识别,只识别明确预警触发词。
2. 复用现有质量数据查询函数获取数据。
3. 增加测量值清洗、时间排序、上下限识别能力。
4. 增加 Cp/Cpk 计算函数。
5. 增加滚动窗口能力趋势计算。
6. 增加风险规则引擎。
7. 增加预警 HTML 表格生成。
8. 增加测量值趋势图和 Cp/Cpk 趋势图。
9. 接入 AI 助手聊天路由。
10. 完成静态检查、接口测试和 UI 验收。
## 21. 验收标准
- 用户明确要求预警时AI 输出预警结论、规则命中、Cp/Cpk 趋势、图表和建议。
- 用户普通查询质量数据时,不自动预警。
- 所有查询仍依赖现有 HMI 查询入口,不直连数据库。
- Cpk 低于 1.00 时必须给出预警。
- 测量值超规格限时必须给出严重风险。
- 样本不足或数据混合时必须提示置信度降低。
- 输出结果符合商业软件展示要求,规范、稳定、可解释、可追溯。
## 22. Assumptions
- 第一版使用规则引擎,不引入机器学习训练模型。
- 默认展示最新 50 条质量数据。
- 推荐分析粒度为单一工位、单一测量位置、单一测量项目。
- 如果接口无法返回 150 条分析样本,则先使用 50 条完成预警。
- 所有结果以 AI 助手界面展示为主,不新增独立页面。
- 本阶段只输出技术文档,不修改代码。