Externally Controlled Simulation Tool for FMS (ECST)


Table of Contents


1. Introduction

This simulation tool, developed using C++, simulates a Flexible Manufacturing System coupled with a deadlock avoidance controller. The controller acts in real time to enable/disable events in the FMS to avoid deadlocks. This tool provides the user with the flexibility to observe the states of various parts and resources during the simulation. The results are recorded in output files at the end of the simulation. This tool is developed by Sridhar Mohan to support and validate the work in this thesis..

[ Back To Top ]




2. Software Requirements

The following software is needed to run our simulation tool programs:
UNIX operating system with GNU C++ compiler version 2.95.3.
The GNU C++ compiler version 2.95.3 can be downloaded from http://gcc.gnu.org/



[ Back To Top ]


3. Downloads

The simulation tool consist of the following files,

Part Type .h
Machine .h
Cell model .h
Controller .h
Global .h
Header .h
Matrix .h
Petri Net .cpp
Rand .cpp
Run .sh

All the above files is zipped and available for download in ECST.zip ECST.tar

Steps In Installing the Simulation Tool

[ Back To Top ]


4. Documentation

The manual for the ECST simulation tool can be downloaded here, ECST.doc.

[ Back To Top ]


5. Running the simulation tool

Step 1: Create input files to describe the FMS and the parts that are being considered

The input to the program is given by input files. Two types of input files are present, one to represent the number of machines being considered in the system (mach.dat) and the other for the number of parts present in the system (part.dat). Each machine and each part in turn have a separate input file, which represents their corresponding specification.
The machine specification file should have two parameters, one is the vect() function of the machine and the other is the capacity of the machine.
The part specification file should also have three parameters, first is the S matrix of the part, the second D matrix of the part and the last is the operation times required for each operation. These specification are explained in detail in the thesis.
An example input file for mach.dat and part.dat with the part and machine specification file is given below.
                          
                                        mach.dat        machine specification file.txt
 
                              part.dat          part specification file.txt

Step 2: Change the sequence of the parts

The simulation tool works by creating random sequence for the parts as specified by the user. The parts present in the sequence should be inputted by user. This input is present in the Rand .cpp file. The user can change the part number in Rand .cpp file, so the program generates the random number accordingly.

Step 3: Change the simulation run

The simulation can be run for any number of times, for the same manufacturing system to test the efficiency. This information is stored in the Run .sh program. The default simulation run is 1. Each time when the simulation tool runs, the sequence of the parts are created randomly by rand.cpp program.

Step 4: Running the program

Before running the simulation, make sure to delete or backup all the output files present in the ECST folder. Run the file called, run.sh, by typing in the UNIX screen as "run.sh".



[ Back To Top ]


6. Output

The results of the simulator are displayed in an output file, called output.dat. This file is based on the simulation runs. If the simulation is run for 2 times, then 2 output files called output1.dat, output2.dat will be present. The output1.dat gives the results from the first simulation run and the output2,dat gives the output from the second simulation run.

A sample set of output files for a simulation run with the given 25 parts of random sequencing for a single run is given below,

            output.dat



[ Back To Top ]


7. Sample input and output files

Let us consider a manufacturing system with 4 part types and 4 machines. The operations required for the part types and the capabilities of the machines are shown in the following tables. The operation timings are given next to the operation numbers. For example in part type 1, the required operations are operation 1 followed by operation 2 and operation 3 and Operation 1 requires 40 time units, operation 2 requires 20 and operation 3 requires 10 time units.

Parts and Operations required

P1

OP1(40)

OP2(20)

OP3(10)

P2

OP3(10)

OP1(40)

OP4(20)

P3

OP2(20)

OP3(10)

OP1(40)

P4

OP4(20)

OP2(20)

OP1(40)

Machines

M1

0001

M2

0010

M3

0100

M4

1010

The data files which include the part and the machine specification files is given in the following zip file.
Sample data.zip
Sample data.tar
The simulation output for the above considered manufacturing system is given in sampleoutput.dat.

[ Back To Top ]


8. Contact Us

Ali Yalcin,
Department of Industrial and Management Engineering,
University of South Florida, Tampa.
E-mail : ayalcin@eng.usf.edu
Phone : 813 - 974 - 5590

[ Back To Top ]