360 Secure SkillHub
360 安全技能中心

bom-toolkit

该工具包针对非标自动化项目BOM全生命周期管理,含五大核心模块:完整性检查(采购前把关遗漏)、版本对比(追踪设计变更)、机电拆分(采购分工)、供应商合并(多供应商整合)、变更说明生成(ECN管理)。支持Excel、CSV等文件输入,输出结构化报告及拆分/合并后的BOM文件。

paudyyin
paudyyin
热度 12.97
最近更新 2026-08-03 09:00:25
分类:效率依赖:代码执行 / 读写文件 / 内部调用大模型应用场景:数据处理 / 报告撰写 / 模板

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add bom-toolkit
Metadata
name
bom-toolkit
description
BOM物料清单全生命周期管理工具包。覆盖完整性检查、版本对比、机电拆分、供应商合并、变更说明生成。
tags
["domain-specific","electrical","review","file-based","cli"]
version
1.1.0

BOM Toolkit — BOM物料清单管理工具包 v1.1

非标自动化项目BOM物料清单全生命周期管理,覆盖完整性检查、版本对比、机电拆分、供应商合并、变更说明生成。

五大模块

模块 功能 适用场景
模块1:BOM完整性检查 对照标准清单检查遗漏 采购前BOM审查
模块2:BOM版本对比 比较两版本差异 设计变更追踪
模块3:机电协同表拆分 分离机械BOM/电气BOM 采购分工
模块4:供应商BOM合并 汇总多个供应商BOM 多供应商整合
模块5:BOM变更说明 生成格式化变更报告 ECN变更管理

模块1:BOM完整性检查

为什么需要这个模块

视觉检测设备BOM遗漏是常见但代价高昂的错误:

  • 漏掉一个相机 → 设备无法检测,产线停线
  • 漏掉光源控制器 → 光源无法工作,整台设备报错
  • 漏掉伺服驱动器 → 运动系统瘫痪
  • 漏掉线缆 → 设备无法组装,交期延误

一条遗漏可能造成数万到数十万的损失,这个模块就是要把关BOM的完整性,在采购前发现问题。

检查流程

  1. 读取BOM文件 — 支持 Excel (.xlsx, .xls)、CSV (.csv)、文本文件
  2. 提取物料信息 — 物料名称/描述、物料编码、数量、规格型号
  3. 对照标准部件清单检查 — 按9大类逐一检查
  4. 输出检查报告 — 按风险等级分类输出

标准部件清单(9大类)

核心成像系统(最关键,漏掉=设备无法工作)

部件 关键词匹配 风险等级
相机 相机、camera、线扫、面阵、线阵 🔴 致命
镜头 镜头、lens、远心、定焦 🔴 致命
图像采集卡 采集卡、frame grabber、GigE、CoaXPress 🔴 致命

光源系统(漏掉=无法成像)

部件 关键词匹配 风险等级
光源 光源、light、条形光、环形光、同轴光、背光 🔴 致命
光源控制器 光源控制器、光源驱动、light controller 🔴 致命

控制系统(漏掉=设备无法运行)

部件 关键词匹配 风险等级
工控机/主机 工控机、IPC、主机、computer、工业电脑 🔴 致命
运动控制卡 运动控制卡、motion card、控制卡 🟡 高
显示器 显示器、显示屏、monitor、屏幕 🟡 高
操作系统 Windows、系统 🟢 中

运动系统(漏掉=无法移动/定位)

部件 关键词匹配 风险等级
伺服电机 伺服、servo、电机 🟡 高
伺服驱动器 驱动器、driver、伺服驱动 🟡 高
线性模组/导轨 导轨、linear guide、模组、滑台 🟡 高
丝杆/同步带 丝杆、ball screw、同步带、belt 🟡 高

电气系统(漏掉=无法供电/通讯)

部件 关键词匹配 风险等级
电源 电源、power supply、开关电源 🔴 致命
线缆-相机 相机线、GigE线、网线、camera cable 🟡 高
线缆-光源 光源线、光源触发线 🟡 高
线缆-电源 电源线、power cable 🟡 高
线缆-通讯 通讯线、串口线、RS232/485 🟡 高
断路器/空开 断路器、空开、breaker 🟢 中
接线端子 端子、terminal 🟢 中

机械结构(漏掉=无法组装)

部件 关键词匹配 风险等级
机架/底座 机架、底座、frame、底座、框架 🟡 高
铝型材 铝型材、aluminum profile、2040 🟡 高
钣金/外壳 钣金、外壳、cover、防护罩 🟢 中
脚轮/脚杯 脚轮、脚杯、adjustable foot 🟢 中

传感器与检测(漏掉=功能不完整)

部件 关键词匹配 风险等级
触发传感器 传感器、sensor、光电、接近开关 🟡 高
编码器 编码器、encoder 🟡 高
激光测距(可选) 激光、laser、测距 🟢 中

气动系统(如有运动/夹持)

部件 关键词匹配 风险等级
气缸 气缸、cylinder 🟡 高
电磁阀 电磁阀、valve 🟡 高
气管 气管、tube 🟢 中
气源处理 过滤器、调压阀 🟢 中

软件(漏掉=设备无法运行)

部件 关键词匹配 风险等级
检测软件 软件、software、检测程序 🔴 致命
视觉库(如自研) 视觉库、Halcon、VisionPro、OpenCV 🟡 高

检查规则

致命项(必须全部通过):以下任何一项缺失,BOM直接判定为不通过:

  1. 相机
  2. 镜头
  3. 光源
  4. 光源控制器
  5. 工控机/主机
  6. 电源
  7. 图像采集卡
  8. 检测软件

高风险项(缺失需警告):以下缺失需明确警告,但不直接判定不通过:

  1. 伺服电机/驱动器
  2. 运动控制卡
  3. 线性模组/导轨
  4. 显示器
  5. 各类线缆
  6. 机架/底座
  7. 传感器
  8. 视觉库

中风险项(建议检查):以下缺失需建议检查:

  1. 操作系统
  2. 断路器/空开
  3. 钣金/外壳
  4. 气动元件
  5. 脚轮/脚杯

输出格式

═══════════════════════════════════════════════════════════
           BOM完整性检查报告
═══════════════════════════════════════════════════════════
📋 BOM文件:{filename}
📊 物料总数:{count}
🕐 检查时间:{datetime}

───────────────────────────────────────────────────────────
🔴 致命缺失(设备无法工作)
───────────────────────────────────────────────────────────
[ ] 相机 - 未找到任何相机相关物料
[ ] 镜头 - 未找到任何镜头相关物料
...

───────────────────────────────────────────────────────────
🟡 高风险缺失(功能不完整)
───────────────────────────────────────────────────────────
[ ] 伺服驱动器 - 未找到驱动器
...

───────────────────────────────────────────────────────────
🟢 中风险缺失(可能影响使用)
───────────────────────────────────────────────────────────
[ ] 操作系统 - 未明确标注
...

───────────────────────────────────────────────────────────
✅ 已包含部件
───────────────────────────────────────────────────────────
[✓] 工控机 - IPC-610 (数量: 1)
[✓] 线扫相机 - MV-CL084-91GM (数量: 1)
...

═══════════════════════════════════════════════════════════
检查结论:❌ 不通过 / ✅ 通过
═══════════════════════════════════════════════════════════

特殊场景处理

  • 用户只提供了部分BOM:明确告知只检查了部分内容,提醒用户补充完整BOM再次检查
  • BOM中有"整套"/"系统"类物料:询问是否包含子BOM,如果有子BOM需要合并检查
  • 设备类型不同:AOI设备必须有相机+镜头+光源;视觉引导机器人可能有相机但没有传统光源;根据设备类型调整检查项
  • 用户说"这些不需要":记录用户的说法,但仍然在报告中列出,标注"用户确认不需要"

注意事项

  1. 宁严勿松:BOM检查宁可误报,不可漏报
  2. 关键词模糊匹配:用户可能写"相机"也可能写"camera",都要能识别
  3. 数量检查:有些部件数量为0也算缺失
  4. 规格确认:对于关键部件,提醒用户确认规格是否匹配
  5. 保存检查记录:每次检查生成报告文件,便于追溯

模块2:BOM版本对比

适用场景

  • "对比BOM"、"BOM有什么变化"

处理流程

输入:两个版本的BOM Excel文件(.xlsx)

处理步骤:

  1. 读取两个BOM文件(通常是"电气BOM"sheet)
  2. 以"序号"为主键匹配物料
  3. 对比关键字段:品牌、名称、型号、规格、数量、单位
  4. 识别变更类型:
    • 新增:新版本有,旧版本无
    • 删除:旧版本有,新版本无
    • 变更:关键字段值发生变化

输出:Excel变更说明报告,包含:

  • 变更类型(新增/删除/变更)
  • 序号、物料小类、名称、品牌
  • 变更字段、旧值、新值
  • 颜色标记:黄色=变更、绿色=新增、红色=删除

参考脚本:scripts/compare_bom.py


模块3:机电协同表拆分

适用场景

  • "拆分机械电气"、"分出机械BOM"

处理流程

输入:机电协同物料清单Excel文件

处理步骤:

  1. 读取协同表(通常包含机械和电气物料混合)
  2. 识别物料分类依据:
    • 按"类别"列:机械件/电气件/标准件/加工件
    • 按"物料小类":判断属于机械还是电气
    • 按品牌:电气品牌 vs 机械品牌
  3. 拆分为两个独立BOM:
    • 机械BOM:钣金件、机加工件、导向件、传动件等
    • 电气BOM:PLC、伺服、传感器、断路器、线缆等

电气品牌关键词:

施耐德、西门子、汇川、欧姆龙、菲尼克斯、三菱、ABB、
台达、安川、松下、基恩士、SMC、FESTO、实点科技、
REER、伯恩施坦、MOONS、天逸、胜蓝、正泰、德力西

机械品牌关键词:

米思米、怡合达、THK、HIWIN、NSK、SKF

加工件分类:

  • 加工件/"钣金"分类

输出:两个独立的Excel文件

  • XXX_机械BOM.xlsx
  • XXX_电气BOM.xlsx

模块4:供应商BOM合并

适用场景

  • "合并BOM"、"汇总物料"

处理流程

输入:多个供应商的BOM Excel文件

处理步骤:

  1. 逐个读取供应商BOM文件
  2. 提取关键字段:品牌、名称、型号、数量、单位
  3. 以(品牌+名称+型号)为唯一键合并
  4. 相同物料数量累加
  5. 可选:匹配单价,计算总价

输出:汇总Excel,包含:

  • 序号、品牌、名称、型号、数量、单位
  • 单价(如有)、总价
  • 汇总统计

参考脚本:scripts/extract_bom.py


模块5:BOM变更说明生成

适用场景

  • "生成变更说明"、"ECN变更"

输出格式

变更类型 序号 物料小类 名称 品牌 变更字段 旧值 新值 备注
变更 5 伺服驱动器 伺服驱动 汇川 型号 SV660N SV660F 升级型号
新增 23 传感器 接近开关 欧姆龙 - - E2B-M12 新增工位
删除 15 断路器 微型断路器 施耐德 - iC65N 2P C6A - 取消

Excel格式规范

样式要求

  • 表头:蓝底白字,加粗居中
  • 数据:Arial 10号字
  • 边框:细线边框
  • 交替行:浅蓝底色(#F2F7FB)
  • 冻结窗格:冻结表头和首列
  • 列宽:自动适配内容

颜色标记

用途 颜色 场景
变更 黄色 #FFEB9C BOM字段变更
新增 绿色 #C6EFCE 新增物料
删除 红色 #FFC7CE 删除物料
表头 蓝色 #4472C4 列标题

常见问题处理

Q1: BOM格式不统一怎么办?

  • 先读取文件,分析表头结构
  • 找到"序号"、"物料名称"、"型号"等关键列
  • 适配不同格式(有的从第3行开始,有的从第5行)

Q2: 型号有细微差异如何匹配?

  • 去除空格后比较
  • 模糊匹配(如"SV660N"与"SV660FS"可能是同系列)
  • 列出疑似匹配项让用户确认

Q3: 机电协同表中分类不明确?

  • 优先按"类别"列判断
  • 其次按品牌判断
  • 最后按物料名称关键词判断
  • 不确定的物料单独列出,让用户确认

相关文件

  • BOM对比脚本:scripts/compare_bom.py
  • BOM提取脚本:scripts/extract_bom.py

版本历史

版本 日期 变更
v1.1.0 2026-07-31 合并 bom-checker + bom-manager,统一为BOM全生命周期管理工具包
v1.0.0 - 初始版本(bom-checker / bom-manager)

Version 1.1.0 — BOM物料清单全生命周期管理工具包