question

Claudia S4 avatar image
0 Likes"
Claudia S4 asked Joerg Vogel edited

Transporter by itemtype

Hi.

I have a model with 2 item types wich arrive to one queue (Pulmon CD). Then, these flow items are moved by 3 transporter (using 1 dispatcher) to 2 racks depending on the ItemType. Currently, it is working, but the 3 transporter are moving any item (dispatcher pass to first available).

I want that 2 out of 3 transporter move the itemtype 1 to rack1 and the 3rd transporter moves de itemtype 2 to rack 2.

FlexSim 19.1.0
dispatchertransporters
5 |100000

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

Regan Blackett avatar image
1 Like"
Regan Blackett answered Claudia S4 commented

Rather than use the dispatcher for all 3 transporters, I would use the dispatcher only to coordinate for the transporters that are taking the Type 1 flowitems to the one rack, and then make a center connection from the queue to the third transporter directly and use this option under the queue's Use Transport property:

This way transporter 3 is only requested for item type 2, and item type 1 can request either traporter 1 or 2. See attached model.

centerport-by-case.fsm


· 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.

Claudia S4 avatar image Claudia S4 commented ·
Thank you, perfect
1 Like 1 ·
Joerg Vogel avatar image
0 Likes"
Joerg Vogel answered Joerg Vogel edited

The dispatcher must get the Type of the transported item out of the tasksequence, which he passes to the transpoirters. Then you can easily transfer the Tasksequence to one of the output ports. But it gets difficult to achive this, if you want to transfer one Tasksequence Type to two available transporters. But if you insert another Dispatcher behind the first, then this dispatcher organize which of both assigned transporters will get the Tasksequence. The next source code picture does this for the Pass To function.

Source code picture to get item.Type out of transport tasksequence

Instead of using a dispatcher you can achieve the same with a global Tasksequence List. The Queue pushes the Tasksequences onto a global Tasksequence List and the Transporters pull an available transport taskseqeunce from the List. If there isn't a Transport Tasksequence available a bachorder is created. The List contains a field that extracts the item of the Tasksequence similar to the source code above.

Global TSList1 Expression Field item reference of Tasksequence

The Transporters pull in the OnResource Available trigger the Tasksequence which item Type matches with its duty.

Transporter Triggers tab: On Resource Available TSList1 query item.Type

The attached file demonstrates both approaches. Transfer_ts_by_item_type.fsm


5 |100000

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