Online Session 2
Online Session 2
Training: Session 2
Modeling - Concepts
• Tasksequences and Taskexecutors
• TaskSequence Priority
• Communicating with TaskExecutors
– Global Variable vs Centerport Connections
• “Break To” Requirement
Tasks and Tasksequences
• task – a single instruction or action to be
performed by a TaskExecuter object.
• tasksequence – a series of tasks to be
performed in sequence.
ex. TRAVEL to queue
TRAVEL to processor
• TaskExecuters execute tasksequences.
• A tasksequence is a list of tasks which are to be completed in the
• A task is an activity such as loading, unloading, traveling, delaying,
or simply being utilized.
• When a TaskExecuter receives a tasksequence, it will start
executing the tasks one after another until the tasksequence is
either finished or preempted by a preempting tasksequence of
• Tasksequences are created and dispatched automatically when the
“Use Transport” or “Use Operator” boxes are checked on a
• Custom tasksequences can also be created and dispatched using
commands (taught later).
• An Operator will model human tasks
such as machine setup or manual
• The Operator can also be used to
transport FlowItems from one
FixedResource to another.
• It really has no additional functionality
beyond the TaskExecuter itself.
• The Operator can move in x, y, and z
• Like all TaskExecutors, the Operator
can load many FlowItems from multiple
locations and then unload the FlowItems
separately to multiple locations.
Model Description part 1
– Learn how to use an Operator to both carry and process
– Parts arrive at a queue every 20 seconds exponentially
distributed and need to be carried by the operator to one of 3
machines, whichever is first available.
– The operator needs to setup the part which takes 10 seconds.
– The part will then process for 20 seconds on its own.
– When the part finishes, it will leave the system.
– One operator will run all three machines.
• Questions & Bonus
– See if you can get the operator to stay for setup once he has
carried the product to the machine.
– Can you create the same model without center port
Preempt and Priority
• A tasksequence may preempt the current
tasksequence part way through the current list of
tasks. The preemption can either temporarily
interrupt the current tasksequence or
permanently destroy the current tasksequence as
well as any other tasksequences waiting in the
preempted TaskExecuter’s tasksequence queue.
• Tasksequences can be sorted by their priority.
• The Dispatcher receives tasksequences
and either queues them up, or dispatches
the tasksequences immediately to other
Dispatchers and/or TaskExecuters
connected to its output ports.
• Because a TaskExecuter is a subclass of
the Dispatcher, it too can act as a
Dispatcher and be connected through its
output ports to other TaskExecuters.
Forming a TaskExecuter team
• A Transporter is used in a
model where a fork truck,
AGV or some other
transport vehicle might be
• It is used to transport
FlowItems from one
• The Transporter can
travel in x, y and z
• During offset travel the
forks lift or lower in the z
direction as needed to
pick or place flowitems.
“Break to” picklist options
• Allows a TaskExecutor to work with multiple
tasksequences at the same time
• Different “Break to” options will cause very
• Requires that the tasksequences implement a
“Break” task type
– Note: the TaskExecutor also needs to be told who
is queuing its tasksequences; itself or a dispatcher
Model Description part 2
– Learn how to use the “Break To” Requirement field on
A Source continuously sends Flowitems randomly to 3 Queues.
Flowitems are assigned an itemtype 1,2,3 uniformly distributed.
All three Queues can hold all three itemtypes.
A team of two Transporters carries Flowitems to three Queues that
each hold 1 itemtype.
– These Queues then go to Processors and a Sink.
– The Transporter can carry up to 5 items at a time.
– The Transporter should only carry items that have the same itemtype
at any time.
• Questions & Bonus
– Experiment with the other available “Break To” Requirement pickoptions. How does the Transporter behave?