🏭导航收藏不迷路--->制造业数据与AI践行者老蒋的技术博客全系列文章汇总(持续更新)
文章摘要
针对制造业 MES 工时异常人工排查效率低、标准不统一的痛点,本文结合智联工坊虚拟工厂 360 条工单数据,演示用 WorkBuddy 实现自动化异常检测的完整流程。采用 3σ+IQR 双重统计算法,按产线分组精准识别工时、质量、设备三类异常,附可复用 Python 分析脚本、结构化结果与完整分析报告,可直接落地到企业月度质量月报场景。

目录
[一、开篇:Excel里2天的活,AI 2小时干完](#一、开篇:Excel里2天的活,AI 2小时干完)
[七、交付物4:趋势分析 + 改进建议](#七、交付物4:趋势分析 + 改进建议)
[📎 系列导航](#📎 系列导航)
📝 正文
一、开篇:Excel里2天的活,AI 2小时干完
兄弟们,问你们一个制造人都懂的场景:
每个月做质量月报,你是怎么从MES里找异常工单的?
把数据导出Excel → 筛选 → 排序 → 做透视表 → 画折线图 → 用条件格式标红?还是直接让下面的人手动翻一遍?
作为一个在制造业IT混了十几年的老家伙,我太了解了------这事不难,但烦。
数据量大一点(比如360条工单),Excel就卡得跟PPT一样;数据量小一点(比如50条),你又怕漏掉什么。
更扎心的是,你花2天翻完数据,老板只问一句:"有没有异常?"
你只能回答:"有几条看起来不太对......"
这种"说不清楚"的感觉,最要命。
正好我在做"智联工坊"虚拟工厂的MES模拟数据------360条工单,3条产线,15天。我决定用WorkBuddy试试,看能不能自动把异常找出来。
读完本文你将获得:
- 制造业 MES 工单异常的标准化检测方法论
- 3σ+IQR 双重检测的 Python 可复用脚本
- 产线效率 / 质量 / 设备三维对标分析框架
- 可直接套用的异常改进建议模板
二、数据准备:360条工单,3条产线
我先用Python生成了8月1日-15日的MES工单模拟数据:
| 字段 | 说明 | 示例 |
|---|---|---|
| 工单编号 | 唯一标识 | WO-20260801-001 |
| 日期 | 生产日期 | 2026-08-01 |
| 产线 | 三条产线 | 交互屏组装A线 / 传感器组装B线 / 成品测试C线 |
| 产品型号 | 产品型号 | S24-70A |
| 计划工时 | 标准工时(分钟) | 141 |
| 实际工时 | 实际消耗工时(分钟) | 210 |
| 产出数量 | 合格产出数量 | 91 |
| 不良率 | 不良率(%) | 4.2% |
| 停机时长 | 设备停机时长(分钟) | 9 |
重点是:我在数据里埋了5个异常点,看看WorkBuddy能不能找出来。
| 异常编号 | 产线 | 异常类型 | 严重程度 |
|---|---|---|---|
| ① | 交互屏A线 | 工时超标 + 停机45min | 🔴 严重 |
| ② | 传感器B线 | 不良率8.5% | 🔴 严重 |
| ③ | 测试C线 | 停机80min | 🔴 严重 |
| ④ | 交互屏A线 | 工时超标 + 不良率4.2% | 🟠 明显 |
| ⑤ | 传感器B线 | 产出72件 + 不良率6.8% | 🟠 明显 |
三、实战过程:在WorkBuddy召唤"高级软件工程师"
我把Excel拖入WorkBuddy,输入了以下需求:
bash
请分析这份MES工单数据,找出其中的异常情况。
数据字段说明:工单编号、日期、产线、产品型号、计划工时、实际工时、产出数量、不良率、停机时长
请从以下维度进行分析:
1. 工时效率异常:实际工时 vs 计划工时
2. 质量异常:不良率异常高的工单或产线
3. 设备异常:停机时长异常高的工单或产线
4. 产线对比:三条产线的效率、质量、设备表现对比
5. 按日期趋势:各项指标的时间变化趋势
然后我做了一件事------在WorkBuddy里召唤了"高级软件工程师"专家,让它不只是"分析数据",而是:
-
生成可复用的分析脚本(含3σ+IQR双重检测算法)
-
输出结构化结果(JSON格式)
-
生成完整报告(Markdown格式)
结果不错,交付了以下章节内容。
四、交付物1:分析脚本(可复用)
WorkBuddy生成了 analyze_mes_work_order.py,核心设计是:
按产线分组检测,而非全局检测------ 因为三条产线的基准效率/不良率/停机时长差异很大,全局检测会误判。
| 产线 | 效率基准 | 不良率基准 | 停机基准 |
|---|---|---|---|
| 交互屏组装A线 | 0.91 | 1.8% | 7.5 min |
| 传感器组装B线 | 0.86 | 2.6% | 11.8 min |
| 成品测试C线 | 0.94 | 0.9% | 5.8 min |
检测算法:3σ + IQR 双重判定(取并集)
python
# 按产线分组 3σ 检测
def detect_by_3sigma(series: pd.Series, sigma: float = 3.0) -> pd.Series:
mean, std = series.mean(), series.std()
if std == 0 or std != std:
return pd.Series(False, index=series.index)
return (series - mean).abs() > sigma * std
# 按产线分组 IQR 检测
def detect_by_iqr(series: pd.Series, k: float = 1.5) -> pd.Series:
q1, q3 = series.quantile(0.25), series.quantile(0.75)
iqr = q3 - q1
if iqr == 0 or iqr != iqr:
return pd.Series(False, index=series.index)
lower, upper = q1 - k * iqr, q3 + k * iqr
return (series < lower) | (series > upper)
五、交付物2:异常检测结果(完整检出)
5个预设异常,全部检出,无一遗漏。
| 异常编号 | 工单编号 | 产线 | 异常指标 | 实际值 | 检测阈值 | 判定依据 |
|---|---|---|---|---|---|---|
| ① | WO-20260802-028 | A线 | 效率 | 0.541 | < 0.736 | 3σ |
| ① | WO-20260802-028 | A线 | 停机 | 45 min | > 21.2 min | 3σ |
| ② | WO-20260801-009 | B线 | 不良率 | 8.5% | > 5.12% | 3σ |
| ③ | WO-20260801-018 | C线 | 停机 | 80 min | > 28.1 min | 3σ |
| ③ | WO-20260801-018 | C线 | 效率 | 0.732 | < 0.800 | 3σ |
| ④ | WO-20260801-001 | A线 | 效率 | 0.671 | < 0.736 | 3σ |
| ④ | WO-20260801-001 | A线 | 不良率 | 4.2% | > 3.40% | 3σ |
| ⑤ | WO-20260801-010 | B线 | 不良率 | 6.8% | > 5.12% | 3σ |
| ⑤ | WO-20260801-010 | B线 | 产出 | 72件 | < 3σ下限 | 3σ |
六、交付物3:产线对比分析(核心洞察)
以下内容是WorkBuddy生成的报告原文,一字未改。
| 产线 | 平均效率 | 效率波动CV | 平均不良率 | 不良率峰值 | 平均停机 | 停机峰值 | 平均产出 |
|---|---|---|---|---|---|---|---|
| 成品测试C线 | 0.937 🥇 | 4.8% | 0.94% 🥇 | 2.23% | 5.8 min 🥇 | 80 min | 94.5 🥇 |
| 交互屏组装A线 | 0.909 | 6.4% ⚠️ | 1.82% | 4.20% | 7.5 min | 45 min | 93.8 |
| 传感器组装B线 | 0.862 ⚠️ | 5.3% | 2.61% ⚠️ | 8.50% | 11.8 min ⚠️ | 20 min | 92.5 |
三条核心结论:
-
C线是标杆:效率最高(0.937)、不良率最低(0.94%)、停机最少(5.8 min),波动最小(CV 4.8%)。
-
B线是短板 :效率比C线低7.5个百分点(约8%),不良率是C线的2.8倍,平均停机是C线的2倍。四指标全线下滑,属于系统性问题而非偶发。
-
A线波动最大:CV 6.4%为三线最高,说明生产一致性差、稳定性不足。
七、交付物4:趋势分析 + 改进建议
趋势分析核心发现:
异常集中爆发于8/1~8/2(月初产能爬坡期),之后各线回归稳态。
| 日期 | 事件 | 影响 |
|---|---|---|
| 8/1 | 5个异常中的4个集中爆发 | 质量事故日 |
| 8/2 | A线220min工时超标+45min停机 | 效率骤降 |
| 8/3后 | B线持续高于A/C线 | 常态问题 |
改进建议(WorkBuddy生成,按优先级排序):
1. 【最高】8/1~8/2 异常集中爆发根因调查(止血)
5个异常中4个集中在开月前两天。高度疑似月初换线、新批次物料导入或新员工上岗所致。建议:① 调取8/1~8/2排产单、物料批次记录与人员排班;② 对B线TS-100/TS-200批次做来料抽检复核;③ 建立"换型首单必检"制度。
2. 【次高】B线系统性改善(长期治理)
B线四项指标全线下滑。建议:① 对标C线梳理B线工艺瓶颈;② 建立设备点检与快速换型(SMED)机制;③ 将B线不良率纳入日会红黄牌监控(阈值建议4%)。
3. 【第三】A线稳定性治理 + 停机预警机制
A线效率波动最大(CV 6.4%)。建议:① 为A线关键设备加装停机时长自动采集与预警(阈值15min);② 建立"停机超过30min自动上报+复盘"流程。
4. 【补充】建立常态化自动化监控
本分析脚本可直接固化到MES看板:每日自动扫描前一日工单,命中即推送异常工单编号与判定依据,实现**"异常不过夜"**。
八、为什么这个场景价值大?
| 传统方式 | WorkBuddy方式 |
|---|---|
| 导出Excel,人工翻数据 | 拖入文件,一键分析 |
| 凭经验判断"哪些算异常" | 3σ+IQR统计算法客观判定 |
| 写了报告没法复用 | 生成Python脚本,每周跑一次 |
| 只知道"有异常",说不清根因 | 给出改进建议,能指导行动 |
这个案例的本质:从"手工查数"到"自动化异常监控"。
九、完整交付物清单
| 序号 | 文件 | 说明 |
|---|---|---|
| 1 | analyze_mes_work_order.py |
可复用分析脚本,含3σ+IQR双检测 |
| 2 | anomaly_result.json |
结构化异常结果,可接MES看板 |
| 3 | report_mes_anomaly.md |
完整分析报告,可直接发给老板 |
💡 适用说明
本方案适配离散制造业的工单级异常检测,如电子组装、汽配加工等场景;流程行业(化工、冶金)需适配指标体系与波动阈值。 算法默认适配日维度 / 工单维度数据,若为分钟级时序数据,需增加滑动窗口做平滑处理。 明确边界反而会提升专业可信度,避免读者误用后产生落差。
十、实在人总结
怕你忘了,我再啰嗦一遍:
1. WorkBuddy不只是"聊天工具",它能召唤垂直领域的专家。 这次我召唤的是"高级软件工程师"------它不只给了我答案,还给了我可以持续使用的脚本和结构化数据。
2. 制造业异常检测的核心是"分组"。 不同产线基准不同,全局检测会误判。按产线分组检测,才是制造业的正确姿势。
3. 3σ + IQR 双重判定,比单用任何一种都稳。 3σ对正态分布敏感,IQR对偏态分布稳健,取并集覆盖更全。
4. 这套脚本跑完,不只是"出了一份报告",而是"建了一个能力"。 下周数据来了,重新跑一下脚本,新的异常报告就出来了。
十一、评论区炸弹
兄弟们,这篇把MES异常检测的完整方案公开了------数据、脚本、报告、改进建议,全都有。
现在轮到你们了:
你们的MES数据是怎么做异常检测的?
A. 全靠老师傅经验判断
B. 用Excel条件格式标红
C. 有BI看板,但预警不准
D. 我们做得比这还牛(大佬求带)
评论区扣一个,我选3位兄弟,直接把
analyze_mes_work_order.py脚本发给你,换成你自己的数据就能跑。
够意思吧?评论区见!👇
📎 系列导航
| 专栏 | WorkBuddy工作场景应用实践 · #05 |
| 系列 | 数据洞察 |
|---|---|
| 上一篇 | #04 代码审查不想得罪人?WorkBuddy 先做第一轮审查,附完整 Prompt 模板 |
| 下一篇 | #06 《把500页设备维护手册喂给AI:RAG知识库从0到1》 |
📌 本文数据来源:智联工坊虚拟工厂MES工单模拟数据。分析脚本、结构化结果、完整报告均已随文章公开。评论区留言"要脚本"即可获取
analyze_mes_work_order.py。