question

Aditya Kamath avatar image
0 Likes"
Aditya Kamath asked Aditya Kamath commented

How to make a queue pull multiple items from many ports?

I have three queues feeding into one larger queue(this could also be any other process). How can I specify the pull strategy such that a downstream process or a queue will be able to pull 'x' number of parts from Queue 1, 'y' number of parts from Queue 2 and 'z' number of parts from Queue 3? I tried using the ItemType by port option in the pull strategy but that doesn't let me specify the number of each ItemType to pull.

pull-specific-number-of-parts.fsm

FlexSim 16.2.0
pull strategyqueue content
5 |100000

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

Regan Blackett avatar image
1 Like"
Regan Blackett answered Aditya Kamath commented

I would approach this using a combination of 3D elements and process flow for control, in conjunction with a a Global Item List

I have three Queues which during send to Port, 'Push' their flowitems onto a partitioned Item List, where each Queue has it's own partition. Int he Process Flow I create a token that represents the downstream Queue's ability to pull flowitems. The token executes 3 Pull from List activities each that pull an amount from each of the upstream Queue's partitions in sequence (this could be modified to all them to be pulled in any order too, but from simplicity it goes through each in sequence). Once the desired items have been Pulled from the List, the 'Move Object' activity puts them in the Downstream Queue.

See the Attached model and let me know if this helps.


queue-pull-logic.png (204.2 KiB)
queue-list-pull.fsm (23.0 KiB)
· 1
5 |100000

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

Aditya Kamath avatar image Aditya Kamath commented ·

@regan.blackett Thanks! I tried it out for my model and it works beautifully. I'm really beginning to like the process flow approach.

0 Likes 0 ·
Ralf Gruber avatar image
3 Likes"
Ralf Gruber answered Aditya Kamath commented

Is there a reason, why you don't try with a combiner instead of your larger queue? That object is specifically designed to do, what you are asking for. Use it in batch mode to keep the single FlowItems you collect from the input queues.

· 1
5 |100000

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

Aditya Kamath avatar image Aditya Kamath commented ·
@Ralf Gruber

Thank you Ralph. I had assumed that you always need a pallet to group items in a combiner. I did a little more research after you mentioned this and I think I can do it without a pallet as well.

0 Likes 0 ·
Joerg Vogel avatar image
1 Like"
Joerg Vogel answered

Pulling a defined number of items has nothing to do with any Pull Requirement or Pull From function. It is a general flow control that you need here. You do this by closing or opening the input or output of the objects in your material flow. In an Object that has to pass a destinct number of items you count those send items and then close the output. If you need more items you reset the label and count again.

5 |100000

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