question

Håkon L avatar image
0 Likes"
Håkon L asked Andrew O commented

Code for pull requirement

Hi, I am strugling with the code for a pull requirement in my simulation.
Please see the added file.
It is regarding the pull requirement for the combiner called M57.
I have a pretty good idea (I think) of how the logic should be (thanks to the help from other people in here - thanks), I do however have some limitations with regards to programming.

So, here is a theoretical description of what I want to make:

IF(port = 1) Combine with item from port 2 and send to output-port 1

IF(port = 3) Process and send to output-port 2

IF(port = 4) Process and send to output-port 3

I'm in a bit of a rushright now, so I will be back sometime during the weekend and try to specify this post better.

In advance - thank you for all of your help!

JobShopRoute V0.7.fsm

FlexSim 22.2.2
codeoutputpull requirement
· 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 ·

Primary fact for combiner class processing is: input port number one will always be used for an entry of one item. There doesn’t exist an input port routing which bypass input port number one! My approach follows exactly this primary rule. Each process starts with an item entering through port one. This item choose by a label which column of update component list global table is used for this current process. If additional items join the first entered item, then those items are going into the combiner through input port 2 or an higher port number! You can restrict logically the items entering through port 2 and higher in the Pull Requirement.

You can set any route for any output port whatever you like. This means even if three different products are entering a combiner through input port one, you can send each to a different output port. All you need is to have an attribute at each item to identify them.

1 Like 1 ·
Andrew O avatar image Andrew O commented ·

Hi @Håkon L, was Joerg Vogel's answer helpful? If so, please click the "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 Joerg Vogel edited

If you add a queue previously to your combiner, you can prepare your items, that they get labels to update a component list OnEntry of the combiner and choose wisely label values for an exit of the combiner. You add a label to choose a column for updating of the component list. And eventually you add a label for an output port. Perhaps you can use the first added label twice by choosing port by case picklist option in output pane Send To function.
As I remember from your previous question sometimes items entering your combiner are joined or are just going to be processed. If they are joined, a special item entered the combiner before. This item must update the component list in the manner of receiving items and set an attribute as a label value at the combiner to test items in inobjects of input port 2 and above in the Pull Requirement function for a match of this attribute.

EDIT explanation: A queue can evaluate conditions of input port numbers in On Entry trigger. Then you can translate your conditions of your question description into label values preparing your items entering your combiner.

5 |100000

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