Jerry avatar image
Jerry asked Jerry commented

Accelerate delay based on conditions

ex.fsmWhen the model starts, two staff members move to one bed.

91 seconds when one staff member prepares to move the bed. It takes 36 seconds for two staff members to prepare for the bed shift.

Let me give you an example here.

If the first staff arrives and the second staff arrives 40 seconds later, the remaining time will be 51 seconds with 91 seconds to 40 seconds.

I'd like to divide the time ratio 91/36 here so that the bed can move after about 20 seconds.

Eventually, the total travel time will be about 60 seconds.

I posted the same question the other day, and I was suggested how to use the global table, but it is not applied well.

Even if it's not this way, I'd appreciate it if you could let me know if there's another better way.

FlexSim 23.1.0
global tabledelayacceleration
ex.fsm (105.0 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.

Natalie White avatar image Natalie White ♦ commented ·
To clarify, is the second staff member always going to arrive after 40 seconds? In this case, you can just use delay activities in your process flow. Otherwise, you'll have variable delay times and probably do need to reference a global table to find the delay time you need.

Also, your example model has lots of exceptions. It will be easier to help you with this question if you fix those and reupload the model.

1 Like 1 ·
Jerry avatar image Jerry Natalie White ♦ commented ·

No, we set a time as an example to help you understand, and there is no fixed time for the staff to arrive. In this case, I'm not sure how to use the global table.

And you said there was a problem with the sample model you mentioned, what part are you talking about?

0 Likes 0 ·

1 Answer

Natalie White avatar image
Natalie White answered Jerry commented

The problem is all the errors shown in your system console. You will want to fix those.


There is a way you can change the delay using labels on your tokens. In the patient flow, I added an Assign Labels activity after each of the Staff to Office activities. These two labels give the times that the staff arrive at the gurney.


Then, I used these labels to create a new label, called ProcessingTime (right after the Join activity): 1688420125898.png

You can set your Delay time to be the value of this label with token.ProcessingTime.

1688419859318.png (135.8 KiB)
1688420038063.png (39.0 KiB)
1688420125898.png (40.4 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.

Jerry avatar image Jerry commented ·

Thank you. Thanks to you, it's settled well.

1 Like 1 ·
Natalie White avatar image Natalie White ♦ commented ·
The value for ProcessingTime shown above is the total processing time. But you probably want the remaining time once the second staff member arrives, instead. You'll just need to delete the first part of that value.
0 Likes 0 ·

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.