Professional Documents
Culture Documents
Basic Plant Simulation - Student Guide
Basic Plant Simulation - Student Guide
Student Guide
Engineering Solution
Hitachi Sunway Information Systems (Thailand) Ltd.
Contents
Simulation Concepts ............................................................................................................................... 8
Definition of Simulation ....................................................................................................................... 9
Discrete-Event Simulation ................................................................................................................... 9
Avoid These Common Errors in Simulation ........................................................................................ 9
Benefit of Simulation ........................................................................................................................... 9
Simulation Uses ................................................................................................................................ 10
Phases of a Simulation Study ........................................................................................................... 11
Proceeding Through a Simulation Project ........................................................................................ 11
Planning of Experiments ................................................................................................................... 13
Basic Simulation Workflow ................................................................................................................ 13
Getting Started ...................................................................................................................................... 14
Plant Simulation: Discrete-Event Simulation..................................................................................... 15
Starting Plant Simulation ................................................................................................................... 15
Ways to Open a Plant Simulation Model File.................................................................................... 16
Ways to Close a Plant Simulation Model File ................................................................................... 16
Exiting Plant Simulation .................................................................................................................... 16
Plant Simulation Licensing ................................................................................................................ 17
Plant Simulation Graphical User Interface ............................................................................................ 19
Introduction to the Graphical User Interface ..................................................................................... 20
Window Types ................................................................................................................................... 20
Plant Simulation Viewers .................................................................................................................. 20
Plant Simulation Object Windows ..................................................................................................... 21
Docked and Floating Viewers and Toolbars ..................................................................................... 21
On Demand Window Viewing ........................................................................................................... 22
Arranging Windows ........................................................................................................................... 22
Toolbox Viewer ................................................................................................................................. 23
Adding to the Class Library and Toolbox .......................................................................................... 23
Customizing Menu and Tool Bars ......................................................................................................... 25
Toolbars ............................................................................................................................................ 26
Customizing the Toolbar ................................................................................................................... 26
Introduction to Modeling ........................................................................................................................ 27
Introduction to Modeling .................................................................................................................... 28
Modeling Strategies .......................................................................................................................... 28
Organizing the Class Library ............................................................................................................. 28
Moving a Folder ................................................................................................................................ 28
The Default Class Library of a Model File ......................................................................................... 29
Renaming a Folder ............................................................................................................................ 29
User-defined Names ......................................................................................................................... 30
Saving a Model File ........................................................................................................................... 30
Opening a Backup File ...................................................................................................................... 30
Working with Objects ............................................................................................................................ 31
Frames .............................................................................................................................................. 32
Units Setup ........................................................................................................................................ 32
Inserting Objects ............................................................................................................................... 32
Connecting Objects ........................................................................................................................... 33
Other Selected Topics ....................................................................................................................... 33
Simulating a Facility .......................................................................................................................... 34
States of Material Flow Objects ........................................................................................................ 34
Help Access .......................................................................................................................................... 35
Introduction to Help ........................................................................................................................... 36
Basic Objects ........................................................................................................................................ 37
Material Flow and MUs ..................................................................................................................... 38
Resource Objects .............................................................................................................................. 38
Information Flow Objects .................................................................................................................. 38
Purpose
In this lesson, you learn the basics of discrete-event simulation.
Caution:
This lesson can be skipped by classes containing students that are already familiar with discrete-
event simulation.
Objectives
After you complete this lesson, you should be able to:
Know the type of simulations performed in Plant Simulation.
Understand why someone would perform a simulation.
See the flow of the basic use case.
Help topics
Additional information for this lesson can be found in:
Step-by-Step Help > Getting to Know Tecnomatix Plant Simulation > Simulation and Modeling
Concepts
Discrete-Event Simulation
Discrete-event simulation tracks the state changes in the model components at the time the changes
occur. Unlike continual simulation where the clock runs in a continuous manner, the clock in discrete-
event simulation jumps from one event to the next scheduled event. Events can schedule other
events such as a part entering a machine, which schedules an event for the same part to leave the
machine.
Note:
Discrete-event simulation only shows the state changes of the model components at certain points in
time, not continually over time. When certain events take place, certain model components change
their state and thus control the simulation. Plant Simulation considers these events in a discrete way,
step-by-step. The main advantage of this approach is, that Plant Simulation skips the time between
the events
In addition, Plant Simulation is an object-oriented application, that allows child objects to inherit
properties from a parent object.
Benefit of Simulation
The benefit of simulation as estimated by the VDI-directive 3633:
20% of all investment costs can be influenced by simulation.
A 2%--4% reduction in investment costs can be achieved.
0.5%--1% of the investment costs are the costs of the simulation.
To execute a plan:
Provide a template for creating the control strategies.
Test different scenarios during the warm-up phase of the facility.
Train the operators of the machines in the different states of the facility.
Simulation can:
Increase the profitability of the facility:
Increase
o Throughput
o Resource utilization
o Utilization of the facility
Determine
o Optimal buffer sizes
o Number of transporters and AGVs
o Number of the workpiece carriers
o Production schedules and sequences
Decrease
o Throughput times
o Required resources
o Storage requirements
Other
o Validate the process design in the planning process.
o Identify bottlenecks.
o Reduce WIP (work-in-progress).
o Evaluate the effects of capital investments or changes in processes.
o Optimize control strategies.
o Avoid planning errors.
o Protect investments.
Note:
The VDI (German abbreviation for the Association of German Engineers) recommendation 3633 (VDI
Richtlinie 3633) defines accordingly: "simulation is a procedure for the reproduction of a system with
its dynamic processes in an experimentable model, in order to arrive at realizations, which are
transferable to the reality. In the broader sense by simulation preparing, accomplishing and evaluating
purposeful experiments with a simulation model are understood. With the help of the simulation the
temporal expiration operational sequence of complex systems can be examined."
ASIM is a simulation conference held every year in Germany for approximately the last 20 years.
According to their website: "The goal of the Symposium on Simulation Techniques is the exchange of
information and experience between experts from industry, science, and education."
1. Preparation
o Make a deicsion on whether it is worth it to simulate?
o Define the challenges and targets.
o Estimate the effort.
o Acquire, prepare, and synchronize the data.
o Make an analytical rough estimation.
o Create and validate the simulation model.
2. Execution
o Plan the simulation experiments.
o Execute the simulation experiments.
o Validate the simulation experiments.
3. Evaluation
o Format the results.
o Interpret the results.
o Document the results.
Execution
6. Experiment and analyze the model.
Evaluation
7. Evaluate the results.
8. Give recommendations.
Planning of Experiments
Do not make generalizations based on the results.
Plan your experiments exactly.
Validate your model.
Document input data and interfaces fully.
Create your model as detailed as needed, as abstract as possible.
Simulate with real data.
This diagram shows a recommended workflow for executing a simulation study. It is imperative that
the simulation expert set goals and effective ways to measure the results of the model against those
goals. Once the measures have been determined, it is easier to build an accurate model. While
modeling, the simulation expert must determine which factors affect the results of the model and
model those, while filtering out factors that can be assumed or ignored. Once the model is built, it
should be validated. Behavior that is known in the real world should be compared to the behavior in
the model. If the model meets the criteria then experiments can be made. Changes to the model
should be done one at a time, with experiments done each time. Otherwise, it may not be known
which change caused the effects in the experiment. Experiments can show other possibilities, and a
myriad of experiments may be executed before any changes are recommended for the real system.
To execute a concise and accurate simulation study several important issues need to be identified:
• What is the goal for the system being studied?
• What parameters define the success of fulfilling that goal?
• How are these parameters measured?
Purpose
In this lesson, you learn to start and exit Plant Simulation.
Note:
For previous Plant Simulation users: Plant Simulation is no longer developed on the TUNE
infrastructure to allow for increased tool flexibility.
Objectives
After you complete this lesson, you should be able to:
Start Plant Simulation.
Exit from Plant Simulation.
Help topics
Additional information for this lesson can be found in:
Setting-Up and Starting > Starting Tecnomatix Plant Simulation
Setting-Up and Starting > Exiting Tecnomatix Plant Simulation
Note:
Plant Simulation is a Discrete Event simulation tool. In other words, a dynamic simulation of
manufacturing processes over time. It allows you to perform stochastic (partially unpredictable)
experiments of your manufacturing facility; for statistical modeling of facilities where throughput,
machine capacity constraints, queuing constraints, are important.
In addition, Plant Simulation is an object-oriented application that allows child objects to inherit
properties from a parent object.
Note:
The object-oriented structure of Plant Simulation allows greater flexibility and maintainability of
complex, changing models. The model is made up of a collection of units (objects) that act on each
other. Each object can receive, process, and send data. Each object can be viewed as an
independent little machine or actor with a distinct role or responsibility.
Simple objects (parent objects) can be used as the building blocks to create more complex objects
(child objects). This is called inheritance.
Choose View → Start Page to show the Start Page window again.
Other viewers are discussed in later lessons.
Method 3:
Click Open on the Standard toolbar to open an existing model file.
Method 4:
Choose File → Recent Files. The list of recent files shows the last eight model files you
worked with.
Method 5:
Choose it from the Recent Models section of the Start Page window. The list of recent files
shows the last eight model files you worked with.
Purpose
In this lesson, you learn about the various window types.
Objectives
After you complete this lesson, you should be able to:
Use the various windows types.
Dock/Undock windows.
Use the Class Library and Toolbox viewers.
Help topics
Additional information for this lesson can be found in:
Step-by-Step Help > Getting to Know Tecnomatix Plant Simulation > Working with the Program,
Basics > Working with Window Types
Window Types
Plant Simulation has three types of windows:
Viewers
Object Windows
Dialog Windows
o Drag it to the middle of the viewer area, not near the viewer area edge or the edge of an
existing viewer.
o Method 1:
Make it part of a tab group with another viewer:
▪ Drag and drop the viewer onto the title bar of another viewer.
o Method 2:
Shared/Stacked Viewer Area Edge:
▪ Drag and drop the viewer onto the middle of an edge of another viewer.
o Method 3:
Whole Viewer Area Edge:
▪ Drag and drop the viewer onto the middle of the entire viewing area.
▪ The viewer docks along that edge and take up the entire viewing area edge.
If you mouse over it, the window is shown. The window remains displayed until you are either not
mousing over the Operation Tree icon or window.
To disable this feature and keep the Operation Tree displayed, click the tack in the upper right
corner of the window
Arranging Windows
Object Windows of Frame, Method, and Lists windows are, as a rule, located within the program
window. You cannot drag them outside of the program window.
Open viewer windows are always located in front of object window.
Open dialog windows are always located in front of viewer windows and object windows.
Values are entered into the text boxes.
Settings are selected from the list boxes.
You can arrange the open object windows with these commands:
Window → Cascade
Window → Tile Horizontally
Window →Tile Vertically
Basic Content:
By default, this viewer has five tabs: Material Flow, Resources, Information Flow, User Interface,
and Tools. These tabs show groups of objects that can be added to our Plant Simulation model.
The Material Flow tab contains the basic building blocks provided with Plant Simulation.
The Resources tab contains objects to model workers.
The Information Flow tab contains objects that can be used by advanced users to customize
the functions of the basic Plant Simulation objects or to create your own objects.
The User Interface tab contains special objects such as graphs, charts, etc.
The Mobile Units tab contains the objects you are conveying or operating on:
o Entity (such as part)
o Container (such as part assembly, container, skid, palette, etc.)
o Transporter (such as forklift, AGV, truck, etc.)
The Tools tab contains special tools such as the bottleneck analyzer.
Note:
Other tabs can be added either by adding additional build-in objects to this model, or by creating
additional tabs yourself (More this later).
When a new model is created (such as File → New ), it contains the Class Library with the build-in
Plant Simulation objects.
Choose File → Manage Class Library to view or update the list of build-in Plant
Simulation objects loaded into the current model. Some add-ins are free and some are
licensed.
Note:
The Manage Class Library window:
o Shows the version number of loaded libraries.
o Highlights in red libraries for which a newer version is available.
o Can choose and update single or multiple libraries.
As a rule these optional products, for which you have to purchase a license, provide solutions
for certain modeling tasks and help you optimize your simulation models in a number of areas.
ActiveX
An object technology allowing you to activate objects (Microsoft ActiveX controls) in a container
application and to exchange data with these objects using defined interfaces.
Common examples of ActiveX controls include the Windows Explorer, Word, Excel and the
media player. Complete Word documents can be integrated into the simulation for
documentation purposes. Excel evaluations can controlled interactively by the simulation and
AVI or MP3 videos can be started from the simulation environment.
GA
Genetic algorithm is a tool for automatically optimizing your model.
Typical applications of Plant Simulation Genetic Algorithms include:
o Lot size and sequence planning
o Layout optimization
o Personnel and resources allocation
o Capacity determination
o Minimizing of set-up times
Purpose
In this lesson, you learn how to customize the window display, toolbars, and more.
Objectives
After you complete this lesson, you should be able to:
Customize toolbars.
Etc.
Help topics
Additional information for this lesson can be found in:
Reference Help > The Plant Simulation Program Window > Menu Bar > View Menu > Toolbars
and Docking Windows > Customize
Right-click the menu bar or toolbar you want to customize and choose the Customize menu
command from the context menu. This opens the Customize window.
It displays the Categories of commands. When a category is selected the associated menu
commands and icons are displayed in the Commands tab.
Choose a command in the list, drag it to a location of your choice on the menu bar or on a toolbar and
drop it there.
Example:
You could change Help → Contents to Help → Online Help.
Purpose
In this lesson, you learn about modeling.
Objectives
After you complete this lesson, you should be able to:
Know some possible modeling strategies.
Know the default class library for a model file.
Create, move, rename folder.
Saving and backing up a model file.
Help topics
Additional information for this lesson can be found in:
Step-by-Step Help > Modeling in Tecnomatix Plant Simulation 2D > Creating a Simulation
Model > Working with Classes in the Class Library > Work with Folders, Frames and Objects in
the Class Library
Setting-Up and Starting > Starting Tecnomatix Plant Simulation > Entering Start Options
Modeling Strategies
Top-down strategy:
A top-down strategy is characterized by a roughly structured model that you break down step-by-step.
The more refined the model becomes, the more detailed it becomes. This approach requires a large
degree of abstraction. The big picture becomes obvious quickly.
Bottom-up strategy:
A bottom-up strategy is characterized by a detailed model created by using prefabricated structures
with a rather small degree of abstraction. This enables a quick analysis of the details but makes it
harder to recognize the big picture.
In our training model, you use the top-down strategy as well as the bottom-up strategy.
Models are created in the frame object. The frame has a menu, toolbar and an area to place other
objects. Other objects are placed in the frame, arranged in the desired configuration and then
connected with the connecting tool. Models usually consist of an object to introduce parts into the
system, objects that process the parts, and an object to remove the parts from the system. A special
object called the EventController must be added to control the simulation.
Moving a Folder
To Move Within the Same Structure:
To move a folder or an object within the same structure, choose the folder or object, drag it to another
location and drop it there.
To Move to Another Structure:
To move a folder or an element to another folder, choose the element, hold down the [Shift] key, drag
it to another location and drop it there.
Caution:
Be aware that changing the structure and the names of folders in an existing simulation model may
cause this model to not function anymore.
You might, for example, add additional folders to save your simulation models, the test runs and the
different components of your model too.
Note:
* MUs are the moving objects, that move from material flow object to material flow object in the
simulation model
Renaming a Folder
You can rename an object in several ways:
By double-clicking it.
By pressing the [F2] key.
By selecting Rename on the right-click menu.
Note:
For all objects except folders: when selecting Rename from the right-click menu, the Rename window
is opened allowing entering a name and a label for the object. You learn more about labels later in
this course.
Note:
Another way to rename an open frame, make it the active window, press the [F4] key, type in the new
name into the Rename window, and click OK.
Now, after choosing Save a few times, you can choose File → Show Model History to see
when and by whom the model was modified and saved.
Note:
This option will cause the model file to grow each time you click save, even if no changes to the
model were made. It may also case problems with emergency saves that may occur before the
software crashes.
Choose File → Open . In the Open window, choose which model file you want to open from the
Files of type drop-down combo box: .spp (model file) or .bak (backup file).
When you saved a certain view in the 3D viewer, you can also choose to display a preview of the
model.
Purpose
In this lesson, you learn about the source, drain, Station, entity, and event controller basic objects.
Objectives
After you complete this lesson, you should be able to:
Insert objects into a frame.
Connect objects.
Simulate a simple facility in Plant Simulation.
Help topics
Additional information for this lesson can be found in:
Reference Help > Material Flow Objects > Shared Properties of the Material Flow Objects >
States and Icons of the Material Flow Objects
Units Setup
To change the current units, choose Tools → Preferences to set the permanent settings or Tools →
Modeling Settings to change settings for this specific model. In the Preferences window (or Model
Settings window), choose the Units tab.
Plant Simulation automatically converts the values you entered in the text boxes on this tab for the
Mass, Speed and the Length when you choose a different unit.
For the Length you can also choose a Length Unit that suits your needs, such as 1 LU = 0.341
miles.
Plant Simulation does not convert the value for the Currency.
Make the Time scale suit your needs by entering the corresponding values into the text boxes.
Inserting Objects
Objects can be inserted into a model by dragging and dropping them from the Toolbox viewer or by
dragging and dropping from the Class Library.
Note:
An object can be inserted from the Toolbox by drag and drop as well.
To insert more object of the same type, hold the [CTRL] key then click in all the desired locations for
the selected Toolbox viewer object.
The mouse cursor becomes a cross hair. clickCE and release. The cursor changes to a bent
arrow.
Move the cursor to the MIDDLE of the object you want to connect TO and clickce and release.
When connecting objects corners may be placed in the connection after the FROM selection has
been made by clicking in where the corner is desired in the frame. The moment a click is made when
the mouse pointer is on an object the connection is completed.
Moving the end of a Connector from one object to another:
Pick the connector
Pick the desired green drag point at the end of the connector
Drag and drop it onto the new target object
From the main Plant Simulation menu, choose View → Icon Animation
Window Management:
From the toolbar, choose Show/Hide Dialogs - Toggles the display of open object
The most basic ones are Working (green LED), Waiting (orange LED), Blocked (yellow LED), and
Failed (red LED). These four should be memorized by all Plant Simulation users. Here is a complete
list of built in states for material flow objects:
No Dot - the object is non operational and empty
Red Dot - the object is failed
Pink Dot - the object is stopped
Blue Dot - the object is paused
Light Blue Dot - the object is unplanned
Green Dot - the object is working
Yellow Dot - the object is blocked
Brown Dot - the object is being set up
Purple Dot - the object is powering up or down)
Cyan Dot - the object is recovering or entrance locked
Orange Dot - the object is waiting for an exporter (worker)
Purpose
In this lesson, you learn several ways to access to online help that comes with Plant Simulation.
Objectives
After you complete this lesson, you should be able to:
Access the quick help and the full help from several locations.
Help topics
Additional information for this lesson can be found in:
Reference Help > Material Flow Objects > Frame > The Frame Window > Menu Bar > Help
Menu
Reference Help > Material Flow Objects > Shared Properties of the Material Flow Objects >
Dialog Items of the Objects > Help Menu
Purpose
This lesson overviews several objects within Plant Simulation. Some are covered in more detail early
and others are covered later in this course.
Objectives
After you complete this lesson, you should be able to:
Have an idea of which comes are part of the default model file’s class library.
Help topics
Additional information for this lesson can be found in:
Reference Help > The Plant Simulation Program Window > Toolbox
Note:
The Box, TableTop, TableLeg, and Truck are not part of the standard list of MUs in the Class
Library. However, they are included in the starting model file used in this training class. This is the
only difference between the training model and the default model file.
Resource Objects
These objects are used to model workers or other shared resources like tools. There are two
locations to pull them into your model from:
The Resources tab of the Toolbox viewer.
Purpose
This lesson describes several material flow objects and moving objects (a.k.a. MUs).
Objectives
After you complete this lesson, you should be able to:
Have an idea what are some of the core material flow and MU objects.
Help topics
Additional information for this lesson can be found in:
Reference Help > Material Flow Objects
From the Toolbox viewer, click the Material Flow tab and choose Source to add it to the model.
It is where parts originate. Here are some of the attributes of a source.
Capacity = 1
Active material flow object
Time of Creation
Creates MUs (mobile units) as defined in the setting:
Number Adjustable: Creates a fixed amount
Interval Adjustable: Creates at a constant interval
MU Selection
The Source produces an MU according to the setting you choose from the MU selection drop-down
list box:
Constant -- When the MU type is always the same (default).
Sequence Cyclical -- According to the sequence you entered into a table, the table may also
contain additional information. Plant Simulation processes the table repeatedly.
Sequence -- Plant Simulation processes the table, whose name you enter, one time only.
Random -- Plant Simulation creates the MUs, which you enter into the table, according to the
random number distribution you select.
On the bottom of the Attributes tab, click the Select Object for MU.
Note:
.MUs.Part is the Absolute path, whereas ~.~..MUs.Part is a relative path. The default in previous
versions was Absolute path. More about this later.
To choose the MU, click the button with the ellipse next to MU:
Choose the MUs folder in the Select Object window.
Choose the MU type to be produced from the list of MU objects. Note that it also contains
the MUs you defined that are in the MUs folder of the Class Library.
Note:
If you would like to choose MUs from another folder, specify it in the Path field in the
Select Object window.
From the Toolbox viewer, click the Material Flow tab and choose Station to add it to the
model. It is where parts are processed. Here are some of the attributes of the Station.
Capacity = 1
Active material flow object
Takes up 1 MU and forwards it to the following station, after the processing and set-up times have
passed. If the type of MU differs from the preceding type, the Station may have to set-up for
processing it.
Note:
Whether a Station needs to set-up is determined by the processing requirements of the selected MU
on a given machine in a plant.
The Drain
From the Toolbox viewer, click the Material Flow tab and choose Drain to add it to the model.
It is where parts leave the model. Here are some of the attributes of a drain.
Capacity = 1
Active material flow object
After processing and set-up-time have passed, it destroys the MUs.
Statistics
The drain collects statistical information of the MUs arriving.
The statistical data of the MUs are shown in an overall statistic and can also be accessed depending
on the type of the MUs. After a simulation, result statistics are shown on the Type Statistics tab.
From the object window menu, you can also choose View → Statistics Report:
The Part
Part is the part itself. Here are some of the attributes of an entity.
Capacity: 0
Movable Material flow object
It represents mobile units (MUs) that are produced and the material flow through the model; it does
not have capacity to carry another mobile unit.
Capacity: 0
Information flow object
Controls Tab
Clicking Reset calls up all methods named reset in the model and executes them. It deletes
unprocessed events, resets the simulation time to 0, resets the statistics, and clears any failure of any
machine. At the same time, it resets the state of the EventController.
Clicking Start/Stop begins the simulation. If this is the first simulation run or you clicked Reset before,
Plant Simulation executes all Init methods in the model.
Clicking Start/Stop again stops the simulation. The simulation can be continued by clicking
Start/Stop.
Note:
It is recommended to leave the Delete MUs on reset checkbox selected.
Enter the date on which the simulation starts (Date) and the elapsed time at which it ends (End) on
the Settings tab. Enter the time the EventController resets the statistics and starts collecting
statistics values again.
Note:
The Statistics field in the Event Controller window represents the warm-up time. The default value is
zero. It is important to "warm-up" a simulation in order to run it until it reaches a steady state before
collecting statistics.
Note:
It is recommended to Reset and initialize the model before running any simulation.
The most basic ones are Working (green LED), Waiting (orange LED), Blocked (yellow LED), and
Failed (red LED). These four should be memorized by all Plant Simulation users. Here is a complete
list of built in states for material flow objects:
No Dot - the object is non operational and empty
Red Dot - the object is failed
Pink Dot - the object is stopped
Blue Dot - the object is paused
Light Blue Dot - the object is unplanned
Green Dot - the object is working
Yellow Dot - the object is blocked
Brown Dot - the object is being set up
Purple Dot - the object is powering up or down)
Cyan Dot - the object is recovering or entrance locked
Orange Dot - the object is waiting for an exporter (worker)
Note:
You learn more about these buttons throughout this course.
Simulation related buttons of this toolbar:
Open event controller (or create and open event controller)
Reset
Start/Stop
Start without animation
Zoom in/Zoom out buttons of this toolbar:
Zoom in
Zoom out
Visual clean up related buttons of this toolbar:
Purpose
In this lesson, you learn about common properties of material flow objects.
Objectives
After you complete this lesson, you should be able to:
Have an idea what properties are available on the various tabs of material flow objects such as
a Station.
Help topics
Additional information for this lesson can be found in:
Reference Help > Material Flow Objects > Shared Properties of the Material Flow Objects
Times Tab
All of the following times can be used in the model. A time set to zero is ignored by Plant Simulation.
Processing Time is the amount of time that a part resides on the resource (in other words: the
cycle time of the operation). It does not include Blocked Time, Down Time, etc.
Set-Up Time - Used to model a time for a setup.
Recovery Time - The recovery time is the time during which the first gate at the entrance of a
material flow object is closed after an MU entered the station. The recovery time is useful to
model material handling equipment, such as a robot, that requires a certain time to insert into or
remove work pieces from processing stations. When you enter 0 the gate is always open, a
value greater than 0 closes the gate for the specified interval as soon as the front of the MU has
entered the object.
Cycle Time - The cycle time is the time during which the second gate at the entrance of a
material flow object opens and closes cyclically, regardless of MUs entering the object. The
cycle time is useful to model chain conveyors with a fixed chain interval that only transport
material when a free hook is available. A fixed interval that parts are allowed to enter the
station. Used to model behavior like a bottle filler where the bottles are fed into slots on a
transport belt or hooks on an overhead chain for auto parts.
Set Up Tab
Different options for set up can be selected on the Set Up tab. For example: If a different class of
mobile unit arrives at the resource, the setup takes place when the related checkbox is selected.
Otherwise it takes place for each mobile unit that arrives.
Failures Tab
The Failures tab sets up the failure or maintenance behavior of the station. When a station fails, any
mobile units on it does not move and the processing time is appropriately extended. No parts may
leave or enter the station while it is failed.
Note:
By default there is no failure profile defined for an object. Each can have its own distribution function
and start/stop times. You learn about failure profiles in more detail later in this course and in the
MT46300 Plant Simulation Advanced course. However, to create a new one with a default 95%
availability, click New and OK.
Active check box - sets whether the resource fails or whether the rest of the tab contents is
ignored.
Start - The time the first failure takes place during the simulation. If the start time is zero, then
the station fails immediately when the simulation starts.
Stop - The time during the simulation after which no more failures may occur.
Note:
On the Failures tab, Availability must be deselected to display Interval and Duration.
Interval - Mean Time Between Failures (MTBF) the time that the resource can work between
failures.
MU Failure tab:
Note:
All objects on the Material Flow tab of the Toolbox can have failure profiles defined for them. For
Transporter MUs, only the Transporter you can have a failure profiles defined. \\
Controls
Controls are covered later in this course and the MT46300 Plant Simulation Advanced course. They
allow the modification of the default (logic) behaviors of all objects and the modifications of any setting
during a simulation run.
Exit Strategy
On a material flow object, if more than one possible exit exists for the resource the exit behavior can
be set here. You learn more this topic in more detail later in this course.
Statistics
On a material flow object, comprehensive statistics can be collected by checking the Resource
Statistics box and clicking Apply. Some common statistic values are displayed on the tab and more
detailed statistics are available in the table that is opened by clicking Resource Statistics Table.
User-Attributes Tab
Most objects in Plant Simulation have the ability to hold an unlimited number of custom (user-defined)
attributes. These attributes can be used for production plans, identifying product options, or holding
and type of extra information associated with that object.
In the frame window, there is a menu named Icons. You can choose commands for the position
(such as Inherit Position and Align to Grid), the orientation (such as Mirror Vertically and Rotate),
for the size (such as Enlarge (x2) and Reduce (/2)) of the icons of the objects and you can edit the
icons.
The Icons menu is active only when you selected an object in a frame window.
Typically, the new options take effect after restarting Plant Simulation. Some changes, on the other
hand, take effect immediately, such as a change of units.
General Tab
The General tab contains the settings for the language and the time format.
Modeling Tab
The Modeling tab contains the default settings for the frames that are created. In the Options
window, choose the Modeling tab.
Units Tab
The Units tab contains the settings for what measurement units are used.
Editor Tab
The Editor tab contains the default settings for the method editor. Methods are an advanced topic
and are covered later in this course.
License Tab
The License tab is used by IT personnel to query and set your license file.
Purpose
In this lesson, you learn how compare the effect of various exit strategies.
Objectives
After you complete this lesson, you should be able to:
understand how several exit strategies work.
Help topics
Additional information for this lesson can be found in:
Step-by-Step Help > Modeling in Tecnomatix Plant Simulation 2D > Modeling the Flow of
Materials, Basics > Transferring Parts from Station to Station > Select an Exit Strategy
When converging the flow of materials, Plant Simulation transfers the MUs according to the order they
arrived, first in first out (FIFO). When the successor is occupied, the MU enters itself into the Forward
Blocking List of that successor.
The FlowControl
The FlowControl object (which is rarely used now, since you can define an exit strategy
directly on the material flow objects) controls how parts enter and exit objects in a model. It is used to
sort objects into their corresponding categories or behaviors/attributes. It is the only material flow
object with built-in Entry Strategies and contains additional Exit Strategies.
Note:
Other material flow objects can have their entry strategy set using a custom created place on the
Controls tab. This is discussed later in this course.
The FlowControl allows the choice of strategies for branches and confluences.
The Exit Strategy (Behavior) can be to set any one of thirteen values. Each of these choices is
described in detail in the next section.
The Entry Strategy (Behavior) can be set to any one of ten values. Each of these choices is
described in detail later in this next lesson.
Note:
This object is described here for reference but is not be used in this course.
Purpose
This lesson covers the first of several analysis tools found in Plant Simulation. Several more are
described in the later in this course and in the MT46300 Plant Simulation Advanced course.
Objectives
After you complete this lesson, you should be able to:
Use the Bottleneck Analyzer.
Use the Sankey Diagram.
Help topics
Additional information for this lesson can be found in:
Step-by-Step Help > Animating the Simulation Model and Viewing the Results > Working with
Evaluation Tools > SankeyDiagram
Step-by-Step Help > Animating the Simulation Model and Viewing the Results > Working with
Evaluation Tools > BottleneckAnalyzer
Basic Usage:
1. Add Bottleneck Analyzer to the desired frame from the Tools tab of the Toolbox.
2. Play the simulation.
3. Right-click the Bottleneck Analyzer and choose Analyze. Small charts are shown over each
station showing the amount of time of the station spends in each state.
Note:
Analyze Colors:
o Gray bar - waiting
o Green bar - working
o Yellow bar - blocked
o Red bar - failed
o Blue bar - paused
4. Follow the trail of blocked (yellow) stations to the station that is working 100% (green) and is
followed by a station that is waiting (gray).
Sankey Diagram
It is wizard used to visualize the material flow. This is especially helpful when several branching
connections exist in a simulation model. A thicker line denotes the more widely used successor.
Note:
According to www.Wikipedia.org:
Sankey diagrams are a specific type of flow diagram, in which the width of the arrows is shown
proportionally to the flow quantity. They are typically used to visualize energy or material transfers
between processes. Sankey diagrams are named after Irish Captain Matthew Henry Phineas Riall
Sankey, who is considered to have been the first to use this type of diagram in 1898 in a publication
on the energy efficiency of a steam engine
1. Add Sankey Diagram to the desired frame from the Tools tab of the Toolbox.
2. Setup the Sankey. (Drag and drop the desired MU onto the Sankey Diagram. The double-
click it to set up the Graphics).
Purpose
In this lesson, you learn about collecting statistics and creating charts (graphs).
Objectives
After you complete this lesson, you should be able to:
Create charts of object statistics generated during simulation.
Help topics
Additional information for this lesson can be found in:
Reference Help > Display and User Interface Objects > Chart
When you click Reset in the EventController, Plant Simulation resets the statistics values to 0.
When you click Detailed Statistics Table, Plant Simulation opens a table that contains all values it
collected during a simulation run. The different values are explained in the online help (search for
Detailed Statistics Table).
You can query individual values of the Detailed Statistics Table or you can save the entire table to a
table file.
Collecting Statistics
Different types of statistics:
Depending on their type, the material flow objects and the MUs collect different types of statistical
values:
Resource Statistics
Product Statistics
Driving Statistics
Type Statistics
Statistics Report
Note:
The statistics tab displays a snapshot in time. Each time that you view this tab, while a simulation is
running, the statistics change.
You learn more on statistics and charts in the last part of this course.
Resource Statistics
These can be contained by all material flow objects and depends on the type of resource selected
(production, transport, or storage). They are setup and displayed on the Statistics tab.
Resource Types:
Production
Default for Station, ParallelStation, Assembly, and DismantleStation objects
Transport
Default for PlaceBuffer, Buffer, Sorter, Track, Line, Transporter, and Container objects
Storage
Default for Store objects
Production Statistics Comparison Example:
Recall the number of exits for Milling1 and Milling2 in the Plant3 frame:
Recall the number of exits for Milling1 and Milling2 in the Plant3a frame:
Single values or the complete table can be extracted or saved to external data sources. The Product
Statistics recording must be turned on. By default, it is turned on. The statistical data are reset after
Driving Statistics
In addition to product and resource statistics, the Transporter collects driving statistics data about the
states Order occupied, Order empty, Home driving, Ready, Failed, Paused, Unplanned, the
battery consumption and the number of jobs performed. They are setup on the Battery tab and
displayed on the Statistics tab. This type of statistics is not active by default.
Type Statistics
On Drain objects, they are setup on the Type Statistics tab, displayed on the Detailed Statistics
Table. A separate row in the statistics table is shown for each MU (or differently named MU).
Statistics Report
It is accessed via the [F6] key or the Object View menu. It contains a summary of all the Resource,
Product, and Driving Statistics collected during the current run of the active frame.
You can access separate values with the statistics methods which all starts with "stat...". You learn
about writing methods later in this course.
The different values are explained in the online help under the topic Statistics Report.
Statistics Tables
As a rule all objects collect statistics values. Deactivate it by clearing the Resource statistics and
Product statistics checkboxes on the Statistics tab.
Plant Simulation shows the most important statistics values on the Statistics tab or Product
statistics tab.
Statistics Values
To refresh values displayed in an open window, press [F5] or choose View → Refresh from the
objects menu.
When you click Reset in the EventController, Plant Simulation resets the statistics values to 0.
From the Toolbox viewer, click the User Interface tab and select Chart to add it to the model. It
displays statistics data and allows you to quickly evaluate and present the results of your simulation
runs. Next to the states working, waiting, blocked, failed, and paused it can also collect other
percentages.
The Chart displays statistics data and allows you to quickly evaluate and present the results of your
simulation runs. Next to the states working, waiting, blocked, failed, and paused it can also collect
other percentages.
Insert the Chart into the Frame. Then drag the material flow objects whose statistics you want to
display, onto the icon of the Chart and drop them there.
Display Panel
A display panel is a configurable display used to visualize various attributes of simulated objects. It
can show important simulation values next to the object improving ease-of-use by focusing your view
to simulation results of interest.
It is part of a material flow object and is created automatically when the object is inserted into a
model. However, it is inactive by default.
Right-click a material flow object and choose Edit Display Panel to set it up or activate it.
Purpose
In this lesson, you learn use other user interface techniques to visualize the statistics:
Objectives
After you complete this lesson, you should be able to:
Use plotter, histogram, and display objects.
Help topics
Chart
Histogram
Plotter
Other related objects:
Display - works like a material flow object’s display panel, except that it is independent
of a specific material flow object
The values are displayed in a grid, which is set by the Number X-axis. The Number of values defines
the number of values held in the plotter’s internal memory.
In the Data Source field on the Data tab, you can define paths to the values to be displayed in a
table. It is also possible to assign values from an existing table.
The Histogram is a setting in the ordinary Chart object. For example, it allows the display of the
buffer contents over time. The easiest way to work with the histogram is to insert the Chart object and
then drag and drop a buffer object on to the Chart. The icon changes automatically and a histogram
chart window opens.
Note:
The histogram above shows the contents of a Buffer with a Capacity of 10 inserted between Paint
and Assembly (where Assembly has a Processing time of 4:01). This is not part of the course
activities.
Example Plotter:
Display
From the Toolbox viewer, click the User Interface tab and select Display to add it to the
model.
Capacity: 0
Active information flow object
With the Display object values can be displayed as a string or in graphical form as well as the
minimum and the maximum value that are displayed by a red line. These values can be seen in the
Data tab and can be reset by clicking reset MinMax. The current value of the gauge is shown in the
Value field.
The GanttWizard can be added to the current model using Manage Class Library .
It records data for a Gantt chart for certain stations. Instead of showing the chart, you can also write
the data into a table.
Purpose
In this lesson, you learn how to build a hierarchal model built from components (custom
objects/building blocks).
Objectives
After you complete this lesson, you should be able to:
Create a component.
Help topics
Additional information for this lesson can be found in:
Step-by-Step Help > Modeling in Tecnomatix Plant Simulation 2D > Creating a Simulation
Model > Modeling Hierarchically
Building a Component
You model the component in the Class Library as a new Frame and insert the objects you need for
this module. You then insert this component into our simulation model and use it just like one of the
built-in objects, for example you can also reuse it in the same or other projects. You can save this
component as an object, which you can then load into another project.
To Reuse a Component in Other Model Files:
In the Class Library, right the desired object and choose Save Object As. An .OBJ file is created that
can be imported into other models. (A similar process can be used for folders as well).
From the Toolbox viewer, click the Material Flow tab and choose Interface to add it to the
model. An interface is a way to send a part from one level of model hierarchy to another.
Capacity: 0
Material flow object
The Interface object provides the ability to pass MUs from one frame to another using the connection
object. The interface is used to connect frames and other objects in a hierarchical environment, and it
determines the position of the connector. The position of the entry and exit points on the icon defines
the entry and exit. It sets on which side of the Frame the flow of materials enters and exits.
Maximum External Connections - The number of connections that can be made with the
interface.
Position in % - The relative position the connection appears to join the frame on the specified
side.
Side - Which side the connection it appears to join the frame.
Purpose
In this lesson, you learn how to create a test environment so that you can verify that a component is
working before you put it into the larger model.
Objectives
After you complete this lesson, you should be able to:
create and use a test environment for a component.
Help topics
Additional information for this lesson can be found in:
Step-by-Step Help > Modeling in Tecnomatix Plant Simulation 2D > Creating a Simulation
Model > Modeling Hierarchically > Test a Component You Modeled
Purpose
In this lesson, you learn how to use the Plant Simulation Icon Editor.
Objectives
After you complete this lesson, you should be able to:
use the Icon Editor to create. edit, and import clip art as icons for objects.
Create different representations for objects.
Help topics
Additional information for this lesson can be found in:
Reference Help > The Plant Simulation Program Window > Icon Editor > Window of the Icon
Editor
After:
Icon Editor
Using the Icon Editor window, you can modify an object’s icon and define how you want the icon
animated.
One way to open the Icon Editor window is to right-click an object in the Class Library and then
choose Edit Icons.
You can also open the Icon Editor window with the context menu or the keyboard-shortcut [Ctrl]-
[I].
Note:
Icons are a class property; an object in the Class Library and all of its instances have the same set of
icons. Modifying the icons of one instance change the icons for the entire object class.
About Icons
Most objects found in the Class Library and Toolbox viewer can be provided with one or more user-
defined pictures.
Each icon is assigned a number by the system. A name could be added by the user if desired.
The names have to be unique, and a name may only be allocated once per class object.
The number of icons for each class object is unlimited.
The maximum size is 4000 x 4000 pixels
As icons take up a large amount of memory space, a set of pictures of an object type is saved
only once. All objects of this type use the same icon. When the icon of an object type is
changed, the change is passed on to all other objects of this type (icons are a class property).
The only exceptions are objects with a fixed icon, such as the EventController, the FlowControl
or Connectors.
1. Open the Icon Editor window from the context menu in the Class Library or click Edit
4. From the Icon Editor window, choose either Tools → Clipart Library or File → Open to
choose the desired picture for the icon.
Note:
The drawing board is the graph area of the Icon Editor.
Icons from the Internet can be easily imported by specifying the desired web page in the address bar.
If Microsoft Internet Explorer is used, a graphic can be simply dragged to the Icon Editor. Other
browsers may require the use of copy and paste functions.
Note:
Make sure before inserting any icon from the internet that it is freely available (such as shareware) or
if it is copyrighted, trademarked, or otherwise controlled, that you have permission to use the icon.
You can insert external images or AutoCAD drawings into the editor:
Note:
Autodesk drawings are automatically converted to pixel graphics.
In the Open window, browse and choose the desired file.
Click Open.
Transparent Icons
To make portions of an icon transparent:
In the Icon Editor pallet double-click a color you are not using.
In the Color window, typing it in 0,128,128 for the Red, Green, and Blue values to choose the
new color. Click OK.
Use the Icon Editor to apply this color to the desired areas of the icon.
From the Icon Editor menu, check Icon → Transparent.
Purpose
In this lesson, you learn how to change how MUs move across the icon of an object during simulation.
Objectives
After you complete this lesson, you should be able to:
Setup how MUs move across the icon of an object during simulation.
Help topics
Additional information for this lesson can be found in:
Reference Help > The Plant Simulation Program Window > Icon Editor > Window of the Icon
Editor > Toolbar > Animation Mode
Logical Level
The logical level determines the function of the object.
Animation Points are visualizing points used to display the icons of the MUs located on the object
during simulation.
Stay in the Animation Mode to connect the animation points to the objects or locations on the
objects in the model. Click Link/Unlink Animation Points then choose the animation point to be
connected. Plant Simulation automatically opens the logical frame and then choose the corresponding
object in the logical frame by clicking on it.
Purpose
In this lesson, several other features of the Icon Editor, not typically covered in this course, are
reviewed.
Objectives
After you complete this lesson, you should be able to:
Use the state to control the icon.
Setup the icon background icon.
Change an icon reference point.
Change an icon animation point.
Add icons to the Toolbox viewer.
Help topics
Additional information for this lesson can be found in:
Reference Help > Material Flow Objects > Shared Properties of the Material Flow Objects >
States and Icons of the Material Flow Objects
Reference Help > The Plant Simulation Program Window > Icon Editor > Window of the Icon
Editor > Toolbar > Animation Mode > Add/Remove Animation Point
Note:
By default, the material flow objects do not provide predefined state icons. If you want to use icons for
the different states of the object, you have to create these icons yourself.
From the Icon Editor window, verify that Draw Mode is activated.
Edit the icon Number 0 with the Name of Default. There are samples in the Plant Simulation
clipart/Training folder (for example for the CompMilling object, mill.gif could be used).
Save icon changes.
Save the model file.
Close the reopen the model to see the changes.
To extend or modify the Toolbox Toolbars:
Drag the object from the Class Library to the Toolbox and drop it there.
MU Graphics tab
MUs can be represented during a simulation using one of its icons or by a vector graphic. The icon
size is specified in the Icon Editor independent of the size specified for the MU. However the vector
graphic size is directly tied to the MU size.
For example, If the MU length is set to 2 and the MU width is set to 1 this would be the icon
representation (using the default icon):
Note:
In order to use icon representation effectively, make sure to change the icon to match the MU size, or
use graphic representation
Note:
It is suggested to not make changes to the core MU objects such as Entity ,
Container , or Transporter . Instead duplicate or derive a new MU and change
instead.
3. Click OK.
Purpose
This lesson describes how to use vector graphics to improve the look of your frames. Another
technique is to add an AutoCAD background to the frame. You learn this technique in the last part of
this course.
Objectives
After you complete this lesson, you should be able to:
Create and edit vector graphics for an object.
Help topics
Additional information for this lesson can be found in:
Step-by-Step Help > Modeling in Tecnomatix Plant Simulation 2D > Creating a Simulation
Model > Working with the Frame > Draw Vector Graphics or Text onto the Background of the
Frame
To activate the drawing mode, from the Frame window click Vector Graphics Mode .
While this mode is active, you cannot modify any other objects in the frame. To exit the draw mode,
press the button again.
Note:
The Vector Graphics Mode is a toggle that turns Vector Graphics Mode on and off.
It is possible to draw geometric figures and text blocks; you can configure the color and weight etc.
Several objects can be grouped together.
To set a picture or a drawing as a frame background, use the icon editor and save an icon with the
reserved name Background (Later in this course you use an AutoCAD drawing as a background for
our main plant frame).
Comment objects are helpful to document how a model was designed or to display other
useful information.
From the Frame window menu, choose View → Background → Select Color.
Choose a color.
Click OK.
Show / Hide Information in a Frame:
Purpose
In this lesson, you learn how to use create, and navigate classes, instances, and inheritance.
Objectives
After you complete this lesson, you should be able to:
Duplicate and copy classes.
Make instances of a class.
Help topics
Additional information for this lesson can be found in:
Step-by-Step Help > Modeling in Tecnomatix Plant Simulation 2D > Creating a Simulation
Model > Introducing Classes > Classes, Subclasses, and Instances
Duplicate, available when right-clicking an object in the Class Library, is for creating a copy of
the object in the same folder. The new object is a class object, but does not contain any
inheritance links to the original object. This new object is a class object.
Example of Inheritance:
Create a duplicate CompMilling and a CompMilling subclass from the Milling frame in the Class
Library. These three objects share the same structure. You now modify the CompMilling class by
adding another milling machine.
As inheritance is active, any changes you make to the class are passed on to the subclass. The
duplicate on the other hand is not aware of these changes, as any inheritance relation was severed,
when you created the duplicate object.
This means that Plant Simulation passes changes you make on this hierarchy level on to the derived
objects. Plant Simulation shows the icon of the object Interface with a solid black fill when you
attached a Connector to the Frame.
Recognizing Inheritance Structures: Objects
Take a look at the toggle button to the right of a dialog element to see if inheritance is active or not.
A released inheritance checkbox (a minus sign in a yellow box) means that inheritance is not
active. Values you enter only apply to the present object, the instance of the class, not to the
class itself.
A pressed inheritance checkbox (a cyan box) means that inheritance is active. Then the
object inherits, in other words "uses" the value from its parent object.
Purpose
In this lesson, you learn how to understand more about the relationship of a object class and its
instances.
Objectives
After you complete this lesson, you should be able to:
navigate the instance and class relationships.
Help topics
Additional information for this lesson can be found in:
Step-by-Step Help > Modeling in Tecnomatix Plant Simulation 2D > Creating a Simulation
Model > Introducing Classes > Classes, Subclasses, and Instances
Open Location - This opens the folder in the Class Library where the object is located.
When no inheritance relation to an object higher up in the structure exists, Open Location is the
only active menu command.
Open Origin - This opens the object in the Class Library the current object was originally
derived from.
Go To Origin - This does the same as Open Origin, except that it also closes the instance
object.
Open Class - This opens the object the current object is derived from.
Go To Class - This highlights the object in the Class Library, the current object was originally
derived from.
Up one Level - This jumps up one level in the path (hierarchy).
When no inheritance relation to an object higher up in the structure exists, Open Location is the only
active menu command.
Changing which class that an instance inherits from:
Drag and drop the new class onto the instance with the [Alt] key depressed.
Note:
To see what you’ve done: Open the object window for the instance and choose Navigate → Open
Origin (The class that the instance is derived from is shown).
These menu options are located on the Class Library right-click:
Show Origin - Shows the origin of the selected object by selecting the object in the Class
Libraryy or the original frame the selected object was derived from.
Show Structure - This shows a list of all objects used to create the current object.
Show Inheritance - This shows you a list of all objects derived from the current object.
Note:
When no inheritance relation to an object higher up in the structure exists, Open Location is the only
active menu command.
CompMilling frame is a name space. Within the frame each object can be addressed by its name.
To address the Milling1 object within the CompMilling frame use the name Milling1.
Using the Interfaces , hierarchies can be created and inserted in a model just like an object.
Purpose
In this lesson, you learn the basics to simulating failures in your system.
Note:
You learn more on this topic in the MT46300 Plant Simulation Advanced Modeling course.
Objectives
After you complete this lesson, you should be able to:
Manually force a machine failure.
Make the machine fail according to periodic distribution.
Help topics
Additional information for this lesson can be found in:
Step-by-Step Help > Modeling in Tecnomatix Plant Simulation 2D > Modeling the Flow of
Materials, Basics > Modeling Failures
The object shows a red dot in the LED display area along the top border of the icon
When you want to use an icon for each of the different states, like the previous versions of Plant
Simulation did, create a new icon in the Icon Editor, and name it failed. Choose Object → State
Icons / LEDs → Use State Icons in the Icon Editor, to make the object use state icons, instead
of the LED.
Defining Failures
Multiple Failure profiles can be defined for a single object:
Each with its own distribution function
Individual start/stop times
Note:
On the Failures tab, click New to create a new failure profile. Each can simulate a different reason for
failure of the object.
Note:
Failures can be defined on individual objects (Stations) or at the class level and inherited to all
stations by default.
Two modes for entering failures:
(Toggled by selecting or deselecting Availability):
With Availability checkbox deselected, use the Interval (mean time between failures: MTBF)
and the Duration (mean time to repair: MTTR) to calculate the times of a failure. In this case
you choose your own distribution
With Availability checkbox selected, enter the percentage of the availability and the MTTR.
Plant Simulation uses the Negative Exponential distribution for the Interval and the Erlang
distribution for the Duration.
Note:
Erlang distribution - It was developed by A. K. Erlang to examine the number of
telephone calls which might be made at the same time to the operators of switching
stations. This work on telephone traffic engineering has been expanded to consider waiting
times in queuing systems in general (according to wikipedia.com).
Negative exponential distribution - The negative exponential distribution is called
negative because of the negative prefix of the exponent. Use it to visualize times between
independent events, and to model in-between arrival times of customers in a service
system, the duration of a repair job or the absence of employees from their job site. The
exponential distribution plays an important role in reliability theory. The random life times of
systems that fail during a certain time interval regardless of their life time is distributed in an
exponential way.
Weibull distribution - It was named after Waloddi Weibull. It can mimic the behavior of
other statistical distributions such as the normal and the exponential for the analysis of
failure rates
Plant Simulation offers a number of distributions to define the failure interval and the failure duration.
Choose one of the distributions and enter the parameters the selected distribution requires.
Plant Simulation shows which parameters you have to enter above the textbox for the Start time.
Note:
For Normal and Erlang:
Mu - The mean.
Sigma - the range that the number can vary from Mu.
Lower Bound and Upper Bound are optional.
Failure mode relates to:
Simulation Time - Relative to the entire simulation time (Starting with the start of the simulation
and the stop/reset of the simulation)
Processing Time - Relative to the time an MU is actively being processed.
Operating Time - Relative to the total simulation time minus the pause time of the machine
(The machine is on but may or may not be processing a part).
This means that it generates the random number stream anew beginning with the seed
values you set.
When it is deselected, a Reset does not initialize the random number stream anew. This
means that a new simulation run does not use the same random numbers. For this reason the
simulation runs no longer produce identical results.
Note:
Plant Simulation uses the MRG63k3a random number generator to populate the random number
streams (which is shown to have a period of approximately 2377).
Purpose
This lesson enhances our model by adding various material flow objects with a capacity greater than
one. The most basic object is the buffer, but there are many others.
Objectives
After you complete this lesson, you should be able to:
Be exposed to several objects in Plant Simulation that have a capacity greater than 1, such as
a buffer.
Help topics
Additional information for this lesson can be found in:
Reference Help > Material Flow Objects > Buffer
From the Toolbox viewer, click the Material Flow tab and choose Buffer to add it to the
model.
Capacity: user defined
Location-oriented material flow object
This is another Buffer object, which is more restricted than the PlaceBuffer. However, it has a much
faster computing time when the capacity is large.
Note:
The default processing time (delay) on a buffer is 1 minute.
The PlaceBuffer
From the Toolbox viewer, click the Material Flow tab and choose PlaceBuffer to add it to
the model.
Capacity: user defined
Location-oriented material flow object
The PlaceBuffer has a number of stations, arranged in a row, one behind the other. It can process or
store any number of MUs.
You can set the processing time for the entire PlaceBuffer, but not for the individual stations
that make it up. It divides this processing time among the specified number of stations, in orther
words the processing time is the time the MU takes to cover all stations. Note that the MUs cannot
pass each other. However, you can also enter a processing time of 0 minutes.
The Sorter
From the Toolbox viewer, choose the Material Flow tab and choose Sorter to add it to the
model.
Capacity: user defined.
Location-oriented material flow object.
The Sorter sorts the MUs located on it using a sort criteria you define. The exit sequence of the MUs
depends on the priorities you define. The Sorter moves the MU with the highest priority first,
regardless of when it entered. Define the priority of the MU with the Sort criterion and the sort Order.
From the Toolbox viewer, click the Material Flow tab and choose ParallelStation to add it to
the model.
Capacity: user defined, matrix-based
Location-oriented material flow object
The ParallelStation object has several stations for processing moving units in parallel.
You can change the processing time at any point in time. This does not affect MUs located on other
stations within the ParallelStation. This way MUs can pass each other.
The Pick and Place Robot
Note:
This object is found on the Material Flow tab of the Toolbox.
PickAndPlace - a robot that picks up a part from one location and drops it at one or
more target locations.
The MultiPortalCrane is located on the Cranes tab of the Toolbox. It can be added to a
model by checking Crane from the Libraries tab of the Manage Class Library window. It can be
added to a model by checking Crane from the Libraries tab of the Manage Class Library
window.
Contains multiple cranes (portals) and collision detection abilities.
Purpose
This lesson begins the length-oriented object discussion. The processing time for these objects is
determined by their length.
Objectives
After you complete this lesson, you should be able to:
Create and use length-oriented objects.
Help topics
Additional information for this lesson can be found in:
Reference Help > Material Flow Objects > Line
Converter - used to model material handling equipment. When the part moves onto the
Converter, it either passes straight through in the conveying direction, or it is lifted onto a
laterally moving transport level by a lifting mechanism and then conveyed laterally to the left or
right. Parts can arrive from all sides and be conveyed to all sides, but are not rotated.
TurnTable - a rotating platform, which moves the part onto one of several connected
material flow objects (using the Target Control) and/or turns it around (using the Pull Control).
Turnplate - a rotating platform, which rotates the loaded parts (in multiples of 90) and
ensures the uniform orientation of the leaving parts. A typical usage is in the package shipping
industry where all packages have to be rotated to a uniform direction so that a scanner can
automatically read the barcode holding the address information.
The TwoLaneTrack is a standard part of the Material Flow tab of the Toolbox. There
are several settings which are unique to two lane tracks:
o Traffic can either be right-handed (for example how you drive in the USA) or left-handed
(for example how you drive in Europe)
o Separate attributes and controls can be set for lane A and lane B of the track.
Conveyor and Electrified Overhead Monorail (EOM) libraries
Note:
The 3D versions of these libraries are covered in the MT46110 Plant Simulation 3D course.
From the Toolbox viewer, click the Material Flow tab and choose Conveyor to add it to the
model.
Capacity: User defined, length dependent
Length-oriented material flow object
When a Line is inserted, it begins drawing a polyline. Right-click to end the polyline.
The Conveyor object is used to transport MUs. The transport time is defined by the length and the
speed of the line. When two of the three attributes of speed, length and time are defined, the other
attribute is calculated. A capacity of -1 indicates that the capacity is defined as the sum of the length
of the MUs compared to the length of the line.
If the Acceleration checkbox is selected, the acceleration and the retardation of the line can be
specified while the speed control (method) is called when the line accelerates or decelerates.
Using the Curve tab, the polyline curve attributes can be modified. For example, a different width or
color can be set.
Purpose
This lesson discusses tracks, transfer stations and transporters. You return to this topic later in this
course when creating our last component for our plant. This topic is farther expanded in the MT46300
course.
Objectives
After you complete this lesson, you should be able to:
Set and use a Transfer Station object to load and unload MUs to/from a transporter on a track
Help topics
Additional information for this lesson can be found in:
Reference Help > Material Flow Objects > Track
Reference Help > Tools > TransferStation
Reference Help > Mobile Objects > Transporter
In case source or target object is a track or conveyor, define the position where to load/unload.
Loading parameters:
Define the loading time on the Times tab.
Define how many blocks and how many parts per block should be transferred.
Unloading parameters:
Define unloading time on the Times tab.
Unload all parts on the transporter.
Purpose
This lesson describes the assembly and dismantle station objects.
Objectives
After you complete this lesson, you should be able to:
Take a look at the different features that go along with the assembly process and utilize them in
our process.
Help topics
Additional information for this lesson can be found in:
Reference Help > Mobile Objects > Container
Reference Help > Material Flow Objects > Shared Properties of the Material Flow Objects >
Dialog Items of the Objects > Tab Set-Up
Reference Help > Material Flow Objects > Assembly Station
Reference Help > Material Flow Objects > DismantleStation
From the Toolbox viewer, click the Material Flow tab and choose Container or Transporter to
add it to the model.
The Container object is used for modeling things that can carry or contain other Moving Objects such
as a palette, box, or the base part of an assembly.
The container has been used for the tabletops because you need to attach 4 legs to each table.
From the Toolbox viewer, click the Material Flow tab and choose Assembly to add it to the
model. It is used to assemble MUs.
Capacity: 1 main part, mounting parts
The Assembly station adds mounting parts to a main part, for example doors and fenders to a car
body. It moves the mounting parts either to the main MU--according to the value you enter into the
Assembly Table--or it deletes them.
When the assembly process requires services, you can assign the order in which the Assembly
station requests mounting parts and services.
Assembly table with -- Choose No if you want to get a entity from each predecessor, or
choose Predecessors or MU Types, then open the TableFile table and enter the number of the
predecessor or the name of the MU type.
Main MU from predecessor -- Enter the number of the predecessor (Tools → Options →
Modeling → Show Predecessor).
Note:
The Show Predecessor option displays the number of processors on the connectors in a
frame. This option can be toggled on and off as needed.
Assembly mode -- Choose Delete MUs to delete the mounting parts after the assembly
process or Attach MUs to load the mounting parts onto the main MU.
Exiting MU -- Choose if the Assembly station moves the Main MU or the New MU on to the
succeeding object.
From the Toolbox viewer, click the Material Flow tab and choose DismantleStation to add it
to the model. It is used to assemble MUs.
Capacity: 1 main MU, including mounting parts.
Location-oriented material flow object.
The Dismantle Station object removes mounting parts from the main MU or creates new ones. Use it
to model dismantle processes.
Purpose
In this lesson, you learn to edit and look at the attributes of an object using several techniques.
Objectives
After you complete this lesson, you should be able to:
Use the Object window.
Use the Attributes and Methods window.
Help topics
Additional information for this lesson can be found in:
Reference Help > The Plant Simulation Program Window > Class Library > Context Menu of
the Selected Object in the Class Library > Show Attributes and Methods
Reference Help > Material Flow Objects > Shared Properties of the Material Flow Objects >
Attributes of All Objects
Reference Help > Material Flow Objects > Shared Properties of the Material Flow Objects >
Attributes of the Material Flow Objects
You can define any number of User-Defined Attributes (Custom Attributes). Plant Simulation treats
these attributes just like the built-in attributes.
Show General
Show User Interface related attributes of the object.
Show Controls related attributes of the object.
Show Simulation related attributes of the object.
Show Engergy related attributes of the object.
ShowStatistics related attributes of the object.
Purpose
In this lesson, you learn about data types and user defined attributes.
Objectives
After you complete this lesson, you should be able to:
Create your own custom attribute on an object and observe its value during simulation.
Help topics
Additional information for this lesson can be found in:
Step-by-Step Help > Modeling in Tecnomatix Plant Simulation 2D > Modeling the Flow of
Materials, Advanced > Customize the Behavior of Objects > Create a User-defined Attribute
Manually
You can define the Name, the Data Type, and a Value of a custom attribute. You can either assign a
value when you create the custom attribute, or you can assign and modify it later on during the
simulation run.
Defining a User-defined Attribute
Define the custom attribute on the User Defined Attributes tab in the object’s window. The list
window also shows the custom attributes you have already defined.
Click New to open the User-Defined Attributes window. Choose a data type and enter a value.
Purpose
In this lesson, you learn how to use TableFile objects during a simulation.
Objectives
After you complete this lesson, you should be able to:
export and import data into a Plant Simulation table.
Use a table to control a Source.
Use attributes of an MU as an exit strategy.
Help topics
Additional information for this lesson can be found in:
Reference Help > Information Flow Objects > TableFile
From the Toolbox viewer, click the Information Flow tab and choose TableFile to add it to the
model.
Note:
You can format the TableFile according to your needs: You can set the Number of
columns/rows, the data type of the columns, the range of values, assign access rights, and add a
Column and/or a Row index for which you can enter any term of your choice.
After you deactivate Inherit Contents, you can modify the contents of the table.
After you deactivate Inherit Format, you can modify the format of the table. This also
deactivates Inherit Contents.
Activating Column Index and Row Index
Activate the column index and/or the row index: Enter meaningful names to make the table
more understandable. Plant Simulation surrounds the column index and the row index with
black lines and places them in column/row 0.
Show or hide the Column Index and the Row Index by selecting the menu commands on the
Format menu.
You can then format the subtables on the TableFile tab that Plant Simulation now activates.
Instantiate the table (enter name in cell) and right-click the cell and click Open Object. Or double-click
the cell in the TableFile to open the subtable.
You can define any number of User-Defined Attributes (Custom Attributes). Plant Simulation treats
these attributes just like the built-in attributes.
Purpose
In this lesson, you learn how to create a product schedule using a cyclical sequence source.
Objectives
After you complete this lesson, you should be able to:
Using a cyclical sequence source.
Help topics
Additional information for this lesson can be found in:
Reference Help > Material Flow Objects > Source > Dialog Window of the Source > Tab
Attributes > MU selection > Sequence cyclical
table correctly, insert a TableFile into the frame with the source object and then click table file
in the source object. Choose the table file and when prompted, choose yes to format the table. Now
the desired information can be entered into the table.
Purpose
This lesson introduces the use of debugging tools in Plant Simulation:
Event Debugger - This topic is continued in the MT46300 course.
Method Debugger - This topic is covered in this course and in the MT46300 course.
Objectives
After you complete this lesson, you should be able to:
Use the EventDebugger.
Find objects and text.
Help topics
Additional information for this lesson can be found in:
Step-by-Step Help > Modeling in Tecnomatix Plant Simulation 2D > Creating a Simulation
Model > Controlling the Simulation with the EventController > Working with the Event Debugger
If you would like to create a breakpoint for each Entity, delete the ID of the MU.
Example 2
In this example all MUs leaving Station1 define a breakpoint.
This time, you do not enter a Receiver, since you want the EventController to insert a breakpoint for
each leaving part. The Sender is Station1.
Plant Simulation inserts a breakpoint when a part of the class .MUs.Entity located on Station1
creates an Out event between 1 hour and 3 hours.
At times you only want to insert breakpoints when certain conditions are met. Enter these conditions
into the text box next to Condition. A condition may be a certain value or certain states of the
simulation model or properties, for example, attributes, of MUs. You can also enter methods, returning
a boolean value as a result, which is then evaluated.
Example 4
In this example, you use a property of the part as a condition for a breakpoint.
Plant Simulation inserts a breakpoint, when a part of the class .MUs.Entity, which is less than 100
meters long, causes an Out event on Station1. Note that the unit depends on the settings you
selected under Tools → Model Settings/Preferences → Units → Length.
If you would like Plant Simulation to create a trace file that tracks all events, enter a name into the text
box Trace File in the Event Debugger window and choose the Trace active checkbox.
If you would to only create a trace file for a certain event, enter a file name into the text box Trace File
in the Breakpoint window.
With the settings shown in the dialog above, Plant Simulation inserts a breakpoint for each Out event
of the Entity with the ID 3 and writes this event to the file c:\exercises\trace3.txt. Note that this only
works when you selected the Trace active checkbox in the Event Debugger window. When you
deselect the Breakpoints active checkbox, Plant Simulation writes the trace file without stopping
your simulation using a breakpoint.
In the examples above, you only used Out events. You can, of course, also use any of the available
types of events, compare the List of Scheduled Events.
Purpose
In this lesson, you learn how to use a ShiftCalendar to control when workers and machines are
scheduled to work throughout the week.
Objectives
After you complete this lesson, you should be able to:
Add a ShiftCalendar to our model and see its affect on throughput.
Help topics
Additional information for this lesson can be found in:
Reference Help > Resource Objects > ShiftCalendar
From the Toolbox viewer, click the Resources tab and choose ShiftCalendar to add it to the
model.
Capacity: 0
Information flow object
Shift Times tab:
Double-clicking the ShiftCalander icon in a frame opens the following window.
Enter the days on which your facility does not work at all (Date From, and Date To) or only works part
of the time (Reduced Time), and a Comment describing the event on the Calender tab. You can
enter the second of January 2012 for example as 02.01.2012 or as 2002/01/02.
Enter the time during which your installation works a reduced shift into the cells below Reduced
Time. For the time you enter the facility works a normal shift, using the settings you entered on the
Shift Times tab.
When your installation does not work at all on a certain day, do not enter anything into the Reduced
Time column.
Importing a Shift Calendar
You can import a calendar that contains public holidays and other days off from a tab-delimited text
file:
Click the background on the Calendar tab and choose Import.
Purpose
This lesson describes how to use the Broker , Importer, and Exporter .
Objectives
After you complete this lesson, you should be able to:
Setup an importer, exporter, and broker as a more detailed way (than a ShiftCalendar) to
handle when workers and machines are scheduled to work.
Help topics
Additional information for this lesson can be found in:
Reference Help > Material Flow Objects > Station > Dialog Window of the Station > Tab
Importer
Reference Help > Resource Objects > Exporter
Reference Help > Resource Objects > Broker
Types of Importers
There are three types of importers in Plant Simulation:
Setup importers - Used for setup time. Located on the Importer tab. Can be handled together
or separately from processing importers.
Processing importers - Used for processing time. Located on the Importer tab. Can be handled
together or separately from setup importers.
Failure (repair) importers - Called to fix failed Stations (representing machines). Located on the
Failure Importer tab.
You begin discussing how to setup and use all three during the lessons and activities.
Exporter Settings
Define the Capacity (max number of jobs he can do at once) and the Broker (the manager) brokering
the Services (the skills). A Priority of 10 is higher than 1.
Purpose
This lesson explains how to use the worker object.
Objectives
After you complete this lesson, you should be able to:
Add a Worker, Workplace, and WorkerPool to a simulation as a more detailed way (than a
ShiftCalendar or Exporter) to handle when workers and machines are scheduled to work.
Help topics
Additional information for this lesson can be found in:
Reference Help > Resource Objects > Worker
Reference Help > Resource Objects > WorkerPool
Reference Help > Resource Objects > Workplace
WorkerPool
o Amount, skill level, walking speed, efficiency, and shift model.
o Defines the workers available. It is possible to have more than one worker pool in your
simulation model. It is also possible to assign a worker pool to a calendar object.
Workplace
o Physical location of an operator at the station.
o The place where the worker performs his job. The workplace must be assigned to a station.
Broker
o Resource manager, receives operator requests and assigns operators to stations.
o Gathers statistics of the requested services.
Define the services you need for processing a part, using the standard importer definition sub tables.
WorkerPool
Use drag and drop to define the broker for a WorkerPool.
The definition table for the worker is opened by clicking Creation Table (remember to deactivate
inheritance fist, before you enter values).
In this table you can define the amount of a special worker type, the speed for walking and the
efficiency of the worker. The value of the efficiency be used to calculate the processing time, so an
efficiency of 50% doubles the processing time.
Deselect the Get job orders in the pool only checkbox from the WorkerPool.
Purpose
In this lesson, you learn how to use footpaths and to integrate a ShiftCalendar with a worker model.
Objectives
After you complete this lesson, you should be able to:
Use footpaths and integrate a ShiftCalendar with a worker model.
Help topics
Additional information for this lesson can be found in:
Reference Help > Resource Objects > FootPath
To add a footpath to your simulation model, choose the FootPath object from the Resource
tab of the Toolbox. Add the footpath with the layout of your choice. Connect the worker pool and the
workplace with the footpath using the standard connector. Now the worker uses the footpath to walk
from the worker pool to the workplace and back again.
Defining the Footpath:
As soon as you define the starting point of the footpath, a parameter windowl opens, where you can
exactly define the parameters of the footpath. Pressing the [Ctrl] key activates the curve parameters.
Releasing the [Ctrl] key activates the line segment.
If you want to specify a certain value in the dialog, so you don’t have to determine it by moving the
mouse, select the Fixed checkbox.
For Example:
If you always want to draw a curve of 90°, 2.5 m radius then fix the three values Tangential Angle
(0°), Center angle (90°) and Radius 2.5m.
Purpose
In this lesson, you learn to use workers to not only perform work at a station, but to carry the parts
between the stations.
Objectives
After you complete this lesson, you should be able to:
Use a worker to carry a part between the stations.
Help topics
Additional information for this lesson can be found in:
Step-by-Step Help > Modeling in Tecnomatix Plant Simulation 2D > Modeling Workers and the
Jobs They Do > Model a Worker Who Carries Parts > Model a Worker Who Carries Parts
between Workplaces
Reference Help > Resource Objects > Worker > How the Worker Carries Parts
Reference Help > Material Flow Objects > Shared Properties of the Material Flow Objects >
Dialog Items of the Objects > Tab Exit Strategy > Strategy > Carry part away
Note:
However, when this option is combined with a ShiftCalendar, the worker has to be told where to put
the parts he is carrying when his shift ends. This is done by specifying a PartsBuffer on the
WorkerPool object. It can be any object that has room to hold the parts when the shift ends.
The Worker Chart can also be added to a model from the Tools section of the Info Pages.
It shows a chart of the usage of all workers of a given WorkerPool.
You can group the workers by individuals and classes or show the entire pool as one chart. You
can also hide the pauses, regarding only the working time.
The worker chart works in sample mode. You can change the type of chart from bar to pie
chart.
Usage:
Add the worker chart to the model (as described above).
Drag and drop the WorkerChart from the Tools tab of the Toolbox into the frame.
Drag and drop the Workerpool, already located in the frame, onto the WorkerChart.
Double-click the Utilization of workers window and configure the chart as desired.
Purpose
In this lesson, you learn how to use a time sequence to track aspects of a simulation.
Objectives
After you complete this lesson, you should be able to:
Use a time sequence to track aspects of a simulation.
Help topics
Additional information for this lesson can be found in:
Reference Help > Information Flow Objects > TimeSequence
The TimeSequence
From the Toolbox viewer, click the Information Flow tab and choose TimeSequence to add it
to the model.
Capacity: 0
Active information flow object
The TimeSequence object is used to collect values with a time stamp. Ensure that the data type for
the value column matches the data type of the statistic to be recorded.
Record Tab:
Here is where the path to the value to be recorded is set. The mode watched means that the value is
recorded every time it changes. Sample mode records the value at the interval specified.
Purpose
In this lesson, you learn estimate energy usage by equipment in your facility.
Objectives
After you complete this lesson, you should be able to:
Setup and use the energy statistics for material flow objects.
Help topics
Additional information for this lesson can be found in:
Step-by-Step > Modeling in Tecnomatix Plant Simulation 2D >Simulating the Power
Consumption in Your Facility
Reference Help > Material Flow Objects > Shared Properties of the Material Flow Objects >
Dialog Items of the Objects > Tab Statistics > Energy Statistics
Note:
The states of a machine are not always directly comparable to the Plant Simulation states of the
machine.
The energy states of the material flow objects differ from the resource states with the same name.
The values for the resource states refer to the statistics collection period, while the values for the
energy states refer to the total energy consumption.
Green bar - the percent of the total energy consumption during which the object was working
Brown bar - the percent of the total energy consumption during which the object was being set
up
Yellow bar - the percent of the total energy consumption during which the object was operational
Red bar - the percent of the total energy consumption during which the object was failed
Light gray bar - the percent of the total energy consumption during which the object was on
standby
Dark gray bar - the percent of the total energy consumption during which the object was off
Note:
To view Energy Statistics in the Statistics Report, click the object in the Frame, and press [F6]
(Show Statistics Report), or choose View --> Show Statistics Report.
Purpose
In this lesson, you learn how to load CAD model as a background icon.
Objectives
After you complete this lesson, you should be able to:
Load CAD model as a background icon.
Help topics
Additional information for this lesson can be found in:
Step-by-Step Help > Modeling in Tecnomatix Plant Simulation 2D > Creating a Simulation
Model > Working with the Frame > Add a Graphic and a Color to the Background or the Icon of
the Frame
Note:
If the Scaling Factor is set to 0.5, then the horizontal and vertical grid spacing becomes 10 meters
each.
Drawing Scale:
Each drawing can be scaled during import as well.
Purpose
This tool is only briefly covered in this course. It is covered in more detail in the MT46300 course,
since there are all sorts of Plant Simulations tools (for example Data Fit, Trunc Distribution,
Confidence Intervals, Chi Square Independence, Analysis Of Variance, Roll Dice, Variants
Generator, Regression Analysis, NeuralNetworks, etc…) that can be used in conjunction with
ExperimentManager.
Objectives
After you complete this lesson, you should be able to:
Use the basic features of the ExperimentManager.
Help topics
Additional information for this lesson can be found in:
Reference Help > Tools > ExperimentManager
Purpose
In this lesson, you discuss the Report object and HTML Wizard object. Several parts of Plant
Simulation use this object internally to create specific reports.
Objectives
After you complete this lesson, you should be able to:
Use it to create reports of desired information.
Help topics
Additional information for this lesson can be found in:
Reference Help > Display and User Interface Objects > Report
The HTML Wizard can also be added to a model from the Tools section of the Info Pages. It
generates a report of a simulation run. You can save it as an HTML file.
From the Toolbox viewer, click the User Interface tab and choose Report to add it to the
model. It is used to create html-reports from frames, charts, gauges etc. in the model.
Icon:
Capacity: 0
Active UserInterface object
Use the Report to present simulation results as an HTML Report.
The report can be saved and loaded to an intranet or send to other people.
Report -- General Parameter:
General Parameter: You can define parameter, that is used for displaying or saving the report, such
as:
Name and version
Person in charge
Folder to save to
Filename to save to
Etc.
Headline:
Contains the headline for the selected page (test definition only)
First, Second and Third Column:
o Data can be displayed in up to 3 columns. For each column, the content can be defined as
text, object or icon.
o Enter the text or path to an object into the cell (Drag and drop of object possible)
HTML Object Format:
o Double-click a column cell to select, whether the text entered should be displayed as a text,
an object or an icon.
o When selecting object or icon, you can define the display size of this object.
o In addition you can enter additional HTML code, e.g. for formatting the entry.
Purpose
In this lesson, you learn a little bit about what a method object is within Plant Simulation.
Objectives
After you complete this lesson, you should be able to:
Know what a method is.
Be exposed to some preferences related to methods.
Help topics
Additional information for this lesson can be found in:
Reference Help > SimTalk
Reference Help > Information Flow Objects > Method
Reference Help > Information Flow Objects > Method > The Method Window > Toolbar of the
Method Editor
In order to create this model, you created components using standard objects:
In this course, you take this model and enhance it by creating several custom objects (a.k.a.
methods).
What is a Method?
A Method is a small program, comparable to a procedure or a function in other programming
languages (for example Basic, Pascal or C++).
SimTalk, the programming language of Plant Simulation, is based on the programming language
Eiffel (an ISO-standardized object-oriented programming language). It resembles other programming
languages.
You can program a Method to read the attributes of the objects you inserted into your model and
change these attributes. Select an object and then choose Objects → Show Attributes and
Methods to show all built-in attributes and methods that object provides.
In addition you can define any number of user-defined, custom attributes.
The object Method is fully integrated into the object-oriented concept of Plant Simulation. Enter your
source code into the object Method. Then the built-in Interpreter processes these statements during
the simulation run.
Capacity: 0
Information flow object
When you insert the instance of a Method into your model, Plant Simulation deactivates Inherit
Source Code .
Editor Preferences
Editor Preferences:
Choose Tools → Preferences.
In the Preferences window, click the Editor tab. This tab is used to choose settings for the Method
Editor.
Display line numbers checkbox - It is recommended to check this. This allows you to quickly
change to the line that contains wrong source code in the Method Debugger.
Maximum depth of calls - Sets how many methods may be called by another method.
Maximum number of call chains - Sets the maximum number of methods that may be called
at the same time.
Maximum number of suspended methods - Sets the number of methods that may be
suspended at the same time and wait for an event to occur.
Note:
These settings can help improve simulation runtime performance.
Purpose
In this lesson, you learn the syntax of writing a method.
Objectives
After you complete this lesson, you should be able to:
Create a simple method and run it.
Help topics
Additional information for this lesson can be found in:
Reference Help > Information Flow Objects > Method > Programming a Method
Reference Help > SimTalk > Operators and Expressions
SimTalk Operators
Assignment Operator
o The assignment operator := assigns a new value to a variable.
o <variable> := <new value>;
Arithmetic Operators
o Addition, subtraction, multiplication, division (+, -, *, /) and standard functions, such as
trigonometric functions, logarithm, and exponential function.
Relational Operators
o Relational operators =, /=, >, >=, <, <=, and == compare two values. The result, TRUE or
FALSE, is of data type Boolean.
Note:
Tolerance for about equal (==) can be changed in Tools → Preferences →
Simulation.
o Boolean operators and, or, not combine expressions.
Input and Output Operators
o Load and save data.
Document Conventions
Names of attributes begin with an upper case letter. Each new term after that begins with an
upper case letter, such as GenerationTableActive.
Names of methods begin with a lower case letter. Each new term after that begins with an
upper case letter, such as currIcon and absSimTime.
Methods show keywords in blue (examples are is, do, and end) and comments in green.
Comments
Comments improve the legibility of a method and help to understand its function.
Enter two hyphens - - to start a one-lined comment that ends at the end of the line.
Enter a forward slash and an asterisk (/*) to start a comment line that covers several lines and
an asterisk forward slash (*/) to end the commented lines.
The Method displays the text of the comment in green.
Purpose
In this lesson, you learn how to trace or debug method logic using the method debugger.
Objectives
After you complete this lesson, you should be able to:
Trace or debug method logic using the method debugger.
Help topics
Additional information for this lesson can be found in:
Reference Help > Information Flow Objects > Method > The Method Window > Method
Debugger
Or set breakpoints (right-click a line in the Method window and choose Class
Breakpoint) and run the method.
Or from the Method window toolbar, choose Run → Debugger or press [F11].
Warning:
VERY IMPORTANT: Or hold down [Shift]-[Alt]-[Ctrl] while a method is being executed that is stuck in
an infinite loop.
Switch to an open debugger window:
Press [F12] or choose Debugger → Switch to Debugger .
Use the Debugger to:
Watch local variables, arguments and information about the calling object and the MU that
triggers an action in the Watch Window.
Track how the method is executed step-by-step.
Detect errors using the messages the debugger shows.
Purpose
In this lesson, you learn about name space and identifying objects directly and anonymously.
Objectives
After you complete this lesson, you should be able to:
Understand several terms such as absolute path and relative path.
Begin scratching the surface of anonymous identifiers.
Note:
This is a complex part of Plant Simulation to understand at first. You come back to this
topic several times throughout this course.
Help topics
Additional information for this lesson can be found in:
Reference Help > SimTalk > Names > Paths
Reference Help > SimTalk > Names > Anonymous Identifiers
Name Space
All objects on the same hierarchy level are located within the same name space.
Within a name space all objects must have unique names.
Within different name spaces objects can have the same names.
Absolute Path
Example of the Absolute path to the Milling2 object:
Identifies the exact location of an object, irrespective to its hierarchy level within the frame.
The absolute path is required to call an object located on another hierarchy level.
The absolute path always starts in the Class Library and then proceeds through the folders
and frames to the object.
The absolute always begins with a period followed by a name, a period, a name, a period until
it has reached the name of the object.. <name>.<name>...<object>
Contains the name of the object you are calling at the last position.
When you place an object onto another hierarchy level Plant Simulation has to rename the
absolute path.
Note:
Takes more processing time than a relative path.
Calls an object within the same name space without having to enter the hierarchy level.
This path never starts with a period.
Enables you to flexibly and universally deploy Methods and objects.
Is correct even after the structure of the model has been changed.
Anonymous Identifiers
The paths to your objects should be as universal as possible, to enable you to deploy the called
object as flexibly as possible. For this you can employ a number of anonymous identifiers, which
serve as placeholders.
In spite of their universality they still uniquely identify a certain object.
The @ anonymous identifier uniquely identifies the MU, such as table_top:6712, which triggered the
Method when entering or exiting the object.
Plant Simulation even uniquely assigns the MU, when several controls are triggered. The MU might
also be located on another object.
Note:
This is a very powerful feature.
The root anonymous identifier returns the topmost frame in the hierarchy of frames. This identifier is
especially useful when you do not know the name of the root frame (the frame located at the top of
the hierarchy).
Purpose
In this lesson, you learn how to create and use variable objects as well as predefined (build in)
methods.
Objectives
After you complete this lesson, you should be able to:
Use variable objects.
Create and use reset and init methods.
Help topics
Additional information for this lesson can be found in:
Reference Help > SimTalk > Names > Predefined Names
Reference Help > Information Flow Objects > Variable
Adding a Variable object (global variable) into a frame from the Information Flow tab of
the Toolbox.
o Reset: Calls all Methods named reset located in the open model.
o Init: Calls all Methods named init after resetting the model.
Plant Simulation executes the autoexec Method located in the class library, when
opening the model file.
Plant Simulation calls all Methods named endSim at the end of a simulation run.
The simulation ends when the EventController has processed all events from the List of
Scheduled Events or when Plant Simulation reaches the end time you entered in the textbox
End on the Settings tab.
Whenever you click Reset in the EventController, Plant Simulation scans the entire model,
including all Frames you inserted, for Methods named reset and executes them.
Our reset Method deletes all MUs in the model.
Insert a Method object into your model (insert it into the being run or one of its sub-frames), and
change the name to reset. Enter the text into the method from the following image.
before the objects are initialized. Init Methods can initialize your model, for example set the
values of variables, place MUs onto material flow objects, etc.
Insert a Method object into your model, and enter init into the text box Name in the Rename window.
Insert the text as follows:
Purpose
In this lesson, you learn about entrance and exit controls.
Objectives
After you complete this lesson, you should be able to:
Understand the order of execution of the various controls of point-oriented and length-oriented
objects.
Create and use exit and entrance controls.
Help topics
Additional information for this lesson can be found in:
Reference Help > Material Flow Objects > Shared Properties of the Material Flow Objects >
Dialog Items of the Objects > Tab Controls > Exit control
Step-by-Step Help > Modeling in Tecnomatix Plant Simulation 2D > Modeling the Flow of
Materials, Advanced > Create Entrance and Exit Controls
You can browse and choose and existing control (for example Method) or right-click in the field to
create a new control that is stored within this object.
There are different controls available for point-oriented and length-oriented objects.
Point-Oriented Objects
Pull Control of Point-Oriented Objects
Plant Simulation activates the pull control, whenever the object is ready to accept a new part or when
it is ready, when a new part is Waiting at its entrance. In the pull control you can decide which of the
MUs, which you intend to move onto the object, the object actually accepts.
Setup Control of Point-Oriented Objects
Plant Simulation activates the setup control, whenever a set-up process starts or ends.
Entrance Control of Point-Oriented Objects
This is activated as soon as an MU enters the object. The MU is located all the way on the object,
irrespective to its length.
Note:
Once set, the time the MU remains on the object cannot be changed, unless a formula is entered as a
processing time.
Note:
The Before actions checkcbox is used to execute the entrance control before the standard actions
are executed. Standard actions encompass starting the processing time or the setup time, requesting
services through the importer, or evaluating the assembly table of the Assembly station. When you
activate it, you can for example change the processing time in the entrance control, which then affects
processing of the part that is already located on the object.
Front-Activated Exit Control of the Point-Oriented Objects
This is called when the MU intends to exit the object. The MU is still located on the object.
The exit control may be activated several times: when the MU cannot exit the object or because the
successor is full. Plant Simulation calls the exit control again once the successor is unblocked.
Note:
The front-activated exit control overrides the default exit strategy of Plant Simulation, the MUs must
be moved manually using methods.
Rear-Activated Exit Control of Point-Oriented Objects
This is called once the MU exits the object. The MU is located on the successor.
Length-Oriented Objects
An example of a length-oriented objects are Line, Track, etc … They contain these controls: Front
Entrance, Rear Entrance, Front Exit, Rear Exit, Front Backward Entrance, Rear Backward
Entrance, Front Backward Exit, Rear Backward Exit, Speed, Pull, and Sensors. Some of these
are described later.
Front-Activated Entrance Control of Length-Oriented Objects
This is called as soon as an MU wants to enter the object. The front of the MU is located on the object
when the method is called.
Note:
Once set, the time the MU remains on the object cannot be changed, unless a formula is entered as a
processing time.
Rear-Activated Entrance Control of Length-Oriented Objects
This is called once the entire length of the MU is located on the object.
Note:
The point-in-time the MU enters the object until the point-in-time the rear-activated entrance control is
activated is the time the MU needs to entirely move onto the object.
Front-Activated Exit Control of Length-Oriented Objects
This is called once the MU intends to exit the object. The MU is located entirely on the object.
Note:
The front-activated exit control overrides the default exit strategy of
Plant Simulation. You yourself are responsible for moving the MU.
The exit control may be activated several times: When the MU cannot exit the object, because the
successor is full, Plant Simulation calls the exit control again, once the successor is unblocked.
Rear-Activated Exit Control of Length-Oriented Objects
This is called once the MU has exited the object. The MU is located on the succeeding object.
Note:
Sensors are a very powerful feature.
insert
The insert method moves the MU completely to the destination object. It has to provide enough
space to accommodate the MU.
Example:
@.insert(track,3.3);
transfer
The transfer method transfers the MU to the next material flow object. The transfer method
completely removes the MU from the present object, even if the successor does not provide
enough space. The remainder of the MU hangs in the air.
Example:
@.transfer(track,3.3);
The move, insert, and transfer Methods return true, when the MU was moved, false, when it was not
moved.
Other Notes
If you want to use the same method for both the front and rear exit control, then add it to both fields.
Then an If, then, else statement to compare where the part is ? = @.location.
A similar process can be used for setup controls: In this case If ?.setup = true, then the setup is
starting, otherwise it is ending.
Purpose
In this lesson, you learn to assign values to attributes using methods.
Objectives
After you complete this lesson, you should be able to:
Assign values to attributes using methods.
Help topics
Additional information for this lesson can be found in:
Reference Help > Information Flow Objects > Method > The Method Window > Menu Bar of the
Method Editor > View Menu > Show Tooltip with Completion
If the name is not unique, Plant Simulation opens a window where you choose an item, press the up
or down arrow to choose the desired expression and press [Enter] (or double-click it).
Note:
Don’t forget that statements must end with a semicolon.
Purpose
In this lesson, you learn to use if-then-else and inspect statement in our methods.
Objectives
After you complete this lesson, you should be able to:
Use if-then-else and inspect statement in our methods.
Help topics
Additional information for this lesson can be found in:
Reference Help > SimTalk > Control Flow Statements
Use the if statement to make the execution of a Method depend on the result of a condition.
If the condition returns true, the Method executes statement sequence 1. If the condition returns false,
the Method executes statement sequence 2.
If you do not need it, you can also omit the else branch with statement sequence 2.
Example of an If statement:
This example states that if the MU quality (attribute) is good, then move it to the station material flow
object (for example Station). Otherwise, move it to the rework material flow object (for example a
Station).
The inspect statement enables Plant Simulation to make easier and clearer choices when presented
with several possibilities. This way you do not have to use lengthy if-then-elseif-chains.
Note:
This is similar to the case statement in the C programming language.
Example of an Inspect Statement:
This is example actually does the exact same thing as the previous "If Elseif" example. It is just
different way to write it. This technique is common for situations where there are more than three
results from the conditional statement.
Purpose
In this lesson, you learn how to use a method to interact with a TableFile.
Objectives
After you complete this lesson, you should be able to:
Format a TableFile.
Access a TableFile with a method.
Access a TableFile using a custom index.
Searching TableFiles.
Help topics
Additional information for this lesson can be found in:
Reference Help > Information Flow Objects > TableFile > Methods of the TableFile
TableFile Inheritance
The TableFile is a list with several columns that can be modified for content or format by
deactivating the inherit commands from the Format menu, Inherit Format, or Inherit Contents.
After you deactivated Inherit Contents you can modify the contents of the table either manually or
using a Method.
After you deactivated Inherit Format you can modify the format of the table. This also deactivates
Inherit Contents.
Choose View → Comment, and document your intentions in using the data in the table.
The Variable
Capacity = 0
Information Flow Object
Note:
Programmers call this a Global Variable.
Use the variable to store values over an extended period of time during your simulation run. You can
call it as any other object. The range of values depends on the data type. Other objects or methods
can call the Variable.
To reset the value to an initial value during the init phase choose the checkbox and enter the initial
value.
StackFile (corresponds to the stack data type) inserts entries at the top and removes the
contents of the object added last (the LIFO method: Last In First Out). An archeologist experiences
this when digging at a site.
QueueFile (corresponds to the queue data type) saves entries added in the order inserted and
removes the element waiting in the queue the longest. (the FIFO method: First In First Out). You
experience this when you wait in line at the amusement park.
CardFile (corresponds to the list data type) is accessed in a random manner using the position of
the cell, the following cells move up.
<…>.push(<value>); Inserts the value into the topmost cell of the StackFile or the QueueFile.
<…>.insert Inserts the value into the cell in a row (3) of the CardFile and moves the
(3,<value>); contents of this cell and the following cell down one.
Removes the contents of the last cell of the StackFile and removes the
<…>.[]; contents of the first cell of the QueueFile. The following cells move up one
position.
Reads and removes the contents of the cell in a row (3) of the CardFile. The
<…>.[3];
following cells move up one position.
Reads the content of the last cell of the StackFile and reads the content of
<…>.pop;
the first cell in the QueueFile and removes them.
<…>.read (3); Reads the content of a row (3) of the CardFile without removing it.
<…>.dim; Returns the last row with any entry.
Note:
You learn more about this distributions through out this class and the MT46300 course. This lesson is
meant as only an initial exposure to the distributions.
For example:
Note:
This is not part of the activity.
Earlier in this course, the PickAndPlace robot randomly sent 10% of the parts to PaintFailed.
However, you could have set an attribute while painting the part whose value can be changed or
evaluated throughout the simulation.
Note:
In this example, the PickAndPlace robot exit strategy would need to be change the MU Attribute.
Also another method would need to be added in order to fix the paint job.
Purpose
A condition is an expression that returns a Boolean value. Use conditions in conditional branching
and loops.
You can also use the operators AND, OR and NOT to concatenate the return values.
Objectives
After you complete this lesson, you should be able to:
Use logical, arithmetic, relational operators.
Help topics
Additional information for this lesson can be found in:
Reference Help > SimTalk > Operators and Expressions
Integer Operators
Real Operators
Note:
About equal (==) for strings is case insensitive.
ascii
chr
copy
incl
omit
pos
strlen
strRcopy
strRpos
toUpper
toLower
trim
Bit Operators
Plant Simulation provides these functions for manipulating individual bits of an integer value:
BitAND
BitOR
BitSet
BitShift
BitTest
BitXOR
Operator Precedence
Mathematical functions assume that multiplication takes precedence over addition. Plant Simulation
can combine mathematical as well as relational operators. The given precedence of the operators
spares you the effort of having to insert too many parenthesis. You only have to set them if you would
like to deviate from that given order. An expression within parenthesis is executed first. Within the
parenthesis, the precedence rules do apply. For parenthesis within parenthesis, Plant Simulation
analyzes the innermost expression first. The table lists the precedence of operators. Operators with
the same precedence are listed in the same line. The highest priority is listed first.
Purpose
Data types can perform certain actions. Not all operations can be applied to all data types.
Before concatenating different data types, you might have to convert them to make them compatible.
Only then can Plant Simulation execute the operations.
Objectives
After you complete this lesson, you should be able to:
Automatically and Manually Convert Data Types
Help topics
Additional information for this lesson can be found in:
Reference Help > SimTalk > Data Types > Converting Data Types
Purpose
This lesson describes several ways to loop such as For, Repeat-Until, and While.
Objectives
After you complete this lesson, you should be able to:
Create a loop in a method.
Help topics
Additional information for this lesson can be found in:
Reference Help > SimTalk > Control Flow Statements > Loops
The for loop passes over a range between a beginning and an end value. The loop variable has to be
of data type integer and denotes the beginning of the loop. Once the loop is closed, Plant Simulation
adds 1 to the variable (setting to) or deducts 1 (setting downto). It executes the loop until it reaches
the end values.
Here is an example of a for loop where i is the loop variable which increments from 1 to 10:
Here is an example of a for loop where i is the loop variable which increments from 10 down to 1:
Here is an example of a for loop where i is the loop variable which increments from 1 to 10 (using a
local variable):
Plant Simulation executes the repeat loop at least once and exits when the condition is true. If the
condition never is becomes true, Plant Simulation runs forever (unless the execution of the method is
stopped, suspended, or exitLoop is performed).
Note:
Simulation executes the loop infinitely. You can interrupt an infinite loop by pressing [Shift] + [Alt] +
[Ctrl] to open the Debugger.
Here is an example of a Repeat Until loop:
Plant Simulation executes the while loop until the condition is true. Here is an example of a While
Loop:
Purpose
In this lesson, you learn how to suspend the execution of method using a specified criteria.
Objectives
After you complete this lesson, you should be able to:
Understand how the suspension statements work.
Be exposed to some of the methods of a method.
Help topics
Additional information for this lesson can be found in:
Reference Help > SimTalk > Names > Keywords > waituntil
Reference Help > SimTalk > Control Flow Statements > Suspending Methods
Reference Help > Information Flow Objects > Method > Methods of the Method
Note:
Enter the maximum number of suspended methods under Tools → Preferences → Simulation.
Other Related
CallEvery(<path>,<method>,<argument>)
o Calls all methods designated by the argument method in the frame <path> on all levels of
the hierarchy. Arguments are passed as arguments to the calling methods.
methCall(<time/date/datetime>,<argument>)
o Calls a method after the number of seconds designated by <time> has passed. For
<datetime> or <date> Plant Simulation calculates the time span using the date of the
EventController and the date you entered as the arguments <datetime> or <date>.
Arguments are passed when the method is called next.
DeleteMethCall
Wait(<real>)
o Interrupts executing a call chain for the number of seconds passed as <real>. The
EventController receives a MethWakeup event.
Purpose
In this lesson, you learn how to use some attributes of Assembly station objects.
Objectives
After you complete this lesson, you should be able to:
Use some attributes of Assembly station objects.
Help topics
Additional information for this lesson can be found in:
Reference Help > Material Flow Objects > Assembly Station > Attributes of the Assembly
Station
Purpose
In this lesson, you learn how to access the contents of an object with a method.
Objectives
After you complete this lesson, you should be able to:
Access the contents of an object with a method.
Help topics
Additional information for this lesson can be found in:
Reference Help > Material Flow Objects > Shared Properties of the Material Flow Objects >
Methods of the Material Flow Objects > Methods for Accessing the Contents of the Material
Flow Objects > cont
Example 2:
Move the Entity in the Container on the Saw station to the MillingMachine station.
@.cont.move(MillingMachine);
saw.cont.cont.move(MillingMachine);
Example 4:
Move the Entity from column 1, row 2 of the store matrix to the next station.
store[1,2].cont.move;
Note:
The cont method always returns the next MU that is ready to exit the object, even when it has other
MUs loaded (for example container).
Note:
This also applies when moving containers loaded onto other containers (… .cont.cont.cont…).
Note:
You can only access the contents of an object that actually contains MUs.
Purpose
In this lesson, you learn how to create a custom assembly object.
Objectives
After you complete this lesson, you should be able to:
Create a custom assembly object.
Help topics
Additional information for this lesson can be found in:
Reference Help > Material Flow Objects > Shared Properties of the Material Flow Objects >
Attributes of the Material Flow Objects
Purpose
In this lesson, you learn about calling methods.
Objectives
After you complete this lesson, you should be able to:
Use the pause and unplanned frame controls.
Help topics
Additional information for this lesson can be found in:
Reference Help > Material Flow Objects > Shared Properties of the Material Flow Objects >
Dialog Items of the Objects > Tools Menu > Select Controls
From the Frame window (or Material Flow object window), choose Tools → Select Controls. Enter
the names of the methods for a number of purposes.
Note:
A shift calendar can also control the frame, not just stations. From the Frame window, choose Tools
→ Select Shift Calendar. Program a method that modifies the Pause state , which activating the shift
calendar sets.
The method entered into the Pause text box is called and executed whenever the Pause attribute
changes its state.
Purpose
In this lesson, you learn how to change the behavior the importer/exporter using a method.
Objectives
After you complete this lesson, you should be able to:
Create a custom method for an importer.
Help topics
Additional information for this lesson can be found in:
Reference Help > Material Flow Objects > Shared Properties of the Material Flow Objects >
Methods of the Material Flow Objects > Methods of the Importer
The self.name_of_method statement calls and executes the method you programmed as a custom
attribute.
This method is not a method object, but an attribute of type method of the object. This method is part
of the object, even when you copy it or save it as an object.
Note:
This logic assumes the method is embedded within the Station Station.
Note:
The Broker reference would be Broker in this case.
Here is a logic example that would be for a custom object that was a Frame (containing one or more
Stations):
If the Station Station was located in another frame (that it was supposed to change the icon of), you
would use current.curricon instead of ?.curricon.
Note:
The Broker reference would be ~.Broker in this case.
Purpose
In this lesson, you learn how to model passive or active transport systems.
Objectives
After you complete this lesson, you should be able to:
Model passive or active transport systems.
Help topics
Additional information for this lesson can be found in:
Step-by-Step Help > Modeling in Tecnomatix Plant Simulation 2D > Modeling Transport
Systems
Line - This active object is used model a simple transport system. This object was
introduced earlier in this course.
Track - This passive object is used to model cross- transfer systems, AGV systems,
cranes, etc. You receive an introduction to this object in this lesson. More uses of this object
and other transport system objects is provided in the MT46300 (Plant Simulation Advanced)
course.
When you model a transport system with passive elements, you use the Track and
Transporter objects. A track is a passive object. You need to make sure that a transporter on
the track is available. If it is available you need to load and unload it.
Note:
To prevent MUs from automatically transferring from the previous station to the Track, do not connect
them.
The Track
The Track is used for modeling transport lines. It also supports automatic routing. The Transporter is
the only movable object able to use the Track. You might, for example, utilize both to model an AGV
system. You can also change the dimension of the Track.
Properties:
Icon
Capacity: any
Length oriented material flow object
You can enter its Length and its Capacity. The Transporter is the only moving material flow object
able to use the track in a meaningful way. The container and entity remain where they are and are not
moved.
Enter the objects that the track can access into the destination list.
Track Controls
The Transporter is a MU with a propulsion system of its own. You can define its loading
capacity. The Transporter can hold MUs and move them about freely. It represents forklifts, AGVs,
etc.
Select the Acceleration checkbox and enter the Final speed and the Acceleration into the text
boxes.
Deselect the Matrix load bay checkbox, enter the Load bay length, the Capacity, and Sensors.
On the Battery tab you can enter properties for operating the Transporter under battery power.
Transporter Controls
Enter Methods on the Controls tab for controlling the Transporter and the Track.
In addition, the transporter can move on the track under its own power. When you connected the
tracks on which the transporter moves with a connector, it moves from track to track.
The transporter moves on the track using the settings you selected when the simulation started. You
can also stop the transporter, make it continue on its way and make it move backwards in relation to
the direction of motion.
Use the cont method of the track to call the transporter. Use the @ identifier to call the transporter,
provided the transporter calls the methods:
@.stop;
@.continue;
@.backwards := true;
track.cont.stop,...
For example:
By default (without a method) the Transporter just moves to the end of the track and stops there. To
make it return to the beginning:
Is
Do
If @.empty then
@.backwards := true;
End;
End;
Purpose
In this lesson, you learn how to use a trigger object.
Objectives
After you complete this lesson, you should be able to:
Use a Trigger object like a PLC to control a simulation using custom logic.
Help topics
Additional information for this lesson can be found in:
Reference Help > Information Flow Objects > Trigger
The Trigger
From the Toolbox viewer, click the Information Flow tab and choose Trigger to add it to the
model.
Capacity: 0
Active information flow object
The Trigger object is used to simulate periodical processes or to manipulate attributes of objects at a
given time.
Period Tab
The starting time is the time in the simulation that the trigger is to start operating. It operates for the
time specified in Active Interval. To set the trigger to run in a cycle (such as each day) check the
repeat periodically box and enter the period length in the field. For example the trigger can be set to
run shifts in a day and be run repeatedly every day.
Values Tab
In Values tab you can open a table for definition of time and values by selecting input for the trigger
type and clicking Values.
To enter data in the table, Inherit Format must be deactivated. Choose Format→Inherit Format in
the menu. It must be deselected to enter data. In the first column enter the time desired that the value
of an attribute is to change and then add the new value in the second column on the same row. The
format of the second column of the table must correspond to the data type of the values.
To define which attributes receive the new values at the times determined in the Values tab, open the
attributes table. To enter data into the table, Inherit Format must be deselected (raised). Click the
button with the mouse and click Apply.
In the first column enter the path to the object where you want the attribute to change. In the second
column enter the name of the attribute that is to change. The third column is a place for Plant
Simulation to write errors in case something is configured incorrectly.
Methods can be called from the trigger as well. Open the methods list by clicking on methods to enter
data into the table. Inherit format must be deselected (raised). click the button with the mouse and
click Apply. Enter the names of the methods to be called in the list. Every method is called at the time
specified in the values tab and both the old and the new values are passed as variables.
Representation Tab
A graphical representation of the trigger times and values is available in the Representation tab.
Ensure that the Time unit is set to a reasonable scale to check the pattern generated by the settings
entered in the Period and Values tabs.
The Trigger can also call methods, that then execute the actions you programmed.
Note:
Operational:
pause:
Note:
The Trigger could be used to change the icon of a frame when ever it is paused (for example the
other icon might not include the person). Typically a trigger is used to call a method when makes
something happen. The trigger does not do much without a method.
Purpose
This lesson examines setup behavior.
Objectives
After you complete this lesson, you should be able to:
Use a few new MU selection methods.
Help topics
Additional information for this lesson can be found in:
Reference Help > Material Flow Objects > Source > Dialog Window of the Source > Tab
Attributes > MU selection
Sequence cyclical - by default it does the same number of parts (in batches) in the same order
continuously.
Random - randomly selects which part comes next, but produces the same ratio of part over time.
Not batched
Note:
A hybrid of the two: Choose Sequence cyclical, but create a method to randomly set the size of the
batches in the source table each time.
Setting a Station Up
Here are the three steps:
Select Setup options - performed on the Set-Up tab of the station.
Select setup criteria - performed on the Set-Up tab of the station and, optionally, the Custom
Attributes tab of the MU. For example perform setup when the color custom attribute changes
or when the MU name changes.
Select the setup time - Typically performed on the Times tab of the station.
Purpose
In this lesson, you learn about the built in icons of a method.
Objectives
After you complete this lesson, you should be able to:
See some of the built in icons for methods and there purpose.
Help topics
Additional information for this lesson can be found in:
Reference Help > Information Flow Objects > Method > Icons Showing the Function of the
Method
Reset -- Resets your simulation model. It deletes all unprocessed events, resets the
simulation time to 0, resets the statistics, and clears any failure of any machine.
Init -- Plant Simulation activates and executes all methods named Init (even the Init
controls of a Transporter).
Endsim -- The simulation ends when the EventController has processed all events
from the List of Scheduled Events or when Plant Simulation reaches the end time you entered
in the text box End on the Settings tab in the EventController.
AutoExec -- A method by this name is executed when the model is opened
These method names set the icon of the method only:
User
Interface
Dialog
Purpose
In this lesson, you learn about more methods of a TableFile and how to write it out externally.
Objectives
After you complete this lesson, you should be able to:
Save a Plant Simulation table as a file.
Use more methods for lists and tables.
Create methods for collecting and displaying statistics.
Help topics
Additional information for this lesson can be found in:
Reference Help > Information Flow Objects > Shared Properties of Lists and Tables > Methods
of Lists and Tables > Methods for Importing and Exporting Data in Text Format
Reference Help > Information Flow Objects > TableFile > Methods of the TableFile
The table shows the values in 111 columns, which you can address using the column index. The table
contains the mean, standard deviation, min, and max for:
LT - life time of investigated parts
TPh - throughput per hour
TPd - throughput per day
CT/CTS - cycle time difference of two parts that arrive back-to-back
IP - processing time of the investigated parts.
S - set-up time of the investigated parts.
W - waiting time of the investigated parts
Stp/StpF - time that the investigated parts were located on a stopped resource.
F - time that the investigated parts were located on a stopped resource.
P - time that the investigated parts were located on a stopped resource.
IP_P - processing times of the investigated parts on a resource of type Production.
Note:
Repeat for resources of type Transport and Storage.
Note:
Specific values or the entire table can be accessed it via a method.
Statistics Report
Better for showing and looking at data is the HTML Statistics Report, open it with View → Show
Statistics Report.
Table as argument - Writes the values into this table, which can be a TableFile object or
a local variable.
String as argument - Writes the values into the file with this name.
Note:
tab : table; The local variable of type table stores the values of the complete statistics table.
tab.create; Create the local variable of type table.
@.statistics(tab); This table temporarily stores the complete statistics table, so that you can access
the individual values with a method.
throughput_log[1,throughput_log.ydim + 1] := @.id; Writes the ID of the MU into the first column and
the first available row of the throughput_log table.
throughput_log[2,throughput_log.ydim] := tab["avgLT",1]; Writes the average throughput time into the
second column and the last occupied row of the throughput_log table
In most cases you only need information about certain products, which you can differentiate with an
attribute.
Here, you show how to acquire data depending on an attribute, in our case the color of the table.
Purpose
This lesson contains information about selected event controller methods and attributes.
Objectives
After you complete this lesson, you should be able to:
Use some of the methods and attributes of an eventController.
Help topics
Additional information for this lesson can be found in:
Reference Help > Material Flow Objects > EventController > Methods of the EventController
Reference Help > Material Flow Objects > EventController > Attributes of the EventController
Purpose
In this lesson, you learn about saving a Plant Simulation Table as a Text File.
Objectives
After you complete this lesson, you should be able to:
To exchange data with other Plant Simulation models: As an object.
To exchange data with other applications:
o As a text File.
o As a Microsoft Excel File (can write to XLS, XLSX, or XLSB formatted files).
o As a XML File.
Help topics
Additional information for this lesson can be found in:
Reference Help > Information Flow Objects > TableFile > Window of the Table File > Menu Bar
You can save the contents of an object, for example a Plant Simulation TableFile , as a text file.
This way you can use the collected data in other applications.
Example:
To use the values the Plotter collects in an Microsoft Excel table, insert a Method object instead of a
Plotter into your Frame, and write the values to a table. Then save this Plant Simulation table as a
text file and open it as a file of type text file in Microsoft Excel and further manipulate it there.
Before saving the Plant Simulation table as a text file. Format the result file: From the TableFile
window menu, choose File → Format.
The Generator object is both similar and different from the Trigger object discussed earlier
when creating the high speed line.
The Generator activates method objects from the time you enter under Start in regular or statistically
distributed intervals, for the time interval you enter for the interval control. After the time span, you
enter for the duration, has elapsed, Plant Simulation calls the method object you entered as duration
control on the Controls tab. Note that Interval and Duration controls always appear in pairs.
Example 1:
Generator.Interval = 2:00, Generator.Duration = 3:00, EventController.End = 8:00
EventController.SimTime Generator Control Executed
0 Interval Ctrl
2 Interval Ctrl
3 Duration Ctrl
4 Interval Ctrl
5 Duration Ctrl
6 Interval Ctrl
7 Duration Ctr
Example 2:
Generator.Interval = 3:00, Generator.Duration = 2:00, EventController.End = 10:00
EventController.SimTime Generator Control Executed
0 Interval Ctrl
2 Duration Ctrl
3 Interval Ctrl
5 Duration Ctrl
6 Interval Ctrl
8 Duration Ctr
9 Interval Ctrl
Notice that in both cases the Interval control is run at time 0 and at the time Interval after that. The
Duration control is first run after the Duration time has passed and again after the time Interval has
passed.
Purpose
In this lesson, you learn to read external data into a Plant Simulation TableFile .
Objectives
After you complete this lesson, you should be able to:
Read external data into a Plant Simulation TableFile.
Help topics
Additional information for this lesson can be found in:
Reference Help > Information Flow Objects > Shared Properties of Lists and Tables > Methods
of Lists and Tables > Methods for Importing and Exporting Data in Text Format
Note:
The example above assumes that the table it is read into has the column index turned on. If it isn’t, do
not include the header in the text file. To turn on the column index as part of a method enter:
<TableFile>.ColumnIndex := true;
The text file to be loaded should have a tab, or a semicolon as the column separator (compare the
settings under File → Format of the Plant Simulation table).
data, and then write it to a TableFile in the frame. For example, maybe your text file does not
include the .MUS. because of the system that generated it, but it is needed in Plant Simulation.
To Read a Microsoft Excel file (.XLS, .XLSX, .XLSM, or .XLSB formated file) into Plant Simulation:
<TableFile>.readExcelFile("D:\Files\test.xlsx", "worksheet");
Purpose
In this lesson, you learn about several interfaces to Plant Simulation.
Objectives
After you complete this lesson, you should be able to:
Learn about several interfaces to Plant Simulation.
Help topics
Additional information for this lesson can be found in:
Add-Ins Reference Help > Inter-Process Communication Interfaces
Reference Help > Information Flow Objects
File Link
File Interface
XML Interface
Communication Interfaces:
Teamcenter Interface
Oracle
OPC Interface
SIMIT Interface
Socket
Active/X
C Interface - Integrate functions you program in C into Plant Simulation. Not covered in this
course.
Control Interfaces:
Not part of this training course:
COM Remote Control Interface - can control Plant Simulation from other applications that can
address COM objects (for example such as Microsoft Office applications).
HTML (web-based) - can control Plant Simulation from the Internet Explorer viewer.
Purpose
In this lesson, you learn about file interfaces.
Objectives
After you complete this lesson, you should be able to:
Use file interfaces.
Help topics
Additional information for this lesson can be found in:
Add-Ins Reference Help > Inter-Process Communication Interfaces
Reference Help > Information Flow Objects
Icon:
Capacity: 0
Active InformationFlow object
The FileInterface is an older interface used to access data stored in external text files. Better (faster
and more modern) ways to access this data would be to use the ActiveX, COM, or ODBC interfaces.
XML Interface
Not covered in this course.
To get the most out of the XML Interface , you have to be familiar with XPath (XML Path
Language) instructions. You might, for example, check the web site http://www.w3.org/TR/xpath for
more information. In addition, you have to be familiar with programming in SimTalk.
Purpose
This lesson describes various communication interfaces to Plant Simulation. However, ActiveX is
described separately in the next lesson.
Objectives
After you complete this lesson, you should be able to:
Have an idea how the Teamcenter, Oracle, and OBDC interfaces work.
Help topics
Additional information for this lesson can be found in:
Add-Ins Reference Help > Inter-Process Communication Interfaces
Reference Help > Information Flow Objects
Teamcenter - used to retrieve PLMXML data and JT data from a Teamcenter Database via a
Teamcenter web server.
The figure below gives a general overview about data exchange between Teamcenter and Plant
Simulation.
Teamcenter provides product data, process data, and working area data. Your Teamcenter colleague
assembles this data via a Collaboration Context in Teamcenter. He then exports a snapshot of the
data via an application interface (AI) object. The data is provided in PLM XML format, which you can
import into a Plant Simulation table with the Teamcenter interface. You can use this data, together
with the JT files that were exported from Teamcenter, as input data for your simulation models in
Plant Simulation.
Note:
Using a Style sheet, you can format the data of the exported PLM XML file in a way that the data
relevant for the simulation can be arranged in a table structure that can be imported into Plant
Simulation.
ODBC (Open Database Connectivity) - An object in the class library, requires a license.
Universal SQLInterface that establishes a connection with any data base that provides an ODBC
driver, such as MS Excel, dBase, text files, Oracle, Informix, etc. (as long as the corresponding drivers
are installed on your computer).
After the connection has established, SQL commands can be sent to the data source.
Note:
For 64-bit Plant Simulation, you need Microsoft Office 2010 or higher to communicate with Microsoft
Access or Excel.
This database engine implements most of the SQL92 standard, meaning that you can use every book
about SQL92 as a reference. There is also extensive documentation available on the web site of
SQLite. From the web site you also can download a small program, called sqlite.exe, to access the
database without using Plant Simulation.
This SQLite database engine is embedded in Plant Simulation. You can access it with the object
SQLite.
Oracle - Add-in, an object in the class library, requires a license. Allows to connect to Oracle
databases (versions 9i, 10g or 11g) via SQL*Net.
Note: Tecnomatix Plant Simulation supports Oracle Netclients or Instant Clients to access Oracle
databases. Netclients must be installed separately. However, you can use the Oracle Instant Client,
which is installed together with Plant Simulation, to access an Oracle database without an Oracle
Client.
OPC Interface - can read control variables and signals from a PLC and provide other
applications with data.
The simulation in Plant Simulation runs in real-time, as controls work with a real-time-timer and do not
provide a fast forward function. If the external application sets the value of a variable to right, then
Plant Simulation might react with an exit control. You might use observer methods to react to values
provided by the external application.
SIMIT Interface - Provides access to process control devices, such as PLC controls, via SIMIT
(Simulation & Testing).
SIMIT is an open platform for testing automation software. Using scalable models of the technical
process, the correct functioning of the automation system can be ensured. The result is greater
planning security, closer adherence to schedules, reduced costs, and fewer risks, and means
considerably better budget adherence and absolute compliance with required quality standards.
Socket - Requires a license. Supports the communication between two processes via the
TCP/IP-Protocol, no matter if the processes run on the same or on different computers. Allows for the
bi-directional exchange of strings.
Socket communication is the foundation of the most widespread communication software. Sockets
are point-to-point connections, established during initialization, allowing the online exchange of data.
As the socket connection is directly based upon the TCP/IP protocol, it ensures fast communication
without much data overhead.
An ActiveX control has to register with the operating system so that you can use it. The control may
either register with the program regsvr32.exe or with Plant Simulation.
Note:
To add the ActiveX class object to the model file, choose File → Manage Class Library , check
the ActiveX checkbox, and click OK.
ActiveX Methods:
The ActiveX object provides the following methods and attributes:
Application - attribute setup on the ActiveX object describing the name of the application to
start
getParam
invoke
load
overview
registerControl
save, setParam
setWindowPosition
typeInfo
unregisterControl