question

Caelyn R avatar image
0 Likes"
Caelyn R asked Felix Möhlmann answered

Compare field value on list item to token label value before pulling list item

I am working with a process flow model where I would like to release tokens (representing parts to be made) to the next stage of the model after verifying that a mold needed by the part is available. I have a global list of these molds (in the form of tokens themselves) with a "Mold" field that corresponds to the same "Mold" label on a part, and I have been able to successfully pull items from my global list of molds by matching those two labels in my "Pull from List" step.


However, some parts require the same mold and thus have to wait for the previous part to finish using that mold before it is pushed back to the list and the next part is able to pull it and, while the next part is waiting for the mold in use, I would like to build another part that uses a different mold. As such, I would like to create a step in the model to check if the mold a part needs is available before sending that part's token onto the pull mold step and, if it's not available, send a different part whose mold is available (aka is available on the global list of molds). I was thinking that I would want to use a "Decide" or "Wait for Event" or "Custom Code" step for this, but I'm not sure what command to use to just check if an item on the list has the desired field value without actually pulling the item off the list.


The number of parts to be processed varies but is generally 1500+, so there will pretty much always be another part available to be built that needs a mold not in use, and all data about the parts and molds is fed into the model's global tables via imports from Excel.


I have attached my model and the input Excel workbook that provides the data to drive it, and below is a snip of where I think the step to check the mold availability should go.

1711571450451.png


Any help answering this question would be greatly appreciated, and thank you!

Master_data_list_MV_2_import testing_schedule breakup.xlsx

MicroV2_Process_Flow_v0_moving mold release_schedule breakup_cleaned up_w pins_orders list.fsm

FlexSim 24.0.1
listsdecidewaitforeventlist fieldstoken label
· 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.

Jason Lightfoot avatar image Jason Lightfoot ♦ commented ·

Hi @Caelyn R, 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 comment back to reopen your question.

0 Likes 0 ·
Felix Möhlmann avatar image
1 Like"
Felix Möhlmann answered
​I think all that needs to happen is to switch the order of the Pull from List and Acquire activities. So the token only acquires the "Builder" after it has pulled a mold.
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
0 Likes"
Joerg Vogel answered Jason Lightfoot converted comment to answer

Pull From List activity:

Please read about Request Number and Require Number section in Reference Manual.

https://docs.flexsim.com/en/24.0/Reference/ProcessFlowObjects/SharedAssets/PullFromList/PullFromList.html

· 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.

Caelyn R avatar image Caelyn R commented ·

Hi Joerg, I ended up figuring out a solution that involved just changing the order of my activities in the process flow. Unfortunately, the resource you provided was not particularly helpful, as I did read through that article multiple times before posting this question, but I do appreciate the suggestion. Thank you!

0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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