ATTENTIONThis FlexSim Community Forum is read-only. Please post any new questions, ideas, or discussions to our new community (we call it Answers) at https://answers.flexsim.com/. Our new Question & Answer site brings a modern, mobile-friendly interface and more focus on getting answers quickly. There are a few differences between how our new Q&A community works vs. a classic, threaded-conversation-style forum like the one below, so be sure to read our Answers Best Practices. |
flexsim.com |
#1
|
|||
|
|||
Sending item to particular rack level
Hi all,
I am preparing a project at school and I am facing a problem with racks at the warehouse. Let’s say that I have 3 different flow items and I would like them to be send to set levels and bays of rack (with exactly 1 item per cell). I have created 3 different sources (1 source = 1 flowitem) and set arrivals. Unfortunately I can’t figure out how to send flowitem #1 only to cells on level 1, flowitem #2 on level 2 and #3 to third level (still with only 1 item/cell). Any idea how can I do it? |
The Following User Says Thank You to FilipOdwazny For This Useful Post: | ||
rex jonny (11-22-2014) |
#2
|
||||
|
||||
Hi FilipOdwazny,
Write this code in Place in level.It will place items in the rack as you want. switch(getitemtype(item)) { case 1:return 1; case 2:return 2; case 3:return 3; default: return rackgetnroflevels(current); } |
The Following 2 Users Say Thank You to sagar bolisetti For This Useful Post: | ||
Sebastian Hemmann (08-05-2014) |
#3
|
||||
|
||||
...or just
return getitemtype(item); but then you have to make sure, there is a level for each itemtype. Best wishes Ralf FlexSim |
The Following 2 Users Say Thank You to RalfGruber For This Useful Post: | ||
Sebastian Hemmann (08-05-2014) |
#4
|
|||
|
|||
Thank you for your answers! It is working for now but I would like to use different Item Classes. Your suggestion involve 3 item types but I would like to have different shapes on my rack. Is it still possible?
|
#6
|
||||
|
||||
Hi Filip,
In the sizetable Tab of the rack,you can adjust Height of Levels,Bay width of a Bay,Level height to accomodate the different size of items. Regarding 1 item per each cell it works fine with me. |
#7
|
|||
|
|||
I am sending a model
As you can see I set 3 sources with different classes of items and it seems not to work properly. As you can see, boxes are oversized but they still appear in cells. |
#8
|
||||
|
||||
The Rack fires its Place in Bay code before the Place in Level code.
The default Random Bay if Available picklist doesn't know what level you are going to put the item into so it makes sure that the bay content is limited by the specified cell capacity times the number of levels. Therefore, the default code is making sure you have no more than 3 items in each bay, but you are putting them into specific levels so you are then getting multiple in the same cell. In the attached model, I've slightly modified the picklist's code to get the cell's content based on the level being determined by itemtype. Code:
treenode item = parnode(1); treenode current = ownerobject(c); /***popup:RackPlaceIn*/ /**MODIFIED: Random Bay if Available*/ int cellcap = /** \nMaximum items per cell: *//***tag:cellcap*//**/1/**/; /***tag:note*//**///Note: If all cells are full, the item will be placed in the originally chosen random bay. /**/; int nrofbays = rackgetnrofbays(current); int firstguess = duniform(1, nrofbays); int curguess = firstguess; int level = max(1, min(rackgetnroflevels(current), getitemtype(item))); while (curguess <= nrofbays) { if (rackgetcellcontent(current, curguess, level) < cellcap) return curguess; curguess++; } curguess = firstguess - 1; while (curguess >= 1) { if (rackgetcellcontent(current, curguess, level) < cellcap) return curguess; curguess--; } return firstguess; |
The Following 3 Users Say Thank You to Phil BoBo For This Useful Post: | ||
sagar bolisetti (08-04-2014) |
#9
|
|||
|
|||
Works perfect now. Thanks!
I am still wondering about sizes of cells in the rack. Oversized items are still send to cells. Is it a program bug or it can be changed somehow? |
#10
|
|||
|
|||
A related thread here.
|
#12
|
||||
|
||||
Hi Filip,
You are expecting a feature, that has less to do with a material flow simulation software. Someone might want to know the utilization of a process. Therefore it is not necessary to check if an item fits into another object. If you depend on such feature you have to check the size in your code yourself and decide what happens then. There are to many variables one can think of which should match to fit an item into an object, than the Flexsim engine can cope with. If you adjust your item shape you can use several parameters: size of object, size of shape, size of the imported shape. Which size should the Flexsim engine check? Currently it is not a feature you find in the pick lists. Jörg |
The Following 2 Users Say Thank You to Jörg Vogel For This Useful Post: | ||
sagar bolisetti (08-06-2014) |
#13
|
||||
|
||||
Hi Filip,
There are picklist options in OnEntry and OnExit that you can use on the rack called "Set Location, Rotation, or Size". This can be used to change the shape of the flowitems. If you want to change the flowitem back to its original dimensions on exit, then you will probably need to keep track of the dimension somehow before changing them on entry. You can use xsize(item), ysize(item), and zsize(item) to retrieve the size of the flowitems and store that information in some labels or something. |
The Following 2 Users Say Thank You to sagar bolisetti For This Useful Post: | ||
Jörg Vogel (08-06-2014) |
Thread | Thread Starter | Forum | Replies | Last Post |
item->container - sending command | Tomasz Kisiel | Q&A | 6 | 02-03-2014 04:04 AM |
Release Item Problem in Rack | Peppino | Q&A | 6 | 05-31-2012 08:29 AM |
Empty level in rack | Manoj Kumar | Q&A | 3 | 02-01-2012 05:27 AM |
Item Placement on Rack | hani2899 | Q&A | 1 | 11-29-2011 11:04 AM |
Dynamic Rack Bay & Level | shashanktrivedi | Q&A | 3 | 06-03-2011 02:30 AM |