智能主计划排程与物料控制表 - 2
优秀创作者
智能主计划排程与物料控制表-Excel版本-1
接上文,从专业生产计划的角度出发,主生产计划(MPS)是整个计划体系的起点。只有在 MPS 明确了各生产任务的预计开工日期之后,物料控制模块才能据此开展精准的齐套分析与欠料预警。因此,要实现真正的“自动排程”,必须先构建一个可靠的时间基准——工作日历。
工作日历
工作日历不仅是MPS 排程的时间锚点,更是后续计算产线负荷、产能匹配和物料需求的关键依据。它通常以“每日有效出勤工时”为基础,排除节假日、周末等非工作日,确保排程结果贴合实际生产节奏。
因此,我们将《智能主计划与物料控制表》的第一张工作表命名为“工作日历”,并采用全动态数组架构进行设计,实现自动扩展、零维护填充。
工作日历表结构(从A2 开始输入以下公式):
A2=SEQUENCE(3650,,DATE(YEAR(TODAY()),1,1))
自动生成从当年1月1日起连续10年(3650天)的日期序列;
B2=YEAR(A2#):提取对应年份;
C2=MONTH(A2#):提取对应月份;
D2=WEEKDAY(A2#,2):返回星期几(1=周一,7=周日),便于后续识别工作日;
E2=F2:.F100000:动态数组引用F列手动录入的出勤时间
用料分析
用料分析”数据通常来源于 ERP 系统的生产模块,是每张生产任务单所对应的详细物料需求清单。该表包含以下关键字段:生产的产品编码、子项物料编码、应发数量、已领数量、未领数量等;这张明细表是进行物料齐套判断、欠料预警及生产执行跟踪的核心数据基准。通过它,可快速识别哪些任务存在缺料风险、哪些物料尚未领用,从而支撑精准的物料调度与计划调整。
从导出注意事项:
从ERP 导出用料分析数据时,需特别注意筛选条件的设计:
建议从BOM 的第 0 层(即顶层成品)开始导出;
筛选范围应为“所有未结案的生产任务”,确保覆盖当前正在执行或待开工的工单;
对于装配型产品,顶层通常对应总装车间的生产任务,其下层(如1 层)即为直接组成该成品的子件物料。此时,用料分析实质上反映了 “0 层 → 1 层” 的展开关系。
✅ 提示:确保导出的数据包含完整的任务号、物料层级、数量状态等字段,避免因信息缺失导致后续分析偏差。
此表将作为《智能主计划与物料控制表》中欠料计算与齐套分析的唯一权威数据源,其准确性直接决定整个物料控制系统的可靠性。
生产任务
由于“用料分析明细表”中已包含完整的生产任务信息(如任务编号、产品编码、需求单位等),因此无需再从 ERP 系统单独导出《生产任务明细表》。我们可以通过公式直接从“用料”表中提取并整理出独立的“任务”清单,实现数据复用与简化流程。
新建工作表:命名为“任务”
在新工作表中,使用动态数组函数对原始用料数据进行清洗和结构化处理,具体公式如下::
在新工作表中,使用动态数组函数对原始用料数据进行清洗和结构化处理,具体公式如下:
A2:=SEQUENCE(COUNTA(B2:B10000))
→ 自动生成序号,对应每条唯一任务记录;
B2:=UNIQUE(用料!D2:D900000)
→ 提取“生产任务单编号”列中的所有不重复值,形成唯一的任务列表;
C2:=XLOOKUP(B2#, 用料!D:D, 用料!E:E)
→ 根据任务编号,查找对应的“需求单据号”;
D2:=XLOOKUP(B2#, 用料!D:D, 用料!F:F)
→ 查找对应的“需求单据行号”;
E2:=XLOOKUP(B2#, 用料!D:D, 用料!B:B)
→ 查找对应的“产品编码”;
F2:=XLOOKUP(B2#, 用料!D:D, 用料!C:C)
→ 查找对应的“基本单位数量”(即该任务的总产量);
✅ 说明:所有公式均基于 Excel 动态数组功能,结果自动溢出整列,无需手动拖拽填充。
图中所示为实际应用效果,通过上述公式可快速生成一张结构清晰、去重后的“任务主表”,供后续排程与物料计算调用。
小时产出
在构建智能主计划排程系统时,自动排程的实现依赖于三个核心条件:
工作日历(已实现)、小时产出(UPH)、线体对应关系;
目前,工作日历模块已完成,接下来我们依次搭建其余两个基础模块。
1. 小时产出(UPH)表
“小时产出”即单位时间内的生产能力,是计算生产周期和排程负荷的关键参数。我们将单独建立一张名为 “产出” 的工作表,用于人工录入各产品编码对应的小时产出数据。
A列:产品编码(如 4.F8002.03V.0047-0084)
B列:小时产出(单位:件/小时)
示例:若某产品每小时可完成200 件,则其 UPH 值为 200。
提示:该数据通常由工艺部门提供,需定期维护以保证准确性。此表将作为后续计算“单个任务所需工时”和“排程天数”的基准依据。
2. 线体配置表
由于本系统面向的是装配型生产线,且默认所有装配线均可生产各类产品(即无特定产线绑定),因此无需复杂的设备匹配逻辑。我们只需新建一张名为“线体” 的工作表,列出当前可用的装配线数量即可。
A列:线体编号(如 1 至 8)
可扩展字段:线体名称、班次、产能状态等(未来可优化)
当前配置中,假设共有8 条装配线(如图所示),系统将基于此数量进行并行排程计算,确保任务合理分配。
总结:三大基础模块现状
工作日历 : 动态数组生成,支持长期排程
小时产出(UPH):手动维护,作为排程基准
线体对应关系:默认全产线通用,简化逻辑
下一步:将基于这三张基础表,结合“任务”表中的生产需求,实现自动倒推开工日、计算排程周期、生成每日生产负荷等功能。