我有一条生产线,其中一些资源可以制造成批的工件。由“源”块创建的件数和批次数是参数。例如,如果您设置48个创建的零件和4个批次,则当资源完成12个零件时,每个批次都会关闭。例如,当我有51个批次和4个批次时,就会出现问题,在这种情况下,我应该具有不同大小的批次,例如12、12、12,最后一个批次有15个批次。有什么办法解决这个问题? 谢谢您的建议
答案 0 :(得分:0)
遵循此Sample Model。假设所有零件都在同一时间到达,则只需使用以下命令更新源块上的“退出时的batchSize”:
batchSize = numberOfParts/numberOfBatches;
batchparts.set_batchSize(batchSize);
然后,在批处理块上的“退出时”再次对其进行更新:
if(queue.size()<2*batchSize){
batchSize=batchSize+(queue.size()%batchSize);
}
batchparts.set_batchSize(batchSize);
注意(queue.size()%batchSize)是MOD函数,它为您提供了最后一批中需要批处理的零件的额外数量。
如果零件不是同时到达的,则可以创建一个变量batchNumber,该变量将让您知道接下来要进行的批处理数量(1为numberOfBatches,初始化为1)。
然后,您只需要在批处理块的“退出时”进行更新,如下所示:
//If the next batch is the last one, batch all the
//remaining quantity until completing the total number of parts
if(batchNumber+1=numberOfBatches){
batchSize=batchSize+(numberOfParts%batchSize);
batchparts.set_batchSize(batchSize);
batchNumber=1;
}
batchNumber=batchNumber+1;
我希望这会有所帮助。