question

Moosa avatar image
0 Likes"
Moosa asked Moosa commented

How do I remove duplication of lanes from the model at same instant of time?

FlexSim 22.2.4
pull itempush
· 7
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Jason Lightfoot avatar image Jason Lightfoot ♦♦ commented ·
Is this a different question from y our comment in your other question?

If so, could you explain it a little more? Also if these are really conveyors then why not model them as such?

0 Likes 0 ·
Jason Lightfoot avatar image Jason Lightfoot ♦♦ commented ·

Let's re-write this - but first tell us exactly what needs to happen.

Does each type get sent to one lane only at a time?

Once a lane is allocated a type then it receives only that type until it has 6 items?

Once you've sent 6 items you can then start to send a second different type to that lane even though it still contains the previous type?

Lanes don't need to flush between types?

Anything else?

0 Likes 0 ·
Moosa avatar image Moosa Jason Lightfoot ♦♦ commented ·
yeah each lane can have one particular type of item,once it gets filled up with 6 pieces(max content of the lane,I could any ways change this numbe rif the logic is generated) of a particular type , the following lane or other lane can take this type of item, to summarise:

if they are 10 different types of items flowing , each item should flow into 10 different lanes, but the 11th item if is of type 1 it should take the lane 1 or the lane it already occupied until it reaches the value of 6, after it reaches the vale of 6( max content), it could take another lane.

0 Likes 0 ·
Jason Lightfoot avatar image Jason Lightfoot ♦♦ Moosa commented ·
What's the purpose here - are you trying to create slugs of items?

The reason I ask is I'm wondering about the case when you have 2 of Type1 and 4 of Type2 in a lane. Since it has 6 in total, can it then take Type3 or does it need a minimum of 5 of each type as a 'slug'?

0 Likes 0 ·
Show more comments

1 Answer

Felix Möhlmann avatar image
0 Likes"
Felix Möhlmann answered Moosa commented

Here's a model that uses a Decision Point at the end of the conveyor to assign a queue to the arriving items. It uses maps and an array (as labels on the DP) to keep track of which type is currently assigned to what queue/port, how many items where already send there and which queues are still available. If no queue can be assigned the item is stopped.

When the last item exits a queue, it resets the respective map entries on the Decision Point and sends a message to it. This then lets the point reevaluate where to send the currently waiting item, if there is one.

model-built-mockup-testing-fm.fsm

If you also want the processor to first empty a queue before moving on to the next, I would suggest to have all queues push their items to a list from which the processor pulls. (Meaning the entire batch will be pushed to the list immediately, preventing other items of getting mixed in).


· 10
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Moosa avatar image Moosa commented ·
Thanks for this solution,it does what exactly I needed,but anyways would recheck it for all the conditions.
0 Likes 0 ·
Moosa avatar image Moosa Moosa commented ·
I still find some duplication, when I tested for the logic.The max content when changed to 8 and the batch size of 5 or max stay time of 1000 seconds, is still creating duplication
0 Likes 0 ·
Felix Möhlmann avatar image Felix Möhlmann Moosa commented ·
The logic was designed under the assumption that the batch size and max content are equal and that due to this, a full queue will get emptied completely before receiving new items.

If they are not you will always see cases of "duplication". Take the following example: A queue's maximum content is reached, but because the processor is busy it cannot yet release any items. If another item of the same type arrives it will be assigned to an empty queue if there is one. Some time later items will start to leave the first queue leaving you with two partial queues with the same type.

Whichever queue you choose to route items to now, the other one will probably stay blocked by the partial batch until the max wait time elapses, since it is not guaranteed that the first queue will completely empty out before that time. What should the logic do at this point in your opinion?

0 Likes 0 ·
Show more comments