Table of Contents
Disclaimer
Copyright Information
11/10
Table of Contents
Introduction
About the User Guide
Chapter 1
Getting Started
Chapter 2
Installation and Registration
Chapter 3
Planning the Model
Chapter 4
Modeling Environment
Chapter 5
Building the Model: general elements
Chapter 6
Building the Model: advanced elements
Chapter 7
Building the Logic
Chapter 8
Using Auxiliary Tools
Chapter 9
Running the Model
Chapter 10
Reports and Graphs
Chapter 11
Language Elements and Expressions
Chapter 12
Routing Rules
Chapter 13
Logic Elements
Chapter 14
Statements and Functions
Appendix A
Appendix B
Glossary
Bibliography
Symbols and Notation
Keyboard
Text
Logic
Product Support
User Profile
Problem Description
Telephone (888) PROMODEL
Fax (801) 226-6046
FTP
Email support@promodel.com
Modeling Services
Reporting Suggestions
Getting Started
Welcome to ProModel
Where to Go from here
Training
Using ProModel
Building Models
Edit Tables
Dialog Boxes
Logic Builder
Model Merging and Submodels
On-Line Help
Running Models
Creating Run-Time Models
Trace Window
Location Information Windows
Viewing Output
Graphical Analysis
Utilization Graphs
Timeplots
Installation and Registration
General Setup Information
Hardware Requirements
Minimum
Recommended
Installation Types
Standard
Network
Standard Installation Procedure
Network Installation Procedures
Network Client Installation Procedure
Network License Server Setup
Setup License Server Manually
Install the Device Driver:
Start the License Manager Software:
Find a License Key Server on a Routed Network
Custom Installation Procedures
Licensing ProModel
Licensing for a Network Installation
Transferring/Terminating Your Software Key
Checking for ProModel Updates
Software License Key FAQ
Planning the Model
Steps for Doing Simulation
Introduction
General Procedure
Procedure for Conducting a Simulation Study
Step 1: Planning the Study
Defining Objectives
Identifying Constraints
Preparing a Simulation Specification
Developing a Budget and Schedule
Step 2: Defining the System
Determining Data Requirements
Using Appropriate Data Sources
Making Assumptions
Converting Data to a Useful Form
Frequency Distributions of Delivery Times
Total Number of Observations = 152
Documenting and Approving the Data
Step 3: Building the Model
Progressive Refinement
Incremental Expansion
Model Verification
Model Validation
Step 4: Conducting Experiments
Terminating Versus
Non-terminating Simulations
Running Terminating Simulations
Running Non-terminating Simulations
Comparing Alternative Systems
Factorial Design
Use of Random Streams
Step 5: Analyzing the Output
Step 6: Reporting the Results
Pitfalls in Simulation
Summary
Building a Model
Modeling Scenario
Model Elements
Locations
Entities (Parts)
Arrivals
Processing
Resources
Path Networks
Attributes
User Distributions
Phased Modeling Approach
Phase 1: Basic Model Elements
Phase 2: Adding Resources & Variability
Phase 3: Additional Operations
Phase 1: Basic Model Elements
General Information
Importing a Background Graphic
Defining Locations
Layout Window (maximized)
Location Edit Table
Defining Entities
Defining Arrivals
Defining Process Logic
Process Edit Table
Routing Edit Table
Process and Routing Logic
Phase 2: Adding Resources & Variability
Defining Path Networks
Path Network Edit Table
Path Segment Edit Table
Defining Resources
Process Editing
Process Edit Table and corresponding operation logic
Routing Edit Table
Process and Routing Logic
Phase 3: Additional Operations
Defining Attributes
Defining a Distribution
New Location, Entity, and Arrival
Defining Location Downtimes
Process and Routing Logic
Running a Model
Simulation Options
Animation Screen
Options Menu
Information Menu
Viewing Model Statistics & Reports
Modeling Environment
Menu Bar
File Menu
File Management
File Management Procedures
How to create a new model:
How to open an existing model:
How to save a model:
How to save a model with a new name:
Backup File
Model Merging
Merge Model
Merge Submodel
How to merge a model or submodel into an existing model:
View/Print Model Text
View Text
How to view the text of a model:
Print Text
How to save a text copy of the current model:
How to print the current text to a printer:
Print Layout
How to print a model layout:
Printer Setup
How to change the printer settings:
Model Packaging/Data Protection
Creating a Model Package
How to create a model package:
Installing a Model Package
How to install a model package:
Edit Menu
Editing Tables
How to delete a record from a table:
How to insert a record in a table:
How to append a record to the end of a table:
How to move a record to a new position in a table:
Editing Process Records
How to copy information from another record:
Editing Notes Windows
How to annotate a record:
Editing Logic Windows
Editing Background Graphics
How to edit background graphics:
Editing & Moving Graphics
How to move graphics:
Special Considerations for Moving Graphics
View Menu
How to access the View menu:
Switches
Toolbars
Settings
Views
Defining & Selecting Views
How to define a view:
How to select a view from the menu:
How to select a view with shortcut key CTRL + n:
Managing Your Views
Using Views at Run-time
Referencing a View in Model Logic
Zoom Feature
How to zoom in or out on the layout:
Layout Settings
Grid Size
How to change the colors and resolution of the grid lines:
Grid Scale
How to set the default time and distance per grid unit:
Background Color
How to set the background color of the layout:
Custom Colors
How to create a custom color and add it to the color menu:
Routing Path Color
How to specify the routing colors:
Routing Path Types
Edit Tables
Edit Table Fonts
How to change the edit table font:
Edit Table Color
How to change the edit table background color:
Commands
Window Menu
How to reset the windows to their default positions:
Help Menu
Toolbars
File
Layout
View
Build Basic
Build Advanced
Simulation
Simulation Information
Debug
Tools
Right-Click Menu
Building the Model: General Elements
Build Menu
How to access the Build menu:
Locations
How to create and edit locations
Locations Editor
Location Edit Table
Location Graphics Window
New mode
How to define a new location graphically:
How to define multiple locations, each having the same graphic:
How to move a location graphic on the layout:
How to move all graphics defined for a single location:
How to move multiple graphics for two or more locations at once:
How to delete a location:
How to erase a location graphic:
How to bring a location graphic into view that is off the layout:
Add mode
How to add an icon or symbol to an existing location:
Location Graphics
How to edit a graphic already on the layout:
Counter Dialog Box
Gauge/Tank Dialog Box
Text Dialog Box
Library Graphic Dialog Box
Queue/Conveyor Dialog Box
Queues
Conveyors
Conveyor Graphics Display
Conveyor Animation
How to define a conveyor graphically:
How to create bends in an existing conveyor:
Conveyor Options Dialog Box
Capacities and Units
Capacities
Units
Multi-Capacity, Multi-Unit, and Multiple Locations
Defining a Multi-Unit Location
Location Downtimes
How to specify a location downtime:
Clock Downtime Editor
Entry Downtime Editor
Usage Downtime Editor
Setup Downtime Editor
Called Downtime Editor
Location Priorities and Preemption
Assigning priorities
Minimum Required Priority Levels for Preempting at a Location
Example 1
Example 2
Example 3
Example 4
Example 5
Example 6
Special Notes Regarding Location Downtimes
Rules Dialog Box
Selecting Incoming Entities
Queuing For Output
Selecting a Unit
Rules Dialog box Example
Entities
How to access the entities editor:
Entities Editor
Defining Entities
How to define entities graphically:
Entity Graphic Dimensions
Defining Multiple Entity Graphics
How to define multiple graphics for an entity type:
Preemptive Entities
Example of Preemptive Entities
Path Networks
How to create or edit a path network:
Path Networks Editor
How to create a path network graphically:
How to create path segments:
How to modify path segments:
To create a new path from an existing node
To delete a joint
To add a joint
To highlight a path on the layout and in the Path Segment edit table
How to create additional nodes or move existing nodes:
How to move a path network:
A Typical Path Network
Path Segment Edit Table
Automatic Time and Distance Calculation
How to set the default time and distance values per grid unit:
Interfaces Edit Table
How to create location-node interfaces
Mapping Edit Table
How to create mappings using the mapping edit table:
How to create mappings graphically:
Mapping Example
Nodes Edit Table
Pre-translation check for Path Networks and Automatic Mapping
Resources
How to create and edit resources:
Typical Use of Resources
Resources Editor
Resources Edit Table
Resource Graphics Window
Static Resources
How to define a static resource:
Dynamic Resources
How to create a dynamic resource:
Multiple Resource Graphics
How to assign multiple graphics to a resource:
Multiple Resource Graphics Example
Multi-Unit Resources vs.
Multiple Single-Unit Resources
Multi-Unit Resources
Multiple Single-Unit Resources
Resource Downtimes
How to define resource downtimes:
Clock-Based Downtime
Usage-Based Downtime
Resource Priorities and Preemption
Resource Shift Downtime Priorities
Resource Preemption Matrix
Resource Specifications Dialog Box
Resource Search Routines
Work Search Edit Table
Park Search Edit Table
Node Logic Editor
Node Logic Example
Resource Points
How to add resource points to a node:
How to delete resource points:
How to move resource points:
Processing
How to create and edit process routings:
Using the Processing Editor
Example Model
Defining Entity Processing
How to define entity processing graphically:
Processing Editor
Process Edit Table
Using the ALL Entity Type
1. All entities have a common operation and a common routing.
2. All entities have common operations but individual routings.
3. All entities have a common routing but individual operations.
Routing Edit Table
Routing Rule Dialog Box
Routing Move Logic
Processing Tools
New Process Mode
How to define a new process using the Tools window:
How to delete a process or routing record:
Editing a Routing Path
Add Routing Mode
How to add additional routings to an existing routing block:
How to route a current entity to exit:
Find Process Mode
How to find a process for an entity at a location:
View Routing
Snap Lines to Border
Show Only Current Entity
Arrivals
How to edit arrivals
Arrivals Editor
Arrivals Edit Table
Defining Arrivals
How to define arrivals graphically:
How to define arrivals manually:
Independent Arrivals
How to define independent arrivals:
Arrival Logic
Shifts & Breaks
Calendar Editor
Calendar Editor Window
Main Menu
Quick Access Toolbar
Calendar Tab
Calendar Tab Toolbar
Show Non-Work Days
Calendar Day Right Click Menu
Shifts Tab
Shifts Tab Toolbar
Shifts List
Adding and Editing Time Off, Work and Break Time
Adding or Editing Time Off
Adding or Editing Shift Changes
Splitting a Calendar Day Between Time Off or Shifts
Erasing Time Off or Shift Changes
Adding Work
Adding a Break
Editing Work or Break Time
Erasing Work or Break Time
Adding or Deleting Shifts
Duplicating Shifts
Renaming Shifts
Importing and Exporting Shifts
Changing the Shift Color
Shift Assignments
Assigning Shifts
How to assign locations and resources to shifts:
Shift & Break Logic
How to determine the sequence of events
Functions and Statements
Preemptions to Off-Shift or Break Logic
Shift Downtime Principles
Locations Shift Downtime Principles
Shift Downtimes for Locations
Example 1 (a)
Example 1 (b)
Preempting Off-Shift Locations
Example 2
Overlapping Downtimes
Example 3
Resource Downtime Principles
Shift Downtimes for Resources
Example 1
Example 2
General Information
How to open the General Information dialog box:
General Information Dialog Box
Initialization Logic
Termination Logic
Execution Time of Initialization and Termination Logic
Graphic Library File
How to select the desired graphics library:
Cost
How to use cost
Cost Dialog Box
Locations
Resources
Entities
Building a Model with Costing
Preemption/Downtime
Join/Load
Combine/Group
Special Cost Handling
Costing Output Statistics
Locations
Resources
Entities
Enable or Disable Costing
Tanks
The Tank Submodel
How to define a tank
How to edit a tank or a gauge
How to change between a tank and a gauge
Basic Concepts
Tank Levels
The Flow Time Step
Rate of Flow
Tank States
Over Filling/Emptying Tanks
Tank Downtimes
Tank Logic Builder
How to access the Logic Builder:
Pre-defined Tank Subroutines
Tank_Fill
Tank_Empty
Tank_Transfer
Description
See Also
Tank_TransferUpTo
Description
Tank_TransferDownTo
Description
See Also
Tank_SetLevel
Description
See Also
Tank_Inc
Description
Tank_Dec
Description
See Also
Tank_RiseTrigger
Description
See Also
Tank_FallTrigger
Description
See Also
Tank_Cap
Description
Tank_FreeCap
Description
Tank_DoOperation
Description
See Also
Tank_GoDown
Description
Tank_GoDownSched
Description
Tank_DoPrep
Description
See Also
Tank_SetState
Description
Tank_SelectOutput
Description
See Also
Tank_SelectInput
Description
See Also
Tank_UpdateStats
Description
Tank_Rate
Description
See Also
Pre-defined Data Elements
Statistics
Defining Tank Control Subroutines
Examples of Tank Control Logic
Filling from an Entity
Initializing and Replenishing Supply Tanks
Mixing and Reactor Tanks
Emptying to an Entity
Tank Transfers
Selecting from Multiple Input or Output Tanks
Split Transfers
Varying the Transfer Rate
Dynamically Suspending Flow
Dynamically Terminating a Flow
Defining Trigger Levels
Processing Multiple Products
Showing Pipes
High-Rate Entity Processing
Special Notes
Background Graphics
How to create or edit background graphics:
Background Graphics Editor Modes
Front of Grid Mode
Behind Grid Mode
Background Graphics Editor
Library Graphics Window
Tools Button Bar
Edit Menu
Importing a Graphic
How to import a background graphic into the layout:
How to move an imported background graphic:
How to size an imported background graphic:
Exporting a Graphic
How to export a graphic:
Graphics Menu
How to move a graphic behind the grid:
How to move a graphic in front of the grid:
Building the Model: Advanced Elements
Attributes
How to create and edit attributes:
Attribute Types
Entity Attributes
Location Attributes
Memory Allocation for Attributes
Attributes vs. Local Variables
Cloning Attributes
Process Logic
Routing Table
Attribute Edit Table
Example of Attributes in Logic
Attributes and the JOIN or LOAD PERM Statement
Attributes and the GROUP/UNGROUP Statements
Attributes and the LOAD/UNLOAD Statements
Attributes and the COMBINE Statement
Variables
How to access the variable edit table:
Variable Edit Table
Variable Layout
How to place an icon for a variable on the layout:
How to remove an icon for a variable from the layout:
Editing a Variables Icon
How to edit a variables icon:
Local Variables
Example
Arrays
How to use the arrays editor:
Example Arrays
One-dimensional array
Two-dimensional array
Arrays Edit Table
Initializing Arrays
Import Data into Arrays
Import from an Excel Spreadsheet
How to import Excel spreadsheet data into array:
Import from a SQL Database
How to import SQL database data into array:
Export Arrays to Spreadsheets
How to export array data:
Using Arrays
Notes on Arrays
Macros
How to create and edit macros:
Macro Editor
Run-Time Interface
How to define an RTI for a macro:
Run-Time Interface Example
Resource Grouping
How to define a resource group
Subroutines
How to create and edit subroutines:
Subroutine Editor
Subroutine Format
Subroutine Example
Subroutines Edit Table
Subroutine Parameters
Subroutine Logic
Interactive Subroutines
External Subroutines
Subroutines vs. Macros
Arrival Cycles
How to edit arrival cycles:
Arrival Cycles Edit Table
Arrival Cycles Example
Defining the Arrival Cycle
Assigning Arrivals to the Arrival Cycle
Cumulative Cycle Tables
Arrival Cycles by Quantity
Example 1
Example 2
Table Functions
How to access the function table editor:
Table Functions Editor
Example 1
Example 2
Table Function Edit Table
User Defined Distributions
How to create and edit user distributions:
User Distribution Edit Table
Discrete Distributions
Discrete (probability mass function)
Discrete (cumulative distribution function)
Continuous Distributions
External Files
How to define external files:
External Files Editor
File Types
General Read File
General Write File
Entity-Location File
Arrivals File
Shift File
DLL File
Excel File
Other External Files
Open Files
Streams
How to access the streams editor:
Streams Edit Table
Using Random Number Streams
Stream Example
Material Handling Systems
Crane Systems
Creating Multi-Bridge Crane Systems
Crane Priorities, Preemption & Bridge Bump-Away
Crane Operations
Crane Animation
Crane Specifications
Handling Zone Claims In Multi-Crane Envelopes
Case Examples of Zone Claims
Case 1
Case 2
Case 3
Case 4
Case 5
Treatment of Potential Queue-Up Situations
Conditions for No Queue-Up
Bridge Motion after Queue-Up
Moving Idle Cranes can Respond to Resource Requests
Reclaim Trigger Events
Other Crane Operation Rules
Crane Operations Notes
Nodes, Work, and Park Searches
Crane Resource Statistics
Special CaseBlocked Time Accrual for Moving to Park
Conveyors
Conveyor Types
Accumulating & Non-Accumulating
Single Section Conveyors
Conveyor Networks
Modeling Conveyor Systems
Modeling Conveyors
Automated Guided Vehicle Systems
Modeling AGVS
AGVS Simulation Benefits
Manual Material Handling Systems
MMHS Simulation Benefits
Industrial Vehicles
Modeling Industrial Vehicles
Industrial Vehicle Simulation Benefits
Automated Storage/Retrieval Systems
Modeling AS/RSs
Modeling an AS/RS as a Vertical Bridge Crane
AS/RS Simulation Benefits
Modeling Tips
Using Entity Attributes
Customizing Graphics
How to Import a background graphic:
Batching & Unbatching Entities
Temporary Batching Using GROUP/UNGROUP
COMBINE Statement
LOAD/UNLOAD Statements
ACCUM Statement
Modeling Priorities
Choosing a Processing Destination
How to enter a priority for a destination:
Selecting Resources
Downtimes and Preemption
Displaying Statistics On Screen
How to show system throughput on the screen:
How to display the total system time for entities:
Creating Pull Systems
Types of Pull Systems
Creating the Pull System
Making Assemblies
Building the Logic
Logic Builder
How to access the Logic Builder:
Using the Logic Builder
How to build a statement or expression:
Logic Builder Components
Selecting Statements
Editing Statement Parameters
Selecting Logic Elements
How to place a model element in the parameter entry field:
How to place a function in the parameter entry field:
Nested Functions & Statements
Creating Expressions or Pasting Logic/Model Elements Only
Operation Logic
Preemption Process Logic
How to create a preemption process record:
Possible Effects of Delayed Preemption
Functions for Defining Logic in a Preemption Process
Preemption Process Example
Routing Move Logic
Move-Related Statements
Related Logic Statements
Statement Processing
Shift & Break Logic
Shift & Break Logic
How to determine the sequence of events
Functions and Statements
Using Auxiliary Tools
Tools Menu
Expression Search
How to perform an expression search:
Expression Search Sub-Menu Choices
Find
Replace
Search Next
Find Expression
How to find an expression:
How to find the next match of a text expression:
Replace Expression
How to replace an expression with another expression:
Important Notes Regarding Expression Searches
Local Find and Replace
Graphic Editor
How to access the graphic editor from within ProModel:
How to access the graphic editor from the program manager:
Overview
Graphic Editor Menus
File Menu
Opening a Graphics Library File
How to open another graphics library file:
Closing a Graphics Library File
How to close a graphics library file:
Saving a Graphics Library File
How to save a graphics library file:
How to save a graphics library file with a new name:
Printing an Individual Graphic
How to print an individual graphic:
Printing an Entire Graphics Library
How to print an entire graphics library:
Edit Menu
Importing a Graphic
How to import a graphic into a graphic library:
Exporting a Graphic
How to export a graphic:
Copying a Graphic from One Library to Another
How to copy an icon from one library to another
Graphics Menu
Group
How to group objects together:
Ungroup
How to ungroup previously grouped objects:
Line Styles
How to change the line style or border style of an object:
Fill Patterns
How to change the fill pattern of an object:
Line and Fill Color
How to change line or fill color
Dimension
How to change the graphics dimensions:
Options Menu
Grid Settings
How to change the distance per grid unit in the Graphic Editor:
Show Grid
How to show the grid on the layout window:
Snap to Grid
How to have all new and edited objects snap to the grid:
Background Color
How to change the background color of the edit window:
Zoom
How to magnify a graphic:
Window Menu
Library Edit Buttons
How to edit a graphic:
or...
Manipulating Graphics
How to change a graphics size:
How to combine two graphics:
How to change the order of graphics in a graphic library:
Create New Graphics and Libraries
How to create a new graphic
How to create a new graphic library
Naming a Graphic
How to name a graphic:
Graphic Tools Button Bar
Selector
How to move an object:
How to size or shape an object:
Text Tool
How to place text in a graphic:
How to edit text already in the graphic:
Lines
How to draw lines in the graphic editor:
Arcs
How to draw an arc in the graphic editor:
Triangles
How to draw a triangle in the graphic editor:
Squares and Rectangles
How to draw a rectangle in the graphic editor:
How to draw a square in the graphic editor:
Circles and Ellipses
How to draw an ellipse in the graphic editor:
How to draw a circle in the graphic editor:
Chords and Pies
How to draw a chord or pie in the graphic editor:
How to draw a circular chord or pie in the graphic editor:
How to adjust the size of the slice in the chord or pie after the graphic has been drawn:
Polygons
How to draw a polygon in the graphic editor:
Positioning Spot
How to place a positioning spot on an icon:
Status Lights
How to place a status light on an icon:
Flip and Rotate
How to flip or rotate an object:
Cut, Copy, and Paste
How to cut an object:
How to copy an object:
How to paste an object:
Step Back and Step Front
How to move an object behind or in front of another object:
Line and Fill Color
How to define the line color or fill color:
Editing a Library Graphic
Options
Directories
How to change the default folders:
Long Build Menu
How to display the long menu:
AutoSaving Files
How to specify the amount of time between AutoSaves:
How to specify the autosave directory:
Customize
Add a new menu item:
Delete a menu item
Edit a menu item
Rearrange items on the menu
Add a Separator
Power Tools
ProClare
Tools
Options
Shift Library
ProActiveX
Overview
Worksheets
Drop-down lists, check boxes and text boxes
Not Enabled and Partially Enabled
Shift Editor Button
Browse Button
Comments
Panes and Sections
Controls Sheet
Get (All)
Build Model
Save Model
Run Simulation
Open ProModel
Load Model
Macros
Running the Model
Simulation Menu
Simulation Options
How to open the simulation options dialog:
General Options & Settings
Output Reporting Options
Output viewer(s) to launch
Running a Specific Replication
Customized Reporting
Model Parameters & Scenarios
Model Parameters
How to define an RTI parameter:
Scenarios
Scenario Parameters Dialog
How to define a scenario:
Running the Simulation
Run-Time Menus & Controls
Run-Time File Menu
Run-Time Simulation Menu
Run-Time Options Menu
Debug Option
Debugging ProModel Logic
Debugger Options Dialog Box
Debugger Dialog Box
Advanced Debugger Dialog Box
Debugger Options Examples
Debug Statement Example
Global Change Example
User Condition Example
Trace Options
Trace Mode
Trace Off
Trace Step
Trace Continuous
Filtered Trace...
Output to File
Animation Options
Run-Time Information Menu
Location Status Legend
Dynamic Plots
Basic Operation
Starting Dynamic Plots
Setting up a Plot
Dynamic Plot Configurations
Advanced Operation
Run-Time Window Menu
Run-Time Interact Menu
How to execute an interactive subroutine during run-time:
Run-Time Help Menu
Run-Time Controls
How to pan through the animation:
How to control the simulation speed:
How to change the format of the simulation clock display:
How to identify any location on the layout during the simulation:
Run-Time Right-Click Menu
SimRunner
SimRunner Benefits
Starting a New Project
How to select a model:
How to define the input factors:
How to define the objective function (output variables):
Stage one: Pre-Analysis
Stage two: Simulation Optimization
How to run an optimization:
Reports and Graphs
Output Viewer
Six Sigma Analysis with Minitab
Simulation Properties - Selecting an Output Viewer
Accessing Minitab
Toolbar
Menu
Six Sigma Configuration Dialog
Add Analysis Dialog
Viewing Results in Minitab
Viewing Data in Minitab
Language Elements and Expressions
Language Elements
Names
Keywords
Numbers
Integers
Real Numbers
Name-Index Numbers
Converting Between Numeric Types
Character Strings
Operators
Mathematical Operators
Relational Operators
Comparison Operators
Operator Precedence
Expressions
Numeric Expressions
Boolean Expressions
Time Expressions
Examples
Colon Notation for Time Values
String Expressions
Operator Precedence
Routing Rules
Routing Rules
Alternate
Description
Valid In
See Also
Backup
Description
Valid In
See Also
Continue
Description
Valid In
See Also
Dependent
Description
Valid In
See Also
Empty
Description
Valid In
See Also
First Available
Description
Valid In
See Also
Join
Description
Valid In
See Also
Load
Description
Valid In
See Also
Longest Unoccupied
Description
Valid In
See Also
Most Available
Description
Valid In
See Also
Probability
Description
Valid In
See Also
Random
Description
Valid In
See Also
Send
Description
Valid In
See Also
Turn
Description
Valid In
See Also
Until Full
Description
Valid In
See Also
User Condition
Description
Valid In
See Also
Logic Elements
Functions
System Functions
General System Functions
Entity-Specific System Functions
Resource-Specific System Functions
Downtime-Specific System Functions
Shift & Break System Functions
General Functions
Math Functions
Type Conversion Functions
Statements
General Action and Control Statements
Resource- and Entity-Related Operation Statements
Statement Blocks
Distribution Functions
General Components
Priorities
Statements and Functions
Accum
Entity-Related Operation Statement
Description
Valid In
See Also
Activate
General Action Statement
Description
Valid In
See Also
Animate
General Action Statement
Description
Valid In
See Also
ArrayDims()
General System Function
Description
Valid In
See Also
ArrayDimSize()
General System Function
Description
Valid In
See Also
Assignment Statement
Description
Valid In
Begin
General Control Statement
Description
Valid In
See Also
Break
General Control Statement
Description
Valid In
See Also
BreakBlk
General Control Statement
Description
Valid In
See Also
CalDay()
General System Function
Description
Valid In
See Also
CalDOM()
General System Function
Description
Valid In
See Also
CalHour()
General System Function
Description
Valid In
See Also
CalMin()
General System Function
Description
Valid In
See Also
CalMonth()
General System Function
Description
Valid In
See Also
CalYear()
General System Function
Description
Valid In
See Also
Cap()
General System Function
Description
Valid In
See Also
Char()
String Function
Description
Valid In
See Also
Clock()
General System Function
Description
Valid In
See Also
Close
General Operation Statement
Description
Valid In
See Also
Combine
Entity-Related Operation Statement
Description
Valid In
Explicit Entity Actions
See Also
Comments
Documentation Symbols
Description
Valid In
Contents()
General System Function
Description
Valid In
See Also
Create
Entity-Related Operation Statement
Description
Valid In
Explicit Entity Actions
Implicit Entity Actions
See Also
Debug
General Action Statement
Description
Valid In
See Also
Dec
General Operation Statement
Description
Valid In
See Also
Display
General Action Statement
Description
Valid In
See Also
Do...Until
General Control Statement
Description
Valid In
See Also
Do...While
General Control Statement
Description
Valid In
See Also
Down
Downtime-Specific System Function
Description
Valid In
Please Note
See Also
DownQty()
General System Function
Description
Valid In
See Also
DTDelay()
Downtime-Specific System Function
Description
Valid In
See Also
DTLeft()
Shift & Break System Function
Description
Valid In
See Also
DynPlot()
General Action Statement
Description
Valid In
End
General Control Statement
Description
Valid In
See Also
Ent()
Type Conversion Function
Description
Valid In
See Also
Entity()
Entity-Specific System Function
Description
Valid In
See Also
Entries()
General System Function
Description
Valid In
See Also
Exp()
Math Function
Description
Valid In
See Also
ForLocation()
Shift & Break System Function
Description
Valid In
See Also
Format()
String Function
Description
Valid In
See Also
ForResource()
Shift & Break System Function
Description
Valid In
See Also
Free
Resource-Related Operation Statement
Description
Valid In
See Also
FreeCap()
General System Function
Description
Valid In
See Also
FreeUnits()
General System Function
Description
Valid In
See Also
Get
Resource-Related Operation/Move Logic Statement
Description
Valid In
See Also
GetCost()
Cost Related Function
Description
Valid In
See Also
GetReplicationNum()
General System Function
Description
Valid In
GetResRate()
Cost Related Function
Description
Valid In
See Also
Goto
General Control Statement
Description
Valid In
See Also
Graphic
General Operation Statement
Description
Valid In
See Also
Group
Entity-Related Operation Statement
Description
Valid In
Explicit Entity Actions
See Also
GroupQty()
Entity-Specific System Function
Description
Valid In
See Also
If...Then...Else
General Control Statement
Description
Valid In
See Also
Inc
General Operation Statement
Description
Valid In
See Also
IncEntCost
Cost Related Statement
Description
Valid In
See Also
IncLocCost
Cost Related Statement
Description
Valid In
See Also
IncResCost
Cost Related Statement
Description
Valid In
See Also
Int
Local Variable Declaration Statement
Description
Valid In
See Also
Join
Entity-Related Operation Statement
Description
Valid In
Explicit Entity Actions
See Also
Jointly Get
Resource-Related Operation Statement
Description
Valid In
See Also
Last()
Resource-Specific System Function
Description
Valid In
See Also
Ln()
Math Function
Description
Valid In
See Also
Load
Entity-Related Operation Statement
Description
Valid In
Explicit Entity Actions
See Also
Loc()
Name-Index-Number Conversion Function
Description
Valid In
See Also
LocState()
General System Function
Description
Valid In
Location()
Location-Specific System Function
Description
Valid In
See Also
Log
General Action Statement
Description
Valid In
See Also
MapArr
General Action Statement
Description
Valid In
Match
Entity-Related Operation Statement
Description
Valid In
See Also
Move
Entity-Related Operation Statement
Description
Valid In
See Also
Move For
Entity-Related Move Logic Statement
Description
Valid In
See Also
Move On
Entity-Related Move Logic Statement
Description
Valid In
See Also
Move With
Entity-Related Move Logic Statement
Description
Valid In
See Also
Next()
Resource-Specific System Function
Description
Valid In
See Also
ObjectID()
Entity-Specific System Function
Description
Valid In
Order
General Action Statement
Description
Valid In
See Also
OwnedResource()
Resource-Specific System Function
Description
Valid In
See Also
Pause
General Action Statement
Description
Valid In
See Also
PercentOp()
General System Function
Description
Valid In
PercentUtil()
General System Function
Description
Valid In
Preemptor()
Preemption Logic System Function
Description
Valid In
See Also
Priority
Shift & Break Logic Statement
Description
Valid In
See Also
Prompt
General Operation Statement
Description
Valid In
See Also
Rand()
Math Function
Description
Valid In
See Also
Read
General Action Statement
Description
Valid In
See Also
Real
Local Variable Declaration Statement
Description
Valid In
See Also
Real()
Type Conversion Function
Description
Valid In
See Also
Rename
Entity-Related Operation Statement
Description
Valid In
Explicit Entity Actions
Implicit Entity Actions
See Also
Report
General Action Statement
Description
Valid In
See Also
Res()
Name-Index-Number Conversion Function
Description
Valid In
See Also
Reset
General Action Statement
Description
Valid In
See Also
Reset Stats
General Action Statement
Description
Valid In
See Also
Resource()
Shift & Break System Function
Description
Valid In
See Also
ResourceUnit()
Shift & Break System Function
Description
Valid In
ResQty()
Entity-Specific System Function
Description
Valid In
See Also
Return
General Action Statement
Description
Valid In
See Also
Round()
Math Function
Description
Valid In
See Also
Route
Entity-Related Operation Statement
Description
Valid In
See Also
Send
General Action Statement
Description
Valid In
See Also
SetRate
General Operation Statement
Description
Valid In
See Also
Shift & Break Logic Statement
Description
Valid In
See Also
Sound
General Action Statement
Description
Valid In
See Also
Split As
Entity-Related Operation Statement
Description
Valid In
Explicit Entity Actions
Implicit Entity Actions
See Also
Sqrt()
Math Function
Description
Valid In
See Also
Stop
General Operation Statement
Description
Valid In
See Also
ThreadNum()
General System Function
Description
Valid In
See Also
TimeLeft()
Preemption Logic System Function
Description
Valid In
See Also
TimesUsed()
General System Function
Description
Valid In
See Also
Trace
General Action Statement
Description
Valid In
See Also
Trunc()
Type Conversion Function
Description
Valid In
See Also
Ungroup
Entity-Related Operation Statement
Description
Valid In
Explicit Entity Actions
See Also
Units()
General System Function
Description
Valid In
See Also
Unload
Entity-Related Operation Statement
Description
Valid In
Explicit Entity Actions
See Also
Use
Resource-Related Operation Statement
Description
Valid In
See Also
Variable()
General System Function
Description
Valid In
See Also
View
General Action Statement
Description
Valid In
See Also
Wait
Entity-Related Operation Statement
Description
Valid In
See Also
Wait Until
Entity And Resource-Related Operation Statement
Description
Valid In
See Also
Warmup
General Action Statement
Description
Valid In
See Also
While...Do
General Control Statement
Description
Valid In
See Also
Write
General Operation Statement
Description
Valid In
See Also
WriteLine
General Operation Statement
Description
Valid In
See Also
Xsub()
External Subroutine Call
Description
Valid In
See Also
Xwrite
General Operation Statement
Description
Valid In
See Also
Appendix A
Expression and Statement Groups
1. General Expression
2. Arrays
3. Location Attributes
4. Entity-Specific System Functions and Attributes
5. General System Functions
6. Location-Specific System Function
7. Resource-Specific System Function
8. Node Logic-Specific System Functions
9. Downtime-Specific System Function
10. Shift-Specific System Functions
11. Preemption Logic-Specific System Functions
12. Off-Shift & Break Logic-Specific System Functions & Statements
13. Cost Functions & Statements
14. General Statements: (Run-Time Only)
15. Operation Statements (Group 1)
16. Operation Statements (Group 2)
17. Operation Statements (Group 3)
18. Move Logic-Specific Statements
19. External Spreadsheet File
20. Graphic Statement
21. Wait Until Statement
Macros and Subroutines
Valid Expression and Statement Groups by Field
Fields Evaluated Only at Translation
Fields Evaluated During Simulation
Program Defaults
Default Values
Build Menu
Tools Menu
View Menu
Directories
INI Defaults
ActiveX Objects
Program Operations
Location Table
Entity Table
Resource Table
Processing & Routing Tables
Path Networks Table
Arrivals Table
Shift Assignments
Scenarios
Model Parameters
Attribute Table
Variables Table
Arrays Table
Macro Table
Subroutine Table
User Distributions
External Files Table
General Information Dialog
Simulation Options Dialog
Suggested readings
Glossary
Cost Statistics
Counter
Dialog Box
Edit Tables
File Name
Font
Frame
Gauge
Integer Number
Library Graphic
Main Entity
Main Menus
Name Index
Note
Numeric Type
Numeric Value
Parameter
Park Search
Paths
Positioning Spot
Preemption
Real Number
Reference
Region
Resource
Resource Point
Routing Priority
Scroll Arrow
Scroll Bar
Scroll Box
Shell
Status Lights
String
System Menu
Text
Time Statistics
Work Search
Bibliography
Index
Enabling Active Content
How to Enable Active Content
Introduction 1
About the User Guide 1
Symbols and Notation 3
Keyboard 3
Text 3
Logic 3
Product Support 4
Modeling Services 5
Reporting Suggestions 5
Chapter 1: Getting Started 7
Welcome to ServiceModel 7
Where to Go from here 7
Using ServiceModel 9
Building Models 9
Running Models 11
Creating Run-Time Models 11
Trace Window 11
Location Information Windows 12
Viewing Output 12
Chapter 2: Installation and Registration 15
General Setup Information 15
Hardware Requirements 15
Installation Types 15
Standard Installation Procedure 16
Network Installation Procedures 18
Network Client Installation Procedure 18
Network License Server Setup 20
Licensing ServiceModel 22
Checking for ServiceModel Updates 24
Software License Key FAQ 24
Chapter 3: Planning the Model 25
Steps for Doing Simulation 25
Introduction 25
General Procedure 25
Step 1: Planning the Study 26
Step 2: Defining the System 30
Step 3: Building the Model 35
Step 4: Conducting Experiments 37
Step 5: Analyzing the Output 45
Step 6: Reporting the Results 45
Pitfalls in Simulation 46
Summary 46
Building a Model 47
Modeling Scenario 47
Phased Modeling Approach 48
Phase 1: Basic Model Elements 49
Phase 2: Adding Resources & Variability 52
Phase 3: Additional Operations 55
Running a Model 57
Simulation Options 57
Animation Screen 57
Options Menu 58
Information Menu 58
Viewing Model Statistics & Reports 59
Chapter 4: Modeling Environment 61
Menu Bar 62
File Menu 63
File Management 63
Model Merging 65
View/Print Model Text 67
Model Packaging/Data Protection 69
Edit Menu 71
Editing Tables 71
Editing Process Records 72
Editing Notes Windows 73
Editing Logic Windows 73
Editing Background Graphics 74
Editing & Moving Graphics 75
View Menu 77
Switches 77
Toolbars 78
Settings 78
Views 78
Zoom Feature 80
Layout Settings 81
Edit Tables 84
Commands 85
Window Menu 85
Help Menu 86
Toolbars 86
Right-Click Menu 88
Chapter 5: Building the Model: General Elements 91
Build Menu 91
Locations 92
Locations Editor 92
Location Edit Table 93
Location Graphics Window 94
Location Graphics 96
Capacities and Units 102
Location Downtimes 103
Rules Dialog Box 111
Entities 114
Entities Editor 114
Defining Entities 115
Entity Graphic Dimensions 115
Defining Multiple Entity Graphics 116
Preemptive Entities 117
Path Networks 119
Path Networks Editor 119
A Typical Path Network 121
Path Segment Edit Table 122
Automatic Time and Distance Calculation 123
Interfaces Edit Table 123
Mapping Edit Table 124
Nodes Edit Table 126
Pre-translation check for Path Networks and Automatic Mapping 127
Resources 128
Typical Use of Resources 128
Resources Editor 129
Static Resources 131
Dynamic Resources 132
Multiple Resource Graphics 132
Multi-Unit Resources vs.
Multiple Single-Unit Resources 133
Resource Downtimes 134
Resource Priorities and Preemption 136
Resource Shift Downtime Priorities 137
Resource Preemption Matrix 137
Resource Specifications Dialog Box 139
Resource Search Routines 141
Node Logic Editor 142
Resource Points 143
Processing 145
Using the Processing Editor 145
Defining Entity Processing 146
Processing Editor 147
Process Edit Table 147
Routing Edit Table 150
Processing Tools 155
Arrivals 158
Arrivals Editor 158
Arrivals Edit Table 158
Defining Arrivals 159
Independent Arrivals 160
Arrival Logic 162
Shifts & Breaks 163
Calendar Editor 163
Adding and Editing Time Off, Work and Break Time 166
Shift Assignments 168
Shift Downtime Principles 172
General Information 176
General Information Dialog Box 176
Cost 180
Cost Dialog Box 180
Building a Model with Costing 181
Preemption/Downtime 182
Join/Load 182
Combine/Group 182
Special Cost Handling 183
Costing Output Statistics 183
Enable or Disable Costing 185
Tanks 186
Basic Concepts 187
Tank Logic Builder 189
Pre-defined Tank Subroutines 191
Tank_Fill 191
Tank_Empty 192
Tank_Transfer 193
Tank_TransferUpTo 193
Tank_TransferDownTo 194
Tank_SetLevel 195
Tank_Inc 196
Tank_Dec 196
Tank_RiseTrigger 197
Tank_FallTrigger 197
Tank_Cap 198
Tank_FreeCap 198
Tank_DoOperation 199
Tank_GoDown 199
Tank_GoDownSched 200
Tank_DoPrep 201
Tank_SetState 202
Tank_SelectOutput 202
Tank_SelectInput 204
Tank_UpdateStats 204
Tank_Rate 205
Pre-defined Data Elements 205
Defining Tank Control Subroutines 207
Examples of Tank Control Logic 207
Background Graphics 216
Background Graphics Editor Modes 216
Background Graphics Editor 217
Chapter 6: Building the Model: Advanced Elements 223
Attributes 223
Attribute Types 223
Memory Allocation for Attributes 224
Attributes vs. Local Variables 224
Cloning Attributes 224
Attribute Edit Table 225
Example of Attributes in Logic 225
Attributes and the JOIN or LOAD PERM Statement 226
Attributes and the GROUP/UNGROUP Statements 226
Attributes and the LOAD/UNLOAD Statements 227
Attributes and the COMBINE Statement 228
Variables 229
Variable Edit Table 229
Variable Layout 230
Editing a Variables Icon 231
Local Variables 231
Arrays 233
Arrays Edit Table 234
Initializing Arrays 235
Import Data into Arrays 235
Export Arrays to Spreadsheets 237
Using Arrays 238
Notes on Arrays 238
Macros 239
Macro Editor 239
Run-Time Interface 240
Resource Grouping 242
Subroutines 244
Subroutine Editor 244
Subroutine Format 245
Subroutine Example 246
Interactive Subroutines 247
External Subroutines 248
Subroutines vs. Macros 248
Arrival Cycles 250
Arrival Cycles Edit Table 250
Arrival Cycles Example 250
Cumulative Cycle Tables 252
Arrival Cycles by Quantity 252
Table Functions 254
Table Functions Editor 254
Table Function Edit Table 255
User Defined Distributions 257
User Distribution Edit Table 257
Discrete Distributions 257
Continuous Distributions 259
External Files 260
External Files Editor 260
File Types 260
Streams 264
Streams Edit Table 264
Using Random Number Streams 264
Stream Example 265
Material Handling Systems 267
Conveyors 267
Automated Guided Vehicle Systems 270
Manual Material Handling Systems 271
Industrial Vehicles 271
Automated Storage/Retrieval Systems 272
Modeling Tips 273
Using Entity Attributes 273
Customizing Graphics 274
Batching & Unbatching Entities 275
Modeling Priorities 277
Displaying Statistics On Screen 278
Creating Pull Systems 279
Making Assemblies 280
Chapter 7: Building the Logic 281
Logic Builder 281
Using the Logic Builder 281
Operation Logic 287
Preemption Process Logic 288
Routing Move Logic 290
Move-Related Statements 291
Related Logic Statements 292
Statement Processing 292
Shift & Break Logic 293
Chapter 8: Using Auxiliary Tools 295
Tools Menu 295
Expression Search 296
Expression Search Sub-Menu Choices 296
Find Expression 297
Replace Expression 297
Important Notes Regarding Expression Searches 298
Local Find and Replace 299
Graphic Editor 300
Overview 300
File Menu 301
Edit Menu 302
Graphics Menu 304
Options Menu 307
Window Menu 308
Library Edit Buttons 309
Manipulating Graphics 309
Create New Graphics and Libraries 310
Naming a Graphic 310
Graphic Tools Button Bar 311
Editing a Library Graphic 319
Options 321
Customize 323
Power Tools 324
ProClare 325
Shift Library 326
ProActiveX 326
Chapter 9: Running the Model 329
Simulation Menu 329
Simulation Options 330
General Options & Settings 330
Output Reporting Options 332
Output viewer(s) to launch 334
Running a Specific Replication 334
Customized Reporting 334
Model Parameters & Scenarios 335
Model Parameters 335
Scenarios 335
Running the Simulation 337
Run-Time Menus & Controls 338
Run-Time File Menu 338
Run-Time Simulation Menu 338
Run-Time Options Menu 339
Debug Option 339
Trace Options 344
Animation Options 345
Run-Time Information Menu 346
Dynamic Plots 346
Run-Time Window Menu 351
Run-Time Interact Menu 351
Run-Time Help Menu 351
Run-Time Controls 351
Run-Time Right-Click Menu 353
SimRunner 353
Chapter 10: Reports and Graphs 357
Output Viewer 358
Six Sigma Analysis with Minitab 359
Viewing Results in Minitab 361
Viewing Data in Minitab 362
Chapter 11: Language Elements and Expressions 363
Language Elements 363
Names 364
Keywords 365
Numbers 366
Character Strings 367
Operators 368
Mathematical Operators 368
Relational Operators 368
Comparison Operators 368
Operator Precedence 368
Expressions 368
Numeric Expressions 369
Boolean Expressions 370
Time Expressions 371
String Expressions 372
Operator Precedence 373
Chapter 12: Routing Rules 375
Routing Rules 375
Alternate 376
Backup 377
Continue 378
Dependent 380
Empty 381
First Available 382
Join 383
Load 384
Longest Unoccupied 385
Most Available 386
Probability 387
Random 388
Send 389
Turn 390
Until Full 391
User Condition 392
Chapter 13: Logic Elements 395
Functions 395
System Functions 395
General Functions 395
Statements 396
Distribution Functions 397
Priorities 398
Chapter 14: Statements and Functions 399
Accum 399
Activate 401
Animate 402
ArrayDims() 403
ArrayDimSize() 404
Assignment Statement 405
Begin 406
Break 407
BreakBlk 408
CalDay() 409
CalDOM() 410
CalHour() 411
CalMin() 412
CalMonth() 413
CalYear() 414
Cap() 415
Char() 416
Clock() 417
Close 418
Combine 419
Comments 421
Contents() 422
Create 423
Debug 425
Dec 426
Display 427
Do...Until 428
Do...While 429
Down 430
DownQty() 431
DTDelay() 432
DTLeft() 433
DynPlot() 434
End 435
Ent() 436
Entity() 437
Entries() 438
Exp() 439
ForLocation() 440
Format() 441
ForResource() 442
Free 443
FreeCap() 444
FreeUnits() 445
Get 446
GetCost() 448
GetReplicationNum() 449
GetResRate() 450
Goto 451
Graphic 452
Group 453
GroupQty() 455
If...Then...Else 456
Inc 458
IncEntCost 459
IncLocCost 460
IncResCost 461
Int 462
Join 464
Jointly Get 466
Last() 467
Ln() 468
Load 469
Loc() 471
LocState() 472
Location() 473
Log 474
MapArr 476
Match 478
Move 480
Move For 482
Move On 483
Move With 484
Next() 486
ObjectID() 487
Order 488
OwnedResource() 489
Pause 490
PercentOp() 491
PercentUtil() 492
Preemptor() 493
Priority 494
Prompt 495
Rand() 497
Read 498
Real 500
Real() 501
Rename 502
Report 503
Res() 504
Reset 505
Reset Stats 506
Resource() 507
ResourceUnit() 508
ResQty() 509
Return 510
Round() 512
Route 513
Send 515
SetRate 517
Sound 519
Split As 520
Sqrt() 522
Stop 523
ThreadNum() 524
TimeLeft() 525
TimesUsed() 526
Trace 527
Trunc() 528
Ungroup 529
Units() 531
Unload 532
Use 534
Variable() 536
View 537
Wait 538
Wait Until 539
Warmup 540
While...Do 541
Write 542
WriteLine 543
Xsub() 544
Xwrite 546
Appendix A 547
Glossary 561
Bibliography 566
Index 567