手把手教你构建PMC全自动多工序分解系统-3
优秀创作者
全文约500字
大家好,我是古老师。昨天的《全自动工序分解表》的第2章中,完成了工艺路线二维和一维的设计,在今天的第3章中,我们继续设计MPS订单模块和部分分解模块。目标就是MPS订单下达后,快速根据工艺的一维数据进行查找与引用分解。
MPS主计划.输入
MPS的主计划输入这一块可以使用我们前面创建的《PMC生产计划自动排程全动态数组设计》这张表的数据。整体思路就是这样,零件的排程放到自动排程中进行预计排程,排程完后,复制粘贴成数值数据到此零件分解表中。
粘贴完成后,就作为《零件分解表》的MPS.输入,后续更新此表即可。这里为什么不把自动排程放到一起的原因是考虑运算量的问题,全部放一起的话,虽然方便,但是当数据量大的时候,运算效率不高。
MPS二维.输出
MPS主计划.输出的设计还是类似用工艺二维.输出的思路,先1:1转换成动态数组,方便后续输出一维数据。录入以下动态数组公式:
垂直区线体:=TRIMRANGE(MPS.输入!A2:A21),垂直方向的直接向右填充
水平区日期:=TRIMRANGE(MPS.输入!I1:Z1)
交错区:=OFFSET(TRIMRANGE(MPS.输入!I1:Z1),1,,ROWS(A2#))
MPS一维.输出
由于前期已经把二维的数据进行了动态数组化,所以此时用公式TOCOL加上IF判断就可以快速把二维MPS转换成一维的MPS,录入以下公式:
A2=TOCOL(IF(MPS二维.输出!I2#>0,MPS二维.输出!A2#,\),3)
B2=TOCOL(IF(MPS二维.输出!I2#>0,MPS二维.输出!B2#,\),3)
C2=TOCOL(IF(MPS二维.输出!I2#>0,MPS二维.输出!C2#,\),3)
D2=TOCOL(IF(MPS二维.输出!I2#>0,MPS二维.输出!I2#,\),3)
E2=TOCOL(IF(MPS二维.输出!I2#>0,MPS二维.输出!I1#,\),3)