2023-08-20 20:06:52 来源 : 个人图书馆-坚定前行
知识点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生产计划,关注古哥计划!