Object-Oriented Simulation Tool for Flexible Manufacturing
Systems
Click Here to Visit - GUI Application Page
Description
This object-oriented based simulation software, developed in C++, models a
Flexible Manufacturing System, while incorporating different real-world issues
associated with it such as dead-locks in operation and failures of resources.
The manufacturing plant (consisting of resources, material-handler, etc.) and
the supervisory controller, which form an integral part of the FMS, are all
modelled as objects.
The software provides the user with the flexibility to observe the states of
various parts and resources in the simulated plant at any time during the
simulation and also accumulates into files, the desired performance measures at
the end of the simulation.
For teaching purposes, a Graphical User Interface (GUI) Application is
provided. This application was designed using Visual Basic 6.0 with an MS Access database
as the backend database.
Click Here to download the GUI application, user manual and view other
pertaining information.
Software Requirements
The following softwares are needed to run our simulation programs:
Windows 9X/NT/XP with Microsoft Visual C++ 6.0 , or,
UNIX with GNU C++
compiler.
Installation
The software consists of three different codes written in C++, which can be
downloaded from the links below:
- Plant.cpp
defines all the objects realted to the manufacturing plant and the methods
reqired to drive the whole simulation.
- Supervisor.cpp
, used to define the control pattern used, is included as a header file in
plant.cpp.
- The input and output files to the simulation have to be placed in a
separate folder, files. The clear.cpp
program is used to create the files required for the simulation and to
clear them after the run, and, has to be placed in the files folder.
Running the Simulation
-
Step1: Compile the programs Plant.cpp and Clear.cpp.
- In Windows environment, this can be done using the Microsoft Visual C++
tool. In case of UNIX, the compilation is to be done using the GNU C++
compiler, g++, including the Math library for plant.cpp.
- eg:- $: g++ plant.cpp -lm
-
Step2: Create input files to describe the plant behavior and place them in
the files folder.
- A sample set of files for 5 different parttypes and their descriptions are
given below (partplantstatei.txt and partprocessplani.txt are
the files corresponding to part type i):
- partplantstate1.txt
, partprocessplan1.txt
.
- partplantstate2.txt
, partprocessplan2.txt
.
- partplantstate3.txt
, partprocessplan3.txt
.
- partplantstate4.txt
, partprocessplan4.txt
.
- partplantstate5.txt
, partprocessplan5.txt
.
Click
here for a description of the above files.
-
Step3: Run the clear.cpp program in the files folder.
- This would initialize the required files.
-
Step4: Run the plant.cpp program.
- The user would be asked to enter the following information for each run:
-
Enter the path for input files:
In Windows, if the files
folder were placed in the C drive, the path should be given as
C:\files\. For UNIX users, if the files directory were created
in the home directory, the path should be given as /home/files/.
-
Enter the number of parttypes required:
The user can specify the
number of different part types to be considered. The user must make sure
that the input files corresponding to all these parttypes are given in the
files folder.
-
Enter the number of machines in the cell:
This number must match the
number of machines used in the input files of parttypes.
-
Enter the number of parts to be processed:
Finally, the user has to
specify the total number of parts to be processed by the plant.
-
Enter the Rate of Failures for machine i:
The user can specify the
rate at which he desires a particular resource to fail. If no failures are
desired, a rate of 0 has to be given.
After entering the
above information, the simulation proess is displayed as a sequence of plant
requests, supervisor responses and the associated moves.
Outputs
- The results of the simulation are displayed in a set of output files
placed in the files folder:
- Plant_sequence.txt gives the sequence of requests made by
the plant and Supervisor_sequence.txt gives the corresponding
responses of the supervisor. The sequence of plant moves are also displayed in
Plant_sequence.txt file.
- Part_sequence.txt file displays the machine sequences of
different parttypes processed in the simulation.
- Failures_report.txt records the number of times each
resource has failed, and the number of parts of each type that were scrapped
as a result of these failures.
- Plant_performance.txt file enumerates the utilization data
of all the resources and material-handler.
- Supervisor_performance.txt file gives the CPU times related
to the computation of the control-patterns by the supervisor.
A sample set of output files for a simulation run with the given input files
on a 4 machine manufacturing cell for a total of 100 parts, with a failure rate
of 0.1 for each of the machine, are given below:
- Plant_sequence.txt
.
- Supervisor_sequence.txt
.
- Part_sequence.txt
.
- Failures_report.txt
.
- Plant_performance.txt
.
- Supervisor_performance.txt
.
*** Please send problems and feedback to:
Ali Yalcin,
Department of
Industrial and Management Engineering,
University of South Florida, Tampa.
URL : http://www.eng.usf.edu/~ayalcin/
E-mail
: ayalcin@eng.usf.edu
Tel :
Fax :