question

Philip Jerome avatar image
0 Likes"
Philip Jerome asked Jason Lightfoot commented

Differentiate between AGV tokens within a Process Flow

Batching_Multiple_AGVs_V2.fsm

Hi everyone,

I'm working on an AGV-network for a project. I'd call myself a FlexSim newbie.

Nevertheless I couldn't find anything online that matches our problem.

A quick overview to the AGV network:

AGVs should collect boxes(FlowItems) that are created and pushed to a list. The AGVs pull the boxes from the list in a separate ProcessFlow. The AGV performs a type of batching by waiting until there are a total of 10 boxes of one color, before the AGV starts travelling. This is done with a simple decide checking a Global Table. This works, as long as we have one AGV per process flow. (aka, one AGV per color).

As soon as we add a second AGV to the same ProcessFlow, the corresponding tokens simultaneously go through the process flow, and thus both decide to leave when the threshold of 10 boxes is reached, even if only one AGV would be sufficient.

What I want to achieve, is to have the second AGV wait and decide to travel based on whether or not the capacity of the first AGV (which is 20 boxes) + the general threshold of 10 boxes is surpassed. So I need to be able to address the AGV tokens individually (via labels or ids?) and access the state and the location of the first AGV, and decide depending on those variables.

What would be a good way to implement this conditional behaviour?

Perhaps separating the AGVs into different Process Flows to avoid the problem is simpler?

Thank you!

FlexSim 23.2.2
agvprocessflow
· 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 @Philip Jerome, 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
0 Likes"
Felix Möhlmann answered Philip Jerome commented

If you already track the number of pending tasks per color in a global table, wouldn't it be possible to add another row that contains the number of active AGVs for that color? The value would be increment/decremented in the Process Flow after an AGV starts/stops its work.

The condition would then become "numPending - numAGVs*20 > 10".

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

Philip Jerome avatar image Philip Jerome commented ·
Thanks for the response! I'll try to implement it and give an update
0 Likes 0 ·