question

Mathilde DOUSSET avatar image
0 Likes"
Mathilde DOUSSET asked Joerg Vogel commented

How to make the operator takes random the products?

I have a production line of engine :

There are 19 several engines : (one queue has one palet of 8 engines)

The operator takes the engine to bring to the conveyor, but he finishes to unload the palet before go to an other palet (other type of engine).

In reality, the operator takes an engine in terms of the command (he sees on his laptop) ,so for example,he takes one engine 7300 then one enfine 6300 and one engine 7100...

How to make it?

Thank you!

I join you my system.

simusequencage.fsm

FlexSim 16.0.1
randomproduction line
gjuu0.png (244.6 KiB)
simusequencage.fsm (11.5 MiB)
5 |100000

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

Mathilde DOUSSET avatar image
0 Likes"
Mathilde DOUSSET answered Mathilde DOUSSET commented
@Jörg Vogel

Your system start but I don't understand why the queue 224 and 226 are connected on the conveyor 2, because if I disconnect this connection, the model doesn't start...

I join you my model.

simusequencage.fsm


simusequencage.fsm (13.0 MiB)
· 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 ·

You find in the source code of the OnMessage a hard coded statistical distribution duniform. This function chooses randomly the input of the EntryTransfer. In the last variant of your model you have 2 queues at the input ports 1 and 2. Therefor the duniforms parameter were set to duniform(3,4,2) for the next 2 following separators. The second parameter was actually 4 because of the number of input ports. The function returned the value range [3,4]. In the actual model variant you have at every input port a separator again. The range should be [1..4]. The discrete uniform function's parameter are (1,4,2).

There was a mistake in the source code of the duniform function. I have corrected it.

0 Likes 0 ·
Mathilde DOUSSET avatar image Mathilde DOUSSET Joerg Vogel commented ·

Thankyou , it's start!

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

At the moment you can control this by opening and closing the output of the separators.Currently there is only one single Tansport Tasksequence dispatched in your model in this section. Another approach is to enhance the actual amount of dispatched tasksequences for transport. Therefore you set the value of "Max Transports in Transit" to a higher value. Suitable is a value that allows products of at least 3 separators being in transit together. If a pallet contains 8 engines, the value should be at last 17.

Then you can decide or change the order of the tasksequences in the tasksequencequeue of the Dispatcher21. For example you can change the Priority of the tasksequence.


· 23
5 |100000

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

Mathilde DOUSSET avatar image Mathilde DOUSSET commented ·

If I change this value , I give a order of priority for the separator but not for only pallet?

I would like my operator take one engine in the separator 66; then one engine in the separator 68...

Is it possible?

Thank you!

0 Likes 0 ·
Joerg Vogel avatar image Joerg Vogel commented ·

Maybe I haven't got the right order you wish. In the attached model the Dispatcher21 set a descending priority to stored tasksequences if the tested loadstation divers to previous tested loadstation of the tasksequence in the tasksequencequeue. That way gets only one tasksequence of the bunch of tasksequences that have the same loadstation a higher priority. When all higher priority tasksequences are transfered to the operator then the OnResourceAvailable Trigger of the Dispatcher21 starts a new round to give higher priorities again.

0 Likes 0 ·
Joerg Vogel avatar image Joerg Vogel Joerg Vogel commented ·

The model depends on a higher rate of tasksquences in transit. I have set the value of Max Transports in Transit to 24.

0 Likes 0 ·
Joerg Vogel avatar image Joerg Vogel Joerg Vogel commented ·

if you need a defined order of separators to let the operator load from, then you can set this order in an treenodearray and check the tested tasksequences in the tasksequencequeue with the array. If an array field fitts to the tested tasksequence and the tasksequence has got an higher priority the next filed of the array is tested,

0 Likes 0 ·
Mathilde DOUSSET avatar image Mathilde DOUSSET Joerg Vogel commented ·

Yes, it's good but how to make if I didn't have a dispatcher because I have take off it.

I join you my new model.

esszai-simusequencage.fsm

0 Likes 0 ·
Show more comments
Mathilde DOUSSET avatar image Mathilde DOUSSET commented ·

@Jörg Vogel Yes it's very good but why the engine didn't go to the conveyor before about 400 s?

Thank you!

0 Likes 0 ·
Mathilde DOUSSET avatar image Mathilde DOUSSET Mathilde DOUSSET commented ·

@Jörg Vogel

Excuse me but what is the port 2? Why the value 3?

0 Likes 0 ·
Joerg Vogel avatar image Joerg Vogel commented ·

Port 2 is the connection to the EntryTransfer in the separators. In the OnMessage Trigger of the BasicFR the switch statement need a case other than the default. I have chosen simply 3. In this way I have the ability to use 1 and 2 for other purposes.

0 Likes 0 ·
Mathilde DOUSSET avatar image Mathilde DOUSSET commented ·
@Jörg Vogel

Thank you , but how do you know that it's the port number 2? Where can I see?

Because I would like make the same process for the gearbox .

0 Likes 0 ·
Show more comments