question

Grzegorz P2 avatar image
0 Likes"
Grzegorz P2 asked Grzegorz P2 commented

Minimum quantity for processor?

Hi Guys!

I have a simple question! :D

Imagine that we have model with source-->2 queues-->1 processor-->queue-->sink

1. I wanted the Processor 1 to has a capacity of 20 pieces.<- no problem with this

2. Processor 1 should open input at the moment when there are minimum 20 pieces in total on both queues (for example 13pcs in first and 10pcs in second so in total 23pcs >20pcs). <- I have no idea how to do it :D

3. Then 20 of pcs should enter the Processor 1 (okey, cause processor has a capacity of 20 pcs)

4. Then Processor 1 at the end of the process (on exit probably?) should check point 2. and if the both queues in total have minimum 20pcs Processor 1 should open input port and if there is less than 20pcs Processor 1 should close input port until both queues reach again minimum 20pcs.

I want the processor to always process 20 pieces (regardless of which queue they come from, but a total of 20 pieces at once)

FlexSim 19.2.4
queuecapacityminimum for processor
5 |100000

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

Steven Hamoen avatar image
2 Likes"
Steven Hamoen answered Grzegorz P2 commented

@Grzegorz P2 Here is an example with the use of process flow. Using a batch activity this is quite simple.batching20.fsm


batching20.fsm (45.6 KiB)
· 3
5 |100000

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

Grzegorz P2 avatar image Grzegorz P2 commented ·

additional-counting.fsm

Thanks mate! Its simple question - I said that! :P

Im starting my adventure with FlexSim so for me it is totally useful lesson.

I have one, maybe two more question.

Ive edit your model a bit (please find attachment). Now there are 2 groups of Queues. And it almost works the way I wanted it to.. queue2 and queue3 reach target 20 elements first (in this model) and the problem is here: batch in ProcessFlow1 reaches a state 13 when 10 elements leave Queue2 - and it is still counting up - but this 13 should be decreased by the number that left the Queue2 (10 in model).

0 Likes 0 ·
Steven Hamoen avatar image Steven Hamoen Grzegorz P2 commented ·

@Grzegorz P2

This model does what you want but with a little different approach. In stead of using a batch activity I push all the items on a list with a number in which queue they are. At the other side I have 2 tokens, each representing a processor to pull only from the queue the ones they are allowed to pull.

additionalcountingtal.fsm

0 Likes 0 ·
Grzegorz P2 avatar image Grzegorz P2 Steven Hamoen commented ·

Works perfectly. Now I have to play with it a little bit to get a good understanding of the methodology. Many thanks.

0 Likes 0 ·
Joerg Vogel avatar image
1 Like"
Joerg Vogel answered

The processor can't decide to open its input, because there isn't an event to accomplish this. Only the queues can decide, because each time an item enters a queue, you can check if the condition becomes true. Then you open input of the processor, if the processor is empty. If the queue condition is fulfilled before the processor is empty again, you can let the processor open its input, when the last processed item has left.

5 |100000

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