AnswerHub Upload Issue
Our AnswerHub community currently has a bug that prevents you from attaching your model or other files to your questions. AnswerHub is aware of this issue and they are working on a fix. Until we receive their patch, you can upload your models and other files to FlexSim's file share site. Include the file name in your question so that we know which upload to reference.

question

Sebastien avatar image
0 Likes"
Sebastien asked Sebastien commented

How to get process time of an instance from its tree ?

Hello !

I would like to store the total processing time of each instance of my machines.

I used to do it with a statistics collector but all the state times are already registered in each instance's tree under the path: "instance/stats/state_current/profile".

Is it possible to access the processíng time stored in the instance's tree from the model, for instance from the instance's Exit trigger ?

Best regards,

timestatestree
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

·
Joshua S avatar image
1 Like"
Joshua S answered Sebastien commented

You can use this code

executefsnode(getvarnode(Model.find("Processor1"), "cycletime"),0);

The node for processing time is a script node, so this executes the script in that node and returns the processing time, but only if the processing time was a set number, not based off the item's type or such. If the processing time is constantly changing, then in the code for the processing time, tell it to change a label on the processor and read that label on the instances exit trigger.

· 9
5 |100000

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

@Joshua S

I actually meant the processing time in the stats node.

Can it also be retrieved ?

0 Likes 0 ·
processingtime.png (34.8 KiB)
Object processor = Model.find("Processor1");
return processor.stats.state().getTotalTimeAt("processing");
From the On Exit trigger:
current.stats.state().getTotalTimeAt("processing")
1 Like 1 ·

Great ! Thank you phil ! I did not know of the method.

0 Likes 0 ·
Show more comments

@Joshua S

You said "If the processing time is constantly changing, then in the code for the processing time, tell it to change a label on the processor"

How would I do that?

Thanks!

0 Likes 0 ·

This picture illustrates what I was referencing. In this case an item coming in already has a label on it that is changing the Process time, but in the code for the Process Time, you can add a line, in this case

current.ProcessTime=item.ProcessTime;

0 Likes 0 ·
capture.png (237.7 KiB)

@Joshua S

Thanks for the quick answer!

What if I have a situation of 'process time by case' where for every case I have a statistical distribution?
What I want is to get the process time value generated by the distribution so I can use it to change a keyframe variable for the animation of the processor.

In the end what I'm trying to accomplish is to make a progress bar that works for any time generated by the process time distribution...

0 Likes 0 ·
Show more comments

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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