Preet avatar image
Preet asked Preet commented

How to have throughput per hour only considering certain states?


Consider this demo model 2. Currently, it has output per hour and composite throughput per hour. This is calculated against model time. I want to have another two graphs (one for individual and one for composite) which only considers Processing and setup time while calculating the throughput. How to do that?


FlexSim 23.0.2
demo-model-2.fsm (34.3 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

Felix Möhlmann avatar image
Felix Möhlmann answered Preet commented

The expression for that value (output per "active" hours) would be this:

Object proc = Model.find("Processor1");
// Output divided by time in states given in hours
return proc.stats.output.value/((proc.stats.state(0).getTotalTimeAt(STATE_SETUP) + proc.stats.state(0).getTotalTimeAt(STATE_PROCESSING))/hours(1));

You can use this in a Statistics Collector that creates a row for each machine on reset and has the respective column set to update "When the value is accessed".

You can then display the data in a chart of your choosing ("Basic Chart Types" section in the dashboard library).


demo-model-2-fm.fsm (629.1 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.

Preet avatar image Preet commented ·
Hi @Felix Möhlmann. Thank you for the help. This worked as expected for the individual chart. How would I do that for the composite chart? Means, throughput in active hours across all processors.
0 Likes 0 ·
Felix Möhlmann avatar image Felix Möhlmann Preet commented ·

Make a single row in the statistics collector and sum up all outputs and times in a for-loop. Then return the ratio of the sums.


0 Likes 0 ·
demo-model-2-fm-1.fsm (629.2 KiB)
Preet avatar image Preet Felix Möhlmann commented ·
Worked as exactly what I wanted. Thanks a lot!
0 Likes 0 ·