Limit the Time Until Service Completion

In this example (open modelmodel), two machines operate in series to process parts. The example seeks to establish a time limit for the first machine's completion of active processing, not including any subsequent time that a part might need to wait for the second machine to be ready.

A Schedule Timeout block establishes the time limit before the part waits for the first machine. A Cancel Timeout block cancels the timeout event after the first machine's processing is complete. However, placing only a Cancel Timeout block between the two machines, modeled here as Single Server blocks, would not accomplish the goal because the part might time out while it is blocked in the first Single Server block.

The solution is to use a queue to provide a waiting area for the part while it waits for the second machine, and use a gate to prevent the first machine from working on a new part until the part has successfully advanced to the second machine. In the model below, parts always depart from the first Single Server block immediately after the service is complete; as a result, the time limit applies precisely to the service completion.

Was this topic helpful?