Online Session 1 - FlexSim Simulation Software

Report
FlexSim Supplemental Training
part of the
FlexSim Education Initiative:
• Textbook: Applied Simulation, modeling and Analysis using FlexSim
– Educator support materials
– Video insight series
• Supplemental training 4 week series
– Introduction, In-depth topics
• FlexSim application aids (help menu)
– User Manual
– Getting Started tutorials
• FlexSim formal training courses
– Basic, Advanced, Specialized
20121029
1
Example Model- Overview
• Introduction of common modelling concepts
–
–
–
–
–
–
Dynamic routing decisions
Itemtypes
Labels
Statistical Distributions
Object Triggers
Global Tables
2
• Purpose
Model Description
– Learn how to assign and use labels on flowitems for routing and
processing purposes. Learn how to use an empirical distribution to
assign itemtypes.
• Description
– Parts arrive in a queue exponentially every 30 seconds. There are
four part types (1,2,3,4) distributed (20%, 30%, 40%, 10%)
respectively (see dempirical in Flexsim Command Summary).
– The parts are processed on one of four machines. Each machine is
dedicated to a single part type. The processing times at each
machine is uniform(100,120) seconds for first time parts, and
uniform(120,130) seconds for rework parts.
– After the parts are machined, they are put in a queue and wait to be
tested. The test time is a constant 10 seconds. Parts that pass, leave
the model, failed parts are routed back to the first queue to be
reworked. 10% of the parts fail.
– Parts being reworked are given priority in the queue.
3
Model Layout
4
Model Flow – From the Source to the
Sink
Requirements:
• Four part types
• Each part type has a dedicated machine
• Randomly assign part types
Concepts:
•
•
•
•
Itemtype Attribute
Send to Port picklist options
Statistical distributions
Object triggers
5
Understanding the Basic Pick List
Option Name
Choose an option
or type an
expression
directly into the field
Edit the selected
option graphically
(template editing)
Edit Code for this
option
6
Editing Picklists
• Graphical pop-up
windows will guide you
in editing picklist
options. Different
options will require
different information to
use correctly
7
Using Distributions
What you need to know:
• The name of the distribution
• The parameters it requires
– Check the documentation!
• Where to use it!
Example: dempirical(“TableName”)
See the commands help from within Flexsim for more
information
8
Order of Execution
(pushed flowitem)
flowitem enters
OnEntry
Pick Operator
Process Time
delay
OnProcessFinish
OnExit
delay
Setup Time
Pick Operator
OnSetupFinish
Use Transport
delay
Send To Port
possible
delay
9
Ex. Change Source Arrival
• The statistical
probability distribution
which best simulates
the inter-arrival pattern
is an exponential
distribution with a
location value of 0 and
a scale value of 30.
10
Itemtypes
• itemtype – all flowitems
have an attribute called
itemtype. It’s a numeric
identifier used to
distinguish one “type” of
flowitem from another in
processing and routing
decisions in a model.
• Addressable to the user
via getitemtype( flowitem )
11
Concept of Triggers
• When key events occur on an object, a
trigger is fired.
• The user may specify a variety of things to
happen when a trigger fires (trigger logic).
• There are triggers when a flowitem enters
or exits an object. There are triggers when
a process time finishes or a repair time is
complete.
• Each type of object has a unique set of
triggers.
12
Triggers
• Define and customize
system behavior at a
specific event
occurrence.
– Write/read information
to/from a flowitem.
– Change visual properties
of flowitems or objects.
– Send Messages to other
objects.
– Change behavior of other
objects.
– And much more…
13
Understanding the Trigger Pick List
Trigger Name
Edit** the options
(template editing)
Edit Code for this
option
**The Edit button shown will take on the “Add” icon
When no options are selected for the trigger.
14
Editing Triggers
• Trigger pop-up windows
show all the active options
for the trigger
• Add or remove options
with the appropriate
buttons
• Individual options can be
editing by clicking the
hide/collapse triangle
• Blue Text can be edited.
Tab will jump between
fields. Some options have
a hint window
15
Labels
• labels – information can be
stored on flowitems (and
other modelling objects) in
the form of labels.
• Flowitems and other
Flexsim objects can have
an unlimited number of
labels.
• Labels have a name and
data. The data may be
numeric, string, list, or
table.
16
• syntax
Object Labels
– getlabelnum( object, “labelname” )
– setlabelnum( object, “labelname” , value )
– getlabelstr( object, “labelname” )
– setlabelstr( object, “labelname” , string )
– label( object, “labelname” )
• examples
–
–
–
–
–
getlabelnum( item, “serialnumber” )
setlabelnum( item, “serialnumber”, 5 )
getlabelstr( current, “category” )
setlabelstr( current, “category”, “groceries” )
inc( label(item, “stepnum”), 1 )
• The increment command only works with number data
17
The Flowitem Bin
• Sources create copies
of objects in the
Flowitem Bin
• Any changes made to
objects in the Bin
affect the flowitems
that are created by
Sources
• Used to create labels,
set size, color, shape,
etc.
18
Routing Back to the Queue
Requirement:
• 10% of all tested parts fail, and are sent
back to the first queue awaiting rework.
Concepts:
• Send to Port picklist
• Object Trigger Events
19
Edit Object Behavior
Requirements:
• Conditional process times based on items needing to
be reworked
• Prioritize items in the queue that need to be reworked
Concepts:
• Labels
• Object Trigger Events
• Statistical distributions
20
Questions & Bonus
• Where is the bottleneck?
• Can you change the color of failed parts?
• Change the model to count how many times a
part has failed.
• Add a Dashboard to Track throughput per
hour of the system.
21
Dashboards
• Adds customizable charts
and graphs that update in
real-time with your model
• Many Predesigned charts
available
• Using the Tracked Variables
tool, also allows for the
creation of user defined
charts
22

similar documents