MES项目做了几年,经常被刚入行的同事问到同一个问题:BOM和Lot到底是什么?大多数人都能答上来一句“BOM是物料清单,Lot是批次号”,可真到产线上一跑,这两个概念远不是一张表、一个编号那么简单。我曾亲眼见过一个项目因为BOM版本同步失误,产线上十几个人停在那里发不出料;也见过一次质量追溯,因为某个关键辅料没有按Lot记录,差点把整批成品全部召回。这些问题的根子,都不在设备、不在网络,就在BOM和Lot这两个最基础的概念上没吃透。
这篇内容想把MES语境下的BOM和Lot整个掰开来讲清楚——它们各管什么、怎么设计、怎么联动、上线时最容易踩哪些坑。适合刚接触MES的IT/自动化人员、生产计划和质量的同事,也包括所有想把MES真正用起来的实施顾问。看完之后你至少能回答这几个问题:MES用的BOM跟ERP用的BOM有什么区别?一个批次号到底该怎么编?扫码防错到底校的是什么东西?
1. 为什么我觉得BOM和Lot才是MES的“地基级”概念
1.1 两个现场问题,让我重新认识这两个概念
先说第一个场景。某电子厂夜班,操作工扫描工单条码准备投料,系统提示“该物料不在当前工单BOM中”,死活不让过。现场班长跑过来看,说这料明明就是昨天还在用的那个型号,怎么今天就不让投了?后来查了半天,发现是设计部门前一天发了工程变更,把其中一个物料型号在ERP的工程BOM里改了,但是MES这边同步制造BOM的任务没跑成功。一个看起来特别不起眼的BOM版本问题,直接导致一条线停线半小时。
第二个场景是追溯。某做食品的企业接到客户投诉,说某批产品有异物,要求追溯同一批原料到底做了哪些成品。结果质量经理一查,系统里只能查到成品批号和灌装时间,因为投料记录是按“工单”记的,没有把原料的Lot号对应到每一批成品上。最后只能靠手工翻纸质记录,花了整整一天才勉强划出一个范围。事后复盘,根子不在追溯功能上没有,而是当初设计投料记录时压根没把Lot当成一个核心维度来管。
这两个场景说明一件事:BOM错了,现场生产立即停摆;Lot缺失,事后追溯寸步难行。这两个概念是MES运行的地基,地基不牢,上面盖什么功能都白搭。
1.2 BOM和Lot在MES里到底各管什么
我习惯把这两个概念按“做什么”和“是哪一批”来区分。
BOM回答的是“做什么、用什么”。产品由哪些物料组成、各自用量多少、按什么顺序加工。它定义了制造的“标准答案”。MES收到一个工单之后,要靠BOM来决定:这个工单该领什么料、领多少、投料时扫什么码可以通过校验。
Lot回答的是“具体是哪一批”。同一个物料料号,可能来自不同供应商、不同生产日期、不同来料批次。外观一样、电气性能一样,但它们各自的来料检验记录、存储条件、质量状态、有效期可能完全不同。Lot把这些差异记下来,让“同一料号”下面每一个实体批次都能被单独识别和追踪。
打个比方,BOM是菜谱,Lot是这筐菜是哪个农场、哪天采摘的。按菜谱做菜是正常生产,一旦出现菜品问题,要能追溯到是哪筐菜出了问题,Lot就是那个追溯抓手。
再补一个行业内容易被忽略的差异:ERP看BOM和Lot,跟MES看的视角完全不同。我特意整理了一个对比,方便理解:
| 维度 | ERP视角 | MES视角 |
|---|---|---|
| BOM用途 | 算料、算成本、MRP跑采购计划、发料记账 | 执行防错、齐套校验、按工序展开、投料管控 |
| BOM精度 | 能算准数量即可,辅料有时也笼统 | 必须精确到每一道工序的实际用料,扫错一个料都要拦 |
| Lot用途 | 库存记账、先进先出、财务成本批次 | 全流程追溯、质量隔离、防错、按批扣减、过程追踪 |
| 数据时效 | 往往批量处理,日结/月结 | 实时,每个动作都要立即校验和记录 |
很多企业上MES之前已经用了多年ERP,总想着“把ERP的BOM导过来不就行了”。真导过去才发现,不是缺辅料就是缺工序归属,要么就是没有生效版本控制,根本没法直接用。因为ERP的BOM是为“算钱”服务的,MES的BOM是为“干活”服务的,服务对象不一样,数据结构自然不一样。这个理念上的差别,最好在项目启动的第一天就跟业务方讲清楚。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 从“物料清单”到“制造数据核心”:把BOM彻底讲透
2.1 工程BOM、制造BOM、配方BOM:MES真正用的是哪一种
制造业里BOM有好几种叫法,工程BOM(EBOM)、制造BOM(MBOM)、还有流程行业的配方BOM,很多刚接触的人容易搞混。包括搜索引擎里经常有人问“OrCAD怎么导出BOM”“Cadence PCB怎么导出BOM”,那些导出的其实都是电子产品设计阶段的BOM,准确说是元器件清单,属于工程BOM的范畴。这在研发端用来采购和备料没问题,但距离MES能用的制造BOM还差着一层。
工程BOM是设计部门在研发阶段搭出来的,体现的是“产品由什么组成”,是纯结构视角,不关心工序、不关心辅料、也不关心损耗。制造BOM是制造部门把它进一步加工后的版本,增加了工序信息、工位信息、辅料和包装材料,是按“怎么造出来”来组织的。MES里真正运行的一定是制造BOM。
流程行业(化工、制药、食品饮料)又有不同。它们通常不叫BOM,叫配方(Formula/Recipe),核心是原料配比、工艺参数、反应条件。比如调配一批饮料,糖浆加多少、酸度调节剂加多少、水加多少,用的是百分比或特定投料顺序。配方BOM的版本管理比离散行业的BOM更敏感——配方改一个百分比,直接影响整批产品的口感和质量,所以流程行业对配方版本的控制往往比离散行业严格得多。
我记得有个做精细化工的朋友跟我说过一句话:离散行业BOM管的是“缺不缺料”,流程行业配方管的是“这批货能不能用”。这句话虽然绝对了点,但确实抓住了两类BOM的核心差异。
2.2 BOM在MES中的四件事:齐套、防错、归集、配方管控
理解了MES用哪种BOM之后,再看它在系统里具体干哪些活,会更清晰。
齐套校验是MES里最常用的一个动作。计划员下达工单之前,系统先按工单产品的BOM展开,核对每个物料在仓库有没有足够的可用量,哪些已经分配,哪些还欠着,然后给出“齐套”或“欠料”的判断。很多企业上线MES的第一个自动化场景就是取消人工备料检查,让系统自动算。齐套校验的准确性直接取决于BOM是否完整、用量是否正确。如果BOM里少了某个辅料,系统会一直显示“欠料”,但实际上仓库有货,计划员就开始怀疑系统数据,久而久之就会绕过系统。
投料防错是MES最核心的质量价值。操作工在工位上扫码投料,系统拿到物料条码之后,先去匹配当前工单的BOM:这个料号在不在BOM里、工位该不该用这个料、数量对不对。全部通过才允许确认投料。没有这一步,错料问题就只能靠人工核对,靠人的注意力去扛,时间一长必出问题。有些行业对投料防错要求更高,比如制药行业,除了校验料号和数量,还必须校验Lot的有效性和检验状态,没有放行的批次连投都不能投。
成本归集虽然听起来像ERP的活,但实际成本归集的源头数据都来自MES的投料记录。只有按BOM口径记录实际投了多少料,财务才能算清每个工单的真实材料成本。如果MES里的BOM和ERP里的不一致,月底对账就会出现差异,到时候两边数据都对不上,财务会来找你喝茶。
配方管控在流程行业里是把BOM和工艺参数一起下发给控制系统的过程。MES根据当前生产的产品配方版本,把目标配比和参数推送到PLC/DCS或者指导人工配料,生产结束后又收集实际投料量做对比分析。这里BOM的颗粒度就不是“每个产品需要哪些料”,而是“每个工序/每个步骤需要加哪些料、加多少、按什么顺序加”。
2.3 版本、替代料、虚拟件、副产品:四个绕不开的术语
BOM维护里最让新人头疼的就是这几个概念,但恰恰是这几个词决定了BOM在MES里能不能长期稳定运行。
先说版本。现实中没有哪个产品的BOM是一成不变的,设计变更、工艺优化、供应商替换都会导致物料组成变化。MES里的BOM必须带版本号和生效时间。比如V1.0版本在2024年5月1日生效,5月1日之前下达的工单继续用V1.0,5月1日之后下达的新工单用V2.0。这里有一个非常关键的细节:已经下达到产线、还没生产完的工单,遇到BOM版本变更怎么办?不同企业策略不一样,有的允许“已下达未开工工单自动切换新版本”,有的强制“等当前工单结束再切换”。这个规则必须在系统上线之前跟业务确认清楚,一旦实现方式错了,后面改起来很痛苦。
替代料是另一个容易踩坑的地方。BOM里写了物料A,现场没库存了,库存里只有功能完全一样的物料B可以替。MES能不能允许替?我的经验是:必须经过审批的替代关系才允许,而且替代的时机和数量要有记录。让系统里直接开个口子随便替,短期看是方便了,长期看追溯链就会变得千疮百孔——三个月后想查某批产品到底用的A还是B,你会疯掉的。正确的做法是把替代关系维护进系统,替代前申请、审批、执行后留痕,可以追溯“被替代的物料”和“实际使用的物料”两个维度。
虚拟件可以先放一边,简单说就是BOM结构里存在、但实际不单独出入库的中间层级件,MES展开BOM时通常直接跳过它,算需求时把子件数量展开。如果MES和ERP对虚拟件的处理逻辑不一致,很容易造成同步数据对不上,这个在实施的时候要特别注意。
副产品/联产品在流程行业很常见。一个投入批次产出多个产品,比如炼油行业常减压装置,一锅原油进去,出来汽油、柴油、蜡油多种产品。这种场景下,BOM的结构是发散的,MES必须支持“一个投入产出多个产出编号”的模型,每个产出都有自己的Lot,并且投入与产出要有清晰的关联关系。
2.4 BOM数据从哪来:三种来源各自优劣
很多刚开始做MES的企业最纠结的问题是这个。我见过的情况无非三种:
手工在MES界面维护。适合物料种类少、几百条以内的小企业,或者还没上线ERP、数据全靠Excel的组织。优点是灵活,改起来即时生效;缺点是全靠人的责任心,时间长了维护质量下降是大概率事件。
从ERP同步。这是最常见的方式。好处是数据源头统一,设计变更由ERP统一管理,MES只读取;坏处是同步机制容易出问题——字段映射、增量更新、同步失败补偿,哪一个没处理好都会导致两套系统数据不一致。我见过不少项目上线半年后,MES和ERP的BOM已经各自演化了,谁也不敢动,最后只能花大力气做数据对齐。
Excel批量导入。这个更多是上线初期的过渡方案。期初一键导入比较容易,但后续变更如果继续依赖手工导入,往往跟不上现场节奏,容易出现“改了一个料但导入文件忘了更新”的情况。
我的建议是,无论选哪种方式,都必须建立一个底线规则:BOM只有一个权威来源。要么ERP、要么MES、要么专门的BOM管理工具。如果两套系统里都可以改,那迟早会出现“各自为政”的局面。考虑到MES是现场执行系统,我更倾向于让ERP作为BOM的权威来源,MES只做同步和版本快照,现场变更走申请流程,由专人维护到ERP后再同步到MES。
3. 一条Lot的一生:批次记录的诞生、流转与归宿
3.1 MES里的Lot到底是什么:三层批次
Lot这个词在不同场景下指的东西不太一样,先把这三层拆清楚,后面讨论才不会打架。
原料批次(原料Lot)是物料到货入库时创建的。供应商有自己的出厂批号,但MES通常不会直接用供应商批号作为内部管理号,而是按自己的编码规范生成一个内部批次号,再在系统里把供应商批号挂在属性上。为什么不用供应商批号直接用?因为不同供应商的批号格式五花八门,有长有短、可能有重复、可能扫描枪读不进去,统一成内部编码更好处理。
半成品批次(在制品Lot)是工序产出时创建的。一个原料批次经过第一道工序后,可能产出多个半成品批次;几个不同原料批次投入搅拌罐,也可能产出一个混合半成品批次。半成品批次把“原料和成品”的中间过程串联起来,是整个追溯链上最关键的一环。很多追溯断链,就是断在中间工序没有形成明确的半成品Lot。
成品批次(成品Lot)是最终包装/入库时创建的。销售、发货、客户投诉都是按这个批次来查的。成品Lot要能向上追溯到来料批次、生产工单、设备参数、操作人员、检验记录等所有过程数据。
3.2 设计Lot编号规则的四个原则
Lot编号看起来是小事,实际影响面非常大。我见过编号规则混乱的项目,追溯时连查询都写不出来。设计编号规则我有四个原则:
唯一性排在第一位。整个系统内,一个Lot号只能对应一个批次,绝对不能出现复用的可能。有些厂喜欢用“年月日+流水号”,如果厂家一天产出量不大还好,一旦一天产出超过编号位数,系统就会报错或者生成重复号。所以流水号一定要给足位数,不要省。
可读性要有点讲究。编号里嵌一些业务信息,比如产线、日期、班次,让人肉眼一眼能看出批号的大致来源。比如“RC-240521-A-001”,拆开看就是“乳化车间-2024年5月21日-A班-当日第一批”。但这里必须注意,不要把太多业务含义塞进编号里,否则编号会变得非常长,录入和打印都费劲。
可扩展性也很重要。今天只有3条产线,编号里预留2位产线号就够;明天扩到5条呢?如果你用字母就不怕,但如果你当时只预留了数字1-9,后面就要想办法兼容了。我一般建议产线用字母,不要用数字,字母天然更好扩展。
最后一个原则容易被忽视:不要在编号里塞“有意义但会变化”的信息。比如有人把生产日期放进去之后,因为返工、重检等原因导致实际完工日期和原生产日期不一致,就会出现一个Lot的编号和实际信息对不上的尴尬场面。这种情况下宁可编号里不带日期,把日期作为属性存起来,避免误导。
3.3 从入库到报废:Lot生命周期的关键节点
一个Lot从诞生到消亡,在MES里大概要经过下面这几个关键节点,我按实际业务顺序梳理一遍:
到货入库是Lot的第一个出生点。仓库收到原料后,按供应商送货单在系统里登记,生成内部Lot,同时记录供应商批号、到货日期、保质期、入库数量和库位。这时候Lot的质量状态一般是“待检”。
检验放行是决定Lot能不能用的关卡。IQC(来料检验)完成后,系统把Lot状态改成“合格/放行”或者“不合格/冻结”。这里有一个很实用的经验:质量状态一定要做成独立字段,不要用删除或隔离来实现。比如来料检验不合格,不是把Lot删掉,而是把它的状态改成“冻结”,库存里看得见但不可发料,这样既保留了数据,又实现了管控。
投料消耗是Lot进入生产环节的节点。投料时系统扣减对应Lot的可用量,同时建立“工单/工序/设备”与“Lot”的关联关系,这是追溯链上最重要的一组关系。
工序产出是半成品Lot和成品Lot诞生的节点。产出时,系统根据投入的原料Lot和产出数量,生成新的批次,并建立投入与产出的父子关系。如果工序存在合批或拆批,这个关系会变成多对多,需要在系统里单独记录。
入库/出货是Lot走向终点的节点。成品Lot入库后,系统记录最终库位和装箱信息,发货时按Lot扫码出库,形成“客户—发货单—成品Lot”的关联。
报废/异常终结是Lot的终点。销毁、报废,或者质量冻结后走完审批销毁的流程,Lot的生命周期到此结束,但数据永远保留,不能物理删除。很多企业习惯把坏Lot直接删掉,这绝对是大忌——追溯时你会发现链上少了一段,价值就打了折扣。
3.4 批次与单品:何时用Lot,何时用序列号
做MES经常会遇到另一个问题:到底按批次管还是按单件管?这就是Lot和序列号(SN)的分工。
我的判断标准很简单:看单位价值、看追溯粒度、看行业合规要求。
高价值、低产量的产品用序列号。比如航空发动机叶片、高端医疗器械、定制化设备,一台就是一个编号,从投产开始就要记录每一个关键操作和零部件批号。价值高,出问题的代价大,值得做单件级追溯。
低价值、高产量的产品用批次。比如电子厂的贴片电阻、包装车间的食品、标准紧固件,一个批次几千上万个,不可能逐个打序列号,也不划算,用Lot追溯粒度已经足够。
还有一种混合模式很常见:成品用序列号,原料用Lot。比如汽车厂,一辆车有一个VIN号(序列号),但车上用的每个拧紧螺栓、每块玻璃、每瓶胶水都按批次记录。追溯时先按成品的序列号找到生产档案,再按档案里记录的原料Lot层层展开。这是制造业最主流、最经济的追溯组合方式。
4. BOM与Lot联动:现场落地的几个核心场景
4.1 投料防错:只校验料号远远不够
前面讲过投料防错是MES的核心价值之一,但具体到实现,校什么、怎么校,这里有大学问。
简单的做法是:扫码后校验“料号是否属于当前工单BOM”。这个逻辑覆盖了最常见的错料场景,比如把A料当成B料投。但只做到这一步,很多问题还是发现不了。
真实生产里的投料场景往往是这样的:料号是对的,但这个Lot还在“待检”状态,按规定不能投。或者这个Lot已经过了保质期,操作工没注意,扫码一校料号没问题就投了。再或者同一个料号在工位旁有两个Lot,一个先进先出应该先用,另一个是后来的,如果系统只校验料号,操作工拿哪个投都能过,先进先出就变成了一句口号。
所以一套完整的投料校验应该是分层的,我列一下:
| 校验项 | 校验内容 | 防止的问题 |
|---|---|---|
| 料号校验 | 物料是否属于当前工单BOM | 错料、串料 |
| 工序校验 | 物料是否属于当前工序允许范围 | 工序间混料 |
| 批次状态 | Lot是否放行 | 未检料/冻结料流入产线 |
| 有效期 | 是否在保质期内 | 过期料流入产线 |
| 数量/余量 | 该Lot可用数量是否足够 | 超量投料 |
| 批次策略 | 是否符合先进先出规则 | 库存积压/质量风险 |
这些校验在MES里基本都是扫码后瞬间完成的,操作工无感知,但每一条都是在帮质量把关。我个人做过一个项目,上线了这套完整校验之后,客户连续三个月投料错料率降到了零,之前平均一个月至少一两起。
4.2 批次混用与按批扣减:先进先出不是口号
同一个物料料号下有很多Lot,产线上能不能混着用?不同行业答案完全不同。
离散制造业相对宽松。一批电容用到一半,不够了,再开一批新的,两个Lot混在同一个工单里使用一般没问题,只要系统能区分每个Lot分别用了多少即可。
流程行业和食品药品行业则严格得多。一批原料投进反应釜,如果中途再加另一批,会影响配比稳定性和最终产品质量,这是行业规范不允许的。所以MES系统里要设置“禁止混批投料”的规则,一个工单/一个生产批只能绑定一个原料Lot,投完一批再开下一批。
按批扣减的逻辑也值得单独说一嘴。有些MES系统设计时偷懒,扣减库存只按“料号”扣总量,不管具体哪个Lot。这样库存账看起来是平的,但每个Lot剩余多少不知道,先进先出根本无法执行。正确做法是每次投料都指定Lot,系统按该Lot的实际可用量扣减。如果做了自动分配,系统会自己按先进先出规则推荐一个Lot,推荐后操作工扫码确认,这样既管住了批次,又不增加操作负担。
我在实际项目里的做法通常是:库存足够时,设备/工单自动锁定推荐Lot;库存不够时,系统提前告警,防止现场开工后才发现缺料。
4.3 正反向追溯如何展开:从成品批次到原料Lot
追溯是MES最硬的价值点之一,BOM和Lot在这里是配合关系:BOM决定追溯树长什么样,Lot决定追溯树上每个节点挂在哪个具体批次。
先说正向追溯:拿了成品Lot,要往下游查它发给哪些客户。系统先找到成品Lot关联的出货/发货记录,然后按客户、订单号、发货日期组织结果。如果产品还做了序列号和Lot的关联,可以一路查到最终销售终端。
反向追溯更复杂,也更有价值。拿了原料Lot,要往上游查出哪些成品可能受影响。系统先从原料Lot找到所有投料记录,每条投料记录关联对应的生产工单,再由工单找到产出的成品Lot,最终形成“原料Lot → 工单 → 成品Lot”的追溯链路。看起来不复杂,但实际执行时你会发现:如果工单的BOM里漏了一个辅料,中间就会断一环;如果半成品没有生成批次记录,也链不上。BOM的完整性直接影响追溯的完整性,这就是为什么我一直强调“BOM是地基”。
还有一个实操细节:反向追溯查出来的范围,取决于半成品批次的记录粒度。如果半成品是按“锅”记录的,一锅可能对应几个小时的生产量,那追溯出来的成品范围就会非常大,可能包含大量并没有问题的产品。这就是合批粒度粗带来的代价。如果想要更精准的追溯,就要在半成品环节做更细的批次划分,比如按一锅内的“起始-结束时间”再拆小。当然,细分意味着更多记录工作,要在追溯精度和操作成本之间找一个平衡点。
4.4 单位换算与Lot数量记录:细节里的“魔鬼”
BOM和Lot联动时最让人头疼的技术细节之一就是单位换算。搜索热词里也经常有人问“SAP BOM物料单位转换”这类问题,说明这是整个制造业的普遍痛点。
现场经常遇到的场景是这样:BOM里定义一罐胶水A的用量是5克,但仓库里这个物料是按千克入库的,Lot入库时记录的数量单位是kg。投料时操作工按克称重,扫码报工也是按克报。如果系统里没有单位换算能力,就会出现“BOM用量用克、库存扣减用千克、实际消耗按克”三个单位互相打架的局面。
正确的做法是,物料主数据上定义基本单位(如g),BOM用量单位、Lot现有量单位、投料记录单位都锚定到基本单位体系下,系统自动换算。每一个Lot里除了记“现有量”还要记“单位”,扫码投料时按BOM的计量单位自动折算扣减量。
更难搞的是这种场景:物料按重量入库,但投料按个数记录。比如一批螺丝,供应商按“千只”入库,BOM里按“只”定额,操作工在现场按“盒”取用。如果一盒到底多少只、每只重量多少没有固化下来,系统就会出现库存账与实际数量对不上的问题。这种问题通常没有通用解法,只能在物料主数据里不断维护和修正换算率,上线前把这类物料的计量方式彻底梳理清楚。
5. 上线几年踩过的坑:BOM与Lot落地的五点经验
5.1 建了BOM却“漏发料”:BOM完整性审查
这是我遇到最多的一类问题,说“漏发料”其实不是系统漏发,而是BOM本身不完整。建BOM时只想着主料,贴纸、扎带、干燥剂、打印标签这些辅料包材统统没进BOM。等到MES按BOM做齐套校验,主料够了,辅料代发库存不足,系统一直报欠料。现场管理人员又着急又不理解:“这么一个小标签,怎么就能让工单下不去?”
这里要提醒所有上线MES的企业一句:BOM的维护不能完全甩给研发或工程一个部门,制造、工艺、仓储、品管都要参与评审。至少要确认三件事——主料是否有遗漏、辅料/包材是否已覆盖、消耗性物料(如胶水、锡膏)的损耗率是否合理。最好在上线前做一个BOM完整性专项审查,把过去半年生产过的典型产品拉出来,一个一个对BOM、对工序、对实际发料记录,把缺口都补上再上线。
5.2 Lot编号规则不统一,追溯链必然断
集团型企业和多基地工厂最容易踩这个坑。总部没有统一下发Lot编号规范,各分厂自己编,A厂用“日期+班次”,B厂用“物料编码+日期+流水”,C厂干脆直接用供应商批号。等集团要做跨工厂追溯或质量集中分析时,数据拉出来全是乱的,同一个产品在不同工厂的Lot格式完全不同,想按规则解析都解析不了。
这个坑最麻烦的是:上线时看不出来,等用了一年半年积累了大量数据后才暴露。一旦暴露,改起来就是动历史数据的大工程。所以我强烈建议,项目启动的第一周就把Lot编号规范定死,形成集团统一标准,哪怕分厂有不同的需求,也尽量在标准规范内扩展,不要另起炉灶。
5.3 合批与拆批:一对多追溯的爆炸问题
合批和拆批本来是流程行业的常规操作,但在做批次追溯时容易出大问题。举一个实际发生过的场景:某食品厂一个调配罐一次投入了5个原料Lot,搅拌后灌装出2000箱产品,每箱又生成一个成品Lot。这就形成了“5个原料Lot → 1个中间体 → 2000个成品Lot”的追溯关系。反向追溯时,一个原料Lot能关联到几百上千个成品Lot,查询结果巨大,而且大部分可能是没问题的,反而干扰判断。
解决思路有两个:一是降低批次记录的颗粒度,把灌装过程按时间段拆成更小的在制品批次,比如每小时一个批,这样每个时间段内的成品Lot数量可控,追溯更精准;二是严格记录“工序批次记录”(Process Batch Record),把投入哪些原料Lot、产出哪些成品Lot、当时工艺参数都固化下来,让追溯结果有据可依。颗粒度太粗会导致追溯范围过大,太细又会让记录工作量爆炸,这个度要根据行业属性和合规要求来决定,没有标准答案。
5.4 先定业务颗粒度,再让系统落地
这句话是我最想对每个准备上MES的团队说的。很多项目做砸,不是软件不行,而是刚开始就没想清楚“管到多细”。
“管到多细”至少包含三个决策:成品是管到序列号还是批次?半成品要不要生成Lot,还是只在关键工序生成?生产工单是一单到底,还是每个工序独立工单?这三个问题的答案直接决定了BOM的展开层级、Lot的创建时机、追溯的精度以及操作工录入的工作量。
我见过的失败案例,往往就是高层拍板“系统里所有成品都上序列号”,结果现场产能大、节拍快,操作工根本没时间扫序列号,两条线跑下来系统数据稀碎。反过来也有为了省事把所有产品都按Lot管理,结果客户要求单件追溯时完全满足不了,只能返工补数据。
务实一点的做法是分产品分类定策略:高价值、有合规要求的走序列号;中价值、产量大的走批次加关键工序节点记录;低价值、低风险的走粗粒度批次。把“颗粒度决策表”在项目启动阶段交由业务负责人逐条确认,形成书面文档再动手开发。这个文档越早做完,后面返工越少。BOM和Lot的模型一旦定错,后期调整的成本可比改几个界面高得多。
磨刀不误砍柴工,这句话在MES项目中从来不会过时。BOM和Lot看是两个基础概念,背后透露的是企业愿不愿意接受标准化、愿不愿意为质量付出记录成本、愿不愿意在管理细节上较真。能上MES的企业不少,但能把BOM和Lot用好、用透的企业并不算多。我个人这几年越来越笃信一件事:MES项目成败的关键,往往不是那些漂亮的看板和大屏,而是第一天把BOM有没有建全、Lot怎么编、投料怎么记这些“不上台面”的基础细节有没有较真。谁在这些细节上多花心思,谁的系统后面就会更省心。
