If so, could you explain it a little more? Also if these are really conveyors then why not model them as such?
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?
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.
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'?
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).
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?
14 People are following this question.
FlexSim can help you understand and improve any system or process. Transform your existing data into accurate predictions.
FlexSim is a fully 3D simulation software environment. FlexSim can be used to simulate any process in any industry.
FlexSim®, FlexSim Healthcare™, Problem Solved.®, the FlexSim logo, the FlexSim X-mark, and the FlexSim Healthcare logo with stylized Caduceus mark are trademarks of FlexSim Software Products, Inc. All rights reserved.
Privacy | Do not sell or share my personal information | Cookie preferences | Report noncompliance | Terms of use | Legal | © Autodesk Inc. All rights reserved