Help needed for combiner + process flow operation

Help needed for combiner + process flow operation

hh_2105
Enthusiast Enthusiast
140 Views
7 Replies
Message 1 of 8

Help needed for combiner + process flow operation

hh_2105
Enthusiast
Enthusiast

Hi. I recently build a simulation of 2 production lines, which runs according to the production orders. Subsequently, after all the setup is done I will further branch to more production lines.

 

The lines production schedule follows the global table "ProductionOrders".

hafiz_hamzahXEHWW_0-1745821160606.png

 

However, after the first production order is completed, the order is not closed. This is because my combiner uses the join operation which resulted in the number of tokens at "Wait for Event" is lesser than expected. The simulation however works fine when I use the "pack" operation at the combiner. If i insist to use the join operation, how may I modify my process flow?

 

hafiz_hamzahXEHWW_1-1745821423019.png

 

 

0 Likes
Accepted solutions (2)
141 Views
7 Replies
Replies (7)
Message 2 of 8

moehlmann_fe
Observer
Observer
Accepted solution

You could use a batch activity to combine tokens at the same rate the items get joined in the combiner, so the number of tokens waiting for an item matches the expected output of the combiner.

moehlmann_fe_0-1745911675122.png

 

0 Likes
Message 3 of 8

hh_2105
Enthusiast
Enthusiast

Hi Moehlmann.

 

Thanks for the help, it works. in addition to that, I have set up such that at the exitqueue, if it reaches a certain threshold, say after every 10 token/flowitem, 1 flowitem has to be collected and delivered to processor1 which acts as the quality check inspection station. since there might be other production lines running the exit queue from other production lines might also be requesting for the flowitem to be collected. hence if a collection can be done together the quality operator can do it together and then inspect the item at processor 1. also the flowitem has to be return to original queue after its inspection together with the other flow item.

 

hh_2105_0-1745918645883.png

 



any thoughts or ideas how i may simulate this?

attached updated zip model with the batch function


0 Likes
Message 4 of 8

moehlmann_fe
Observer
Observer
Accepted solution

In the attached model I send every 10th token (by queue) down a different path that pushes the item to a list.

A separated Process Flow section controls the QA operator. It pulls items from said list and has the operator load the item. Before unloading it checks again for other items on the list. The processing is purely port-connection logic from the 3d-model. When an item enters the output queue of the quality processor, a task sequence (in standard format transport task sequence) format is generated to return the item to its previous queue. Which queue that is gets written to a label before the item is first picked up.

0 Likes
Message 5 of 8

hh_2105
Enthusiast
Enthusiast

Hi Moehlmann, thanks again for the solution.

I modified the process flow to add in additional sampling process within the same process flow.

hh_2105_0-1746433803617.png

 

Type 1 and 2 sampling process collect samples from the initial out Queue and resulted there was no issues observed. However, when I added in type 3, which are for samples collected at another Queue which is the upstream of the Out Queue of Type 1 and Type 2. When I did this, it seems that the tokens are stuck at the Wait for event process in the process flow, even when flowitems are entering the out queue.

hh_2105_1-1746434014479.png


Do let me know where I went wrong or if there is a different approach for type 3 samples. 

 

I attached 2 models with this post, first one with only Type 1 and 2 sampling process. the second model with type 2 and 3 sampling process.

Additionally, currently I am able to consolidate the collection of sampling process, if there are more than 1 flowitem collection to be done at a single time. I would like to also be able to run all flowitem if Queue 1 content != 0 and return all of them to their original queue after Quality check at Processor 1, instead of processing and returning them one by one.


hh_2105_2-1746434888068.png

 

 

Is there also a simple way where all the "travel" or "movement" of flow item from 1 queue to another queue is done by operator pushing a "trolley"?

0 Likes
Message 6 of 8

moehlmann_fe
Observer
Observer

The tokens in the Wait for Event activity are the result of 'merging' multiple tokens in the Batch activity. They only have a reference to 'their' item. This worked, because if the order of items is not changed, the first token in each batch is the one belonging to the item that will be retained in the combiner. By removing items from the queue and re-inserting them later, you change the order of items, meaning it is very likely for the 'token-item' to get destroyed in the join process.

To prevent any issues, the input of the combiner needs to be closed while an item is removed for QA. And that item must later be put back into the queue at the same position (rank) it had before it was taken away.

(Technically the combiner input can stay open, but you need to make sure that the item is returned to the queue before it is "its turn". The correct rank, in case more items entered in the mean time and the item is not the last in the queue anymore, could be determined by storing the current rank of the item and the total queue output when it is pushed to the sampling list and then use those to compute the new rank based on the total output of the queue when it is returned to the queue.)

 

Processing multiple items before returning any can be done by increasing the priority on the processor and allowing the process task to preempt others.

 

You can add additional objects as "accessories" to the operator in the animation editor (rightclick -> Edit -> Animations). If you also change the animations it uses in its properties, making it look like they are pushing a cart isn't too difficult. (There literally is a pre-made animation called "PushCart").

0 Likes
Message 7 of 8

hh_2105
Enthusiast
Enthusiast

Hi Moehlmann, Thank you for your help so far.

 

I have decided to simplify the sample collection for type 3 hence there are only 2 types of collection - a.Type 1 & 3 and b.Type 2

However, in doing so, it seems like Processor 1 is no longer a priority. At around ~5090 seconds, the "sample collection process" is prioritise over Processor1 processing activity. In the middle of performing sample collection process "travel" then the operator preempt and resume processor 1. I tried adding the "Custom Task" function and arrange the pre empt priority, however it doesnt seem to help.

The intended priority is that I wanted to do is that

1. Unloading of any samples to have the highest priority as the trolley should be unloaded completely instead of leaving any flowitem and moving on to other task.

2. Processor1 to have the 2nd highest priority as if there is flow item in queue 1, processor 1 (quality check process) should complete this first

3. Return of samples should be the next priority as this task can be done once all items that is in queue 1 has completed Processsor 1.

4. Lastly the collection of samples

How may i rectify this priority issue?

0 Likes
Message 8 of 8

moehlmann_fe
Observer
Observer

I think rather to try and do this with priorities and preemption somehow it's easier to just make one loop in Process Flow that manages collection -> waits for processing -> returns samples.

0 Likes