Route Logic Definition

26 January 2012

Lets know the definition of Route Logic in Quest simulation tools.

Route logic for an element class is executed whenever a part is present on the output of an element class or element. Parts can be placed on the output of an element or element class by either the PASS, PRODUCE, or DO_PROCESS statement.

If any unload process is attached to the class, before parts are routed, the unload process requirements and times are applied. If the unload process requires more than one part, until all its part requirements are satisfied, no part will be routed.

For example, if a machine produces ten parts as the product of a particular process, the user can write a route logic that routes all ten parts in one procedure; or, the user can write a route logic that routes only one part at a time. If the second method is used, the route logic will immediately be called again and again until all of the parts have been routed.

1.   Cyclic Order

This procedure routes parts in a cyclic fashion based on the output connections. It does not test if an output is available before transferring the part to it. If the destination is not available, the routing element will be blocked until such a time that the transfer can be completed.

2.  Cyclic (Non Blocking)

This procedure routes parts in a cyclic fashion based on the output connections. It does not test if an output is available before transferring the part to it. If the destination is not available, the routing element will not be blocked and other parts may be routed.

3.  First Allowed Output (Built-In)

This procedure will route a part to the first element that is allowed by the part routing restriction data. This is a simple routing rule that may apply to many simple situations. In order to increase model run speeds, this procedure is hard-coded in C. Note that no checking is made that the receiving element is willing to accept this part.

4.   Fixed Routing

This procedure routes part classes to a specific output based on table data entered by the user in a matrix of part class versus output number. This procedure is useful for sorting parts by color or by part family.

5.   Least Utilized

This procedure evaluates the average utilization for an element class attached to the element and selects the one with the lowest utilization. If the downstreamconnection is a class, then the class that has the element with the lowest average utilization among all the downstream elements is selected as the destination of the part. Once the part reaches the class, it may be routed to an element different from the one actually tested.

6.   Least Utilized (Non Blocking)

This procedure evaluates the average utilization for an element class attached to the element and selects the one with the lowest utilization. If the downstream connection is a class, then the class that has the element with the lowest average utilization among all the downstream elements is selected as the destination of the part. Once the part reaches the class, it may be routed to an element different from the one actually tested. If destination is not available, the routing element will not be blocked and other parts may be routed.

7.   Maximum Room

This procedure evaluates the remaining room of each of the buffers attached to an element class and selects the buffer with the maximum amount of remaining space. If the downstream connection is a class, then the class that has the element containing the maximum room among all the downstream elements is selected as the destination of the part. Once the part reaches the class, it may be routed to an element different from the one actually tested. This route procedure should only be used if all of the outputs for an element class are buffers. This procedure will behave similarly to minimum queue if all of the buffers have the same capacity.

8.   Maximum Room (Non Blocking)

This procedure evaluates the remaining room of each of the buffers attached to an element class and selects the buffer with the maximum amount of remaining space. If the downstream connection is a class, then the class that has the element containing the maximum room among all the downstream elements is selected as the destination of the part. Once the part reaches the class, it may be routed to an element different from the one actually tested. If the destination is not available, the routing element will not be blocked and other parts may be routed. This route procedure should only be used if all of the outputs for an element class are buffers. This procedure will behave similarly to minimum queue if all of the buffers have the same capacity.

9.   Minimum Queue

This procedure evaluates the queue size of each of the buffers attached to the element classes and selects the buffer with the minimum contents. If the downstream connection is a class, then the class that has the element containing the minimum contents among all the downstream elements is selected as the destination of the part. Once the part reaches the class, it may be routed to an element different from the one actually tested. This route procedure should only be used if all of the outputs for an element class are buffers.

10.   Minimum Queue (Non Blocking)

This procedure evaluates the queue size of each of the buffers attached to the element classes and selects the buffer with the minimum contents. If the downstream connection is a class, then the class that has the element containing the minimum contents among all the downstream elements is selected as the destination of the part. Once the part reaches the class, it may be routed to an element different from the one actually tested. If the destination is not available, the routing element will not be blocked and other parts may be routed. This route procedure should only be used if all of the outputs for an element class are buffers.

11.   Minimum Wait

This procedure evaluates the average residence time of each of the buffers attached to the element class and selects the buffer with the minimum time. If the downstream connection is a class, then the class that has the element with the minimum average residence time among all the downstream elements is selected as the destination of the part. Once the part reaches the class, it may be routed to an element different from the one actually tested. This route procedure should only be used if all of the outputs for an element class are buffers.

12.   Minimum Wait (Non Blocking)

This procedure evaluates the average residence time of each of the buffers attached to the element class and selects the buffer with the minimum time. If the downstream connection is a class, then the class that has the element with the minimum average residence time among all the downstream elements is selected as the destination of the part. Once the part reaches the class, it may be routed to an element different from the one actually tested. This route procedure should only be used if all of the outputs for an element class are buffers. If the destination is not available, the routing element will not be blocked and other parts may be routed.

13.   Next Free

This procedure is the default route logic for all elements. The outputs for any element are evaluated starting at output 1 (one). The part is routed to the first element that is able to accept the part.

14.   Next Free (Non Blocking)

This procedure is the default route logic for all elements. The outputs for any element are evaluated starting at output 1 (one). The part is routed to the first element that is able to accept the part. If the destination is not available, the routing element will not be blocked and other parts may be routed.

15.  Priority

This procedure uses information entered in table format by the user to determine the highest priority output that is available for each part class. If none of the outputs are available, the logic defaults to the next free element logic that will take the first available output.

16.   Priority (Non Blocking)

This procedure uses information entered in table format by the user to determine the highest priority output that is available for each part class. If none of the outputs are available, the logic defaults to the next free element logic that will take the first available output. If the destination is not available, the routing element will not be blocked and other parts may be routed.

17.   Proportions

This procedure uses a random number to select the next output for routing based on percentages entered through the user interface. For example, if a machine has two outputs, but 95% go to output 1 and 5% go to output 2, then this procedure would be the preferred choice. It does not test if an output is available before transferring the part to it. If the destination is not available, the routing element will be blocked and other parts may be routed.

18.   Proportion (Non Blocking)

This procedure uses a random number to select the next output for routing
based on percentages entered through the user interface. For example, if a machine has two outputs, but 95% go to output 1 and 5% go to output 2, then this procedure would be the preferred choice. It does not test if an output is available before transferring the part to it. If the destination is not available, the routing element will not be blocked and other parts may be routed.