question

Kyle Y avatar image
2 Likes"
Kyle Y asked tannerp commented

how to pull by priority

I have a list and will be pulled from 10 pull places. I want 2 of them to be priority 1. Once these 2 want to pull from list, the list will always response first. I am not sure how to make it. Thank you.

FlexSim 19.0.0
listlist pull
· 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.

pc neo avatar image pc neo commented ·

I think you may need to do it 'the other way around'. That is, instead of pulling from 10 places. You might want to think of 'pushing from 10 places'.

So, the 10 different places can push information onto the list with a set 'priority'. The central pulling will always pull 'priority 1' first, follow by lower priority.

Hope this helps.

0 Likes 0 ·
Kyle Y avatar image Kyle Y pc neo commented ·

Hi, thank's for your answers. My simulation model now have 3 AGV, sometimes will be pulled to take part into warehouse and sometimes will be pulled to take part out of warehouse. Everytime, I need to let the 3 AGV response to the task, take part out of warehouse, in the first place. In other way of speaking, once the task that take part out of warehouse created, the AGV need to response it as Priority 1 every time.

0 Likes 0 ·
Joerg Vogel avatar image Joerg Vogel commented ·

@Kyle P, it would be much easier, if you add a simplified model to your question. It is hard to get your intention by small bits of information exchanged in a comment conversation.

0 Likes 0 ·
Kyle Y avatar image Kyle Y Joerg Vogel commented ·

as the picture shown, I have 2 task need to be executed. Task 1 is to carry part from Storage to Warehouse1 and Task 2 is carry from Storage to Warehouse2. I need the task 2 from Storage to Warehouse2 always be priority 1, no matter how many task one exist. I am not sure how to let agv pulled for Task 2 first. Thank you.

pull-by-priority.fsm

0 Likes 0 ·
Kyle P avatar image
0 Likes"
Kyle P answered Kyle P edited

I got linked to this question by accident somehow, but I have done something similar albeit I did not use the ProcessFlow. I am pulling from a model I have; so the code and names of items will not exactly match your use case.

1) Add a routing label to your flowitem. This could be a 1 or 2 depending on whether it routes to WH1 or WH2 in your model.

2) Change the Routing logic in your 'Storage' queue to add the flowitem to the list. Here your can set the priority for hot items (ipr variable) but I find it more flexible to use the data in step 3 to decide timing.

3) Configure your list to include the routing label as a list column.

4) Set up your task executer to pull items from the list utilizing the 'OnResourceAvailable' trigger.

Using this method you can define any variables to fine-tune your task sequences using the query command shown above. I would greatly suggest utilizing the 'Command Help' on even stocked trigger code when writing logic. FlexSim's documentation is very thorough, but can be hard to navigate.


1a0z4.png (30.9 KiB)
tyqw1.png (59.8 KiB)
qxs5e.png (85.7 KiB)
jmiv1.png (43.0 KiB)
tl0up.png (39.5 KiB)
0hz4x.png (18.5 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.

Joerg Vogel avatar image
0 Likes"
Joerg Vogel answered Kyle Y commented

You want to combine a list of transport jobs with a group of taskexecuters. If the list content rises then you look for a job that leaves the rack.
Actually the list needs only an attribute to be ordered. This attribute evaluates the loading station. If the station is a rack then the attribute gets a higher value.
I assume the list contains the transport tasksequences. You add an expression field like a priority attribute. The source code of this field assign a large value for each transport job from a rack.
If you pull from the list you order the list by this attribute, then an available taskexecuter gets a job in the list attribute order.

· 3
5 |100000

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

Kyle Y avatar image Kyle Y commented ·

Thank you Vogel. Could you please be more specific? For example, I have 12 request need to pull from AGV list. Can I let the activity, "Pull from List 2", always be firstly request met? Thank you.

0 Likes 0 ·
capture.jpg (121.2 KiB)
Joerg Vogel avatar image Joerg Vogel commented ·

her is example based on your model:

the pull activity orders the list by a priority of destination objects.

priority-by-destinations-in-ts-list.fsm

0 Likes 0 ·
Kyle Y avatar image Kyle Y Joerg Vogel commented ·

I got your points. Thank you so much.

0 Likes 0 ·