question

el C avatar image
0 Likes"
el C asked el C commented

ABC storage system

Hi

I have this model which places 3 different types of items to 3 different racks. I want the green ones to go to the first level of all 3 racks. The blue on the other 2 levels of the rack and the red ones to go on the levels that are left.

meleth-periptwshs-1a.fsm

FlexSim 19.2.4
storage
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

·
Joerg Vogel avatar image
1 Like"
Joerg Vogel answered el C commented

Against my previous statements here at answers.flexsim.com, Fixed Resource behavior works still in Warehousing.

The Send To Port function needs to be adjusted to find a slot for the item and return the objects' port number which will hold the item.

It is necessary to free the slot on Exit for the last leaving item of a slot to make the slot available again.

warehousing-mixed-fixed-resource-behavior.fsm

Picture: Same storage system, painted slots color active. The colors of the items are only changed to get a better contrast to painted slots colors. The labelname of painted slots is "class" to show a different name to default "Type".

Use Transport option is available for Queue1 to fill the rack by a taskexecuter object.

The model stopps when all items are going to the overflow and there isn't any capacity left in both queues. Maximum capacity is set to 100 on both.

It is a standard 3D approach without Process Flow.


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

el C avatar image el C commented ·

How can I apply this for pallets with boxes on them though? Like the model i attached

meleth-periptwshs-1a.fsm

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

@el C, I think, I answered your question. If you enhance a description of your question, then ask a new question. I have shown how to get items into storage system as you asked. Pallets are in my understanding only items.
Pallets can store boxes. If you have boxes with same attributes, then you assign the needed label value to pallets to store in the storage system. If you mix boxes with different attributes, it is up to you which label value you assign to the pallet!
If you want to know how you get boxes on pallets out of the rack, then yask a new question!
If you need a description from me, what I have done, then I will describe this in a comment.

I may help how a question can be answered, but I am not building models for users.

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

@Jörg Vogel in this model that you created the objects are randomly stored at the rack from what i can see. I need to place them in a specific order meaning: I want the green ones to go to the first level of all 3 racks. The blue on the other 2 levels of the racks and the red ones to go on the levels that are left. As I said in the beginning. I'm not asking you to make this model but maybe give me some help or a hint. thank you

0 Likes 0 ·
Show more comments
el C avatar image el C commented ·

thank you for your help i made my final model abc-storage-with-code-verticaly.fsm

Wondering how were you able to write the "send to port code"

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

Hi @el C, my comment to the question how I come up with the code. Send To Port function returns a port number where the item has to go. I must end in my logic there. I have found in my years with FlexSim the command ipopno(..) at different source code logics in the past. It is mostly used in templates for tasksequences.
The other main part of my code depends on finding a slot. Slots are responsible in a storage system to get items into it.
After I have found a slot in a storage system, I can get all data to this slot by its class properties, but I must know which commands exists in FlexScript. There are two reference manuals - the older Command Reference and newer FlexScript Class Reference. FlexScript Class Reference has got classes for Warehousing. It’s uppermost class is Storage. From this class there are inherited sub classes like Slot. Class property storageObject returns a pointer to an object where the slot is. I can get with data the output port number of the queue to the object, that’s input port number is 1. That is what for the command ipopno(..) stands.
Writing source code is hard work, it is frustrating. There is so little success and much lesser progress. You see in my code still the primitive debug efforts I have taken. I use command print to understand what happens in my code. Each nuisance of change I print into the output console to understand how code works. If the code works, this means I have tested every change of code several times previously, I run the model a long time. There occur errors in the console. To get around them I have written the OnExit trigger source code for every involved rack object. Assigned slots aren’t disposed, if an item exits a rack. The item might return to its slot later. But if I want to populate the slot again, I must set the slot state to be unassigned. You don’t need the OnExit trigger code, if you let run the model only a short time, because a slot can store items until it is full. Full means all items assigned to this slots fits in by their size. An item assigned to a slot isn’t physically stored. It is just reserving the space to get stored. With progress of time in a model run there will be no space available to store further items into slots. This will let occur errors.
I hope I answered your question to my source code. Regards Jörg

1 Like 1 ·
el C avatar image el C Joerg Vogel commented ·

Thank you very much for your detailed explanation. Kind Regards

0 Likes 0 ·

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.