14 KiB
14 KiB
SPC智能预测预警技术文档
1. 文档目标
本文档用于设计 MES-Manager_View 中 AI 助手的 SPC 智能预测预警功能。功能基于现有质量数据查询结果,分析测量值趋势、Cp/Cpk 工序能力参数趋势,并在 AI 助手界面输出商业软件级别的预测预警结果。
本阶段只编写技术设计文档,不修改任何代码、不提交、不推送。
2. 功能目标
SPC 智能预测预警需要实现以下能力:
| 能力 | 说明 |
|---|---|
| 质量趋势预警 | 根据测量值随时间变化识别超限、接近规格限、连续漂移、波动变大等风险 |
| Cp/Cpk 能力预警 | 根据滚动窗口计算 Cp、Cpk,判断工序能力是否下降 |
| 风险分级 | 输出正常、关注、预警、严重四级结果 |
| 图表展示 | 在 AI 助手中展示测量值趋势图、Cp/Cpk 趋势图、风险点 |
| 结果解释 | 说明触发规则、计算依据、样本范围、置信度 |
| 商业化输出 | 使用规范表格、清晰颜色、可追溯明细和建议措施 |
3. 数据来源约束
所有数据必须来自项目已有 HMI 查询能力,不允许直连数据库。
质量数据查询链路:
AI助手
-> MCP Server
-> queryQualityData()
-> MESCommonBase.ashx
-> CreateData 参数结构
-> 质量数据_发动机质量数据_各个工位_视图_发动机型号_综合查询
禁止事项:
- 不直接连接 SQL Server。
- 不在 AI 服务中拼 SQL。
- 不新增数据库依赖。
- 不修改质量数据查询页面底层业务逻辑。
- 不绕过项目已有函数查询数据。
4. 推荐分析对象
预测预警应优先针对单一工序特性分析。
推荐查询粒度:
工位号 + 测量位置 + 测量项目
示例:
查询质量数据 工位号 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 工序能力计算
计算公式:
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 助手触发词
只有明确出现以下触发词时才进入预测预警:
SPC预测预警
智能预警
质量预警
趋势预警
异常预测
失控风险
CPK预警
Cpk趋势预警
工序能力预警
过程能力预警
预测这个工位是否有风险
不应触发预警的普通问题:
查询质量数据
显示最新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 工具设计
新增工具名称:
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 助手应按以下顺序处理用户问题:
- 页面导航。
- 模块功能说明。
- SPC 智能预测预警。
- 指定图表绘制。
- 普通质量数据查询。
- 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. 实施节点
- 增加预警意图识别,只识别明确预警触发词。
- 复用现有质量数据查询函数获取数据。
- 增加测量值清洗、时间排序、上下限识别能力。
- 增加 Cp/Cpk 计算函数。
- 增加滚动窗口能力趋势计算。
- 增加风险规则引擎。
- 增加预警 HTML 表格生成。
- 增加测量值趋势图和 Cp/Cpk 趋势图。
- 接入 AI 助手聊天路由。
- 完成静态检查、接口测试和 UI 验收。
21. 验收标准
- 用户明确要求预警时,AI 输出预警结论、规则命中、Cp/Cpk 趋势、图表和建议。
- 用户普通查询质量数据时,不自动预警。
- 所有查询仍依赖现有 HMI 查询入口,不直连数据库。
- Cpk 低于 1.00 时必须给出预警。
- 测量值超规格限时必须给出严重风险。
- 样本不足或数据混合时必须提示置信度降低。
- 输出结果符合商业软件展示要求,规范、稳定、可解释、可追溯。
22. Assumptions
- 第一版使用规则引擎,不引入机器学习训练模型。
- 默认展示最新 50 条质量数据。
- 推荐分析粒度为单一工位、单一测量位置、单一测量项目。
- 如果接口无法返回 150 条分析样本,则先使用 50 条完成预警。
- 所有结果以 AI 助手界面展示为主,不新增独立页面。
- 本阶段只输出技术文档,不修改代码。