question

James Riebau avatar image
0 Likes"
James Riebau asked James Riebau commented

Palletizing and Storage?

I'm just starting out using FlexSim and I'm trying to model our standard process for palletizing boxes and putting them away in storage locations. I've run into a couple problems I can't solve yet, and I could use some help.

1. I'm using combiners for stacking boxes on pallets. I need the target quantity to change based on the type of box going on there, and I can't figure out how to do it. I have a "PltQty" label on the box but it doesn't seem to let me put anything but a numeric value for the target quantity. I used the decide function to chose a box type, and may be able to do that here also, but was hoping there was an easier way.

2. After the pallet is created I need to store the pallets by customer. I have a customer label on the boxes, but cannot figure out how to apply the same labels on the pallet itself (we always have only 1 part#/customer per pallet).

Like I said, I'm a beginner, and I have no knowledge of coding, so I'm sure there's much easier ways to do everything I'm attempting. Any help would be appreciated.


Thanks,

Jim

Pallet Flow Testing.fsm


FlexSim 21.2.1
warehousepalletizing
· 1
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

James Riebau avatar image James Riebau commented ·

I think I figured out how to change the target quantity using a global table to send to port. I still can't figure out how to transfer the box labels to the pallet....


I'm trying to match the label "Part" on the box, and put same label on the pallet: 1633551674823.png


I tried assigning a label in the process flow. I've tried entering everything I can think of in the value field but nothing has worked for me. Please help.

1633551802506.png1633551967807.png

0 Likes 0 ·

1 Answer

·
David Seo avatar image
0 Likes"
David Seo answered James Riebau commented

@James Riebau

For solving your issue #1 and #2, the pallet should have the target quantity information according to Type. The reason is when the pallet enters always in first into port #1 and then the boxes enter into port #2. So when the pallet enters, the target quantity can be changed.

You can change the target quantity in the 'On Entry' trigger of the combiner.

· 4
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Felix Möhlmann avatar image Felix Möhlmann commented ·

@James Riebau

Adding the label to the pallet before it enters the combiner is probably going to end up more complicated, so I'd like to offer another solution.

While it is not supported by default, you can edit the "Update Combiner Component List" trigger option to use an item label to set the quantity. (At least as long as there are no more than the minimum of two input ports leading into the combiner. More might also be possible but would require more complex logic)

/**Custom - Set Quantity*/
Object current = ownerobject(c);
Object item = param(1);
int port = param(2);

// Only trigger, if it's the first non-pallet item entering (second entering object)
if(current.subnodes.length == 2)
{
    // References to the nodes that store the target quantity
    Table thelist = getvarnode(current, "componentlist");
    treenode thesum = getvarnode(current, "targetcomponentsum");

    // Set the values of those nodes according to the item label
    thelist[1][1] = item.PltQty;
    thesum.value = item.PltQty;
}

combiner_quantity_itemlabel.fsm

0 Likes 0 ·
James Riebau avatar image James Riebau Felix Möhlmann commented ·

I must not be explaining what I need well enough.

Basically the end goal for this is to store pallets in warehouse locations in areas based on the "Customer" and only store one "Part" per bay. So when a pallet looks for a storage location it will look for a matching "Part" already put away, but if nothing matches it will go to any location within the "Customer" area. This will be used for simulating capacity in the warehouse. Is this possible?


PalletStorage.jpg

I may be going down the wrong path, by trying to add labels to the pallet, I'm not sure.

0 Likes 0 ·
palletstorage.jpg (146.0 KiB)
Felix Möhlmann avatar image Felix Möhlmann James Riebau commented ·

Something like this?

storage_by_label.fsm

The part label is copied to the pallet in the "Process Finish" trigger of the combiner.

The "ZoneID" of the default adressing scheme is used to split the pallets up by "customer".

When a pallet enters the queue after teh combiner, a token is created in the process flow. First is tries to acquire a slot with a matching "Part" label (and "Customer" == ZoneID). If none is found it instead looks for an empty slot ("Part" == 0). On success, the label value is changed to that of the pallet/item.

The slot label is reset in the triggers of the floor storages. Either when the last pallet exits a slot or when the model is reset.

It's important to create the label you want to give to the slots in the Storage System properties in the toolbox.

0 Likes 0 ·
storage-by-label.fsm (174.8 KiB)
Show more comments

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.