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 10-31-2007
Roger Antillon Roger Antillon is offline
Flexsim User
 
Join Date: Oct 2007
Posts: 1
Downloads: 0
Uploads: 0
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Power: 0
Roger Antillon is on a distinguished road
Default Order Pulling model

On a pull order fulfillment model, the on entry trigger on the combiner seems to me good for having several sources connected to the input ports of the combiner, each source sending just one type of itemflow, and the component list telling how many items per input port need to be pulled to complete the order.


In my model I have 64 different flowitems in each rack, and each rack connected to just one input port of the combiner. So how can I choose only the flow items I need from the 64 items available in a rack to be pulled into the combiner??? Any help is welcome

Thanks
Roger Antillon, FOUR Seasons
  #2  
Old 10-31-2007
Steven Hamoen's Avatar
Steven Hamoen Steven Hamoen is offline
Talumis, Flexsim Distributor, The Netherlands
 
Join Date: Aug 2007
Location: Soest, NL
Posts: 854
Downloads: 43
Uploads: 0
Thanks: 391
Thanked 661 Times in 379 Posts
Rep Power: 684
Steven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond repute
Default

Hi Roger,

If you look at the picklist of the onentry trigger of the combiner and you scroll all the way down, you find the option: "Update Combiners Component List" That option gives you the possibility to define in a table per itemtype, what combinations you want to pull.

If that is not sufficient, you can either fill that table dynamicly or look at the code on the trigger and create your own functionallity.

Regards,

Steven
  #3  
Old 10-31-2007
Cliff King's Avatar
Cliff King Cliff King is offline
Vice President Technical Services
 
Join Date: Jul 2007
Location: Utah
Posts: 272
Downloads: 158
Uploads: 14
Thanks: 102
Thanked 304 Times in 110 Posts
Rep Power: 412
Cliff King has much to be proud ofCliff King has much to be proud ofCliff King has much to be proud ofCliff King has much to be proud ofCliff King has much to be proud ofCliff King has much to be proud ofCliff King has much to be proud ofCliff King has much to be proud ofCliff King has much to be proud of
Default Pick_To_Light Example

I think Roger wants to pull in a list of flowitems with different itemtypes from the same object by somehow modifying the component list of a combiner. The problem is that the component list of a combiner is only good for defining a set number of flowitems (without regard for itemtype) from multiple objects. While it's true that you can update the quantities listed in the component list dynamically using the OnEntry trigger, it still does not give you control over which flowitems will be pulled in from the upstream objects.

There are so many ways to tackle this problem, that I find myself always changing my mind as to which way I want to do it...

I've attached an example of a pick-to-light model I built some time ago that might start giving you ideas on how you would like to approach the problem. By no means is it the only or even the best way to do it. I simply had the model handy, and it's a very small model that will be easy to understand. Essentially, this is the idea:

Pallets generated by a source are labeled with a list of items that need to be picked and put on the pallet by an operator at each of three different pick-to-light rack locations along a conveyor belt. Another source periodically generates items to restock the racks. Although the racks are connected to input port 2 of their respective combiners, they do not release any of their items until the OnEntry of the combiner releases specific items in the rack based on the picking list label of the entering pallet. It's in this OnEntry code where the real logic of the model is contained. The way to keep a rack from releasing any flowitems before they are pulled in by the combiner is to return a -1 in the dwell time field of the racks (a little trick of the rack...).
Attached Files
File Type: zip Pick_To_Light_System.zip (77.9 KB, 632 views)

Last edited by Cliff King; 11-01-2007 at 01:42 PM.
The Following User Says Thank You to Cliff King For This Useful Post:
Enver Burak KORCAK (09-09-2008)
  #4  
Old 11-01-2007
Steven Hamoen's Avatar
Steven Hamoen Steven Hamoen is offline
Talumis, Flexsim Distributor, The Netherlands
 
Join Date: Aug 2007
Location: Soest, NL
Posts: 854
Downloads: 43
Uploads: 0
Thanks: 391
Thanked 661 Times in 379 Posts
Rep Power: 684
Steven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond repute
Default

Sorry Roger,

I jumped to conclusions when reading the first lines.

Regards,

Steven
  #5  
Old 11-18-2007
Lars-Olof Leven Lars-Olof Leven is offline
Flexsim Distributor
 
Join Date: Aug 2007
Location: Sweden, Borlnge
Posts: 312
Downloads: 278
Uploads: 2
Thanks: 300
Thanked 256 Times in 139 Posts
Rep Power: 330
Lars-Olof Leven is a splendid one to beholdLars-Olof Leven is a splendid one to beholdLars-Olof Leven is a splendid one to beholdLars-Olof Leven is a splendid one to beholdLars-Olof Leven is a splendid one to beholdLars-Olof Leven is a splendid one to beholdLars-Olof Leven is a splendid one to behold
Default

Hi Cliff,

I was looking at your example Pick_To_Light_System and I noticed you where using table/array on the item.

I wonder now how to create the table/array on a item or on a object?
For the item I want to create the table/array when I create the item.
I tried first to create a label and use settablesize on that but that did not work.

Also looked at the Flowitem Basket and saw that the label packinglist already had the headers for the table.

I have a project coming up and in that project I need to use the table/array on an item.

Lars-Olof
  #6  
Old 11-18-2007
Kris Geisberger Kris Geisberger is offline
Flexsim Canada, Forum Moderator
 
Join Date: Aug 2007
Location: Canada
Posts: 209
Downloads: 54
Uploads: 1
Thanks: 99
Thanked 389 Times in 133 Posts
Rep Power: 451
Kris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud of
Default

Hi Lars-Olof,

I think the trick is that you must right-click on the label in the flowitem bin to choose Create/Edit Label Table, AND use that table editor to set the table to at least as many columns as you require in your model. This way Cliff's code in the OnExit of the Source_Tote will work. In Cliff's case he set the table to 2 columns and named his column headers in the flowitem bin.

If you wish to create a table label entirely by code on an item (no up-front flowitem bin work):

treenode packinglist = addlabel(item,"packinglist");
int lineitems = duniform(3,12);

settablesize(packinglist,lineitems,2,1,1); //NOTE: using the DATATYPE and OVERWRITE arguments of this command

//set the names of the column headers
setname(rank(first(packinglist),1),"SKU");
setname(rank(first(packinglist),2),"QTY");

for(int index = 1; index <= lineitems; index++)
{
int sku = duniform(1,9);
int qty = duniform(1,2);
settablenum(packinglist,index,1,sku);
settablenum(packinglist,index,2,qty);
}

Kris
  #7  
Old 11-19-2007
Lars-Olof Leven Lars-Olof Leven is offline
Flexsim Distributor
 
Join Date: Aug 2007
Location: Sweden, Borlnge
Posts: 312
Downloads: 278
Uploads: 2
Thanks: 300
Thanked 256 Times in 139 Posts
Rep Power: 330
Lars-Olof Leven is a splendid one to beholdLars-Olof Leven is a splendid one to beholdLars-Olof Leven is a splendid one to beholdLars-Olof Leven is a splendid one to beholdLars-Olof Leven is a splendid one to beholdLars-Olof Leven is a splendid one to beholdLars-Olof Leven is a splendid one to behold
Default

Thanks Kris,

Your code works.

Cliff, is this the way to do it, or is there another way?

Lars-Olof

Last edited by Cliff King; 11-19-2007 at 05:16 PM.
  #8  
Old 11-19-2007
Cliff King's Avatar
Cliff King Cliff King is offline
Vice President Technical Services
 
Join Date: Jul 2007
Location: Utah
Posts: 272
Downloads: 158
Uploads: 14
Thanks: 102
Thanked 304 Times in 110 Posts
Rep Power: 412
Cliff King has much to be proud ofCliff King has much to be proud ofCliff King has much to be proud ofCliff King has much to be proud ofCliff King has much to be proud ofCliff King has much to be proud ofCliff King has much to be proud ofCliff King has much to be proud ofCliff King has much to be proud of
Default

Thanks Kris. Nice explanation.

I thought I would also mention that sometimes I find it useful to create my own custom data structure using nodes in the tree that do not follow the basic tree structure of a standard two-dimensional table. Two-dimensional tables structures are handy because we have a way to view them, write to them and read from them easily. However sometimes I want to organize my data differently because I have multiple relationships I want to maintain for the data.

Here is the node tree structure of a 2-dimensional table.

Click image for larger version
Name:	StandardTableNodeStructure.jpg
Views:	346
Size:	10.4 KB
ID:	72

This is code for creating the above node structure on an item's label named "LabelTable":

treenode LabelTable = label(item, "LabelTable");
settablesize(LabelTable, 2, 3, DATATYPE_NUMBER);

This is code for writing the number 23 in row 2, column 3 of the same table.

settablenum(LabelTable, 3, 2, 23);

This is code for reading the number in row1, column 2 of the same table.

Here is the node tree structure of a custom data structure:

Click image for larger version
Name:	CustomDataStructure.jpg
Views:	356
Size:	27.2 KB
ID:	73

This is the code for creating the Engine2 ID node in the above structure:

treenode Train = label(so, "TrainID");
nodeinsertinto(Train);
treenode Engines = last(Train);
nodeinsertinto(Engines);
treenode Engine2 = last(Engines);
nodeadddata(Engine2, DATATYPE_NUMBER);

This is the code for reading the ID value of Engine2:

treenode Train = label(so, "TrainID");
getnodenum(rank(rank(Train, 1), 2));

Although the code is obviously more tedious when working with custom data structures, sometimes the advantage of being able to organize your data to fit your specific needs outweighs the disadvantages associated with longer script.

Last edited by Cliff King; 12-10-2007 at 07:12 PM.
The Following User Says Thank You to Cliff King For This Useful Post:
zhang xin (12-27-2009)
  #9  
Old 04-05-2008
David Chan David Chan is offline
Flexsim Distributor
 
Join Date: Sep 2007
Posts: 326
Downloads: 74
Uploads: 0
Thanks: 217
Thanked 73 Times in 44 Posts
Rep Power: 218
David Chan has a spectacular aura aboutDavid Chan has a spectacular aura aboutDavid Chan has a spectacular aura about
Wink Pick list

Cliff,

I was looking your reply and I have looked into the model.

In additional to that the model, I wonder how could the model be modified such that the operator will pick up a few items according to the different pick list that are in the proximity before leaving the items in the pallet.

David
__________________
Advent2 Labs
David

Last edited by David Chan; 04-06-2008 at 01:46 AM.
  #10  
Old 04-07-2008
Cliff King's Avatar
Cliff King Cliff King is offline
Vice President Technical Services
 
Join Date: Jul 2007
Location: Utah
Posts: 272
Downloads: 158
Uploads: 14
Thanks: 102
Thanked 304 Times in 110 Posts
Rep Power: 412
Cliff King has much to be proud ofCliff King has much to be proud ofCliff King has much to be proud ofCliff King has much to be proud ofCliff King has much to be proud ofCliff King has much to be proud ofCliff King has much to be proud ofCliff King has much to be proud ofCliff King has much to be proud of
Default

If I understand, you want the operator to pick up more than one item from the rack before walking back to the pallet to drop them off. Of course you would need some rule like "pick up to 2 additional items from locations within 1 meter of the operator's current location".

If you don't mind writing a little code in the "Break to" Requirement field of the Operator, this is actually pretty easy to model. Just bump up the operator's capacity to 3, and write an expression in the "Break to" Requirement that is sure to only break to those tasksequences associated with items that are located within 1 meter of where the operator is currently located. Use some of the existing piclist options for ideas on writing the code.
The Following User Says Thank You to Cliff King For This Useful Post:
David Chan (04-09-2008)
  #11  
Old 11-18-2008
qin tian qin tian is offline
Flexsim User
 
Join Date: Dec 2007
Location: Shanghai, China
Posts: 137
Downloads: 115
Uploads: 0
Thanks: 59
Thanked 3 Times in 3 Posts
Rep Power: 161
qin tian is on a distinguished road
Default

Hi, Kris, you say: the trick is that you must right-click on the label in the flowitem bin to choose Create/Edit Label Table, AND use that table editor to set the table to at least as many columns as you require in your model.

But I cannot find the menu Create/Edit Label Table. I use flexsim 4.3. Can you tell me hoe to find that menu? thanks
  #12  
Old 11-18-2008
Kris Geisberger Kris Geisberger is offline
Flexsim Canada, Forum Moderator
 
Join Date: Aug 2007
Location: Canada
Posts: 209
Downloads: 54
Uploads: 1
Thanks: 99
Thanked 389 Times in 133 Posts
Rep Power: 451
Kris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud of
Default

1. Go to the FlowItem Bin
2. Go to the Properties, Labels tab of the flowitem you are using
3. Create a new label (Add Number Label)
4. Right-click on the newnumberlabel and choose Create/Edit Label Table
5. Make changes to Rows and Columns and press Apply button

Note: On the main Labels tab of the Properties window there is a drop-down to toggle between Table View and Tree View modes. Tree view might help you understand what you are doing.
Attached Thumbnails
Click image for larger version
Name:	right_click on label.jpg
Views:	284
Size:	8.5 KB
ID:	520  
The Following 2 Users Say Thank You to Kris Geisberger For This Useful Post:
qin tian (11-18-2008)



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.