question

Marc H avatar image
0 Likes"
Marc H asked Marc H commented

Why do I get a throwing error when an AGV can't unload to a full rack?

I'm unloading from an AGV but the rack is full. I would expect the AGV to stop and wait until there is a space in the rack and then complete the task since the 'wait until complete' box is checked. I'm trying to emulated a PULL system so I want the AGV to stop and block everything behind it if there isn't a space.

operator-load-unload-agv-with no spot in rack.fsm

FlexSim 20.2.0
agvflexsim 20.2.0
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

Brandon Peterson avatar image
2 Likes"
Brandon Peterson answered Marc H commented

@marc.h

If you were using the port connections to move the objects then your model would work the way you are expecting it to (You have a port connection from the rack to the queue but not from the queue to the rack). However, you are using a process flow to move the items from the queue to the rack. This method is bypassing the pull logic of the rack. If you want to keep using the process flow logic you have then you could add a step that checks for an available location on the rack before moving the item from the queue to the rack. The "Find Slot" activity in the Warehousing section is the activity I would use to find the available location on the rack and assign it to the item.

I hope this clears things up for you,

Brandon

· 5
5 |100000

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

Marc H avatar image Marc H commented ·

I'll give the Find Slot activity. I'm pretty new with FlexSim so any additional info on how to use this command would be welcomed.

0 Likes 0 ·
Marc H avatar image Marc H commented ·

Here is a different model that reflects closer to my problem in the bigger model.

- I set the rack to a 'fixed resource' of 2 pieces but the AGV continues to unload beyond that amount. I would expect to get the error after the 3rd piece. Why does it over-fill?

- I still don't understand the Fill Slot command if I'm only trying to have (2) locations in my rack (ie: (2) pieces)Load to rack from AGV.fsm

Any help is appreciated (I'm very new to Process Flow).

0 Likes 0 ·
Brandon Peterson avatar image Brandon Peterson ♦ Marc H commented ·

@marc.h

It over fills the rack because you are forcing it to do it. If you were using port connections to move the items from the queue to the rack and a center port connection with the AGV then everything would function like you expect. However, process flow is a powerful tool that allows you to over ride the default functionality of the objects, which is what you are doing.

I have attached an example of a traditional approach that uses a center port connection with the AGV and an output connection from the queue to the rack. Instead of pushing the item to a list I simply send it to the first available output port. This model behaves like you expect it to.

Load To Rack Traditional.fsm

I have also attached an example of how to use a subflow to create the movement of the task executer. In this model the use transport field of the queue calls the AGVLogic sub flow that creates the movements for the AGV.

Load To Rack SubFlow.fsm

If you want to continue to use the original model then you will need to put in some logic to check the content of the rack before you send something there. I answered another post for you about that.

I hope this helps,

Brandon


0 Likes 0 ·
Marc H avatar image Marc H commented ·

Brandon, I've attached a second model with a couple of related questions that I'm hoping you can help me with. @brandon.peterson

0 Likes 0 ·
Marc H avatar image Marc H Marc H commented ·

Thanks Brandon. I appreciate the explanation. I do get an error now and then but I think it is related to a conflict between two process flows. I have two AGV process flows. The first AGV (for transporting) drops off the part to a rack, then an operator takes a part and loads it onto another AGV (for assembly). I get an error on the operator being able to load the part and it seems to occur when the first AGV line is starved for parts.

But I think I can clean up the logic based on using a subflow.

0 Likes 0 ·