question

Daria KS avatar image
0 Likes"
Daria KS asked Daria KS commented

Same pallet item Type as item Type parts

Hi, I have a problem with introducing a few things to my model. Maybe in the first place I will explain some details about my model. tpa.fsm

So, I have 4 types of item in my model. For better visualisation I assign them different colors. At the end of the line there are 4 conveyors for storing each type of product (in total there are 16 coveyors). Operator takes the part, than loads it on the processor, when the processor is finished, he takes the part and puts it on the pallet. When there are 24 parts on the pallet, Transporter takes the pallet and puts it on the right conveyor according to the item Type and space on the conveyor.

I think that the pallet type should be given according to the type of part, and then the Transporter would check the pallet type and space on the conveyor, but I just don't know how to do it.

Also, there is already stock on conveyors and at a later stage,the pallets will be picked, with a sequence, from conveyors, so more space will be made there.

Thank you in advance for your help.

FlexSim 18.1.2
item typematching item types
tpa.fsm (96.7 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

Braydn T avatar image
0 Likes"
Braydn T answered Daria KS commented

It looks like you know where the exception is being called since you have highlighted those tasks in red. The reason you are getting an exception is because you are telling the transporter to go somewhere based on the label item.Type, which does not exist.

Instead of creating a token that acquires Transporter1 and then keeps it throughout the model run, I would create an event triggered source that creates a token every time an item is added to Queue2, and then have a batch that lets those tokens pass when it reaches 25. That way, the token will represent the item in the Queue, and be able to reference its type. After it batches you can acquire Transporter1.

Deciding which conveyor to load the pallet onto will be a bit more tricky. If you know the order of the types on the pallets then you can tell it exactly which conveyor to go to in an exact order. If you want it to choose dynamically, that will be a bit harder. I think the best way to do that would be to make the Conveyors a Resource, and have a decide that sends the token to a different subflow depending on the type, and then have the query in the acquire resource box choose the one with the least subnodes.

Either way, once you decide which way to do your Process Flow, it will look like this:

Event Triggered Source that creates a token On Arrival to Queue2 > Batch that groups them into 25, and releases 1 token that represents the whole pallet > Acquire Transporter1 > Transporter1 travels to and loads the token (pallet) > Your tasks to select the conveyor > Travel to and Unload Pallet on Conveyor > Release Resource.

You could also have Transporter1 travel back to Queue2 before you Release it, so you would only have a load task.

Note: Since it is a pallet with loaded items, you have to use a Travel Task and a Move Object task to load and unload the pallet. A load or unload task will not work.

Also, instead of having a scheduled source that creates the pallet in Queue2, you can have an event triggered source that will create a token when the contents quantity reduces to 0. That way it will create a pallet every time the Transporter loads the pallet.

Let me know if you have any more questions!

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

Daria KS avatar image Daria KS commented ·

So, I did the first part with batch. Can you look at it and tell me if it's ok ?

But still I don't know how to choose the right conveyor, I don't know how to do this: "I think the best way to do that would be to make the Conveyors a Resource, and have a decide that sends the token to a different subflow depending on the type, and then have the query in the acquire resource box choose the one with the least subnodes." Can you maybe show me simple example ?

Thank you for your quick reply!tpa.fsm

0 Likes 0 ·
tpa.fsm (95.9 KiB)
Joseph Gillespie avatar image Joseph Gillespie Daria KS commented ·

@Daria KS

Here's a simple example you could use: leastfullconveyor.fsm

In this example, all four conveyors start off as part of a list called "ConveyorList". When an item is ready to be unloaded, a conveyor is pulled off the list based off of which one has the least number of subnodes (items). After the item is unloaded, the conveyor is pushed back onto the list.

You could apply this example to the sixteen conveyors by using a decide and different subflows as Braydn said, or you could add a Type label to the conveyors (depending on which type they should accept) and add to the query a condition that the Conveyor's type be the same as the item's.

0 Likes 0 ·
Daria KS avatar image Daria KS commented ·

@Joseph Gillespie Thank You for your help, this is what I need ;)

0 Likes 0 ·