闲人闲谈PS之五十三——离散制造中的魔鬼--物料套裁
惯例闲话:最近和老婆大人商议买车事宜,闲人以为会陷入买油车还是电车的纠结,没想到老婆大人无比坚定,买电车。在买车这方面,老婆的想法居然比闲人超前。闲人对车定位在代步工具,2年前,对车还是印象还是停留在油车靠谱,电池能源密度低、充电时间长。如今再深入了解一下,特别是这次去广汽埃安参观超级工厂之后,发现这个汽车世界完全变样了。所以还是支持了老婆大人的买电车想法。小小感叹下这个瞬息万变的时代——意料之外,情理之中。前三次工业革命,关键的特征是对能源使用方式,电力能源虽说兴起于第二次工业革命,但是真正大规模应用还是当下在民用领域,真正被人类玩出了花样。电力的二次升级带来的,是国产车真正能在世界舞台上和其他列强一较高下了。今年中国汽车出口额一跃到首位也可以看出些端倪…好像越说越远了,就是买辆车嘛,嗯,好好工作,多挣钱,过年给老婆买辆车。
闲话到此为止,这次聊聊离散制造企业中魔鬼问题——物料套裁
关于套裁的一些背景知识
套裁,有些场合称之为套料,这是离散制造行业的一个专用名词,可以说,只要对生产过程涉及对材料形状的改变,大部分会涉及到套裁。举个例子,钢结构企业要给客户建造一个将结构雨棚,雨棚的主体结构是由工字钢焊接构成,如下图,最终结构形状。
一般市场某牌号的工字钢是有标准长度的,有6米,7米等常规的标准长度,企业采购某种型号的钢材也会按照标准长度采购,这种标准长度的我们称之为原材料。
设计师根据客户需求完成设计后,EBOM组成如下,成品CP-001,有3中规格的加工件组成,编号、数量、加工长度、料头长度等加工过程所需要的BOM关键信息已输出。
详细清单如下,并指定用18#工字钢来加工
对于供应链来讲,市场上的材料可选长度是有限的,必须要制定采购哪种长度以及数量。
下面是套裁的计算过程:
1、将加工长度和料头拼接成一线
算出来总长度为30+2515+60X4+2380X3+2400+30 = 12355MM
这里只是用简单的长短中顺序排列,实际还有短中长等顺序,会对套裁结果产生影响。
2、假定市场上只有6000MM长度的材料,经过套裁计算,就需要采购3支,方能满足。
购买3支6米的原材料,最终材料的利用率 = 加工长度之和 / 原材料总长度 = 12355 / 18000 = 68.7%
显然买6米长的材料浪费将近33%的材料。
3、假定市场还有其他长度选择,5米的,经过套裁计算,需要采购3支,最终利用率 = 12355 / 15000 = 82.3%
和上面相比,明显利用率增加了
4、再假定极端情况,直接购买12293mm的长度材料,1支,最终利用率将达到 98%。但几乎不可能,钢铁厂不会根据个性化需求来定制尺寸,而且这种长度的材料,运输几乎不可能。
所以最终,企业会根据市场的原材料可选范围、材料利用率,来确定购买什么规格的材料。套裁的最终目的,是提高材料利用率,降低成本。
采购部门拿到上述清单后,要做CP-001成品一个,采购18号H型钢,规格5000长度的3支,下发采购订单执行采购任务。
以上是对于线材的套裁,我们可以称之为一维套裁。还有二维平面套裁,板材加工企业、服装企业较为常见,相比线材,二维套裁的计算复杂,还有三维立体套裁,这种就更加复杂了。
目前金属加工、工程、装备制造等企业,对以上套裁计算过程,有专业套裁软件来执行,如百科、西飞等,这里就不详细展开了。下图为某套裁软件的操作界面
套裁引发的BOM复用问题
上面简单科普了一下套裁基本业务概念。对于离散制造业而言,带来一个十分复杂的问题,由于存在套裁,使得原材料的用量和成品数量之间,并不是线性关系。如下表:
这就带来了一个问题,CP-001是某公司标准产品,但是每次生产数量不一样,那么最底层的原材料用量不等于线性配比。
很多上SAP的企业,没有对BOM采用版本管理,一个物料编码的BOM只能存在一个有效BOM,这就无法解决精准领料的问题。所以,很多聪明的顾问,想到了多种办法来解决这个问题。
解决方案
方案1:一物多码。简单粗暴,每次下生产计划,用同一张图,每次都新建一套成品和半成品编码。这个办法的优势在于简单高效,对于没有系统集成,比如PLM等外围系统的,SAP自己玩自己的,完全可以,S4 HANA 物料编码长度扩展到了40位,所以可以完全不考虑标准化和物料编码的容量。但是现在越来越多的企业设计业务采用PLM来管理,图纸和物料编码一物一码关系,所以这个方案在后续不是主流,而且也不利于企业标准化推行。
方案2:套裁用料不在BOM管理。这是一个从管理手段上解决的方案,半成品之下原材料层,不进BOM结构管理。设计师出图——>SAP生成BOM—>计划部门转工单—>生产部门根据套裁结果手动挂接原材料到工单上——>领料生产。这种方法也很有效,可以和套裁软件做接口,自动和工单挂接等,在一些定制程度高的工程类企业用的比较多,需要管理制度配合落地。
方案3:启用BOM版本管理。BOM版本管理,在SAP里体现为备选物料清单字段
如上图,90040900000000190A成品有4个BOM版本。我们通过BOM展开可以看到这种关系
启用版本之后,可将版本用于每次不同批量的下单,N个批量对应N个BOM版本。
方案4:WBS-BOM,每次下单增加一个WBS,创建WBS-BOM,物料+WBS的维度确定BOM,WBS充当版本的作用,对于项目制企业,如果出现套裁业务,建议走WBS-BOM方式,可以很好融合项目计划。关于WBSBOM的内容,本篇就不详细展开了,在往期的文章、团子、钢柱老师的文章,均有详细内容,大家翻看之前文章即可。
这里分享一个很有意思的地方,WBS-BOM主表PRST,PRST表中也有STLAL BOM版本字段存在,但是你会发现同一个物料号,不同WBSbom,版本号都是01。
在WBSBOM这里版本号,闲人最初的理解是没什么用。用CSP2展开后,有个小发现
2000000000000半成品是个标准BOM,但是WBSbom依然可以展开,展开的版本默认是01。
那我们在建一个02的标准BOM,然后删除01版本,再看测试展开结果。
结果在预料之中,没有被展开。闲人之前的文章混合制BOM展开中有写过WBS-BOM和标准BOM混合结构展开,这个测试结果表明:要实现混合制BOM展开,标准BOM的版本必须为01。PRST-STLAL = 01的作用就是这个功能准备的,但是前提条件版本必须为01。请各位重点标记
结论
BOM多版本使用注意事项
介绍下方案3中的一些使用注意事项。
1、下单的批量和BOM版本务必对一对一关系。
2、从BOM的成品到最后一层半成品,BOM版本号务必保持一致;
3、使用BOM展开函数CS_BOM_EXPL_MAT_V2展开控制。 ALTVO = ‘X’ 务必要赋值,这样展开的BOM才是精准的。否则下层的展开会跑到版本01去。
CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'EXPORTINGALTVO = 'X'CAPID = 'PP01'DATUV = SY-DATUMEMENG = '1'MTNRV = LS_MAST-MATNR "物料STLAN = '1'STLAL = LS_MAST-STLALMKTLS = 'X'MEHRS = 'X'WERKS = LS_MAST-WERKS "工厂IMPORTINGTOPMAT = LS_TOPMATTABLESSTB = LT_STBMATCAT = LT_MATCATEXCEPTIONSALT_NOT_FOUND = 1CALL_INVALID = 2MATERIAL_NOT_FOUND = 3MISSING_AUTHORIZATION = 4NO_BOM_FOUND = 5NO_PLANT_DATA = 6NO_SUITABLE_BOM_FOUND = 7OTHERS = 8.
闲人在这里连续用了3个务必,表明在这些年应用中碰到的雷有多大!
小结
回到开始,闲人为何把套裁问题称之为魔鬼问题,BOM不准的后果,大家想必是清楚的,买料、领料、标准成本估算都是错误
小结以上方案,可以看出一个共同的特点,那就通过增加BOM的方式来解决。选取什么样的方案,取决于企业标准化程度,闲人推荐的方案是3,4。项目型制造业务,推荐用WBS-BOM。方案4的标准成本估算可以基于物料+WBS,而方案3通常情况下对01版本BOM做标准成本估算,只有增强才能做可选。所以想要成本估算准确,也是推荐用方案4。
相关文章:

闲人闲谈PS之五十三——离散制造中的魔鬼--物料套裁
惯例闲话:最近和老婆大人商议买车事宜,闲人以为会陷入买油车还是电车的纠结,没想到老婆大人无比坚定,买电车。在买车这方面,老婆的想法居然比闲人超前。闲人对车定位在代步工具,2年前,对车还是印…...

Dell服务器iDRAC9忘记密码, 通过RACADM工具不重启 重置密码
系列文章目录 文章目录 系列文章目录前言一、RACADM工具二、linux环境1.解压安装RACADM工具测试RACADM工具重置iDRAC密码 Windows环境 前言 一、RACADM工具 RACADM工具 官网参考信息 https://www.dell.com/support/kbdoc/zh-cn/000126703/%E5%A6%82%E4%BD%95-%E9%87%8D%E7%BD…...
2024年Java架构篇之数据结构与算法面试题
2024年Java实战面试题_java 5 年 面试-CSDN博客 2024年Java架构篇之数据结构与算法面试题 1、判断一个数是否是2的N次方,比如2、4、8、16是6、10不是 1:01、2:10、3:011、4:100、7:0111、8:1000、15:01111、16:10000 if(n&(n-1) 0) 那么n就是2的次方 n > 1...

蓝桥杯刷题day06——平均
1、题目描述 有一个长度为n 的数组(n 是 10 的倍数),每个数ai都是区间 [0,9] 中的整数。 小明发现数组里每种数出现的次数不太平均,而更改第i 个数的代价为bi, 他想更改若干个数的值使得这10 种数出现的次数相等&…...
MySQL分区的优缺点
前言 数据库中的分区技术为处理大规模数据提供了一种有效的手段,通过将数据划分成更小的可管理单元,我们能够提高查询性能、简化数据维护并更灵活地管理存储空间。然而,在采用分区时,我们必须认真考虑分区键的选择和实施细节&…...
2023年度总结
目录 工作读书生活展望 用一百分总结这一年,给自己打80分。 这一年中中常常,坚持踏踏实实走好每一步。 工作 项目上,先后经历了「从库恢复后自动上线」、「主动切换RTO优化」、「MGR高可用统一」,以及高可用稳定性建设等。另外&…...
aspose-words在linux上安装字体
大多数情况下,使用 Aspose.Words 将 DOC 或 DOCX 文档转换为 PDF 格式。如果需要在 Linux 计算机上执行此操作,确保 Aspose.Words 以最佳准确性渲染文档。 最常见的是,需要转换的 DOC 和 DOCX 文档是在 Windows 或 Mac OS 操作系统上使用 Microsoft Word 创建的。因此,DOC…...

SpringBoot实战项目第一天
环境搭建 后端部分需要准备: sql数据库 创建SpringBoot工程,引入对应的依赖(web\mybatis\mysql驱动) 配置文件application.yml中引入mybatis的配置信息 创建包结构,并准备实体类 完成今日开发后项目部分内容如下图示 用户注册于登录部分…...

C# 信号量(Semaphore)详细使用案例
文章目录 简介信号量的工作原理使用场景使用示例其他使用实例1. 数据库连接池管理2. 文件读写同步3. 生产者消费者问题4. 打印任务队列同步5. Web服务器并发请求限制 简介 在C#中,信号量(Semaphore)是.NET框架提供的一个同步类,位…...
《Docker极简教程》--Docker基础--Docker的基本概念
在这篇文章中我们先大致的了解以下Docker的基本概念,在后续的文章中我们会详细的讲解这些概念以及使用。 一、容器(Container) 1.1 容器的定义和特点 容器的定义 容器是一种轻量级、可移植的软件打包技术,用于打包应用及其依赖项和运行环境,…...

【AIGC核心技术剖析】DreamCraft3D一种层次化的3D内容生成方法
DreamCraft3D是一种用于生成高保真、连贯3D对象的层次化3D内容生成方法。它利用2D参考图像引导几何塑造和纹理增强阶段,通过视角相关扩散模型执行得分蒸馏采样,解决了现有方法中存在的一致性问题。使用Bootstrapped Score Distillation来提高纹理&#x…...
新版MQL语言程序设计:外观模式的原理、应用及代码实现
文章目录 一、什么是外观模式二、外观模式的实现原理三、外观模式的应用范围四、外观模式应用实例银行系统的设计量化交易系统的设计 五、外观模式的代码实现 一、什么是外观模式 外观模式(Facade Pattern)是一种结构型设计模式,它提供了一个…...

Docker 搭建mysql 集群(二)
PXC方案 很明显 PXC方案在任何一个节点写入的数据都会同步到其他节点,数据双向同步的(在任何节点上都可以同时读写) 创建MySQL PXC集群 1 安装PXC镜像 docker pull percona/percona-xtradb-cluster:5.7.21 2 为PXC镜像改名 docker tag pe…...

L1-018 大笨钟-java
输入样例1: 19:05输出样例1: DangDangDangDangDangDangDangDang输入样例2: 07:05输出样例2: Only 07:05. Too early to Dang. java import java.awt.desktop.SystemEventListener; import java.util.Scanner;public class M…...

monaco-editor布局篇(二)-自动换行
monaco-editor的换行方式,主要分为3种情况: 不换行按照编辑器宽度换行按照制定列数换行 主要受wordwrap和wordwrapcolumn控制,具体如下: 取值含义off不换行,会一直滚动on换行,文本将在视区宽度内自动换行…...
08-常用集合(容器)
上一篇: 07-使用Package、Crates、Modules管理项目 Rust 的标准库包含许多非常有用的数据结构,称为集合。大多数其他数据类型表示一个特定值,但集合可以包含多个值。与内置的数组和元组类型不同,这些集合指向的数据存储在堆上&…...
CentOS 中文乱码
CentOS 中文乱码 1、 查看自己系统有没有安装中文语言包,可使用 locale -a 命令列出所有可用的语言环境 如果有中文,则不用安装,如果没有,需要重新安装,使用 yum install kde-l10n-Chinese 2、 修改 i18n 和 locale…...
Java List中对象根据id去重,并处理重复对象的某个字段
List中对象根据id去重 一、需求二、解决 一、需求 参考文章:https://blog.csdn.net/A_Gui_Code/article/details/106978867 对在list集合中对象根据主键id去重,同时需要对重复对象的某个字段进行单独处理。 例如,对象包含字段如下, 当某个对象重复时&a…...
小周学JAVA—八股六
自动装箱和拆箱 Java中基础数据类型与它们对应的包装类见下表: 原始类型包装类型booleanBooleanbyteBytecharCharacterfloatFloatintIntegerlongLongshortShortdoubleDouble 装箱:将基础类型转化为包装类型。 拆箱:将包装类型转化为基础类…...

【深度学习】从0完整讲透深度学习第2篇:TensorFlow介绍和基本操作(代码文档已分享)
本系列文章md笔记(已分享)主要讨论深度学习相关知识。可以让大家熟练掌握机器学习基础,如分类、回归(含代码),熟练掌握numpy,pandas,sklearn等框架使用。在算法上,掌握神经网络的数学原理,手动实…...

边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...

初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...

Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践
前言:本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中,跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南,你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案,并结合内网…...