I'm just curious what the plan was for collecting resource utilization since "acquire" in process flow doesn't seem to change the operator state for the operator associated with the resource?
I'm just curious what the plan was for collecting resource utilization since "acquire" in process flow doesn't seem to change the operator state for the operator associated with the resource?
Because of the current limitation of Process Flow with states, it is often easier to link your resources to actual 3D objects and then switch their states manually. You can then display their utilization charts in the dashboard. Note that nothing is actually happening within my 3D world, its only purpose is to give me the stats for my PF. (My code turns the processor red while it is in use.)
I hope that in the future we can change the state of a resource in Process Flow without it requiring a 3D counterpart... @Anna Kamphaus
I've linked my PF resources to 3D resources however in most cases in my current model the resources is usually only acquired for a specific time and then released. This does not cause a state change in the 3D operator so my utilization shows that the operator is idle for the entire period.
In the above example I am assuming that the 3D world isn't being used in the model. Its only purpose is to collect state info. Because the 3D model is not in use, I'm not fighting with the default states of the object. I use the setstate command to tell it exactly which state I want it to be in. If the 3D model is in use, you won't be able to use the same method without taking care to not utilize the machine for any other purpose that would interrupt its state. For example, if the processors received an item during this period they would update their state using the default state profile of a processor. You are always fighting their desire to set their own state if they are interacted with in any way.
If you want to make sure that the state you desire is not interrupted you need to make that object (process, operator, etc) unavailable during the desired period. You can do this in one of two ways (off the top of my head).
1) The preferred method of placing a TE into a state for a specific amount of time is through the use of the TS Delay. However, this only works if you know the exact time of the delay.
2) If the delay is open ended you will want to use the custom task activity and select "Utilize" from the list of tasks. You get to specify a state for the duration of the delay.
A Utilize task requires the use of the freeoperators(,) command to exit the specified state.
2) Similar to the utilize method , stopobject and resume object commands can also be used. The stop object command freezes the object and places it into the specified state. The object is not available until the resumeobject command is fired on it. You get to specify a state.
stopobject("MyObject",STATE_BREAKDOWN);
resumeobject("MyObject");
I spoke about these options on the phone with you but I thought I'd post it so other may learn from our conversation as well!
Are there any updates on this since 2016, or do I still have to tie process flow resources to 3D objects? I am also trying to get utilization statistics on a process flow resource. The state pie chart won't let me select a process flow resource because the "member is not an object".
Thanks,
I'm also interested in whether there is an easy way to do this in the more recent versions. It looks like Brenton hasn't been active recently so I'm pinging you as well.
OK, I got to thinking about the allocated idle state check box feature I mentioned in my previous answer, and I realized that you can just implement that yourself, with some listeners on the Resource. So I'm attaching a process flow that will set the state on objects that are acquired on the resource but idle. You'll see that when the simulation runs, operators will be in the "allocated idle" state when they are acquired by the resource but otherwise idle. This is done without having to change the primary acquiring/releasing process.
Once this is done, to get the utilization of individual operators you just include allocated idle in the set of utilization states in a dashboard state pie chart.
Anthony
While trying to face similar situation of measuring utilization of an operator that is being called from FixedResource PF model, I tried using your above technique with a STATE_BUSY or STATE_UTILIZE parameters passed in the code snippet, but the dashboard does not seem to register either of these while it has no problem registering your STATE_ALLOCATED_IDLE state. Any ideas on how to go about registering Operator's BUSY/PROCESSING/UTILIZE/LOADING/UNLOADING states in the dashboard while controlling them from PF model? I understand that this works in the conventional Flexsim 3D world but for some reason even in the latest release 16.2 of the platform, this seems a bit challenging to pull off from a PF. Any help is sincerely appreciated.
Thanks
Some options:
Obviously none of these are really easy solutions. Perhaps there should be, first, a feature on the resource where you can check a box and define the state to put the object into when he's been acquired but is idle, and second, a utilization statistic on the resource, which is essentially 100 times its content divided by its capacity.
8 People are following this question.
FlexSim can help you understand and improve any system or process. Transform your existing data into accurate predictions.
FlexSim is a fully 3D simulation software environment. FlexSim can be used to simulate any process in any industry.
FlexSim®, FlexSim Healthcare™, Problem Solved.®, the FlexSim logo, the FlexSim X-mark, and the FlexSim Healthcare logo with stylized Caduceus mark are trademarks of FlexSim Software Products, Inc. All rights reserved.
Privacy | Do not sell or share my personal information | Cookie preferences | Report noncompliance | Terms of use | Legal | © Autodesk Inc. All rights reserved