In this series of tutorials, you'll learn about the different methods for creating task logic for task executers. If you are unfamiliar with what tasks or task executers are, consider reading Key Concepts About Task Logic before completing this tutorial.
In this first tutorial task, you'll learn how to build tasks using the standard logic that is available on 3D objects. Many of the 3D fixed resources have properties and basic logic that can be used to assign simple tasks to task executers, such as basic loading and unloading tasks or requiring an operator to be present during processing time. This tutorial will teach you how to create the logic for these simple tasks. This task will also include an analysis of the advantages and disadvantages of this method.
When you're finished, your 3D model will work similar to the following image:
In this step, you'll build a basic 3D model for this tutorial. You'll first add a plane that will act as a container for the 3D objects in the model. Then, you'll add the 3D objects you'll need for this model.
When you're finished, your model should look similar to the following image:
To build this model:
21.00
.Check your model to ensure it looks similar to the image shown at the beginning of this step.
In this step, you'll learn how to create simple transportation tasks using the standard logic available on 3D objects. You'll set up the operator to transport flow items from the queue to the processor, which is a relatively easy and straightforward process in FlexSim. You'll also change the item arrival rates and processing times.
To make these changes:
current.centerObjects[1]
.5
.Reset and run the model:
When a flow item arrives in the queue, the operator will transport it to the processor as soon as the processor is available.
Now that you've built a simple transportation task using the standard logic, you'll make it a little more complex by adding a second operator to the model. In standard logic, you need a dispatcher object in order to assign tasks to more than one operator. This step will walk you through the process of setting up this system. When you're finished, your 3D model should look similar to the following image:
To add a second operator to your model:
Object | New Name |
---|---|
Operator1 | Operator1A |
Operator2 | Operator1B |
Reset and run the model:
Notice that not much changes when you add a second operator in this scenario. The system isn't any more efficient than it was with one operator. A lot of that has to do with how the standard logic has operators wait at the processor until it has finished processing a flow item. With this logic, it doesn't help to have an extra operator very much.
Transportation tasks sometimes become more complicated when you add more than one possible destination. In this step, you'll add a second processor to the model to see how this affects the standard logic. You'll also add a new type of task for the operator to work on to get a better sense of how adding a second processor affects the overall logic of the system. In this step, you'll require the operator to be present at Processor1A during the processor's setup time. This means that a flow item will sit at the processor until an operator can be present at the processor. The operator is needed to complete the necessary setup before the item can be processed.
To add a second processor and create the setup time logic:
10.00
to make it
wider.Object | New Name |
---|---|
Processor1 | Processor1A |
Processor2 | Processor1B |
5
.current.centerObjects[1]
.5
.Reset and run the model:
Notice that Operator1A tends to perform tasks in this repeated order:
It would probably make more sense if the operator stayed and completed the setup for Processor1A before moving on to transport items to Processor1B. However, the operator doesn't perform the tasks in this order because it determines which tasks it will work on using FIFO logic (first in first out). In other words, the operator will do tasks in the order in which it receives the tasks that are assigned to it.
In this case, Queue1 and Processor1A are both assigning tasks to the operator. Queue1 assigns transportation tasks any time a port is free to receive a flow item. Processor 1A assigns a tasks when it has a flow item and is ready to have the operator assist with the setup time. Because Processor 1A will always assign tasks after Queue1 assigns transportation tasks, the setup time will never be done immediately after Processor1A receives a flow item.
The solution to this problem is to add priority levels and preemption logic to tasks, which will be covered in the next step.
As you saw at the end of the last step, the operator sometimes performs tasks in a strange order. Because the operator uses FIFO logic (first in, first out) to perform tasks, it sometimes performs tasks in an order that aren't efficient or intuitive. In this step, you'll learn how to fix this problem using task priority levels.
You can override the FIFO task logic by assigning tasks a priority number. Task executers will complete tasks with higher priority numbers before tasks with lower priority numbers. By default, all tasks have a priority level of 0, so task executers will work on any task with a priority of 1 or higher first. (See Task Priorities and Preemption for more information.)
In this step, you'll assign the setup time task a priority of 1 so that the operator will work on it immediately after delivering a flow item to it.
To add priorities to the setup time task:
1.00
.Reset and run the model:
Notice that the operator now stays and completes the setup time on Processor1A before leaving to work on any other tasks.
Now that you've built transportation tasks using the standard 3D operating logic, you can see that it has a few advantages:
However, there are some significant disadvantages that come from using the standard operating logic. To use the example from the model you just built:
While it was easy to set up the standard 3D logic for this basic transportation task, it becomes a lot less easy to set up as soon as you try to adapt it or customize it for a more complex business process. That's when it becomes more useful to use the Process Flow tool.
In the next several tutorial tasks, you'll learn about several different methods for creating a simple transportation task using the Process Flow tool. You'll learn more about the advantages and disadvantages of each system. Continue on to Tutorial Task 1.2 - Tasks Using Process Flow.