160 likes | 404 Views
FlexSim Supplemental Training: Session 2. 20121029. Modeling - Concepts. Tasksequences and Taskexecutors TaskSequence Priority Communicating with TaskExecutors Global Variable vs Centerport Connections “Break To” Requirement. 2. Tasks and Tasksequences.
E N D
Modeling - Concepts • Tasksequences and Taskexecutors • TaskSequence Priority • Communicating with TaskExecutors • Global Variable vs Centerport Connections • “Break To” Requirement 2
Tasks and Tasksequences task– a single instruction or action to be performed by a TaskExecuter object. ex. LOAD flowitem tasksequence– a series of tasks to be performed in sequence. ex. TRAVEL to queue LOAD flowitem TRAVEL to processor UNLOAD flowitem 3
TaskExecuter Superclass TaskExecuters execute tasksequences. A tasksequence is a list of tasks which are to be completed in the order listed. 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 higher priority. Tasksequences are created and dispatched automatically when the “Use Transport” or “Use Operator” boxes are checked on a FixedResource. Custom tasksequences can also be created and dispatched using commands (taught later). 4
Operator • An Operator will model human tasks such as machine setup or manual assembly. • 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 directions. • Like all TaskExecutors, the Operator can load many FlowItems from multiple locations and then unload the FlowItems separately to multiple locations. 5
Model Description part 1 • Purpose • Learn how to use an Operator to both carry and process flowitems • Description • 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 connections? 6
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.
Dispatcher Superclass 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. 9
Forming a TaskExecuter team Center Output Input TaskExecuters Dispatcher 10
Transporter • A Transporter is used in a model where a fork truck, AGV or some other transport vehicle might be used. • It is used to transport FlowItems from one FixedResource to another. • The Transporter can travel in x, y and z directions. • During offset travel the forks lift or lower in the z direction as needed to pick or place flowitems. 11
“Break to” picklist options • Allows a TaskExecutor to work with multiple tasksequences at the same time • Different “Break to” options will cause very different behavior • 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 12
Model Description part 2 • Purpose • Learn how to use the “Break To” Requirement field on TaskExecuters. • Description • 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 pick-options. How does the Transporter behave? 13
Model Layout 14