random work process

in work process i create 6 order (plz see picture ) but i need random 6 order if order3 finsh can run process is now the order run step 1 2 3 4 5 6 plz help me

1560240400528.jpg

You need two UserVariables. One of Distribution type, in this example “rand”. With value of uniform(0.0,6.0). And a Real type “tester”.

In this example, we’re assigning the “tester” a random value between 0.0 to 6.0 and test if the value is e.g. greater than 1 but less or equal to 2, then proceed to Case2 conditional tag and so forth…

Just replace the Print tasks inside with a Need. Also, after the last If Task add TransportOut and finally remove the Delay in the end.

 

Assign:tester:rand
Print:#UserVariables;;tester:True:True
If:tester <= 1:Case1:
If:1 < tester <= 2:Case2:
If:2 < tester <= 3:Case3:
If:3 < tester <= 4:Case4:
If:4 < tester <= 5:Case5:
If:5 < tester <= 6:Case6:

<Case1>
Print:Case1:True:True
<>
<Case2>
Print:Case2:True:True
<>
<Case3>
Print:Case3:True:True
<>
<Case4>
Print:Case4:True:True
<>
<Case5>
Print:Case5:True:True
<>
<Case6>
Print:Case6:True:True
<>
Delay:1

 

Thank you Jouha for answer

i attach file wcmx plz example @ work process#34 in work process i create

Need:103AA
TransportOut:103AA:True
Need:104AA
TransportOut:104AA:True
Need:105AA
TransportOut:105AA:True

 

in normal case when play simulation agv car wait 103AA pattern finsh agv car get 103AA but i real process 104AA finsh befor 103 AA why agv car don’t get 104AA

 

please example me and send file back

thank you .

random-work-process.vcmx (8.52 MB)

I test flow you it random working but i need real time example

if pattern 104AA finsh agv car get pallet to work process#34 and transportout

if pattern 105AA finsh agv car get pallet to work process#34 and transportout

someting right that

 

 

@prawit Please review the Works Tasks Reference Guide.

#— Process A —#

Need:103AA
TransportOut:103AA:True
Need:104AA
TransportOut:104AA:True
Need:105AA
TransportOut:105AA:True

#— Process B —#

Need:103AA?104AA?105AA
TransportOut::True

Processes A and B are NOT the same. In Process A, the Need for 103AA must be done first because 103AA is the request of that Need task . In Process B, the Need task is conditional, so either 103AA, 104AA or 105AA is needed to complete that task.

#— Process C —#

Need:103AA,104AA,105AA
TransportOut::True

Process C is NOT the same as A nor B. In Process C, there is a list of needed products, so that Need task is not completed until ALL three requested items are delivered by a resource.

#— Process D —#

Need:103AA?104AA?105AA
TransportOut::True
<103AA>
#insert tasks here
<>
<104AA>
#insert tasks here
<>
<105AA>
#insert tasks here
<>

Process D is the same as B, except conditional tags <> are used with the corresponding ProdIDs listed in the Need task. This means when the Need task is executed, if 104AA, for example, is delivered, the process will execute the tasks inside the <104AA> conditional tags. Think of it as a subprocess.

The solution provided by @jouha is optimal for pseudo-randomness and also helps avoid the risks of using B and D.

However, try this => Save a new version of your layout, and then try Process B. Is the result good?

thank you for solution it work