You are here:Home>Learning Center>User’s Guide>Chapter 3 – Model Elements>Chapter 3 – Section 7 & 8

User's guide chapter 3 section 7 & 8



Previous: Chapter 2 Next: Chapter 4

3.7 – Resource Assignments

Resource assignments define the use of one or more resources in performing an activity or moving an entity. For each entity that is processed or moved, each assigned resource is captured and held until it is freed via the resource connection or a FREE statement in Action logic. While the resource is captured, it is not available for use by other activities or routing connections. To be pulled away from a task the resource is performing, it must be interrupted by a resource assignment that has the Respond immediately box checked.

Resources may be captured for performing an activity or a move. They may also be freed or kept after the activity or move is completed. Multiple or alternative resources may be used for an activity or move.

A connected resource is always captured BEFORE any defined activity or move time and freed AFTER an activity or move time. If an input queue is defined for an activity, the connected resource is captured prior to the entity entering the activity. If no input queue is defined, the entity enters the activity and then captures the resource. Multiple resources required for an activity or routing are not captured until they are all available. To capture multiple resources as each becomes available, use a GET statement in the Action logic of the activity or routing.

Assignment Types

Following is an explanation of each type of resource assignment and the information in its properties dialog.

• Get and Free
• Get
• Free
• Alternate

Using Multiple Resources

You may use multiple resources and mix the resource connection types. You can mix multiple and alternate resources. When defining multiple resource connections, remember that they are executed in the order in which they were defined. To change that order, disconnect the resource connections and reattach them in the order you desire.

Resource Priority Values

There are 10 levels of priority values: 0 – 99, 100 – 199, 200 – 299 . . . 900 – 999. 0 – 99 is the only non-preemptive level.

Preemption means that the current work being done by a resource will be interrupted in order for the resource to go to the location of the preemptive GET. After that higher priority work is complete, the resource will return to the interrupted location. Preemption will occur only when the value of the calling priority is at least one level higher than the resource’s current priority.

The calling priority is at least 100 higher than the resource’s current priority.

For example, if a resource is working at a priority of 50, then a priority call of 150 will be required to perform a preemption. The 150 GET will be completed before returning to the initial 50 GET.

Using a priority which is 300 or higher will bring a down (or off shift) resource back on-line (or on shift).

Resource Priority, Shifts, and Interrupt

The Resource priorities, interrupt, shifts, and ‘Interrupt current activity to go off shift or on break’ can be used in a model together, the following restrictions apply.

  1. A resource priority of more than 100 is an interrupt priority, meaning that if a resource is working on a task that has a lesser priority the resource will leave that task and start working on the priority that is 100 or more.
  2. If the resource priority is less than 100, but it is higher than the other task the resource is working on, the resource will not leave the task its working on, but will complete it and then come to work on the task with greater priority.
  3. If ‘Interrupt current activity to go off shift or on break’ is checked on shift of the resource, this will mean that the ‘Interrupt current activity to go off shift or on break’ has a priority of 299. The resource will leave any task its working on and go offline.
  4. An interrupt priority that is used to have the resource leave the task its working on, and start working on another task will work with ‘Interrupt current activity to go off shift or on break’ if the priority is set to less than 199.
  5. An interrupt priority of greater than 199 will keep a resource online, even if its scheduled to go offline and ‘Interrupt current activity to go off shift or on break’ is checked.
  6. An interrupt priority of greater than 599 will bring back an offline resource online, even if its offline and ‘Interrupt current activity to go off shift or on break’ is checked.

3.7.1 – Get and Free

The Get and Free resource connection allows you to use the resource for the duration of the activity or move, and once the activity or move is complete, the resource is freed.

Get and free connector route

Get and free connector route

Quantity The number of units of this resource that are required. Any expression is valid.

Priority Enter the priority (0 – 99) for responding to this activity. Higher values have higher priorities. A priority is only necessary if the resource is assigned to multiple tasks that may be competing for the services of the resource.

Respond immediately Check this box if the resource is to interrupt any other activity in order to respond immediately to this activity. This selection is only meaningful if the resource is assigned to multiple tasks. (A resource that is off shift or on break will not respond until back on duty by this request.)

3.7.2 – Get

The Get resource connection allows you to get the resource and hold it until you explicitly free it later using a Free resource connection or FREE statement in Action logic.

Get resource connector route

Get resource connector route

Quantity The number of units of this resource that are required. Any expression is valid. You may leave this field blank or enter 0 if the actual getting of the resource is done explicitly in the Action logic of the activity or routing. In this case, the connection serves only as a graphic representation of the resource being used.

Priority Enter the priority (0 – 99) for responding to this activity. Higher values have higher priorities. A priority is only necessary if the resource is assigned to multiple tasks that may be competing for the services of the resource.

Respond immediately Check this box if the resource is to interrupt any other activity in order to respond immediately to this activity. This selection is only meaningful if the resource is assigned to multiple tasks. (A resource that is off shift or on break will not respond until back on duty by this request.)

3.7.3 – Free

The Free resource connection frees a resource that was previously captured using the Get resource connection. If you attempt to free a resource that has not been captured, the Free connection is simply ignored.

Free resource connector route

Free resource connector route

Quantity The number of units of this resource to be freed. Any expression is valid.

3.7.4 – Alternate

To use a resource as an alternate to another resource, connect the alternate resource to the other resource’s assignment connection as shown in the illustration below. If the resource units of the connection to which it is attached are unavailable, the alternate resource will be used. If neither one is available, the first available resource will be used.

Alternate resource connector route

Alternate resource connector route

Alternate to an Alternate

To define an alternate resource for an alternate resource, simply connect the resource to the other alternate connection as shown below. No more than one alternate may be connected to another resource connection so that the order of preference in selecting resources is clear. To define multiple alternate resources, simply continue connecting an alternate resource to each previously connected alternate resource.

Alternate to an Alternate resource connector route

Alternate to a Get Connection

When an alternate resource is connected to a Get resource connection as shown in the following illustration, the resulting captured resource must be freed with either a Free resource connection or a FREE statement in Action logic.

Alternate to a Get Connection resource connector route

Since you cannot know which resource will be captured when assigning resources as alternates to a Get resource connection, you must create a Free resource connection for every possible resource as shown above. Doing this will free the resource that was captured and ProcessModel will ignore the other Free resource connections. See “FREE” in Chapter 3.11.2 for the use of FREE ALL in action logic.

Alternate Resources On Different Shifts

Define an alternate resource on a different shift in the same manner as the alternate descriptions provided above. Assign each resource type to the appropriate shift. See “Defining & Editing Shift & Break Blocks” in Chapter 3.10.1. If a resource is off shift, a check will be made to see if the alternate is available.

3.8 – Order Signals

An Order Signal is a connection from an activity or storage to an Ordered arrival or routing which notifies the arrival or routing to order or release additional entities. The signal is triggered by a drop in inventory level at the storage or activity input queue.

Order Signals route

Order Signals route

Reorder Level The level to which the storage or activity input queue must drop before signaling an order for more entities. Any expression is valid.

Order Quantity The quantity to order when an order is placed. Any expression is valid.

Place order at start Check if an initial order is to be placed at the beginning of the simulation run. If the initial order is insufficient to raise the queue or storage level above the reorder level, a Periodic arrival should be defined, in addition to the Ordered arrival, with its First time field set at time zero (0) to initialize the inventory level (see Periodic).

Important information to be aware of When an order signal is used to order entities at an arrival connection (the Order Signal is connected to an arrival connection), the arrival type must be Ordered . To learn more, see Ordered.

Important information to be aware of For ordering to continue, the inventory level must rise above the reorder point. If your system functions so that inventory trickles in and never allows the quantity to rise above the reorder point, another method of re-ordering entities must be used. For an alternate ordering method multiple capabilities in ProcessModel will be required. Continuous along with WAIT UNTIL.