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 Variable’s Icon

How to edit a variable’s 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 Case—Blocked 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 graphic’s 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 graphic’s 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 Variable’s 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