question

Borja Lorenzo avatar image
0 Likes"
Borja Lorenzo asked Felix Möhlmann commented

How to selectect an especific column from a List in Process Flow?

Hello,

In this example model, each DP represents a point where the item must stop and perform an operation if required. Whether an operation needs to be performed is read from the Global table, where OP1 corresponds to DP MagFront, OP2 corresponds to DP Meas, and so on. A 1 means the operation must be performed, and a 0 means it does not.

Each time a tote (item) arrives at one of these DPs, it must check the internal PF list to see if the operation needs to be performed for its operation.

I thought about using token.celda, which indicates which DP generated the event, to locate the ID of the DP group and compose the label OP+1 from the work list, but I don’t know how to do it.

I need help to solve this or any suggestions for a different strategy.

I would like to try to do this from the ProcessFlow activities without having to create specific CustomCode.

Thanks in advance.

Attached is the model.


Let me know if you need any further assistance!



20240911 Montaje simplificado_1.fsm

FlexSim 24.1.1
pullfromlistindex number of the group membercompose 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.

Logan Gold avatar image Logan Gold ♦♦ commented ·

Hi @Borja Lorenzo, was Felix Möhlmann'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 ·

1 Answer

Felix Möhlmann avatar image
1 Like"
Felix Möhlmann answered Felix Möhlmann commented

If I understand you model correctly, then a tote should 'know' what order row it belongs to when arriving at the various stations. For this you can add an additional DP that triggers a pull in Process Flow and writes the "NPedido" number that was pulled to the tote.

Each other DP gets a label that denotes in which column they should look up whether to process a passing tote or not.

20240911-montaje-simplificado-2.fsm


· 4
5 |100000

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

Borja Lorenzo avatar image Borja Lorenzo commented ·

Hello Felix

Thank you for your comments, I apologize for the delay in my response.

I’ve reviewed your proposal and I find it very practical to assign the column with the label that each DP has and drag it from the event that is triggered when the tote arrives at the DP.

However, there is a configuration in the push activity that is not clear to me. I usually use token.pulled and then add more labels to it. I understand pulled as the order from the list to which the different labels from the select (Npedido, Op1, Op2, Op3, Op4, Op5, Op6) would be added. I was confused that to assign a label to the item directly in the Assign Label (Write to Tote) activity, you only refer to token.Npedido, instead of token.pulled.Npedido. Could you provide some clarification on this concept?


On the other hand, I have seen that you have created a DP (“DP1”, in red) to which you refer in your explanation “For this you can add an additional DP that triggers a pull in Process Flow and writes the ‘NPedido’ number that was pulled to the tote”, but I have not been able to understand or locate in the model how you use this DP, it has no associated trigger, label, or mention. In fact, to know which order row is assigned to the tote, we use that label assignment and then in the Decide we do the double check “token.item.NPedido > 0 && Table(“GlobalTable1”)[token.item.NPedido][token.DP.OpCol] == 1”.


Thank you in advance for your support.

0 Likes 0 ·
Felix Möhlmann avatar image Felix Möhlmann Borja Lorenzo commented ·
The field values specified in the SELECT statement are added as labels to the puller, not the pulled value. Hence NPedido is available on the token.

I meant to link the Event-Triggered Source "Carro en primera celda" to DP1 instead but apparently forgot to do so. It probably worked out fine, because it is the first of sources to trigger, so it only triggering on arrival at the first station is not a problem.

1 Like 1 ·
Borja Lorenzo avatar image Borja Lorenzo Felix Möhlmann commented ·

But what exactly is the pulled value? The order is extracted from the list… and it already contains the NPedido information… In the Assign Label (Write to Tote), why doesn’t token.pulled.Npedido work if the extracted value already has this information?

0 Likes 0 ·
Show more comments