slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
TKMM01 Manufacturing simulation …….…......…... Taylor ED PowerPoint Presentation
Download Presentation
TKMM01 Manufacturing simulation …….…......…... Taylor ED

Loading in 2 Seconds...

play fullscreen
1 / 64

TKMM01 Manufacturing simulation …….…......…... Taylor ED - PowerPoint PPT Presentation

  • Uploaded on

TKMM01 Manufacturing simulation …….…......…... Taylor ED. Starting up ED. Possible to download to your personal computers via the schools computers Works together with Windows 7 but without help files (run in compatibility mode with XP). Modeling in Taylor ED.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'TKMM01 Manufacturing simulation …….…......…... Taylor ED' - afia

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript


Manufacturing simulation


Taylor ED

starting up ed
Starting up ED

Possible to download to your personal computers via the schools computers

Works together with Windows 7 but without help files (run in compatibility mode with XP)

modeling in taylor ed
Modeling in Taylor ED
  • Objects queue up and are serviced by other objects
  • Processing is modeled as a (stochastic) time step
  • A model according to this principle is called a queuing network model
  • The object or building block of Taylor ED:


atom overview
Atom Overview
  • Everything is an Atom
  • Resources and products are atoms
  • Atoms can contain other atoms
  • Atoms can be moved from atom to atom
  • Atoms can be created and destroyed
  • Atoms can inherit behavior from atoms
  • 4 Dimensional
    • x,y,z location
    • time
application hierarchy
Application Hierarchy
  • Taylor ED
      • Logistic suite application
    • Library < model | create >
      • modeling atoms
      • functional atoms
    • Model < model | edit >
      • model atoms
      • functional atoms

Contains mother atoms

Do not modify!!!

building a model
Building a Model
  • <Model | Create> or
  • drag atoms from library into the 2D model layout
  • double and/or right click to edit atom parameters
  • time always in seconds
  • sizes always in meters
moving around in a view
Moving around in a view
  • Pan:
    • press and hold left mouse button
    • move around your mouse
  • Zoom
    • press and hold both left and right mouse button
    • zoom in: move your mouse vertically up
    • zoom out: move your mouse vertically down
  • Change view angle (3D only)
    • press and hold right mouse button
    • move around your mouse: the center of the view window is your pivot point
running a model
Running a Model
  • <model | run>, <Shift + F4> or to popup run control
    • unlimited speed
    • (synchro) real time
    • slide control
    • custom speed
  • press reset and then run to start the simulation
atom channel concept
Atom Channel Concept
  • <View | Channels> to set the channel view Tip! Use Ctrl+R
  • 0..n input/output channels
    • Input and output channels are used to pass atoms or to reference to other atoms
  • 1 central channel
    • Central channel is used for referencing only
  • Channels connect:
    • one output is connected to one input channel
    • multiple channels can be connected to the central channel
    • connect to own central channel to delete the connection
atom channels
Atom Channels
  • <View | Channels> to
    • connect by dragging mouse from dot to dot
    • right click on channel dot: show current connections
    • double click on channel dot: interactively change a connection
    • create/delete channels by pressing the small plus “+” or minus “-” sign
    • red: closed
    • green: open
  • Channels as arch or line
    • <view | set | channels as arch>
    • <file | preferences | visualization>
atom categories
Atom Categories
  • Baseclass (mother atoms) Do not change a mothers atom!
    • “bare” atom, no functionality
    • library atoms are created by adding functionality to a baseclass atom
  • Daughter
    • inherits functionality from it’s mother (original)
    • when creating an atom by dragging, you create a daughter
  • Duplicate
    • direct copy
    • there is no inheritance of functionality between the original and the copy
library tree shift f2
Library Tree <Shift + F2>

The treeview of the library, also the “Model Layout” window will pop up

  • View:
    • Atom Info: will display atom help
    • VEG: will display Visual Editing Guide
  • Tree
    • refreshes, collapse or expand the treeview
  • VEG
    • visual editing guide: displays the active tree atom in a simple layout view
    • autoscale, zoom in, zoom out
model layout window
Model Layout Window
  • Edit:
    • cut, copy, paste and delete atoms
    • set the rotation
  • View:
    • Channels and grid settings
    • override display settings
    • up <Ctrl+U> and down <Ctrl+D> in hierarchy (highest is the model level)
library contents
Library Contents
  • General
    • Source
    • Queue
    • Server
    • Sink
  • Modeling
    • Operations
    • Storage
    • Transporters
    • Operators
    • Availability
    • Products
    • Other
  • Tools
    • Visualization 3D
    • External Data
    • Experiments
    • Results
    • Other
    • System

Part 1

Part 2

Part 3

model tree shift f3
Model Tree <Shift + F3>

The tree-view of the complete model

Menu is the same as the library tree plus

  • Right or double click:
    • atom specific: user interface
    • general: standard parameters editing
    • label: atom specific labels
  • VEG is more useful here


Use understandable names on your atoms

Tip! Use Refresh (F5) to update the Model tree

2d 3d view
2D/3D View
  • 2D view
    • Left mouse drag: pan through the view
    • Both left and right mouse button drag:
      • Up/down: zoom in/out
  • 3D view Tip! Shift+F9
    • Left mouse drag: pan through the view
    • Right mouse drag:
      • Left/right: rotate
      • Up/Down : view angle
    • Both left and right mouse button drag:
      • Up/down: zoom in/out
4dscript overview
4DScript Overview
  • 4DScript is a functional language:
    • example: 1+2 is written +(2,1)
  • 4DScript for everything
    • model logic
    • create atoms
    • control Taylor ED from outside applications
  • 4DScript is auto compiled during run-time
  • In logistic suite mostly used to manipulate labels in triggers and conditional statements
4dscript syntax
4DScript Syntax
  • 4D Script words have 0..25 parameters
  • Parameters between ( )
  • Parameters separated by a comma: “ , ”
  • Parameters can be:
    • values
    • strings
    • expressions
  • (4DScript) Strings always between square brackets “ [ .. ] ”
  • Comments between { }
4dscript syntax1
4DScript Syntax

Quick example


e1 – Name of the label, a string within [] brackets

e2 – Value, number -> plain text or string -> within [] brackets

e3 – Reference to location (c,i or reference functions e.g. in(1, c))

setlabel([testlabel], 44, i)

4dscript syntax2
4DScript Syntax
  • Multiple lines and spaces
    • NOT sensitive in 4DScript
    • sensitive label or other naming
  • Lower and/or upper case
    • NOT sensitive in 4DScript
    • sensitive label or other naming
  • All brackets must match!


Use tabs and new line when writing longer functions e.g.


setlabel([blue], 1,i),

setlabel([green], label([blue],i), i),



Instead of writing


atom labels
Atom Labels
  • Also called dynamic database fields
  • To read and write data on specific atoms:
    • strings
    • values
  • Setting labels:
    • setlabel(e1,e2,e3)
    • Sets label e1 (string) of atom e3 (reference) to e2 (string or value)
  • 4DScript “sddb” does the same
  • Labels do not need to be declared
atom labels1
Atom Labels
  • Query labels
    • label(e1,e2,{e3})
    • Returns label e1 of atom e2
    • e3 is optional:
      • e3=1 then always value is returned
      • e3=2 then always string is returned
  • 4DScript “ddb” does the same
  • Name of the label is case sensitive
atom referencing
Atom Referencing
  • About atom referencing
  • In Entry and Exit triggers
  • Direct referencing
  • Relative referencing
about atom referencing
About atom referencing
  • Referencing in Taylor ED is like using a pointer
  • You need to reference other atoms to:
    • get information or data from that atom
    • send atoms or messages to other atoms
  • To refer to an atom is in general always relative
  • Relative referencing is used because:
    • it is needed in an object oriented environment !!
    • everything is an atom (model, product, machine…)
    • it is fast
in entry exit triggers
In Entry/Exit Triggers
  • Current “c” & Involved “i”
  • ‘c’ is current atom or the atom where the statement is written on
  • ‘i’ is the involved atom or the atom that triggered an eventhandler



entry exit triggers
Entry/Exit Triggers

Example Trigger on Creation in a Source ATOM

direct atom referencing
Direct Atom Referencing
  • Sometimes Atoms can be referenced directly:
    • library = library atom
    • model = model atom
    • treeatom = currently selected atom in treeview
    • animatom = currently selected atom in 2D animation window
    • atombyname([e1], e2) = atom with name e1 in container e2
    • atombyID(e1, e2) = atom with ID-number in container e2 (e.g. model)
    • if tables have aliases you can use the table name direct
relative atom referencing
Relative Atom Referencing
  • All other referencing is relative: start from the atom where statement is written (=c):
    • first(e1) = first atom inside atom e1
    • last(e1) = last atom inside atom e1
    • next(e1) = the atom next of atom e1 in same container
    • prev(e1) = the atom previous of atom e1 in same container
    • up(e1) = container of atom e1
    • in(e1,e2) = atom connected to input channel e1 of atom e2
    • out(e1,e2) = atom connected to output channel e1 of atom e2
    • rank(e1,e2) = atom at position e1 in queue of atom e2
atom statistics
Atom Statistics

Is available for every atom at any time:

  • age - time from creation or reset
  • content - current number of atoms contained in an atom
  • avgcontent- average number of atoms contained in an atom since reset
  • avgstay - average time (sec.) atoms have stayed in an atom since reset
  • input- the number of atoms which have entered
  • output - the number of atoms which have exited
  • status - the state of an atom (see table of atom T029-Statuslist)
  • entrytime - time (sec.) at which an atom has entered
empirical distribution atom
Empirical Distribution Atom
  • Maximum 50 records per distribution
  • Use an alias name to assign the distribution direct
table atom
Table Atom


If you need to create or use large tables (larger then 100 rows or columns) use local table instead of linking to excel table. This speeds up the simulation.

  • Indirect referencing use:
    • setcell(1,1,123,c)
    • cell(1,1,c)
  • Direct referencing use
    • an alias name has been created eg: times
    • settimes(1,1,123)
    • times(1,1)
  • Column and row 0 are the header columns and rows
  • Index out of range will not give an error message, but results in the return of 0
conditional statements
Conditional Statements
  • if(e1,e2,{e3})
    • e1 = condition
    • e2 = true logic
    • e3 = false logic, not mandatory => 0 is returned
  • and/or allowed in condition






multiple statements
Multiple Statements
  • “DO” - statement
    • do(e1,do(e1..e25),..e25)
    • maximum is 25 parameters






4dscript editor functionality
4DScript Editor Functionality
  • Auto Brackets
  • Auto Select
  • 4Dscript View
  • Select Word (F2)
  • Previous Word (F3)
  • Next Word (F4)
  • Get Word (F8)
  • Check Syntax (F10)
  • Color View (F11)
  • Tree View (F12)
  • Select All (Ctrl+A)
  • Find Replace
  • Print
  • Save to file
  • Loud from file


Use check syntax (F10)

repeat statements
Repeat Statements
  • loopuntil(e1,e2,e3)
    • e1 = condition
    • e2 = statements
    • e3 = maximum repetitions
  • use ‘count’ for the current number of loops made
  • omitting e3 might result in endless loop
repeat statements1
Repeat Statements
  • repeat(e1,e2)
    • e1 = number of repetitions
    • e2 = statements
  • use ‘count’ for the current number of loops made





statistical distributions
Statistical distributions

Use of statistics:

  • Before simulation:

- determine the distributions

- goodness of fit

  • During simulation:

- random numbers

- samples from a distribution

  • After simulation:

- analysis of results

- reliability

discrete distributions
Discrete Distributions

A discrete stochastic variable represents a countable number of possible values.

One particular value has a chance (greater than zero) of occurring.

bernoulli distribution
Bernoulli distribution
  • Parameters in Taylor ED:

- probability in %

- result1

- result2

  • A sample having result1 is equal

to probability,

result2 has a chance of

100% - probability.

Choice between two values:bernoulli(40,6,10)

empirical distribution
Empirical distribution

Product mix, Route choices, Test passed,..

P(x) Value

15% 2

25% 7

20% 10

35% 12

5% 30

In Tayor ED you can use an alias name

continuous distributions
Continuous Distributions

The chance of a sample, according to a certain distribution, results in a value between ‘a’ and ‘b’, is equal to the dark gray area.

The chance the sample will result in precisely ‘a’, is equal to zero.

uniform distribution
Uniform Distribution
  • Can be used if the information is global
  • uniform(e1,e2)
normal distribution
Normal Distribution
  • Fluctuations around an average
  • normal(e1,e2)
negative exponential distribution
Negative Exponential Distribution
  • To model irregular (arrival) processes
  • negexp(e1)
lognormal distribution
Lognormal Distribution
  • Asymmetrical “normal” distrubution
  • Repair times and process times
  • lognormal(e1,e2)
more distributions
More Distributions
  • Continuous:

- Beta

- Gamma

- Triangular

- Weibull

  • Discrete:

- Poisson

- Binomial

- Geometric

typical waiting times
Typical Waiting Times


Time 10%

Waiting is :

  • Time consuming
  • Boring
  • Expensive

Bottle neck process:


Time 90%

influence factors
Influence Factors
  • Fluctuations in arrivals
  • Fluctuations in process times
  • Priority rules
  • Blocking
  • Failures
  • Availability
  • Utilization
theoretic waiting times
Theoretic Waiting Times
  • Consider arrivals to be negative exponential distributed
  • Define variance coefficient of processes:
    • CV = standard deviation ÷ mean
  • Two extremities:
    • CV=0, constant distribution
    • CV=1, chaos, negative exponential distribution
waiting time versus utilization
Waiting Time versus Utilization

Average waiting time (Pollaczek-Kyntchin):

shortening waiting times
Shortening Waiting Times
  • Lower utilization
  • More regular processes
  • Parallel processes
  • Controlled processing
  • Less failures
  • Smaller batches

Waiting problems are actually waiting distributing problems.

Balance between:

- waiting of workstation

- waiting of products

- waiting of customers

result analysis
Result Analysis
  • Shit in is Shit out
  • Simulating more or longer, results in more reliable results
analysis of terminating systems
Analysis of Terminating Systems
  • N different simulation runs => n independent values (new random seeds)
  • Calculate confidence interval

Ask yourself if you have to simulate a system like a terminating system. It’s sometimes better to simulate a worst case scenario of the system.

analysis of steady state systems
Analysis of Steady State Systems
  • When has a steady state been reached ?
  • How long is the warm up period ?

Two formal methods:

  • N different runs
  • One long run divided into sub-runs
warm up period
Warm-up Period

At the beginning of a simulation the system is normally empty.

The production per hour will have the characteristics of this graph.

n different runs
N Different Runs
  • Determine the warm up period.
  • Simulate N different runs; every time the data from the warm-up period is disregarded.

The length of a run and the number of runs in total determine the confidence interval.

If the warm-up period is long, the sub-run method is preferred.

final tip
Final Tip!
  • Shit in is Shit out!- the result of the simulation is not better then the data you base your simulation on
  • Test in small scale - When testing out new functions and atoms construct small systems and test the function there instead of import the new function or atom directly in to your “big” simulation system
  • Use understandable names on atoms, labels etc.
  • Use the help files or the 4DSkript Command list to understand functions and find new functions
  • A simulation is a perfect model of the world, the world is not perfect!

That is all!

Contact information:

Kristofer Elo