question

Paula D avatar image
0 Likes"
Paula D asked Jordan Johnson commented

How to calculate utilization or any state from a zone partition calculation?

Hi! the thing is that I want to know how to collect any state (better if utilization) from a processor but with a zone partition. This means I want to know, for example, the utilization of a processor, but divided in the different items that process that processor.

capture.jpg

here in the picture is an example from the current content that the processor1 had processed with partitions of the different item types. What I don't know how to do is to collect the different states (including utilization) of that processor but with the same partitions.

thanks!!

*Please I will appreciate if the answer is sent with an example model, that the model will be in Flexsim Version 2018.

Choose One
FlexSim 18.1.1
processorstatesutilizationitem typezone partition
capture.jpg (39.1 KiB)
· 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.

Jordan Johnson avatar image Jordan Johnson ♦♦ commented ·

Usually, there is no way to calculate utilization per item type. But it depends on the model, so if you post your model, we might be able to figure something out for you.

0 Likes 0 ·
Paula D avatar image Paula D Jordan Johnson ♦♦ commented ·

I can't post you the real model because is private, but what are you gonna do? because maybe I can do something similar to the real one.

the one I'm posting you is the one I took a screenshot and post it a few hours ago.

zonestatistics.fsm

0 Likes 0 ·
zonestatistics.fsm (42.2 KiB)

1 Answer

Jordan Johnson avatar image
0 Likes"
Jordan Johnson answered Jordan Johnson commented

Here is the chart that I made:

It shows utilized time broken up by type. It also shows the un-utilized time. You can hover over each section to see what percent of time is spent on each item type.

I made this chart by listening to the state changes, as well as item entry and exits. Whenever the an item enters or exits, or whevenever the state changes, I check to see if the processor

  1. is in a utilized state, and
  2. has an item

I created a categorical tracked variable on a label on a token. Categorical tracked variables are basically custom state profiles. So if both the above things are true, I put this custom state profile into the correct state.

This approach will not work under two circumstances:

  1. The processor's max capacity is > 1. If this happens, its utilization would count towards all types on the processor, which this approach doesn't handle.
  2. The processor goes in to a state that counts as utilized, but there is no item. In that case, the chart above would record un-utilized time.

utilization-by-type.fsm


· 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.

Paula D avatar image Paula D commented ·

Hi Jordan, sorry for the delay of the answer.

I think that this is exactly what I want, but I have some problems.

- The first one is that I`m doing exactly the same that you have done in the process flow, But when I´m calling the token.Item. in Wait for Exiting, I don`t have the option of the event OnExiting. so I think thats a problem for the rest of the Process Flow. So I don't know what I'm doing wrong.

mymodel1.png

yourmodel1.png

- The second one is that on Wait for StateChange is like the same as the problem I`ve just mencioned, but in this case is that I don`t have the option of putting the object token.StateNode in the event OnChange.

mymodel2.png

yourmodel2.png

- The third one is that I want to know if there is any possibility to call the items by their label names that are created in the source, for example like: token.item.Type or something like that, and not by putting the names one by one, as you did.

yourmodel3.png

I will appreciate your answer. Thanks!

0 Likes 0 ·
yourmodel1.png (9.8 KiB)
mymodel1.png (8.5 KiB)
yourmodel1.png (9.8 KiB)
mymodel2.png (6.2 KiB)
yourmodel2.png (5.5 KiB)
yourmodel3.png (20.2 KiB)
Jordan Johnson avatar image Jordan Johnson ♦♦ Paula D commented ·

For your first two questions, there is a trick to listening to Tracked Variables and Tokens in the Wait for Event. In both cases, you can use the Object sampler to sample the thing you want. For a Tracked Variable, you can sample one of the Tracked Variables in the model. For a token, you will need to run the model just long enough that a token appears. Then you can sample the token.

Once you have sampled the thing you want to listen to, you can just change the object reference from whatever you sampled to token.something or whatever you need.

For your third question, I would probably put everything I wanted the state stats on in a group, and have the scheduled source may one token per object in the group:

Group("MyGroup").length

Then you can add a label (called Processor, I guess) for the nth thing in the group:

Group("MyGroup")[tokenIndex]

Be sure to change the reference for the "Wait for entry" activity to token.Processor, rather than the exact value.

utilization-by-type-2.fsm

0 Likes 0 ·