question

Ankur A3 avatar image
0 Likes"
Ankur A3 asked Jason Lightfoot commented

Allocating nearby AGV using process flow?

Hi Team,

In my model, it is allocating the AGV alternate basis but the requirement is the nearby available AGV.

How can I change it?

Please find model here.

Thank you!

Allocating_AGV.fsm

FlexSim 23.1.3
agvallocation
allocating-agv.fsm (54.0 KiB)
5 |100000

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

1 Answer

·
Jason Lightfoot avatar image
0 Likes"
Jason Lightfoot answered Jason Lightfoot commented

Try adding this query to the acquire activity:

ORDER BY distancetotravel(value,Puller.item.up) ASC
· 8
5 |100000

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

Ankur A3 avatar image Ankur A3 commented ·

@Jason Lightfoot

Sure, I will check on it.

Also, would like to add 1 point here. Is it possible to assign returning AGV to pick if it is nearby?

The reason I am asking it because AGV remains occupied until released.

Thank you!

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

You can Release it before it's finished returning to a park position and them pre-empt that return job by issuing a pre-empting task sequence with a higher priority - if that's what you want to do.


Most people's use of the Resource construct is to simplify/combine together the concepts of zones/ lists, references and task executers for a seemingly more complete solution, but the truth is that these concepts are still operating in the background ready for you to customize and override behaviors. You may choose just to implement those behaviors yourself and avoid the use of Resources entirely.

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

@Jason Lightfoot

It is little difficult to follow.

Can you help me to build it here?

1702990674525.png

I have highlighted the return activity with yellow.

Prioritising_Return_AGV_to_Pickup.fsm

0 Likes 0 ·
Ankur A3 avatar image Ankur A3 commented ·

@Jason Lightfoot

Appreciate your quick response!

It is working fine. But I would like to understand it better for future reference. Can you provide clarity over following:

1. What does it mean by value here since it seems standard keyword to refer?

2. I think in Puller.item.up, Puller is used to refer token.resource. Is it correct?

Thank you!

0 Likes 0 ·
Felix Möhlmann avatar image Felix Möhlmann Ankur A3 commented ·

A Resource that refers to a group of objects actually just a list that exists in the background. Both value and puller are list concepts and might be easier to understand if you think about the Resource as a list as well.

1. The value is the thing on the list the query currently evaluates. For example "WHERE value.Type == 3" would filter for objects with a Type label of 3. In both the Acquire and Pull from List activities, if you type a string that is not some keyword into the query, will interpret it as a label on the value. So normally you'd only type "WHERE Type == 3". So you only really ever use value in cases where the actual object reference needs to be passed into a function.

2. Similarly, puller refers to the 'thing' that is trying to pull something from the list. In the Pull from List activity the user can specify the puller (the token by default). In an Acquire activity the puller is always the token.

0 Likes 0 ·
Ankur A3 avatar image Ankur A3 Felix Möhlmann commented ·
Thank you @Felix Möhlmann!

It helps a lot going further.

0 Likes 0 ·
Show more comments

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.