question

SudheerReddy avatar image
0 Likes"
SudheerReddy asked tannerp commented

Truck as a flowitem, I am not able to get state statistics.

I have created truck as flowitem and trying to capture state statistics the following pop message came. I'm using version 19.1.

FlexSim 19.1.2
FlexSim 19.1.0
pin to dashboard
doubt1.jpg (87.7 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

·
tannerp avatar image
0 Likes"
tannerp answered tannerp commented

Hi @Sudheer R,

Thanks for bringing this to our attention. Certain flow items still do contain the old statistics structure, as mentioned in the error message in your image. We've noted that and will update those accordingly. That said, it's not a good idea to be tracking statistics of a flow item. The better option is to track statistics on fixed resources or task executors that interact with flow items. The dashboard can't copy the statistics structure for instances of flow items, so it's not possible to pin something like that to the dashboard.

Could you explain a little bit more about what you're looking to collect statistics on? Maybe post a model or describe what it is so we can help you find an alternative solution since FlexSim is not built to do this. Thanks!

· 4
5 |100000

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

SudheerReddy avatar image SudheerReddy commented ·

@Tanner Poulton

I am attaching the model for your reference. Could you please help me on following questions

1) I have created flow items as Truck and on Triggers tab On resource Available I am pushing it into the global task executer list as shown in the image.

On Schedule source I have created 2 tokens which will acquire AcquireTruckFlowItem (acquires from global task executer list) and this truck will travel by carrying parts.

At the end of the simulation run when I am trying to capture the travel time ,Idle time statistics of the truck above error message has occurred.

2) As shown below EmptyTrolley Queue has Pallets and Parts Queue has Parts. Now I have written a custom code to pull one pallet from EmptyTrolley Queue and 10 parts from Parts Queue and store in PartsLoadingToTrolley Queue. Here if I want for every part to load into pallet takes 5 seconds time how to modify my existing model.

3) The truck will carry the Pallet and Unload the pallet at Staging Queue. Now at staging area I have to unload the parts for every 5 secs and make to die and send the empty pallet to EmptyTrolley1 Queue. So the truck will carry the Empty Pallets back. How to modify my model to achieve this.

I am attaching my model for your reference.

Thanksmodelfsm.fsm

0 Likes 0 ·
f1.jpg (56.6 KiB)
f2.jpg (29.1 KiB)
f3.jpg (69.9 KiB)
modelfsm.fsm (34.1 KiB)
tannerp avatar image tannerp SudheerReddy commented ·

1) It seems like your process logic is just fine. The problem is that the Truck is a Flow Item and statistics are for Task Executors. They are different object types in the program and carry different properties/behaviors. The Truck is capable of traveling and holding objects, but you probably found that the Truck Flow Item cannot perform other tasks, such as load and unload. For these reasons, you can't get statistics from the Truck Flow Item because there aren't parameters measuring distance traveled, input/output, etc. like there are in a Task Executor object.

My recommendation is that you use a Task Executor object so that you can gather the correct statistics. Do you know how many trucks you have available in your system?

2) Instead of using so much custom code, I recommend learning more about Process Flow activities. There are activities with built-in logic that can perform a delay. For example, if you want to travel to a location and take 5 seconds to load an object, you can do that with the following activities:

This eliminates the need for so much custom code (which is why Process Flow was created).

3) For your third requirement, you can use Process Flow activities again in this arrangement:

These are not complete Process Flows by themselves because they don't have a source sending tokens through them, but these are the activities you can use instead of using custom code for everything. You can learn more about Process Flow from the tutorials in the User Manual.

0 Likes 0 ·
load-delay.png (3.9 KiB)
pf-unload.png (8.0 KiB)
SudheerReddy avatar image SudheerReddy commented ·

@Tanner Poulton Thanks for the answer.

If not in this case, when to use Truck as a flow item. Could you please give few examples when to use Truck as flow item and when to choose Task Executer.

0 Likes 0 ·
tannerp avatar image tannerp SudheerReddy commented ·

@Sudheer R,

You can use the truck flow item or Task Executer anywhere in the model, but you can only get statistics off of a Task Executer. I should have been more clear. There's nothing wrong with using trucks as flow items, but you can't get statistics off of them like you would an operator or another Task Executer class object. So to answer your question: Use Task Executer objects when you need statistics on the objects, such as throughput, utilization, travel distance, etc.

Here's a model that uses the truck as a flow item. There's not an easy way to get statistics from these trucks because they're created and destroyed throughout the model.

loadintruck.fsm

Here's a similar model that uses a Task Executer with the TE's statistics displayed on the Dashboard. (You can always change the Task Executer's 3D to look like a truck if necessary.)

loadintruck-1.fsm

0 Likes 0 ·
loadintruck.fsm (29.5 KiB)
loadintruck-1.fsm (28.5 KiB)

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.