question

Yu Y avatar image
0 Likes"
Yu Y asked Ben Wilson commented

Use queue as stocker

Hi! I want to use queue as stocker to avoid jam and to decrease waiting time. Meaning, when the next processor is occupied, I want to move the item to queue3 for waiting. How can I do this? Please see below for my production line. Is there any set up in 3D objects to supports this?

FlexSim 18.1.2
queueconnectionsflexsim 18.1.2stocker
1616246830594.png (124.7 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.

Ben Wilson avatar image Ben Wilson ♦♦ commented ·

Hi @Yu Y, was Jörg Vogel's answer helpful? If so, please click the red "Accept" button at the bottom of their answer. Or if you still have questions, add a comment and we'll continue the conversation.

If we haven't heard back from you within 3 business days we'll auto-accept an answer, but you can always unaccept and comment back to reopen your question.

0 Likes 0 ·

1 Answer

Joerg Vogel avatar image
0 Likes"
Joerg Vogel answered Jason Lightfoot commented

Yes, there is. It works through the default mechanism of FlexSim program engine. An Object that is available to receive items looks for released items at its input ports in ascending orders. Released items are those, which are gone through the Send To function of the Flow tab. If an item gets an output port number value assigned, which port exists at the object, then this item is in a state of releasing and can go to a next object input port.

You connect the Queue3 with the Processors W,F,D in this order. These connections must be connected as the first input ports. Actually they are second input ports. You change the rank of Inobjects on the General tab of every processor. If you don’t get this done, then you can delete all connections into the processors W,F and D and you draw the connections from Queue3 to the processors. [And then you reestablish the connection between the processors again]. From Processors C, W, F go each an output connection to Queue3. Now the queue is a stocker. Queue3 must still transfer items from C to W, W to F and F to D. This works perfectly, if the input port order matches with the output port order. You must only store the input port number at an item label and read this label value at the Send To function.

Store input port value is a task for the OnEntry trigger of Queue3. You choose the property Set Label from Data. Object is item, Label name can be any suitable statement like “inputPortQ3”, value is the expression port. “port“ is a predefined variable of the source code header of the OnEntry trigger. You just use it, without doing any further coding in the source code editor.

In Send To function of Flow tab you choose the property By Expression. The default statement is item.Type. This statement reads the value of the label Type of item. You want to read the created label value item.inputPortQ3 instead.

In short how the connections for Processor W looks like for Output ports:

  1. goes to Processor F second input port
  2. goes to first input port of Queue3

for Queue3 output port:

  1. goes to first input port Processor F
· 2
5 |100000

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

Joerg Vogel avatar image Joerg Vogel commented ·

For those of you, who are using an actual version of FlexSim the property interface has gone through an update. Flow tab is called now Output,

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

In case 3D didn't mean 'only 3D' I posted list and process flow-based approach here.

0 Likes 0 ·