question

cyc avatar image
0 Likes"
cyc asked Jason Lightfoot commented

How to accurately find and change the current state?

Hello experts,

I am currently facing an issue with modifying and synchronizing the processing state in my Flexsim simulation model. Here is my model: Problem Model.fsm

Setup:1719886855097.png

  • Source1 sequentially sends out 2 boxes.
  • Processor1's process time is set to 100 seconds.
  • Processor1 operates using Operator1.
  • Stop times are at 150 seconds and 200 seconds.


Scenario:1719886860036.pngWhen the current run time is at 150 seconds and the model is in the stop state, I need to change Processor1's processing state from 147.35 seconds to 100.00 seconds. However, when I check Processor1 in the model, the processing state does not actually change to 100 seconds. Instead, the model continues processing from 147.35 seconds.

1719886865744.png1719886869462.png

For instance, when the run time reaches 200 seconds, the second box is completed, contrary to my expectation that it should have 50 seconds remaining. This discrepancy arises because I attempted to change the processing time from 147.35 seconds to 100.00 seconds.

1719886874676.png

Based on the above scenario, how can I accurately find and change the current state within Flexsim to reflect the modifications?

Thank you in advance for your assistance!

datavaluemodify
1719886855097.png (107.3 KiB)
1719886860036.png (130.9 KiB)
1719886865744.png (96.8 KiB)
1719886869462.png (95.9 KiB)
1719886874676.png (129.2 KiB)
problem-model.fsm (33.0 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
1 Like"
Felix Möhlmann answered Jason Lightfoot commented

The time spent in a state has nothing to do with the finish time of a process. Once the process starts, FlexSim schedules a finish event to fire 100s (in this case) in the future. If the processor becomes stopped this event will be suspended but there is no way to change the remaining time until it fires after the fact.

You would have to destroy the event and move the item into the processor again to restart the entire process and schedule a new event. (And free the operator so it doesn't stay utilized)

problem-model_1.fsm


problem-model-1.fsm (33.4 KiB)
· 5
5 |100000

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

cyc avatar image cyc commented ·

@Felix Möhlmann

Thank you very much; that's helpful.

Is there any way to change the processor's remaining processing time (or the time already processed) in Flexsim?

I have also tried your support model, and I found that the operator is not utilized after I run the provided script. How can I solve this issue as well?

Thanks again!

0 Likes 0 ·
Felix Möhlmann avatar image Felix Möhlmann cyc commented ·
You can stop the processor, delaying the process finish. But other than that there is no other way of changing the process time apart from moving the item into the processor again, as shown in the example model.

Apparently I was wrong and you don't need to call "freeoperators()" when the item is moved from the processor to the processor. So just remove that command.

0 Likes 0 ·
cyc avatar image cyc Felix Möhlmann commented ·

Dear @Felix Möhlmann,

I have encountered an issue while using two processors in my simulation. When an item is on Processor2, I would like to send it back to Processor1. However, I noticed that the operator is not utilized when receiving item after the item is sent back to Processor1.problem-model2.fsm

Here is the sequence of events:

  • At time = 200s, I ran the script to send item back to Processor1.1720177918462.png1720177930964.png
  • At time = 400s, I observed that the operator is not being utilized.1720177419763.png

Could you please advise me on how to address this issue?

Thank you very much for your assistance.

0 Likes 0 ·
1720177419763.png (338.2 KiB)
problem-model2.fsm (34.3 KiB)
Show more comments