ATTENTION

This 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

Go Back   FlexSim Community Forum > FlexSim Software > Q&A
Downloads

Q&A Using Flexsim and building models

  #1  
Old 07-31-2014
FilipOdwazny FilipOdwazny is offline
Flexsim User
 
Join Date: Jul 2014
Posts: 16
Downloads: 0
Uploads: 0
Thanks: 3
Thanked 1 Time in 1 Post
Rep Power: 71
FilipOdwazny is on a distinguished road
Default 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  
Old 07-31-2014
sagar bolisetti's Avatar
sagar bolisetti sagar bolisetti is offline
Flexsim User
 
Join Date: Aug 2013
Location: Hyderabad,India
Posts: 160
Downloads: 145
Uploads: 0
Thanks: 124
Thanked 99 Times in 63 Posts
Rep Power: 150
sagar bolisetti is a jewel in the roughsagar bolisetti is a jewel in the roughsagar bolisetti is a jewel in the roughsagar bolisetti is a jewel in the rough
Default

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  
Old 07-31-2014
RalfGruber's Avatar
RalfGruber RalfGruber is offline
FlexSim Software Products
 
Join Date: Jul 2007
Location: Orem, UT, USA
Posts: 195
Downloads: 37
Uploads: 0
Thanks: 518
Thanked 294 Times in 124 Posts
Rep Power: 345
RalfGruber is a splendid one to beholdRalfGruber is a splendid one to beholdRalfGruber is a splendid one to beholdRalfGruber is a splendid one to beholdRalfGruber is a splendid one to beholdRalfGruber is a splendid one to beholdRalfGruber is a splendid one to behold
Default

...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  
Old 08-04-2014
FilipOdwazny FilipOdwazny is offline
Flexsim User
 
Join Date: Jul 2014
Posts: 16
Downloads: 0
Uploads: 0
Thanks: 3
Thanked 1 Time in 1 Post
Rep Power: 71
FilipOdwazny is on a distinguished road
Default

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?
  #5  
Old 08-04-2014
FilipOdwazny FilipOdwazny is offline
Flexsim User
 
Join Date: Jul 2014
Posts: 16
Downloads: 0
Uploads: 0
Thanks: 3
Thanked 1 Time in 1 Post
Rep Power: 71
FilipOdwazny is on a distinguished road
Default

What is more, I would like to set 1 item per each cell but given code does not work properly with the standard "Random level if available" code.
  #6  
Old 08-04-2014
sagar bolisetti's Avatar
sagar bolisetti sagar bolisetti is offline
Flexsim User
 
Join Date: Aug 2013
Location: Hyderabad,India
Posts: 160
Downloads: 145
Uploads: 0
Thanks: 124
Thanked 99 Times in 63 Posts
Rep Power: 150
sagar bolisetti is a jewel in the roughsagar bolisetti is a jewel in the roughsagar bolisetti is a jewel in the roughsagar bolisetti is a jewel in the rough
Default

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  
Old 08-04-2014
FilipOdwazny FilipOdwazny is offline
Flexsim User
 
Join Date: Jul 2014
Posts: 16
Downloads: 0
Uploads: 0
Thanks: 3
Thanked 1 Time in 1 Post
Rep Power: 71
FilipOdwazny is on a distinguished road
Default

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.
Attached Files
File Type: fsm rack.fsm (3.76 MB, 35 views)
  #8  
Old 08-04-2014
Phil BoBo's Avatar
Phil BoBo Phil BoBo is offline
Flexsim Development
 
Join Date: Jan 2008
Posts: 756
Downloads: 109
Uploads: 18
Thanks: 385
Thanked 1,483 Times in 525 Posts
Rep Power: 1174
Phil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond reputePhil BoBo has a reputation beyond repute
Default

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;
I've also changed the Place in Level code to the default pick option for "By Expression", which defaults to the expression getitemtype(item). This will place the items into levels based on the itemtype without a switch statement in custom code.
Attached Files
File Type: fsm rack_randombay_itemtypelevel.fsm (567.7 KB, 44 views)
The Following 3 Users Say Thank You to Phil BoBo For This Useful Post:
sagar bolisetti (08-04-2014)
  #9  
Old 08-04-2014
FilipOdwazny FilipOdwazny is offline
Flexsim User
 
Join Date: Jul 2014
Posts: 16
Downloads: 0
Uploads: 0
Thanks: 3
Thanked 1 Time in 1 Post
Rep Power: 71
FilipOdwazny is on a distinguished road
Default

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  
Old 08-05-2014
Jason Lightfoot Jason Lightfoot is offline
Flexsim Consultant
 
Join Date: Aug 2007
Location: Somerset, UK
Posts: 719
Downloads: 20
Uploads: 0
Thanks: 123
Thanked 953 Times in 446 Posts
Rep Power: 773
Jason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond repute
Default

A related thread here.
  #11  
Old 08-05-2014
FilipOdwazny FilipOdwazny is offline
Flexsim User
 
Join Date: Jul 2014
Posts: 16
Downloads: 0
Uploads: 0
Thanks: 3
Thanked 1 Time in 1 Post
Rep Power: 71
FilipOdwazny is on a distinguished road
Default

Thanks for the link but actually I still can't figure out why oversized items are placed in the rack.
  #12  
Old 08-06-2014
Jörg Vogel's Avatar
Jörg Vogel Jörg Vogel is offline
Flexsim User
 
Join Date: Sep 2007
Location: Hannover, Germany
Posts: 643
Downloads: 35
Uploads: 0
Thanks: 802
Thanked 665 Times in 410 Posts
Rep Power: 642
Jörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond repute
Default

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  
Old 08-06-2014
sagar bolisetti's Avatar
sagar bolisetti sagar bolisetti is offline
Flexsim User
 
Join Date: Aug 2013
Location: Hyderabad,India
Posts: 160
Downloads: 145
Uploads: 0
Thanks: 124
Thanked 99 Times in 63 Posts
Rep Power: 150
sagar bolisetti is a jewel in the roughsagar bolisetti is a jewel in the roughsagar bolisetti is a jewel in the roughsagar bolisetti is a jewel in the rough
Default

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


All times are GMT -6.
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.
Copyright 1993-2018 FlexSim Software Products, Inc.