本小节知识点

知识点1:条件求和的应用

知识点2:LET函数应用


【资料图】

知识点3:条件格式的应用

知识点4:排程约束规则的应用;

知识点5:粗能力计算的应用

汇总已排工时

订单池中已经通过默认第一个机械臂坑位引用过去了,同时根据机械臂和坑位对应的款型计算出需要的工时,共计12684个工时,此时还需要在计算出具体每个机械臂的坑位的工时。

在边上新开一列,录入函数:

=DROP(UNIQUE("3.机台数据"!C2:C1000),-1),可以把建立好的机台数据库中的数据引用过来。

边上再增加一列,录入汇总工时,就是汇总已排工时的工时时间;录入函数:=SUMIFS(P2:P10000,Q2:Q10000,AL2#),动态数组直接填充,可以看到,如果按默认机械臂坑位来排程的话,有许多坑位是没有产量的。

为了更好的排程,每一个款型需要看一下已排多少,未排多少?所以还需要加上已排信息。

粗能力计算

上面在边上创建了已排工时的一个汇总,可以发现非常不合理,先计算一下粗能力计划,根据默认机械臂坑位对应的切割款型来计算汇总工时得到总工时:12684,已知有120个坑位,计算出每个坑位的时间为:

12684/120=105.7个工时,按每天出勤21小时计算(4小时为预估切换的时间),大概需要5天。

所以理论上每个坑位的最佳工时应该是100个工时左右。为了排程的时候能够提醒,需要把已排和未排的款型都放到一个二维区间,方便提醒。

录入公式:

=SUM(AM2#) 已排总工时

=COUNTA(AL2#) 总坑位

=AP1/AR1 每个坑位工时

已排工时提醒

昨天已经把每个款型可以加工的程序坑位通过动态数组公式写好了,公式为:

=DROP(REDUCE("",CHOOSECOLS(H2#,3),LAMBDA(x,y,VSTACK(x,TAKE(XLOOKUP(y,"1.程序数据"!P3#,"1.程序数据"!T3#),,16)))),1),这个公式太长了,用LET公式来简单化一下。

把公式变成:

=IFNA(LET(A,DROP(REDUCE("",CHOOSECOLS(H2#,3),LAMBDA(x,y,VSTACK(x,TAKE(XLOOKUP(y,"1.程序数据"!P3#,"1.程序数据"!T3#),,16)))),1),A&"-"&XLOOKUP(A,AL2#,AM2#)),"")

函数释义:

用机械臂坑位去找汇总的工时,再用机械臂坑位连接坑位工时,就达到这样的效果:“F006A-680”,前面是坑位,后面是坑位已经排的工时。

这样的话就可以看到机械臂坑位之间的不平衡的排程了。

举例说明:

下图中F006A明显超出预计的100个工时的目标,超出580个工时,需要把F006A的工时分配的其他坑位上面,如下图中红色框框处中的F048A、F055B。

已排坑位的调整

上面已经做好了提醒 ,现在要做的就是生产计划的职能之一了,调整不平衡的坑位产能,确保模具与程序相对平衡。

为了方便调整,录入函数:

=XLOOKUP(OFFSET(R2#,,-1),AM2#,AN2#),把已排坑位的工时匹配过来

条件格式大于粗能力负荷的红色提醒

条件格式→大于每个坑位用时 106的显示为红色

约束1:模具只有一个的,只能排程一个坑位,筛选模具数量为一的,同时颜色为红色的。效果如下图

约束2:模具数只有一个、同时程序只有一个的,筛选出来,调整机台,确保双唯一的机台不要排程其他的程序。

如上图中HN-148只有一套模具和一个程序,只能排程在F034B上面,需要把F034B的其他款型不排。

约束3:已排程超的,二维排程中有坑位为0,或者产能未满100的及时调整

未完待续……

我是古哥:

从事制造行业18年,在企业运营、供应链管理、智能制造系统等方面具有丰富的实战经验。企业智能化,柔性化计划运营管理专家,擅长通过企业流程优化规范,企业管理、导入计划运营提升企业效率;对提高企业准时交货率,降低企业库存,输出智能制造人才有丰富的经验。学习PMC生产计划,关注古哥计划!

推荐内容