question

tomonori S avatar image
0 Likes"
tomonori S asked Joerg Vogel commented

How to carry items on the pallet separately

In the attached model, a trigger is used in "Source 2" to generate two types of flow items. The operator wants to carry the items palletized in the combiner from "Queue 2" to "Queue 4" for the black items (Type 2), and carry the remaining items to "Queue 3" while still on the palette.

I would like you to provide a sample model created with the simplest possible structure (3D model or process flow).

img.png


model.fsm



FlexSim 22.0.4
labelpalletizingdivide
img.png (181.1 KiB)
model.fsm (35.0 KiB)
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
0 Likes"
Felix Möhlmann answered

What constitues the "simplest possible structure" is likely very subjective. Personally, because there is timing involved (forklift waits until operator has moved all Type-2-items), I would use a process flow for this.

1659004683254.png

The event-triggered source reacts to a pallet entering Queue2. A child token is created for each item on the pallet. If it is of Type 2, the item is pushed onto a list. The main token then pulls items off the list and has the operator move them to Queue4. Once the list is empty, the token is released to the left most block, due to the 'Use Max Wait Time' setting in the Pull from List activity. That block then has the forklift move the pallet to Queue3 with the remaining items still on it.

There is likely room for some refinements, but this would be my approach.

The list could be replaced by custom code that identifies the Type-2-items and stores them in a label on the token.

sample_model_fm.fsm


1659004683254.png (33.9 KiB)
sample-model-fm.fsm (46.1 KiB)
5 |100000

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

Joerg Vogel avatar image
0 Likes"
Joerg Vogel answered Joerg Vogel commented

Sample model without transport: 3d logic source code and standard connections

move items On Exit of pallet from Queue1 to Queue2:

Array products = item.subnodes.toArray();
for(int productId = 1; productId <= products.length; productId++)
    if(products[productId].Type == 2) moveobject(products[productId],current.outObjects[1],1);
return 1;

Send to Port Queue2:

pallet-split-type-port-by-case.jpgI make an Array from subnodes of entering pallet. Thus I keep a static order of items. I move only items of type 2 directly to Queue2.

Queue2 Send To Port uses Port by Case. Pallet does not have a label Type. I test the existence of this label by "?". Default Port is for any case rather than Type 2.

Use Transport is default method for items in Queue2.

pallet_split_type.fsm


· 2
5 |100000

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

Joerg Vogel avatar image Joerg Vogel commented ·

Here Logic for splitting and moving in Process Flow

Queue2 unchanged approach in 3d Logic Send to Port.

pallet-split-type_logic_pf-jv.fsm

pallet-split-type-logic-pf.jpg


0 Likes 0 ·
Joerg Vogel avatar image Joerg Vogel commented ·
Setting Use Transport:

Center Connections to Transporter and Operator

current.centerObjects[port]
Maybe change rank or order in properties pane for Ports.
0 Likes 0 ·