Presentation is loading. Please wait.

Presentation is loading. Please wait.

TKMM01 Manufacturing simulation …….…......…... Taylor ED.

Similar presentations

Presentation on theme: "TKMM01 Manufacturing simulation …….…......…... Taylor ED."— Presentation transcript:

1 TKMM01 Manufacturing simulation …….…......…... Taylor ED

2 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)


4 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

5 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



8 Application Hierarchy Taylor ED Logistic suite application Library modeling atoms functional atoms Model model atoms functional atoms Contains mother atoms Do not modify!!!

9 Building a Model 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

10 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

11 Running a Model, or to popup run control unlimited speed (synchro) real time slide control custom speed press reset and then run to start the simulation

12 Atom Channel Concept 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

13 Atom 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

14 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

15 Library Tree 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

16 Model Layout Window Edit: cut, copy, paste and delete atoms set the rotation View: Channels and grid settings override display settings up and down in hierarchy (highest is the model level)

17 Library Contents General Source Queue Server Sink Modeling Operations Storage Transporters Operators Availability Products Other Tools Visualization 3D External Data Experiments Results Other System

18 Part 1 Part 2 Part 3

19 Model Tree 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 Tip! Use Refresh (F5) to update the Model tree Tip! Use understandable names on your atoms

20 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 viewTip! 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

21 4DScript

22 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

23 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 { }

24 4DScript Syntax Quick example setlabel(e1,e2,e3) 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)

25 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! Tip! Use tabs and new line when writing longer functions e.g. do( setlabel([blue], 1,i), setlabel([green], label([blue],i), i), setlabel([red],0,i) ) Instead of writing do(setlabel([blue],1,i),setlabel([green], label([blue],i),i),setlabel([red],0,i))

26 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

27 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

28 Atom Referencing About atom referencing In Entry and Exit triggers Direct referencing Relative referencing

29 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

30 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 i c

31 Entry/Exit Triggers Example Trigger on Creation in a Source ATOM

32 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

33 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

34 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

35 Empirical Distribution Atom Maximum 50 records per distribution Use an alias name to assign the distribution direct

36 Table Atom 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 Tip! 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.

37 Conditional Statements if(e1,e2,{e3}) e1 = condition e2 = true logic e3 = false logic, not mandatory => 0 is returned and / or allowed in condition Example: if(comparetext(label([ok],i),[yes]), negexp(10), negexp(50) )

38 Multiple Statements “DO” - statement do(e1,do(e1..e25),..e25) maximum is 25 parameters Example: do( setlabel([ok],[yes],i), setlabel([time],negexp(60),i) )

39 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 Tip! Use check syntax (F10 )

40 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

41 Repeat Statements repeat(e1,e2) e1 = number of repetitions e2 = statements use ‘ count ’ for the current number of loops made repeat( content(c), stopatom(rank(count,c)) )

42 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

43 Discrete Distributions A discrete stochastic variable represents a countable number of possible values. One particular value has a chance (greater than zero) of occurring.

44 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)

45 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

46 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.

47 Uniform Distribution Can be used if the information is global uniform(e1,e2)

48 Normal Distribution Fluctuations around an average normal(e1,e2)

49 Negative Exponential Distribution To model irregular (arrival) processes negexp(e1)

50 Lognormal Distribution Asymmetrical “normal” distrubution Repair times and process times lognormal(e1,e2)

51 More Distributions Continuous: - Beta - Gamma - Triangular - Weibull Discrete: - Poisson - Binomial - Geometric

52 Typical Waiting Times Waiting is : Time consuming Boring Expensive Bottle neck process: Waiting Time 90% Process Time 10%

53 Influence Factors Fluctuations in arrivals Fluctuations in process times Priority rules Blocking Failures Availability Utilization

54 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

55 Average waiting time (Pollaczek-Kyntchin) : Waiting Time versus Utilization

56 Shortening Waiting Times Lower utilization More regular processes Parallel processes Controlled processing Less failures Smaller batches

57 Waiting Waiting problems are actually waiting distributing problems. Balance between: - waiting of workstation - waiting of products - waiting of customers

58 Result Analysis Shit in is Shit out Simulating more or longer, results in more reliable results

59 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.

60 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

61 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.

62 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.

63 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!

64 That is all! Contact information: Kristofer Elo

Download ppt "TKMM01 Manufacturing simulation …….…......…... Taylor ED."

Similar presentations

Ads by Google