question

Santiago T2 avatar image
0 Likes"
Santiago T2 asked Santiago T2 commented

Take boxes by zone

Saludos,

En la presente simulación los operarios toman los productos según su zona establecida, es decir los operarios de la store 1 solo toman productos de la zona 1,2,3 y los operarios de la store 2 solo toman productos de la zona 3,4,5. Pero al correr la simulación hay un pequeño error los operarios de la store 2 no toman cajas de la zona 3

1637770843439.png


¿Cómo hacer que los operarios de la store 2 también tomen cajas de la zona 3?

zone_loading.fsm

Espero puedan ayudarme, gracias!

FlexSim 21.2.4
operatoritemqueues
1637770843439.png (51.4 KiB)
zone-loading.fsm (73.7 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.

1 Answer

·
Joerg Vogel avatar image
0 Likes"
Joerg Vogel answered Santiago T2 commented

Zone 3 has destinations for both store queues. You must control the diversion to the center port connections to attached dispatchers.

I would connect Zone 3 with an additional dispatcher on center port connection number one which transfers tasksequences to the right dispatcher 3 or 4 depending on the destination of the transport tasksequence in task 4 or 5.

you must evaluate the destination by FlexScript Class property

https://docs.flexsim.com/en/21.2/Reference/CodingInFlexSim/FlexScriptAPIReference/TaskExecuter/TaskSequence.Task.html#Property-involved1

for 4th task of the involved tasksequence

OR

https://docs.flexsim.com/en/21.2/Reference/CodingInFlexSim/FlexScriptAPIReference/TaskExecuter/TaskSequence.Task.html#Property-involved2

for 5th task.

The dispatcher 3 and 4 are connected by an “A” connection from your added dispatcher. This dispatcher dispatch incoming tasksequences by the above evaluated destination by array class method indexOf.

https://docs.flexsim.com/en/21.2/Reference/CodingInFlexSim/FlexScriptAPIReference/Data/Array.html#Method-indexOf

int dispatchPort = current.as(Object).outObjects.toArray().indexOf(destination);

where destination a self declared treenode variable in your source code is, which value is set by above mentioned properties.

you use dispatchPort as a return value for transferring incoming tasksequences.

Maybe I attach an example later.

Update EDIT:

It is difficult to distinguish between more destinations for specialized operators. I think it is easier to sort items accordingly to their destination before you let transport them.

If you do this:

  • You drag two more queues (A, B) into your model right behind Zone3.
  • You skip all settings in Zone3 for transporting item. That will be a Option for Use Transport and both Center Port Connections.
  • You send your items for Store1 over Queue A to Store1 and items for Store2 over Queue B to Store2.
  • You connect each Queue A and B by a center Port connection to the right dispatcher and activate in them the option Use Transport.
  • Optional you can set maximum content for both queues A and B to 1.

Update EDIT II:

Zone3 Use Transport field for attached model:

current.centerObjects[port]
or
current.centerObjects[3-port]

The second line reverses only the center port connections assignment.

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

Santiago T2 avatar image Santiago T2 commented ·

Saludos, @Joerg Vogel

Tengo poco conocimiento en FlexScript, me seria de mucha ayuda un ejemplo similar al modelo requerido para poderlo aplicar a mi simulación.

Espero pueda ayudarme, muchas gracias!

0 Likes 0 ·
Santiago T2 avatar image Santiago T2 commented ·
Saludos, @Joerg Vogel
He tomado en cuenta la sugerencia descrita, muchas gracias!
0 Likes 0 ·

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.