闲人闲谈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等框架使用。在算法上,掌握神经网络的数学原理,手动实…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...

【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...
Oracle11g安装包
Oracle 11g安装包 适用于windows系统,64位 下载路径 oracle 11g 安装包...
云原生周刊:k0s 成为 CNCF 沙箱项目
开源项目推荐 HAMi HAMi(原名 k8s‑vGPU‑scheduler)是一款 CNCF Sandbox 级别的开源 K8s 中间件,通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度,为容器提供统一接口,实现细粒度资源配额…...