Open Collections

UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Simulation and reliability analysis of a flexible manufacturing system with AGV based material handling Dai, Fuhong 1994

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Item Metadata

Download

Media
831-ubc_1994-0401.pdf [ 1.79MB ]
Metadata
JSON: 831-1.0087448.json
JSON-LD: 831-1.0087448-ld.json
RDF/XML (Pretty): 831-1.0087448-rdf.xml
RDF/JSON: 831-1.0087448-rdf.json
Turtle: 831-1.0087448-turtle.txt
N-Triples: 831-1.0087448-rdf-ntriples.txt
Original Record: 831-1.0087448-source.json
Full Text
831-1.0087448-fulltext.txt
Citation
831-1.0087448.ris

Full Text

SIMULATiON AND RELIABILITY ANALYSISOFA FLEXIBLE MANUFACTURING SYSTEMWIThAGV BASED N’IA’i’ERIAL HANDLINGbyFUHONG DAIBASe, Northeast University of Technology of P.R. China, 1982A THESIS SUBM1TED IN PARTIAL FULFILLMENT OFTHE REQUIREMENTS FOR THE DEGREE OFMASTER OF APPLIED SCIENCEinTHE FACULTY OF GRADUATE STUDIES(Department of mechanical Engineering)We accept (his thesis as conformingto the required standardTHE UNIVERSITY OF BRITISH COLUMBIA© Fuhong Dai , June 1994In presenting this thesis in partial fulfillment of therequirements for an advanced degree at the University of BritishColumbia, I agree that the Library shall make it freely availablefor reference and study. I further agree that permission forextensive copying of this thesis for scholarly purposes may begranted by the head of my department or by his or herrepresentatives. It is understood that copying or publication ofthis thesis for financial gain shall not be allowed without mywritten permission.(Signature_____________________________DepartmentLThe University of British ColumbiaVancouver, CanadaDateSf ‘‘ dYABSTRACTThis thesis investigates the reliability of a flexible manufacturing system with AGV basedmaterial handling. An analytical model was built using the stale space approach (Markovprocess). Although the method is shown to be tedious when the number of system components becomes large , however , it does provide a powerful approach for reliability analysisof complex systems such as flexible manufacturing facilities. To simplify the analysis,state merging and state truncating techniques were used in carrying out the calculations.To compare with the analytical results, a simulation model was built using SLAM IIdiscrete event modelling and simulation software. The results were very close to theanalytical ones when same failure and repair rates were assumed 11r the basic components ofthe system. Overall, it was found that the simulation method was much simpler to developand experiment with. A SLAM II simulation model of the system performance was alsobuilt to examine the operation of the FMS as a whole with failure and repair events.TABLE OF CONTENTSABSTRACT iiTABLE OF CONTENTSLIST OF FIGURES vLIST OF TABLES vNOMENCLATURE viACKNOWLEDGMENT )(1.0 INTRODUCTION 11.1 Background and Motivation 11.2 Markov Process, the State Space Approach 21.3 The SLAM II Discrete Event Modelling and Simulation Method 41.4 The Objectives 62.0 THE FLEXIBLE MANUFACTURING SYSTEM (FMS) WITH AGV BASEDMATERIAL HANDLING 72.1 The Chosen FMS 72.2 The AGV Based Material Handling System 93.0 RELIABILITY DEFINITIONS AND MODEL CONSTRUCTION 153.1 Definitions 153.2 The Reliability Model Build-up of the FMS 164.0 RELIABILITY ANALYSIS OF THE FMS 224.1 Reliability Evaluation of The System 224.2 The State Merging Technique 224.3 The State Truncation Technique 264.4 The Reliability Analysis of The FMS by Mathematical Approach 294.4.1 Material Handling Subsystem. 354.4.2 The Processing Subsystem 384.4.3 Combining Both Subsystem 1 and Subsystem 2 405.0 SLAM II SIMULATION OF FMS RELIABILITY 435.1 The Processing Subsystem 435.2 The Material Handling Subsystem 516.0 PERFORMANCE SIMULATION OF THE FMS 557.0 CONCLUSIONS 74REFERENCESAPPENDICESAppendix IMATHCAD Output of State Probability Calculations of Material Handling SubsystemAppendix IIMATHCAD Output of State Probability Calculations of the Lwcessing SubsystemAppendix IIIComputer Listing of SLAM II Discrete Event Simulation of State Probabilitiesof Material Handling SubsystemAppendix IVComputer Listing of SLAM II Discrete Event Simulation of State Probabilitiesof the Processing SubsystemAppendix VComputer Listing of SLAM II Discrete Event Simulation on Performance of theFlexible Manufacturing SystemLIST OF FIGURESFigure 1-1 SLAM II Next Event Logic for Simulating Discrete Event Models 5Figure 2-1 Layout of the Flexible Manufacturing System 8Figure 2-2 Layout of machines Served by Multiple Vehicles 11Figure 2-3 Layout of the Single Loop Configuration 11Figure 3-1 Functional Diagram of the AGV Based FMS 17Figure 3-2 128 x 128 = 16384 Element State Transition Matrix 21Figure 4-1 Subdivision of the Flexible Manufacturing System 23Figure 4-2 State Transition Diagram of Material Handling Subsystem 25Figure 4-3 Reduced State Transition Diagram of Material Handling Subsystem 25Figure 4-4 State Space Diagram of Subsystem 2 after Truncation 31Figure 4-5 FMS System State Transition Diagram after Combining the threeSubsets 41Figure 5-1 Flowchart of SUBROUTINE INTLC 47Figure 5-2 Flowchart of SUBROUTINE FAILURE 49Figure 5-3 Flowchart of SUBROUTINE REPAIRFigure 5-4 SLAM II Summary Report of Processing Subsystem 52Figure 5-5 SLAM II Summary Report of Material Handling Subsystem 53Figure 6-1 Flowchart of SUBROUTINE INTLC 59Figure 6-2 Flowchart of SUBROUTINE GNRJT 60Figure 6-3 Flowchart of SUBROUTINE DSPAGV 64Figure 6-4 Flowchart of SUBROUTINE PROCS 68Figure 6-5 Flowchart of SUBROUTINE BRKDN 69Figure 6-6 Flowchart of SUBROUTINE REPAIR 70Figure 6-7 SLAM II Summary Report of FMS System Performance 71‘IL,LIST OF TABLESTable 3-1 System States 21Table 4-1 Subdividing the State Space According to Identical Stales 30Table 5-1 Global Variables Used for Representing States in SLAM IISimulation Program 46Table 6-1 Routings of the Job Types Defined 56Table 6-2 Processing Time of Each Job Type at the CorrespondingMachine Defined 56Table 6-3 AGV Travel Time between Any Two Locations 57NOMENCLATUREA + = the availability of the systemD (i, J) = transportation time from node i to node jf ( x ) = probability density function of random variable xF ( x ) = cumulative distribution function of random variable xF ( i , j) = required flow matrix from node ito node jIDX = index number of a machine to be visitedJT =job typeMTV (iT, IDX) = machine # to be visited for a given job type and index numberMTTF = mean time to failureMTTR = mean time to repairP (t) = state probability matrixP (1) = a row vector of state probabilityPc ( i) = probability that the ith pickup node calls an idle AGVPuN = probability of the system being downP 1(t) = probability of being in state i at time tP , (x) = transition probability from state i to state j during the time interval xP T = probability of the subsets that is truncatedPST( IT, IDX = processing time for a given job type and index numberP up = probability of the system being upP w(j) = probability that the AGV waiting au nodeR = transition rate matrix= transition rate from state ito state jr = eigenvalue of matrix RS = matrix formed by the right eigenvectors of matrix RTIMST = SLAM II statement used to request the automatic collection of time-persistentstatistics on SLAIVI II global variable XX (I)T i = pick-up and delivery time for total part flowTp = average transportation time for loaded vehicleTRT( i, j) = travel time from node ito node jT v = average transportation time for the empty vehicleT w = specified working time for moving partsX + = set contains states of successX - = set contains states of failureXX (1) = SLAM II global variablex i = duration of state i under the condition of transiting to state jZ ( t) = random variable of system stale at time t= failure rate of a componentA. 1 m = equivalent transition rate from subset ito subset m= repair rate of a componentACKNOWLEDGMENTThe author wishes to express his sincere thanks to Dr. F. Sassani for his guidance andencouragement throughout the preparation of this thesis11.0 INTRODUCTION1.1 Background and MotivationMaterial handling systems are vital components of an automated manufacturing system.They are used to integrate various components of a modern manufacturing system to facilitatethe flow of workpieces from one location to another. Material handling systems mayconsist of different components such as conveyors, an automated guided vehicles (AGV)fork lifts, and robots, etc. Material handling systems play an important role in theoverall performance of the integrated manufacturing systems. We define an integratedmanufacturing system as a manufacturing facility consisting of a set of work stations, loadingand unloading stations, and an inventory system linked by a material handling system.The performance of the integrated manufacturing system is affected by various operationaland technological factors. The operational factors include the loading, the material handling,the storage, the processing operations, and also the layout of the integrated manufacturingsystem. The technological factors include the characteristics of the workstation, the machines,the material handling system and the inventory systems [1] [21.We call an integrated manufacturing system under a central computer control a flexiblemanufacturing system ( FMS). Flexible manufacturing systems are commonly used toupgrade the performance of low to medium volume manufacturing systems, and are rapidlyreplacing the existing classical manufacturing systems.Hand in hand with increased automation and the complexity of manufacturing systems of theflexible sort , or FMS , reliability has become one of the vital ingredients in FMS’s planning,design and operational phases [3]. Reliability is important as it reflects the ability of anFMS to keep operating schedules. Reliability (or availability ) modelling of an AGV basedFMS is of significant importance in tile modem context. Statistical reliability techniquesare advanced and have been applied to numerous electrical, transit, and mechanicalsystems [4 1.1.2 Markov Processes the State approachThe State Space Approach (or Markov processes) is a very useful approach for systemreliability analysis. A component may assume various states depending upon its failureand restorative modes. The system states describe the states of the components and theenvironment in which the system is operating. The set of all the possible states of thesystem is called the state space or the event space. The state space approach involves thefollowing steps [5 1:i. Enumeration of all possible system statesii. Determination of the interstate transition rates. If a diagram is drawn showing thevarious states and the interstate transition rates between the slates, this is called thestate transition diagram.iii. If the components are independent, the system state probabilities may be found fromthe products of the component state probabilities.iv. The states are then grouped into subsets depending upon the requirements of theanalysis. In most cases, measures are required only for success or failure.After the grouping has been done, the subset probabilities etc. can be calculated. If wedefine a random variable Z( t) (this random variable is associated with each value of timet) as the state of a system at time 11t”, the family of the random variables (Z( t), t 0)is called a stochastic process. And the values assumed by the process are called the statesof the system and the set of all possible states is called the state space.3Once the state occupied at a time point is known, if the previous history of the processis not involved in determining the subsequent probability distributions, the stochasticprocess is said to be Markovian or called the Markov process. The Markov process issometime called memoryless, because the probability distribution of Z( t) only dependson the latest of the time points and none prior to that ( Equation 1-1).Many of the problems encountered in system reliability analysis can be modelled usingcontinuous parameter Markov chains [ 6 ]. For t> v> u, the Markov property for acontinuous parameter Markov chain would beP(Z(t)=k I Z(v)=j,Z(u)=i)=P(Z(t)=k I Z(v)=j) (1-1)This property is basically of the formP(Z(t+x)=j I Z(t) =i) (1-2)and is termed as the probability of transition from state i to state j during the time interval tto t + x . The transition probability will be denoted byPij(x)=P(Z(t+x)=j I Z(t)=i) (1-3)for any x.The conditional probability density function (1-2) for the process will be given by theChapman-Kolmogorov equation:P(t +x)=Pik(t)Pkj(x) (1-4)This equation will be used to further deduce the transition probability of the Markov Process.The verification of equation ( 1-4) is in reference [ 7 ].41.3 ]J SLAM II Discrete Event Modelling4 Simulation MethodThe SLAM II ( Simulation Language for Alternative Modelling) discrete event modellingand simulation method will be used in this research project [8 ] [9 . To simulate a discreteevent model of a system using SLAM II, the user codes each discrete event as a FORTRANsubroutine. To assist the user in this task, SLAM II provides a set of FORTRAN subprogramsfor performing all commonly encountered functions such as event scheduling, statistics collection, and random sample generation. The advancing of simulated time (TNOW) and theorder in which the event routines are processed are controlled by the SLAM II executive program. Thus, SLAM II relieves the simulation modeler of the task of sequencing events intheir proper chronological order. Each event subroutine is assigned a positive integer numericcode called the event code, in the same fashion as the event code defined at an EVENT node.The event code is mapped onto a call to the appropriate event subroutine by subroutineEVENT ( I ) where the argument I is the event code. This subroutine is written by theuser :and consists of a computed GO TO statement indexed on 1 causing a transfer to theappropriate event subroutine call followed by a return. The executive control for a discreteevent simulation is provided by subroutine SLAM which is called from a user-written mainprogram. The SLAM II next event logic for simulating discrete event models is depictedin Figure 1-1. The SLAM II method will be employed in modelling and simulating arepresentative FMS in two aspects:(1) Evaluation of the performance of the system.(2) Collection of the statistics on reliability measures and the state probabilities (orthe state availabilities ) of the system.5Figure 1-1 SLAM II Next Event Logic for Simulating Discrete Event Mode[s614 jjectivesThe objective of this study is to investigate the reliability (or availability ) of a representativeFMS by means of the methods outlined in section 1.2 and 1.3 , namely:(1) Building up a mathematical model using the state space method (the Markovprocess);(2) Using SLAM II discrete event modelling and simulation concepts.The state space method and SLAM Ii discrete event modelling and simulation approach arethe major tools in this study. The reliability measures thus obtained are contrasted againsteach other and the relative merits of each method are discussed. in chapter 2, a representativeFMS with AGV based material handling system is presented. The system description ofmachines, AGVs, the plant layout and routings will also be given in this chapter.The definition of reliability for AGV based FMS, the assumptions and system reliabilitymodels will be given in chapter 3. Chapter 4 describes the reliability analysis, the statetruncation technique and stale merging technique , and the reliability evaluations. Chapter 5outlines the SLAM II simulation of FMS’s reliability modelling. Chapter 6 deals with theFMS system performance simulation. Finally, chapter 7 presents the conclusions of thisstudy.72.0 THE FLEXIBLE MANIJFACTURINGSYSTEM (FMS) WITH AGV BASED MATERIAL HANDLiNG2.1 The Chosen FMSIn a typical flexible manufacturing system, the number of machining centers is usuallybetween two and six [10]. The chosen FMS as shown in Figure 2 - 1, consists of 2 AGVs(AGV1 and AGV2), 5 machines (MCi to MC5 ) and I load /unload station (L/U). Thesefacilities are linked to a network of computers that control their operations. There is nodirect human element involved in the transportation of materials between various locations.Here , we assume that the environment is highly automated and once the tools are loadedand the parts assigned, the FMS can operate under complete computer controls. Eachmachine has an input buffer to accept the parts that will wait to be machined and an outputbuffer which accommodates the finished parts that will wait to be taken away either to nextworkstation (machine) or to the L/U station. Each input buffer and output buffer has acapacity to accept a maximum of 10 parts. The loading and unloading operation of parts foreach machine will be completed by a robot. This means that each machine has a robot armto carry Out operations such as unloading the parts from AGVs to input buffer and loadingthe finished parts onto AGVs from the output buffer. Whenever an AGV is requested,always the nearest available one is dispatched. The flexible manufacturing systems areacclaimed for their flexibility to manufacture a large variety of parts with high efficiencyand for their ability to respond quickly to parts changes. Two major reasons for such aflexibility are(a) Identical parts can have alternative routes within the system;(b) Each machine within the system is equipped with efficient tool changers8MC4 MC54 5AGV13 8 7 6J—1MC3____—cJL/jAGV22 1MC2 MCiFigure 2-1. Layout of the flexible manufacturing system.9which significantly increase system capability during the manufacturing cycles.2.2 AGV Based Material Handling ysteniDuring the past several years, automated guided vehicle system as a major material handlingmeans has received much attention by designers and engineers of automated manufacturingsystems [ 11]. The AGV systems have been widely used in flexible manufacturing systemsbecause the AGV systems provide higher flexibility than the conventional systems. TheAGV control system dispatches idle vehicles to move pallets, parts and tools between workcenters within an FMS. Five types of AGVs are available(1) Unit load(2) Towing(3) Pallet truck(4) Fork truck, and(5) Assembly line vehiclesIn this study, the unit load vehicles will be employed. This means that the vehicles onlytake one part (or one pallet) each time. Generally an AGV system contains four majorcomponents:(1) transportation network(2) vehicles(3) interface between the production system and AGVs(4) control systemBasically, there are three types of transport networks:(1) single line10(2) simple loop and(3) network typeIn the case of multi-vehicle systems, the network-type system requires more complicatedcontrol logic. There are several design sirategies for resolving the traffic problems. This isbecause at the junction of AGV tracks, vehicle interference and collision can take placewhen more than one vehicle try to use the same track. In such situations a control zone,which allows only one vehicle to pass through, can prevent the occurrence of collisions atthe junctions. In addition, buffers may be provided for the vehicles waiting to use the controlzones. Several designs of buffers have been suggested [12]. They include provision ofloops, sidings and spurs on either sides of the AGV tracks. Figure 2-2 shows a layout ofmachines served by multiple vehicles. Buffers and control zones are provided at thejunction of AGV tracks. Location 6 is the load/unload station and location 7 the centralbuffer work-in-process.An alternate strategy is to divide the entire network of AGV tracks into a few small closedloops, each of which allows only one vehicle to circulate as shown in Figure 2-3. This is amodification of the layout shown in Figure 2-2. The layout in Figure 2-3 shows the twosingle-vehicle loops. Location 7 facilitates inter-loop transfer of materials. This modifieddesign removes the problems of vehicle collision and interference and simplifies the trafficmanagement. A central buffer, suitably placed, facilitates inter-loop transfer of jobs. Thedrawback of this arrangement is its inability to tackle vehicle breakdowns which willparalyze the loops. From the reliability consideration, this is not a good arrangement. Theproblems such as creation of bottleneck loops due to unbalanced loop loads and requirementof additional space, guide path and storage points may also arise.In this study, a different design strategy will be tested for the layout shown in Figure 2-1.4 5 11I MC4I IM(5143 61Mc31) I ‘?‘ fuiulI2MMCjFigure 2-2 Layout of Machines Served by Multiple Vehicles4 5MC4 MC51Mc3 I. II IL/UI4MC1 IMdhIFigure 2-3 Layout of the Single Vehicle Loop Configuration12This is basically a simple network-type layout. The advantage of this type of layout is thatfor multi-vehicle systems, some of the AGV tracks can be used as the buffer, and more thanone AGV can use the same track such as the track between the turning points 7 and 8. Forexample, when one AGV is requested to take a part from L/U station to MC2, MC3 orMC4, and at the same time another AGV is requested to take a part to MCi, MC5 or L/Ustation from other machining center, all the tracks between MC2, MC3 or MC4 andturning-pomt 8, and between MCi, MC5 or I/U station and turning-point 7 could be usedas the buffer to accept the AGV which is waiting to use the track between turning-points7 and 8. The central buffer for work-in-progress is dismissed because each machinehas its own output buffer to accept the work-in-progress. According to the dispatchingrule (this will be discussed in later chapters), AGVs are sent to (he machines requestingeither to take a part to the machine or to pick up a part from the machine. Wheneveran AGV takes a part to a machine and after the part is unloaded, the output buffer ofthe machine will always be checked to see if there is any finished part waiting to be sent toits next destination, if so, the AGV will take the part which has the longest waiting time.The estimation of the minimum number of vehicles required is another important factor.In order to determine the number of vehicles required, information regarding the jobsundergoing processing must he obtained. The jobs that are manufactured simultaneously,the processing times, and the arrival rate influence the traffic intensity in the system. Due tothe versatility of the machines, often the jobs can be processed in more than one sequence.This permits alternate routing of the jobs due to machine failure or work-load balanceconsiderations.The desirable number of AGVs to accomplish the given load movements, assuming that thetarget production plan and job routmgs are known, must be determined when the AGV13dispatching rules are investigated. Too many AGVs may create a higher possibility ofcollision and blocking, hence prohibiting the efficient control of the AGVs. The minimumnumber of AGVs needed to perform the assigned tasks must be considered in order tominimized the effect that too many AGVs may have on the dispatching rule performance.Dong-Soon Yim and R . J. Linn [13] developed an extended procedure to determinethe minimum number of AGVs needed considering the random effects under steady-stateif the idle time of the AGVs is ignored. Once the minimum number of AGVs is determinedanalytically, the minimum number of AGVs considering the time-dependent effects canbe determined from the experimental simulation.Let F( i, j) be the required flow matrix from node ito node j (i.e. pickup or deliverypoint) for the movements of parts during a specified working time Tw. The required flowmatrix is obtained from the target production rate and job routings. Let D( i, j) be thetransportation time from node i to node j obtained by the shortest route. As a conservativemeasure, it is assumed that there ase always parts waiting for an AGV. The probabilitythat the AGV is waiting at j node in steady state Pw( j) isPw(j)=F(i,j)/ F(i,j) (2-1)i=J i=lj=iAlso , the probability that the ith pickup node calls an idle AGV ILl steady-state, Pc( i) isPc(i)= F(i,j)/ F(i,j) (2-2)j=1 j1 j1complete movement of a load includes(1) an empty vehicle moves to a pick-up point(2) picks up a part14(3) moves to a drop off point with the loaded part and(4) delivers the partThe average transportation time for the empty vehicle, Tv, is thenTv= Pw(j)Pc(i)D(j,i) F(i,j) (2-3)i=1 j=1 i=1 j=1and , the average transportation time for loaded vehicle, Tp, isTp= F(i,j)D(i,j) (2-4)i=1 j=1Letting I and u be the fixed pick-up and delivery time of a part at each worksatiori, thepick-up and delivery time for total part flow Ti isTl= F(i,j)(1+u) (2-5)1=1 j=1So, the minimum number of AGVs required to accomplish the load movements during Twcan he obtained asminimum number of AGVs = (Tp + Tv ÷ TI) / Tw (2-6)the simulation experiments performed by Dong-Soon Yim and R. J. Linn [13 ] showedthat the minimum number of AGVs for the system they considered was two under theassumption of a target production rate 60 units per 8-h shift. Increasing the number ofAGVs did not improve the system performance. For the study in this thesis, two AGVswill be used and the AGV dispatching rules and assumptions etc. will be discussed later inchapter 6 for performance simulation.153M RELIABILiTY DEFINITIONS ANDMODEL CONSTRUCTION3.1 DefinitionsThere are several definitions of reliability in the literature of system reliability analysisand the most often quoted one is “the probability that the system will perform its intendedfunction for a given period of time under stated environmental conditions. “ Thisdefinition is, however, inadequate for many occasions and is restrictive in its scope ofapplication. It is more appropriate to talk of quantitative measures which when comparedwith reference indices , would indicate the expected consistency without deviation from therequired performance.It is usual in the literature to define reliability indices in terms of system success or failure.However , many complex systems usually have several levels of failure. For example , fora large piece of complex equipment we may not be able to simply say it is working ornot working, as it may have many possible output states. So, it is therefore appropriate todefine the calculated reliability measures in terms of a subset X which may contain anynumber of system states. If the success and failure states are denoted by X+ and X-,then reliability is the probability of being in X+ at time t without entered X-. The termreliability is used in many ways and most often in a qualitative sense to indicate theability of the system to perform its intended function. As an intrinsic system parameter,the reliability can be measured by various indices. The definition given above is morespecific and reliability is considered as a mathematical quantity which is itself a measure.This measurement may be time specific, i.e. , function of time, or steady state when werefer to the equilibrium conditions. The former is required when concerning with the16transient behavior of the system and the latter while considering the average behaviorover long time.The following indices are commonly used for repairable systems( a ) In the transient domain, the time specific availability of subset X+.This is also called poiniwise availability or instant availability and is theprobability of the system being in any state contained in X+ at a particularinstant of time t.(b) Steady state availability of X+.Commonly called availability , this is the limiting value of both pointwlseavailability and fractional duration . This can therefore, he interpreted in twoways. The first is the probability of being in a state contained in X+ at somepoint in time remote from the origin. The second is the time spent in X+ asfraction of the total time ( (I , T) tends to be very large3.2 Reliability Model Build-up i?fti FMSThe FN4S under study consists of five machines with two AGVs as material handlingsystem as shown in Figure 2-1. The system operating sequence is as shown in Figure 3-1.According to the dispatching rules and prescribed job types, the nearest idle AGV ( eitherAGV1 or AGV2) will be sent to the pick-tip point to take the jot) and transport it to itsdestination ( either of machines I to 5 or the load / unload station ). Whenever a jobarrives to the system, it is first taken by an AGV, the first machine is visited, then takenby an AGV again and the second machine is visited and so on. It always follows thesequence of AGV—MC----AGV--*MC, until the job is completed, sent to the load/unloadstation where it is considered to have left the system17MCi_____IA1I_____L/UE1C3 iJob Input AGV2MC5L/UJOt) OutputFigure 3-1 Functional diagram of the AGV based FMS.1KIn order to build up the reliability model of the FMS, the following assumptions are made( 1) The failure and repair rates of AGVs and machines are constant. This means thatthe failure and repair rates(the transition rates) are not functions of state residencetime.(2) The failures of AGVs and machines are statistically independent.(3) The repair operation will start immediately after the failures of the machinesor AGVs. The repaired AGV or machine is as good as new.(4) Both AGV1 and AGV2 are identical with same failure and repair rates. But forthe five machines, the transition rates are different.These assumptions are typical and common in the reliability analysis of systems. One furtherassumption that is made here is that there is always at least one of each job type in the system.According to the functional diagram of the FMS ( Figure 3-1), the system can be dividedinto two major subsystems, subsystem I the material handling subsystem and subsystem 2the processing subsystem. Each subsystem could be further broken down into small units suchas subsystem 1 where its two components are AGV1 and AGV2, arid subsystem 2 whereits components are the five machines. Each machine or AGV consists of different machineparts and these machine parts are either repairable or nonrepairahie. The replacement of anonrepairable part is interpreted as a ‘repairtt process. The reliability of an AGV or a machineis a function of the reliability of these elementary machine components.The techniques for mathematically deriving the reliability measures, that are relevant to thisstudy can be broadly classified as:( i ) state space approach( ii) network method(iii) decomposition using conditional probability approach19The state space approach is conceptually general and flexible and can be used for varioussystems with independent failures and makes it possible to take into account the dependent:failures. But in very large systems which contains too many states, it may he difficult toapply this technique. For the FMS system under study that consists of seven components ( 2AGVs and 5 machines ), if we consider all the states of the system, there will he72 = 128 possible states and the transition rate matrix will contain 12 x128 = l384elements. It becomes very cumbersome to conduct calculations.The network approach, when applicable, usually provides a shorter route to the solution.But this approach is usually not suitable when dependent failures or repairs are involved. Toapply this approach, it is necessary to recognize the difference between two types of functiondiagrams, the physical (or Block Schematic) Diagram and Logical (or Reliability Block)Diagram. The first diagram describes the actual connections between the components.Each block is a component and the diagram shows the manner in which they are actuallyconnected. For the FMS under study, Figure 3-1 shows the physical connection betweenthe components (AGVs and machines). But this is not the Logic or Reliability Diagram.For many systems, it is sometime very difficult or even impossible to prepare the Logicor Reliability Block Diagram.The Decomposition Using the Conditional Probability Approach consist of breaking downa complex system into simple subsystems by the successive application of the conditionalprobability theorem. The idea is to first calculate the reliability measures of the simplersubsystems and then combine these results to obtain the values for the system. The selectionof the component or subsystem which is the key component or subsystem is thereforeimportant. This method can be used to simplify both the state space as well as the networkapproach.20For the system shown in Figure 3-1 , the stale space approach becomes the only methodavailable. Some techniques will he used to simplify the calculation. These will be depictedin the next chapter. To apply the state space approach, we must enumerate all possiblesystem states as shown in Table 3 -1. The total system states are 128. The transition ratematrix will have 128x 128 = 16384 elements as shown in Figure 3-2.The criteria of success and failure of the FMS shown in Figure 3-1 are as follows:( 1 ) The system is in up state(a) at least three of the five machines are in up” states;(b ) at least one of the two AGVs is in “up “ state(2) The system will fall into the down “ states if(a) both AGV1 and AGV2 are down “ at same time;(b) more than two machines are “ down “state coincidentallyThe reliability definition of the FMS under study can now he stated “ The probabilityof the successful functioning of both material handling subsystem with at least one AGVin up state and the processing subsystem with at least three machines in up state.” Although,these criteria are to some extent arbitrary, however, the logic has been to strike a balancebetween the definitions of system “up” and system “down “ states.21CmpnState AGV1 AGV2 MCi MC2 MC3 MC4 MC51 U U U U U U U2D U U U U U UU D U U U U U4• U U D U U U U.....128 D D D D D D DTable 3-1. System States.Ru R12 R13 Ri 128R2 I R2 2 R2 3 • • • R2 128R31 R32 R33 R3i28R=..R1281 R1282 R1283 Ru28 128Figure 3-2. State transition matrix (128 x 128 = 16384 elements ).224.0 RELIABiLITY ANALYSiS OF THE FMS4.1 Reliability Evaluation of The systemThe FMS system shown in Figure 3-1 will be divided into two subsystems (subsystem1 and subsystem 2 ) based on the system functions as shown in Figure 4-1. This functionalsubdivision leads to a more convenient reliability evaluations of subsystems 1 and 2individually. The advantage in doing so is that the probabilities of the system can then befound by simple multiplication of the probabilities of the subsystem states. Another advantage is that the combination of the independent subsystems is simpler and the equivalenttransition rate concept can be more conveniently employed.The state space of each subsystem may be reduced either by merging states or by truncatingvery low probability states. The subsystems will then be combined into a complete systemand the required reliability measure evaluated.Two important concepts for reliability evaluation in large systems, namely, the mergingof the states and truncating of the states will be employed in this study. The state mergingtechnique will be used for subsystem 1 and the state truncation technique will be used forsubsystem 2. These will be discussed in the following sections respectively.4.2. The State gjg TechniqueThe basic idea is to find a state space which is equivalent to the original state space but ismore convenient to use [2 F The method starts from the concept of equivalent transitionrate. The state space X of the stochastic process Z( t) is assumed to be partitioned intotwo disjoint subsets X+ and X-. If any state of the subset is entered, that subset is said tohave been encountered. We define23The Flexible Manufacturing SystemConsists of Two Identical AGVs andFive different MachinesSubsystem IThe Material HandlingSystem with Two IdenticalAGVswithFigure 4-1. Subdivision of the flexible manufacturing system.24?x- x÷( t) = The equivalent transition rate from subset X- to X+ , then)x-x+(t)=E P(t)R/ P(t) (4-1)iEX- jeXi- iXwhereR1 = The transition rate from state i to state jPi ( t) = The probability of being in state i at time t, for the given initial condition.The important application of this concept is in reducing the system state space. The states(either in subset X- or in subset X+) can be merged and the equivalent transition rate fromthe merged states found by the application of Equation (4-I).For subsystem 1, the material handling system of the FMS contains two identical AGVs.2The total states of this subsystem is 2 = 4 as shown in Figure 4-2. If this tour state5subsystem combines with subsystem 2 which contains five machines with 2 = 32 states,the calculations are still complicated. From the reliability definition of the FMS, if at leastone of the two AGVs in up state, the material handling system is in up state. The set ofall the up states is { 1 , 2, 3 }, denoted by 1, which represent the up state of the materialhandling system. The only down state is state { 4 } and is represented by m. The state spaceof the material handling system could be merged into two states as shown in Figure 4-3.Assume that the entire state space is partitioned into in subsets, X i, i = 1, 2, 3 , m. Theequivalent transition rate from subset Xt to subset Xm is obtained by using Equation (4-1)asP’(t)Rij/Pi(t) (4-2)ieXi jXia iEXIFrom the reduced state transition diagram of material handling system, from state I to statern, the equivalent transition rate is25Figure 4-2. State transition diagram of material hatidling subystem.)Im1mIState IUPState mDNFigure 4-3. Reduced staEe transition diagram of material handling subystern.26?tm( P2+P3)/(PI+P2+P3) (43)and from state m to state I(4-4)The four state subsystem as shown in Figure 4-2 is reduced to a two state system and theequivalent transition rates obtained as ).Jrn and )‘m i could be calculated readily by usingEquation (4-3) and (4-4). If this equivalent subsystem now combines with subsystem 2 (the5processing system which contains 2 = 32 states), the calculations could be much simplified.4.3 The State Truncation TechniqThe state space can be reduced by merging certain groups of states. Another technique is bytruncating the state space , i.e. by neglecting the states whose contribution to the measuresof system reliability is insignificant. In a system consisting of independent components,the probability of each state can be calculated individually by the product of individualcomponent probabilities. The states required for detemiining the reliability measure areselected, their probabilities calculated and the reliability measure obtained. The systemstates which make a negligible contribution to the final results can be neglected and thus thesystem state space is reduced.The philosophy behind truncation may be understood by examining the following equationfor calculating the probability of the ith statepi= PkRII/YRik (4-5)kEX- knXThe contribution to P by a state k i is27PkRki/Rk. (4-6)k E Xi. e. the frequency o encountering state i from state k divided by the total transition rateOut of i . Therefore if the states having low probability are deleted, the probability of slate iwill not be significantly affected. Of course the states have to be deleted prior to solvingthe set of linear equations. The procedure amounts to assuming that the deleted states havea probability equal to zew. Denoting the set of deleted states by Xi’, the probability ofthis subset if there were no truncation is PT = P1 , because the probability of the rest ofi EXTthe state space is now one, i. e.P=1 (4-7)iE(X-Xr)The probability PT will he distributed over the states i 6 ( X - XT) where X is the systemstate space. If PT is small , then the probability distribution of the rest of the states willnot be significantly affected. The success of the truncation method depends upon selectingthe low probability states for truncation. The following consideration should be kept in mindwhile employing the truncation technique:(1) The probability Pi (iEXT) is less than P ( j6(X— XT)). i.e. the biggestprobability in the truncated subset should be less than the smallest probabilityof the remaining state space. If systems contains two state components, this isvery easy to achieve. The state space may be divided into subsets , each subsethaving states of a certain level of coincident failures. For a system of n identicalcomponents, there will be (n + 1) subsets. These subsets will have the followingstates:28subset number state description1 all components are tip2 one component is down3 two components are down.n + 1 n components are clownAn arbitrary level of truncation should be first selected; for example, the stateshaving three or more than three coincident failures can be truncated. The computation can then be repeated by including the next subset, i. e. the states havingthree coincident failures. If the new values are not significantly different fromthe previous ones, the computation can be stopped, otherwise one more subsetshould be included and the computation repeated. In the state space truncationtechnique, the probabilities of the states adjacent to the truncation boundary areaffected the most and the effect decreases when moving away from the boundary.(2) After the states have been truncated, the state truncation diagram should beexamined to see if the process of truncation has generated any absorbing states.The absorbing states can be located by examining the transition rate matrix. Anabsorbing state will have transitions into it but not out of it. The i jth element ofthe transition rate matrix gives the transition rate from state i to state j. Thereforeif the ith row is empty ( all elements are zero), this means that the jib stale isabsorbing. Either the absorbing state should be deleted or the state where truncation has generated this absorbing state should be retained.One important method of state truncation technique is the sequential truncation. This can be29described as the process of building the reliability model by adding components or addingsubsystems one by one and deleting the low probability states at each step. In sequentialtruncation , the state probabilities are calculated at each step and the states with probabilitiesless than a reference value are deleted. The assumption, which is generally valid, is that theprobability of a given state will be decreased after another compunent has been added tothe system. Another method is the direct state space truncation. In direct truncation, thedecision to delete states has to be made prior to the solution of the state probabilities.For the FMS system, the subsystem of processing facilities cohtains five machines. The5total states of this subsystem is 2 = 32 as shown in Table 4-i. The transition matrixwill contain 32 x 32 = 1024 elements. It is still tedious to be handled by mathematicalmeans. The reliability definition of the FMS stated that if there are at least three machinesin up state, the subsystem 2 is in up state, and if three machines coincidently catch the downstate , the processing subsystem is considered being in down state . Using the direct statespace truncation method, from Table 4-1, the subsets 4 ,5 and 6 will be truncated, i.e. weconsider that the probability of three and more than three machines coincident failure iszero. So these 16 states with very low probability will be deleted. The state space diagramafter truncation is shown in Figure 4-4. If we define X i as the failure rate and i asthe repair rate of machine MC i ( I = 1,2,3,4,5 ), the transition rate matrix can be determinedas described in the following sections.4.4 The Reliability Analysis !f[ FMS y Mathematical approachBased on the assumptions given in chapter 3, the reliability of the FMS’s could be modelledas the continuous parameter Markov process mathematically as given in Equations (1-1) to(1-4). Equation (1-4) is the conditional probability density function for the continuous30Subset # # of machines fai’ed # of identical state in the subset51 o ( )=i02 1 ( )=3 2 ( )=io4 3 (3)=1055 4 ( 4)56 5 (5)=1Total # of states 32Table 4-1 Subdividing the State Space According to Identical States31State 11U 2U3U4U 5UState 21D 2U3U4U 5UState 31U 2D3U4U 5UState 41U 2U3D4U 5UState 51U 2U3U4D 5UState 61U 2U3U4U 5DState 71D 2D3U4U 5UState 81D 2U3D4U5UState 91D 2U3U4D 5UState 101D 2U3U4U 5DState 111U 2D3D4U 5UState 121U 2D3U4D 5UState 131U 2D3U4U5DState 141U 2U3D4D 5UState 151U 2U3D4U 5DState 161U 2U3U4D5DFigure 4-4. State space diagram of subsystem 2 after truncation, whereLU: the ith machine is up; iD: the ith machine is down= 1,2,3,4,5.32parameter Markov process given by the Chapman-Kolmogorov equation , that isP1i (t+x)= Pik(t)Pkj(x)The transition probabilities must satisfy the following conditionsOPij(x)1 (4-8)andPij(x)1 (4-9)IIf E Pij ( x) = 1 for all i and x , then the process is called the honest process.IIn a continuous parameter case, the equivalent elements are the limiting values, i.e. asx —0, we define the transition intensity or the rate asdPij(x) Pj(Ax)—O= Ix=o= limij dx Axthat isPij(Ax)=RijAx+O(Ax) (4-10)for i= jdPzi(x) Pii(Ax)—1R x=0 urndx AxthusPii(Ax)=Ri1Ax÷1+0(Ax) (4-11)Differentiating both sides of Equation (4-9) for equality and setting x = 0,Riji33i.e.R=—Ra (4-12)jiSubstitute (4-12) into (4-11) thereforePii(Ax)=1—RijAx+0(Ax) (4-13)jiIn Equation (4-10), P i ( A x) represents the probability of transition from slate i to state jduring the interval of length Ax and this is equal to Ri Ax plus a term which divided by A xtends to zero as A x — 0. Equation (4-13 ) can be interpreted in a similar manner. Equation(1-4 ) can now be written for a small increment of time A t asPj( t+ At) = 2 P ik( t) Pk1 (At)=P1(t)P1j(A t)+ Pik(t)Pkj(A t) (4-14)k jwherePij(t)=P(Z(t)=jI Z(0)=i)Substituting from ( 4-10 ) and (4-11)P(t÷At) = P11 (t)( 1 + R1At) + Pik(t) Ri1 At+ 0( At)kji.e.P1(t+At)—Pj(t) 0(At)= Pj( t) R1 + 2 Pik( t) Ri1 + (4-15)At kj Atand as A I — 0, Equation (4-15 ) becomes34P’j(t)= P (t)Rij (4-16)If Pi( t) denotes the row vector whose jth element is P1 ( r) , i. e. the probability of beingin the jth state at time t given that the process was initially in state i, then Equation ( 4-16)can be written asP’(t)=P(t)R (4-17)where R is the transition rate matrix whose i jth element is Ri1. In a more general formEquation (4-17 ) becomesP’(t)=P(t)R (4-18)where P ( t) has P( t) as its (if )th element. The initial condition for (4-17 ) isP(O)=Iwhere I is the identity matrix.If, however, the initial state of the system is defined by a probability distribution in theform of a row vector P (0) , then the state probability distribution at time t is given byP (0 ) P( t). The system of Equations (4-18) is termed as the system of forward equations.The time specific state probabilities can be found by solving the differential equation (4-18)in the matrix form P’( t) = P (t) R with the initial condition P ( 0) = I. Where,P (t) = the matrix whose (if )th term Pu (t) denotes the probability of being instate j given that the process was in state i at time t = 0R = the transition rate matrixEquation (4-18) is a system of linear differential equations with constant coefficients. Ifthe eigenvalues of the transition rate matrix R are distinct, the solution of Equation (4-18)can be obtained in the form35P(t)=SD(t)S’ (4-19)whereD (t) = the diagonal matrix whose (ii )th element is exp{ r t } , r i being the itheigenvalue of matrix RS = the matrix formed by the right eigenvectors of matrix R—1S = the matrix formed either by inverting S or from the left elgenvalue of matrix R,If the distribution at t = 0 is given by the row vector P ( 0), the distribution at 1 is given byP(t)=P(O)P(t) (4-20)The ith element of the row vector P ( t) is denoted by Pi ( t), represents the probability ofbeing in state ifor the given condition at time t = 0.After finding P i (t), the availability of the system, A + ( t), can be calculated using thefollowing equationA+(t)=.2 P(t) (4-21)i 6 Xi-4.4.1 Material Handling SubsystemIn order to calculate the availabilities of the four state material handling subsystem as shownin Figure 4-2 , the failure rate and the repair rate of the identical AGVs as an example caseare selected as follows1(1/hr.)100(1/hr.)36Mathcad [ 14] is used to calculate the state probabilities. Note that to use Mathcad subscriptsmust be given in parentheses. First we input the transition rates R ( i, j) ( J = 1,2,3,4) ofthe subsystem ,here R (i, j) is the transition rate from state ito state j. WhereR(1 ,2)=?.R(2,1)=tR(3,1)=R(4, 1)=0.0R(1,3)=?.R (2 , 3) = 0.0R(3 ,2)=0.0R(4 , 2)= tR (1 , 4 ) = 0.0R(2,4)=0.0R(3,4)=?.R(4,3)=p.The diagnal elements can be calculated from Equation (4-12) , that is,R(1, 1)=—2 R(2,2)=R(3,3)=—(A.÷1i R (4 , 4) =—2iiThe transition rate matrix can be shown asR= [R(i,j)]Next step is to calculate the eigenvalues of matrix R through Mathcad(4-22)r=eigenvals(R) (4-23)The diagonal matrix D (t) whose (i i)th element is exp {ri t } can be formed as,D (i, i) = exp { ri t }D(t)= [D(i, i)]and(4-24)The final step is to construct the matrices S and S The matrix S will be constructed first—1then inverting S to get matrix S . The elgenvectors corresponding to each eigenval tie ofmatrix R can be found through Mathcad by defining,Si=eigenvec(R, ri)37and each vector corresponds to a column vector of the matrix S, i.e.S (i,j)=(S)j andthematrixS=[S(i,j)] (4-25)Now the state transition probability matrix could be found from Equation ( 4-19 ) asP(t)=SD(t)S I or—1P(t)=SDSThe output of the matrix is:0.98 0.01 0.01 0.000098030.98 0.01 0.01 0.000098030.98 0.01 0.01 0.000098030.98 0.01 0.01 0.00009803If the original state at time t = 0.0 is given by a row vector as P ( 0) = { 1, 0, 0, 0 }, thenthe distribution of the state probability at time t can be calculated using Equation (4-20),P(t)=P(0)P={0.98 0.01 0.01 0.00009803}This corresponds to state probabilities of the two AGVs at time t, wherePi(t)= 0.98P2 (t)=P3(t)=0.01 andP4(t) = 0.00009803According to the reliability definition of the FMS, the subset of the up states of the materialhandling subsystem should include Pi (t) , P2 (1) and P3 ( t) i.e.X+= {P1(t),P2(t), P3(t)}38and the subset of down state is given byX—= { P4(t) }The equivalent transition rate between these two subsets can be calculated by using Equation(4-2) , that isP2 + P3P1 + P2 + P30.01÷0.01 10.98 + 0.01 ÷ 0.01 100= 0.0002 andui =2p,= 2.0So the four state reliability diagram of Figure (4-2), was merged into two state system asshown in Figure (4-3).4.4.2 The Processing SubsystemAfter truncation, this subsystem contains 16 states as shown in Figure 4-4, and all these 16states are up states according to the reliability definition of the FMS system. The failureand repair rates of the machines, as a numerical example are given bellow:39machine12345failure rate ( 1 / hr. )1=1/80A.2 = 1 / 903=1/100= 1 / 1102.5 = 1 / 120repair rate ( I / hr. )= 1/0.8t2= 1/0.9= 1 / 1.0= I / 1.1= 1 / 1.2Following the same sequence as for material handling subsystem, we input the transitionrates and calculate the transition rate matrix through Mathcad , that isR=[R(i,j)] (wherei,j=1,2 16)then calculate the eigenvalues and the eigenvectors of matrix R to construct the diagonalmatrix D ( t ) and the matrices S and S.’through Mathcad asThe state probability matrix can he calculated—1P=SDSGiven the initial state of the subsystem in form of a row vector,P(0)={1 00000000000000 0}The distribution of the state probability at time t can be calculated using Equation ( 4-20)P( t)=P(0)P= { 0.914 0.009 0.009 0.009 0.009 0.009 0.00009145 0.000091320.00009142 0.00009147 0.00009135 0.00009144 0.000097030.00009134 0.00009138 0.00009146 }404.4.3 Combining Subsystems !aBecause each component in both subsystem 1 and subsystem 2 can be repaired independently,the two subsystems are also independent. After finding the state probabilities of subsystem1 and subsystem 2, the state probability of the FMS can be found by combining the probabilities of both subsystemsAs demonstrated in 4.4.1, the subsystem I. is merged into a two slates subsystem (Figure 4-3)with the equivalent transition rates im = 0.0002 and ?nt = 2.0 . In 4.4.2 , after truncationthe 32 state subsystem was simplified into a 16 state subsystem by dismissing the slates wherethe coincident failures of more than two machines are considered as zero. According to thereliability definition of the FMS , these 16 states are all up states. So the whole FMS systemcan be described by three subsets as shown in Figure 4-5 (a),1. at least one of the two AGVs is in up slate2. both AGVs are down3. at least three of the five machines are in up statesAfter combining the three subsets, the reduced state transition diagram is obtained as shownin Figure 4 -5 (b). It can also be observed ( Figure 4-5) that when the two subsystems areindependent (fail and repair independently), the interstate transition modes remain unchangedafter interaction. By applying the state merging and state truncating techniques, the FMSsystem is simplified as a two state system with the equivalent transition rate of ?.im and A ias shown in Figure 4 - 5 (b). The state probability of the FMS system can be found by theproducts of the state probabilities of subsystem 1 and subsystem 2 asPu = P1u P2u andPuN = PIDN P2u41ProcessingSystem(a)FIgure 4-5. FMS state transition diagram aftercombining the three subsets.(b)42The reliability of the system can be obtained through solving the following differentialequation by setting i = 0.0 and defining RL the reliabilily of the FMS system,d Pu+m Pu PDNjntdtafter integration, we obtainRL(t)=Pup(t)=exp(—.imt) (4-26)435.0 SLAM H SIMULATION OF FMS RELIABILITY5.1 The Processing SubsystemTo simulate the state probabilities of this subsystem using SLAM II, the simulation modelshould first be constructed. The purpose of this discrete event simulation is to collect statisticson each state of the processing subsystem. In the preceding chapters the FMS system wassubdivided into the material handling subsystem and the processing subsystem. Becausethe processing subsystem contains more components , i. e. five machines, this subsystem ismore complicated to handle and will be discussed first. As already has been outlined, theprocessing subsystem consists of 32 possible states. As the time advances , the time basedrandom variable Z( t) should randomly encounter each of these 32 states. In simulation, theassociated logic for processing the changes in state is an event. So a discrete event model ofthe subsystem is constructed by defining the event types that can occur and then modellingthe logic associated with each event type. The state of the subsystem in a discrete eventmodel is represented by variables which have attributes. The state of the model is initializedby specifying the initial values for the variables employed in the simulation and by theinitial scheduling of the events. Here two types of events are defined for the simulationa) failure event and;b) repair event.As discussed in the previous chapters , the transition rate is the hazard rate of the randomvariable defining the duration of state i under the condition of transiting to state j. Thenegative exponential is the only distribution having a constant hazard rate and therefore therandom variables underlying the time homogenous Markov process must be exponentiallydistributed. i.e.441(5-1)mean value of x iiwhereR ij = the transition rate or hazard rate andx i = the duration of state i under the condition of transiting to state jIn the case where up state i transits to down state j, the mean value of x ii is called the meantime to failure ( MTTF) , and if the state is transiting from down state to up state then x ii iscalled the mean time to repair ( MTTR). Here Xij is a continuous random variable. i.e. if iis the up state under the condition of transiting to the down state j:1(5-2)MTfFif i is down state under the condition of transiting to the up state j then1(5-3)MHRThe distribution of the random variable x, is negative exponential and has a probabilitydensity function, for transiting to the failure state, defined as-.xf(x)=).e (5-4)The corresponding cumulative distribution function is given byF(x)=ff(u )du=1—e (5-5)45Because each machine fails and is repaired independently, the failure and repair event willalso be scheduled independently for each machine. That is, each machine is modelled asthe two state Markov process. The SLAM II global variable XX ( 1) is used to representthe Up and Down stales:XX (I) = 1 , machine I is in Up stateXX (I) = 0, machine I is in Down stateThe combinations of states of all the machines give all the possible states of t he system.The time persistent statistics are collected when XX( I) is specified on the TIMST inputstatement. The output gives the state probabilities of the system concerned. As discussedin chapter 4, the 32 state processing subsystem is reduced to a 16 state subsystem by applyingthe state truncation technique. Statistics on all these 16 state probabilities is collected.The global variables for representing every status in the simulation are shown in Table 5-i.To initialize the simulation, all the initial values of the global variables are defined inSUBROUTINE INTLC of SLAM II. The initial condition of the system is all the machinesin UP state. This is represented by defining the global variable XX (1) = i( here I = 1, 2,the number of machines) meaning that at the current instant of time , this state of the systemis encountered. At any instant of time , the system can only stay in one stale ( we representthis state by setting the global variable XX (I) = 1 ) and all the rest of the states which arenot encountered are represented by setting the global variable XX ( I) = 0. To initiallyschedule the failure event in the SUBROUTINE INTLC, the SLAM Ii’s SCHDL (KEVENT, DTIME, A ) subroutine is called. Where KEVENT denotes the eventcode of the event being scheduled and DTIME denotes the number of time units from thecurrent time , TNOW, that the event is to occur. Attributes associated with an event arespecified by passing the buffer array A as the third argument of subroutine SCHDL. For this46Table 5-1. Global variables used for representingstates in SLAM 11 simulation programglobal variable variable descriptionf 1.0 , the UP state or a state encountered)Q( ( j ) XX ( I = l 0.0 the DN state or a stale not encounteredXX(1)XX (2)XX (3)XX (4)XX (5)XX (21)XX ( 22)XX ( 23)XX ( 24)XX(25)XX ( 26)XX ( 27)XX ( 28)XX(29)XX(30)XX(31)XX ( 32)XX(33)XX(34)XX(35)XX ( 36)state of machine 1 (MCistate of machine 2 ( MC2)state of machine 3 ( MC3state of machine 4 ( MC4)state of machine 5 ( MC5)system state 1system state 2system state 3system state 4system state 5system state 6system state 7system state 8system state 9system state 10system state 11system state 12system state 13system state 14system state 15system state 1647C Subroutine INTLC )Assign attribute 1the machine #Schedule theFAILURE EVENTfor all the machines( Return DDefine the initialstate of all the machines to UP statebysettingXX(I)= 1.0Define the initial states of thesystem based on the initialstates of all the machines“7Figure 5-1 Flowchart of SUBROUTINE INTLC48simulation study, code 1 is used for failure event and code 2 for repair event. For the failureevent, the number of time units is defined by an exponential distribution with the meanvalue of MTTF , i. e.DTIME = EXPON ( MTTF)There is only one attribute (ATRIB (1)) being defined to identify the five machines, forexample , ATRIB (1) =1.0 means that the failure event of machine I is scheduled. The flowchart of Subroutine INTLC is shown in Figure 5-1Once the SUBROUTINE FAILURE is called, the failure event will happen. The serialnumber of a machine that has failed is identified by attribute 1 and the global variableXX ( I) corresponding to the failed machine is set equal to zero indicating that the machineis catching the down state. The system state transits from the original one to current oneby changing the value of global variable XX ( I) in which the previous state is indicatedby 0.0 and the current state by 1.0 meaning that the current state is encountered. The repairevent will be scheduled in this subroutine for the failed machines. This is done by callingSLAM II subroutine of SCHDL ( KEVENT, DTIME , A). Where code KEVENT = 2,indicates a repair event and DTIME = EXPON ( MTFR) is the repair time. The flow chartof SUBROUTINE FAILURE is shown in Figure 5-2.When SUBROUTINE REPAIR is called, the failed machine has been repaired. The state ofthis machine is then changed from DN (down) to UP and the state of the system transitsfrom the previous one, i.e. XX( I) =1.0, to current one, i.e. XX( 1) =0.0. This is also done byresetting the value of the global variable XX (I ) equal to 1.0 for the machine repairedand the system state encountered. The subsequent failure events are scheduled in SUBROUTiNE REPAIR. The flow chart of subroutine REPAIR is shown in Figure 5-3. TheSLAM II SUMMRY REPORT of all the statistics for time-persistent variables that representevery state of all the machines and the system is given in Figure 5-4 , where,49(Subroutine FAlLU)Define machine # IMC = ATRIB(1 )Set the failed machines to down state bydefining XX ( IMC) = 0.01Determine the system state according tothe combination of the states of all themachines in system. Set current systemstate to 1 .0 and original state to 0.0[ Define DTi = MTTR (i = 1 ,23,4,5)___1___Schedule the REPAIR eventfor the failed machinesCATRIB (1) = 1MG *RETURN 1.oDFigure 5-2 Flowchart of SUBROUTINE FAILURE50(Subroutine REPAIRDefine machine # IMC = ATRIB (1)_]“VSet the machine that has beenrepaired to the UP state throughXX(IMC) 1.0Determine the current system statethrough combining the current statesof all the machines in the system__F_Schedule subsequentFAILURE EVENTATRlB(1 )=lMC1.0RETURN JFigure 5-3 Flowchart of SUBROUTINE REPAIR51MCISTPRB , machine 1 state probabilityMC2STPRB , machine 2 state probabilityMC3STPRB , machine 3 state probabilityMC4STPRB , machine 4 state probabilityMC5STPRB , machine 5 state probabilityMCSTPRB1 , system state probability of state 1MCSTPRB2 , system state probability of state 2MCSTPRBi , system state probability of state iMCSTPRB15 , system state probability of state 15MCSTPRB16, system state probabiiity of state 165.2 The Material handling SubsystemThe SLAM II simulation for the material handling system (subsystem 1) is similar to theone for machining system (subsystem 2). The simulation for subsystem 1 is simpler becausethe AGV system has only two components AGVI and AGV2 and the total system slatesare four. The SLAM II SUMMRY REPORT that shows the state probabilities of AGVsand subsystem 1 is given in Figure 5-5. Where,AGV1STPRB , AGVI state probabilityAGV2STPRB , AGV2 state probabilityAGVSTPRB1 , AGV system state probability of state 1AGVSTPRB2 , AGV system slate probability of state 252SLAM II SUMMARY REPORTSIMULATION PROJECT: PROCESSING SUBSYSTEM STATE PROBABILITYDATE 5/25/1994 BY FUHONG DAI RUN NUMBER 1OF 1CURRENT TIME .5000E+05STATISTICAL ARRAYS CLEARED AT TIME • 0000E+00**5TATI5TIC5 FOR TIME—PERSISTENT VARIABLES**MEAN STANDARD MINIMUM MAXIMUMVALUE DEVIATION VALUE VALUETIME CURRENTINTERVAL VALUEMC1STPRB .990 .101 .00 1.00 50000.000 1.00MC2STPRB .991 .096 .00 1.00 50000.000 1.00MC3STPRB .991 .095 .00 1.00 50000.000 1.00MC4STPRB .991 .096 .00 1.00 50000.000 1.00MC5STPRB .990 .099 .00 1.00 50000.000 1.00MCSTPRB1 .953 .211 .00 1.00 50000.000 1.00MCSTPRB2 .010 .100 .00 1.00 50000.000 .00MCSTPRB3 .009 .095 .00 1.00 50000.000 .00MCSTPRB4 .009 .094 .00 1.00 50000.000 .00MCSTPRB5 .009 .095 .00 1.00 50000.000 .00MCSTPRB6 .010 .098 .00 1.00 50000.000 .00MCSTPRB7 .000 .009 .00 1.00 50000.000 .00MCSTPRB8 .000 .008 .00 1.00 50000.000 .00MCSTPRB9 .000 .009 .00 1.00 50000.000 .00MCSTPRB1O .000 .010 .00 1.00 50000.000 .00MCSTPRB11 .000 .012 .00 1.00 50000.000 .00MCSTPRB12 .000 .012 .00 1.00 50000.000 .00MCSTPRB13 .000 .010 .00 1.00 50000.000 .00MCSTPRB14 .000 .010 .00 1.00 50000.000 .00MCSTPRB15 .000 .006 .00 1.00 50000.000 .00MCSTPRB16 .000 .014 .00 1.00 50000.000 .00Figure 5-4 SLAM II sumary report of processing subsystem53SLAM II SUMMARY REPORTSIMULATION PROJECT: MATERIAL HANDLING SUBSYSTEM STATE PROBABILITYDATE 5/25/1994 BY FUHONG DAI RUN NUMBER 1 OF 1CURRENT TIME .5000E+05STATISTICAL ARRAYS CLEARED AT TIME • 0000E+00**STATISTICS FOR TIME-PERSISTENT VARIABLES**MEAN STANDARD MINIMUM MAXIMUM TIME CURRENTVALUE DEVIATION VALUE VALUE INTERVAL VALUEAGV1STPRB .990 .100 .00 1.00 50000.000 1.00AGV2STPRB .990 .097 .00 1.00 50000.000 1.00AGVSTPRB1 .981 .138 .00 1.00 50000.000 1.00AGVSTPRB2 .010 .099 .00 1.00 50000.000 .00AGVSTPRB3 .009 .097 .00 1.00 50000.000 .00AGVSTPRB4 .000 .008 .00 1.00 50000.000 .00Figure 5-5. SLAM II summary report of material handling subsystem.AGVSTPRB3 , AGV system state probability of state 3AGVSTPRB4 , AGV system state probability of state 4The comparisons and conclusions are presented in chapter 7.0.54556.0 PERFORMANCE SIMUlATION OF THE FMSIn this chapter, we present the performance simulation of the FMS to see the operations of thethe system. Based on the system as shown in Figure 21, we can construct a computer modelof the system. The jobs first arrive at the load/unload ( L /U) station. A job type (JT) willbe defined for each job. The job type determines:(1) The number of machines to be visited(2) The index number ( 1DX) of the machine to be visited, i.e. which machine will bevisited first, second and third etc.(3) The processing time of the job on each machineIn this study, for the purpose of demonstration, we arbitrarily define five job types. Table6-1 shows the routings of the job types defined and Table 6-2 gives the processing timeof each job type on the corresponding machines defined. In the simulation program, we usetwo dimensional arrays to represent:(1) The machines to be visited, MTV ( JT, IDX)(2) The processing time, PST (JT, DX)The travel time (TRT) of AGV is given in Table 6-3 in the matrix form. A two dimensionalarray TRT ( i, j) is used to represent the travel time of AGV, where i , j = 1,2,3,4,5,6,7,8.Constant processing times( minutes) are assumed for each job.In this study, two AGVs are employed in the material handling system. Whenever an AGVis requested, always the nearest available one is called. The simulation starts from theSUBROUTINE INTLC and the simulation model is built up in this subroutine by definingtwo AGVs, five machines and one load / unload station. Each machine has an input bufferto store the parts waiting for processing and an output buffer to store the parts waiting to be56IndexJob No. o 1 2 3 4 5 6type1 L MCi MC5 MC3 MC2 U 02 L MC2 MC3 MC5 MC4 U 03 L MC3MC4MC1 U 0 04 L MC4MC5MC1 U 0 05 L MC5 MCi MC4 MC2 MC3 uTable 6-1. Routings of the job types defined.IndexJob No. 0 1 2 3 4 5 6typei 0. 20. 20. 30. 25. 0. 0.2 0. 30. 20. 25. 20. 0. 0.3 0. 25. 30. 25 0. 0. 0.4 0. 25. 20. 30. 0. 0. 0.5 0. 20. 20. 25. 20. 25. 0.Table 6-2. Processing time of each job typeat the coresponding machines defined.57To (I)LocationNo. 1 2 3 4 6 7 81 0.0 4.0 4.0 4.0 2.0 2.0 1.0 3.02 4.0 0.0 2.0 2.0 4.0 4.0 3.0 1.03 4.0 2.0 0.0 2.0 4.0 4.0 3.0 1.0From 4 4.0 2.0 2.0 0.0 4.0 4.0 3.0 1.05 2.0 4.0 4.0 4.0 0.0 2.0 1.0 3.06 2.0 4.0 4.0 4.0 2.0 0.0 1.0 3.07 1.0 3.0 3.0 3.0 1.0 1.0 0.0 2.08 3.0 1.0 1.0 1.0 3.0 3.0 2.0 0.0Table 6-3. AGV travel time between any two locations.58taken away. All the initial conditions of the AGVs and machines are also defined in thissubroutine. After defining the travel time (TRT), machine to be visited (MTV) and thethe processing time (PST) , the initial creation of the job will be scheduled by calling theSLAM II SUBROUTINE SCHDL (1, 0.0, ATRIB). Attribute 3 will be used to definethe index number of the first machine that will be visited at the beginning. The flowchart ofSUBROUTINE INTLC is shown in Figure 6-1. The subsequent events of the simulation are(1) Generating job type (GNRJT)(2) Despatching AGV ( DSPAGV)(3) Processing event (PROCS)(4) Breaking down event ( BRKDN ) of the machines or AGVs and(5) Repairing event ( REPAIR) of the machines and AGVsThe GNRJT subroutine generates the subsequent jobs with five different job types defineduniformly by calling SLAM Ii’s SUBROUTINE SCHDL ( EVENT, DTIME , ATRIB),whereEVENT = 1 , the event code andDTIME = UNFRM (20.0, 30.0), the time incrementWhenever SUBROUTINE GNRJT is called, the input buffer of the machine to be visitedby the job generated will be checked first. If the number of the parts waiting at the buffer isless than ten, the job generated will be sent to this buffer by calling the nearest availableAGV. Otherwise the job generated will wait at the L/U station by storing the job in a storagearea identified in SLAM II as file 12. To send the job to the machine assigned, event 2,dispatching AGV will be scheduled by calling SUBROUTINE SCHDL ( 2, DTIME,ATRIB). The logic of SUBROUTINE GNRJT is shown in Figure 6-2.59cSUBROUT1NE INTLcDEstablish 5 machines and 2 AGVs and initially setall the machines and AGVs idle. At the beginning,both of the AGVs stop at the buffer point 7Define the travel time (TRT) of AGV, machine to bevisited ( MTV) for each job type and the processingtime ( PST ) of each job type at machines to be visitedDefine Attribute 3 the indexNo. of machine to be visitedSchedule create thejob type at time 0.0Initially schedule thebreaking down eventsof maclimes and AGVs( RETURN DFigure 6-1 Flowchart of SUBROUTINE INTLC60SUBROUTINE GNRJTSchedule subsequent generationof job and job types uniformlyDefine attribute 2 the job type andattribute 1 the mark time of the jobgenerated ( TNOW)Store the jobenerated at the load/unload Nstation( file 12 ) and check the firstmachine to be visited of the job type: RETURNis the No. of parts at the inputbuffer of the machineless than 3?YesNoIs there any AGV available? RETURNYesGO TO 80Schedule despatching AGVIf both AGV1 and AGV2 are available,GO TO 100If only one AGV is available thenGO TO 200Figure 6-2 Flowchart of SUBROUTINE GNRJB (continued on next page)61200Yes‘Jr()Always the nearest AGV is called. DefineJTO (job to ) = MTV ( machine to bevisited) , set the called AGV busy anddetermine the travel time of called AGVGOTO7OCall the idle AGV and define JTO = MTV.In the case of both AGVs must use asame route, has the idle AGV wait.Determine the travel time of called AGVand set the idle AGV busy.Define attribute 4 the rank No. of AGVcaled. Schedule the called AGV move onesection by calling the subroutineSCHDL ( 2 , DT1ME , ATRIB)Figure 6-2 Continued62The event 2 is employed to schedule dispatching the busy AGVs, I. e. the AGV is either onthe way to the calling point (the AGV is empty) or to the destination of the job of whichthe AGV is requested (the AGV is loaded with the job). The busy AGV will be scheduledto move section by section and the impending route of the scheduled AGV will always bechecked whether the route is occupied by another busy AGV. If the route is occupied, awaiting time (which is equal to the travelling time of the AGV through the route) will beadded to the travel time of the scheduled AGV. When the scheduled AGV arrives to itsdestination and the destination is a machine , the job will be unloaded from the AGV andthe processing event will be scheduled if the machine is idle. In case the machine is busythe job will be stored at the input buffer of the machine. If the destination is L / U station, itmeans that the job has completed all its pwcessings . After unloading the job at the L / Ustation, the job leaves the system. The flow chart of SUBROUTINE DSPAGV is shown inFigure 6-3.Whenever SUBROUTINE PROCS is called, a job processing has been completed at amachine. The input buffer of that machine will be checked whether there is any job waiting.If a job is waiting for processing, the subsequent processing event will be scheduled. In casethere is no job waiting at the input buffer of that machine, the machine will be set to idlestatus. Figure 6-4 shows the flow chart of SUBROUTINE PROCS.Event 4 is the break down event (BRK[)N). Once SUBROUTINE BRKDN is called, amachine or an AGV is down. The operation of a broken down machine or an AGV ishalted by removing the processing event or the AGV dispatching event from the file ofevent calendar. The remaining operation time is stored in an array RMT( I) , where I = 1,2, 3, 4, 5, 6, 7 corresponding to each busy AGV or machine whenever the breaking downevent happens. The corresponding repair event will then be scheduled in this subroutine. The63flowchart of SUBROUTINE BRKDN is shown in Figure 6-5.The final event is the repair event ( REPAIR). The broken down machine or an AGV isrepaired whenever SUBROUTINE REPAIR is called. After finishing the repair work , thebroken down machine or AGV will resume work and complete the remaining operation.The subsequent break down event will be scheduled for a repaired machine or AGV. Figure6-6 shows the flowchart of SUBROUTINE REPAIR.About a ten week (or 99000.0 minute ) simulation was run and the following data werecollected,(1) Statistics for Lime-persistent variables and(2) File statisticsThe time-persistent variables include the utilization and the proportion of time in up stateof each machine (machine to machine 5 ) and each AGV (AGVI and AGV2). The filestatistics shows the queue size of each input buffer and output buffer, where file No. 1,2,3,4and 5 are input buffers and 7,8,9,10, and lithe output buffers corresponding to machine 1,2,3, 4 and 5. The SLAM II periodic summary reports are shown in Figures 6 - 7 and thereports were produced every 33000.0 minutes.64€OUTlNE DSP31Schedule despatching the busy AGVsYes_=zzEE both AGV5 busyZNocheduleboth AGV1(GOTO 39) and AGV2GOTO 40). Does the called AGV visitrequested point?Nloaded.Is the AGVNoYesGO TO 41(for AGV1G0T044(for AGV2oes the Noloaded AGV reaches itsdestination?YesRETURNLoad a part on the AGv bysetting LD = 1 and removethe job from the output bufferof a machine (file (lOB ) ) orthe L?U station ( file (12))Schedule despatching thisAGV to its destination.GO TO 300Schedule a calledAGV move onesection towards itsrequested point.If the route isis occupied, hasone of the twoAGVs wait.GO TO 300Schedule loaded AGV moving onesection towards its destination. Ifcoincidently the route is occupiedthen plus the waiting time to thetravel time of the AGV.GO TO 300Figure 6-3 Flowchart of SUBROUTINE DSPAGV (continued on next page)65the called AGVthe requested point?Schedule thecalled AGVmoving onesection towardsits destinationGO TO 300Load a part on the AGV calledand schedule the AGv movingone section towards itsdestinationGO TO 300NoSchedule the loaded AGVmoving one section towardsits destinationATRIB (2 ) = JT*1.0ATRIB ( 3 ) = IDX*I.0ATRIB (4) = IAGV*1.OCALL SCHDL( 2, DTIME,ATR1B)RETURNFigure 6-3 Continued6643The requested AGVhas reached its destinationunloading the part from the AGV by settinLD = 0.0, having it return to the buffer point 7 ( or 8 Nand setting it idle. If the destination is the L/U station,RETURNIf the destination is a machine thenis the machine busy?YesUnload the part at the input buffer of themachine visited ( call subroutine FILEM)8Is there any part Nowaiting at the output buffer of the machine RETURNjust visited?YesTaking the parthat has the longest waiting t’and determine the destination of the part No RETUlNIs there any AGV avalabiYesNoAre both AGVs are available? GO TO 600Yes( GO TO 500DNoFigure 6-3 Continued67Call the nearest AGV, remove the part from theoutput buffer of the maclithe and load it on (hecalled AGV. Schedule despatching the up AGV.GOTO 18®t11eavailableAGVdownYesNo(4)Call the available AGV, remove the part fromthe output buffer of the machine and load it onthe called AGV. Schedule despatching the AGV.If a route is occupied, plus a waiting time to thetravel time of the called AGV.ATRIB(2)=JT* 1.0ATRIB(3)=IDX*1.0ATRIB ( 4) = IAGV *1.0CALL SCHDL ( 2, DTIME, ATRIB)RETURNSet the idleto work and schedule the procevent ( event 3 ) by CALL SCHDL (3,DTIME,ATRIB]there any part waiting at the out1tof the machineFigure 6-3 Continued68SUBROUTINE PROCSnce the subroutineROCS is called, a part has completedone of the processings then checking : is there any partwaiting at the input buffer ofthe machine?NoYesYesSet the machine idle : XX ( IMC ) = 0.0Change the index No. of the part processed byATRIB ( 3 ) = IDX * 1.0 + 1.0 then put the parton the ouput buffer of the machine by:CALL FILEM (lOB (IMC ), ATRIB)RETURNIf there are more than one part waiting at theinput buffer, remove the part that has longestwaiting time and schedule processing the partby:CALL SCFIDL ( 3, DTIME , ATRIB)Change the index No. of the part processed atthis machine ( ATRIB (3 ) = IDX* 1.0+1.0)and put the part on the output buffer of themachine byCALL FILEM (lOB ( IMC ), ATRIB)RETU RNENDFigure 6-4 Flowchart of SUBROUTINE PRC)CS69Halting the busy AGv or machineby remove the corresponding eventfrom the evetiL calendar fileFigure 6-5 Flowchart of SUBROUTINE BRKDN70repaired AGV orbefore breaking down?YesReschedule the eventfor the remainingoperation timeScheduling the subsequentbreaking down eventFigure 6-6 Flowchart of SUBROUTINE REPAiR71SIMULATION PROJECT : FMS PERFORMANCEDATE 5/10/1994 RUN NUMBER 1OF 1CURRENT TIME .3300E+05STATISTICAL ARRAYS CLEARED AT TIME 0000 E+ 00**STATISTICS FOR TIME-PERSISTENT VARIABLES****FILE STATISTICS**FILENUMBER LABEL/TYPEAVERAGE STANDARDLENGTH DEVIATIONMAXIMUM CURRENT AVERAGELENGTH LENGTH WAIT TIMESLAM II Summary Report of(continued on next page)FMS System PerformanceSLAM II SUMMARY REPORTBY FUHONG DAIMEAN STANDARD MINIMUM MAXIMUMVALUE DEVIATION VALUE VALUETIME CURRENTINTERVAL VALUEUTILIZATION MCi .485 .500 .00 1.00 33000.000 .00UTILIZATION MC2 .576 .494 .00 1.00 33000.000 1.00UTILIZATION MC3 .848 .359 .00 1.00 33000.000 1.00UTILIZATION MC4 .629 .483 .00 1.00 33000.000 .00UTILIZATION MC5 .306 .461 .00 1.00 33000.000 .00UTILIZATION AGV1 .752 .432 .00 1.00 33000.000 1.00UTILIZATION AGV2 .375 .484 .00 1.00 33000.000 .00AGV1UPSTATE .998 .043 .00 1.00 33000.000 1.00AGV2UPSTATE .995 .074 .00 1.00 33000.000 1.00MC1UPSTATE .997 .052 .00 1.00 33000.000 1.00MC2UPSTATE 1.000 .000 1.00 1.00 33000.000 1.00MC3UPSTATE .994 .078 .00 1.00 33000.000 1.00MC4UPSTATE .997 .057 .00 1.00 33000.000 1.00MCSUPSTATE 1.000 .000 1.00 1.00 33000.000 1.001 IB1 .187 .511 4 0 13.9342 IB2 .190 .503 5 0 11.6773 1B3 1.065 1.251 6 1 29.5654 IB4 .431 .864 6 0 20.2415 IB5 .053 .240 2 0 9.4656 UNLOAD .000 .011 1 0 .4337 OB1 3.514 1.005 5 5 117.8538 OB2 3.960 1.428 6 5 109.9149 OB3 4.554 1.618 7 5 98.09510 OB4 4.166 1.612 7 5 120.812ii 0B5 2.518 .694 3 3 127.27012 LOAD 70.500 44.417 150 149 1766.51813 CALENDAR 12.997 1.584 17 12 13.217Figure 6-772SLAM IISIMULATION PROJECT : FMS PERFORMANCE BY FUHONG DAIDATE 5/10/1994 RUN NUMBER 1OF 1CURRENT TIME .6600E+05STATISTICAL ARRAYS CLEARED AT TIME 0000E+00**STATISTICS FOR TIME-PERSISTENT VARIABLES****FILE STATISTICS**SUMMARY REPORTMEAN STANDARD MINIMUM MAXIMUMVALUE DEVIATION VALUE VALUETIME CURRENTINTERVAL VALUEUTILIZATION MCi .506 .500 .00 1.00 66000.000 1.00UTILIZATION MC2 .575 .494 .00 1.00 66000.000 .00UTILIZATION MC3 .856 .351 .00 1.00 66000.000 1.00UTILIZATION MC4 .635 .481 .00 1.00 66000.000 1.00UTILIZATION MC5 .304 .460 .00 1.00 66000.000 1.00UTILIZATION AGV1 .757 .429 .00 1.00 66000.000 1.00UTILIZATION AGV2 .384 .486 .00 1.00 66000.000 .00AGV1UPSTATE .995 .067 .00 1.00 66000.000 1.00AGV2UPSTATE .995 .074 .00 1.00 66000.000 1.00MC1UPSTATE .996 .064 .00 1.00 66000.000 1.00MC2UPSTATE .999 .038 .00 1.00 66000.000 1.00MC3UPSTATE .994 .078 .00 1.00 66000.000 1.00MC4UPSTATE .998 .040 .00 1.00 66000.000 1.00MC5UPSTATE .995 .072 .00 1.00 66000.000 1.00FILE AVERAGE STANDARD MAXIMUM CURRENT AVERAGENUMBER LABEL/TYPE LENGTH DEVIATION LENGTH LENGTH WAIT TIME1 IB1 .243 .627 6 0 16.0272 IB2 .185 .481 5 0 11.3333 1B3 1.257 1.570 9 0 33.5724 1B4 .451 .946 8 4 21.2775 1B5 .075 .309 4 0 12.6366 ULOAD .000 .012 1 0 .3637 OB1 4.218 1.333 7 6 135.4598 OB2 4.603 1.317 6 6 127.5389 OB3 6.056 2.377 10 9 128.90210 OB4 4.477 1.946 9 1 128.80611 OB5 3.184 1.045 5 4 163.04012 LOAD 146.426 88.025 304 303 3668.99313 CALENDAR 13.187 1.596 18 14 13.256Figure 6-7 Continued73SLAM IISIMULATION PROJECT FMS PERFORMANCE BY FUHONG DAIDATE 5/10/1994 RUN NUMBER 1OF 1CURRENT TIME .9900E+05STATISTICAL ARRAYS CLEARED AT TIME 0000E+O0**STATISTICS FOR TIME-PERSISTENT VARIABLES****FILE STATISTICS**SUMMARY REPORTMEAN STANDARD MINIMUM MAXIMUMVALUE DEVIATION VALUE VALUETIME CURRENTINTERVAL VALUEUTILIZATION MCi .509 .500 .00 1.00 99000.000 1.00UTILIZATION MC2 .570 .405 .00 1.00 99000.000 1.00UTILIZATION MC3 .848 .359 .00 1.00 99000.000 1.00UTILIZATION MC4 .637 .481 .00 1.00 99000.000 .00UTILIZATION MC5 .303 .460 .00 1.00 99000.000 1.00UTILIZATION AGV1 .758 .428 .00 1.00 99000.000 .00UTILIZATION AGV2 .381 .486 .00 1.00 99000.000 .00AGV1UPSTATE .995 .069 .00 1.00 99000.000 1.00AGV2UPSTATE .996 .065 .00 1.00 99000.000 1.00MC1UPSTATE .995 .067 .00 1.00 99000.000 1.00MC2UPSTATE .999 .031 .00 1.00 99000.000 1.00MC3UPSTATE .996 .064 .00 1.00 99000.000 1.00MC4UPSTATE .993 .081 .00 1.00 99000.000 1.00MC5UPSTATE .997 .059 .00 1.00 99000.000 1.00FILENUMBER LABEL/TYPEAVERAGE STANDARD MAXIMUM CURRENT AVERAGELENGTH DEVIATION LENGTH LENGTH WAIT TIME1 IB1 .234 .590 6 1 15.0302 IB2 .185 .482 5 0 11.4583 1B3 1.181 1.549 9 2 32.5974 1B4 .466 .935 8 0 21.8525 IB5 .069 .291 4 0 11.2646 UNLOAD .000 .011 1 0 .3527 OB1 4.902 1.535 7 5 157.2018 0B2 4.820 1.211 6 5 134.7329 OB3 6.750 2.374 10 7 145.24810 OB4 4.235 1.823 9 6 121.49011 OB5 3.670 1.147 5 4 187.76412 LOAD 223.703 133.291 455 454 5602.47413 CALENDAR 13.280 1.620 18 13 13.384Figure 6-7 Gontinued74CONCLUSIONSPresented in this study was the examination of two different approaches for investigatingthe reliability (or availability ) of a flexible manufacturing system with an AGV basedmaterial handling subsystem. The multiplicity of the AGVs, machines, processing routesand sequences, and consequently the states, make the problems of reliability analysismathematically involved.To build up an analytical model of the system, the state space approach( Markov processes)was employed. State truncation and state merging techniques enabled adequate simplifica(ion of the calculations. A 16 x 16 system of differential equations for the processingsubsystem and a 4 x 4 system of differential equations for the material handling subsystemwere solved for state probabilities i.e. the availabilities and unavailabilities, using Mathcad.The SLAM II simulation model built was based on the basic repairable components of thesystem and that two status transition modes were assumed. Different failure and repairrates were examined for both simulation and mathematical analysis. The simulation resultof the availabilities and unavailabilities were very close to the analytical ones. Comparedto the analytical model, the simulation procedure was easier to be built up by carefullydefining the variables of every state of the system. For the analytical case, if based on thestatus of basic components of the system to carry out the calculations, several matricesmust be composed and solved. This becomes much tedious if more system componentsare involved and larger matrices must be handled.A performance simulation model was also developed using SLAM II discrete eventsimulation method. The model was used to examine the system operation. The result isuseful for the engineers designing similar flexible manufacturing systems to that shownin Figure 2-1.REFERENCES[1] Pourbabai, B. “Analysis and Design of an Integrated Material Handling SystemINT. J.PROD. RES., 1988, VOL. 26 , NO. 7, PP1125-1236.[2] Noble , J. S., Tangchoco , J. M. A. “A Framework for Material Handling SystemDesign Justification INT. J. PROD. RES. , 1993, VOL. 31 NO. 1, PP81-106.[3] Shang, J. S. , Tadikamalla, P. R. “Output Maximization of a CIM System: Simulationand Statistical Approach” INT. J. PROD. RES., 1993, VOL. 31, No. 1, PP19-41.[4] Dhillon, B. S. , Singh , C. “Engineering Reliability, New Techniques andApplications” 1981; Wiley.[5 1 Singh, C. , Billinton, R. “System Reliability Modelling and Evaluation” 1977;Hutchinson of London.[6 1 Dhillon, B. S. , Rayapati, S. N. “Models to Evaluate Reliability andAvailability of Transportation systems “, Proceedings of the lASTED InternationalSymposium on Modelling and Simulation, Lugano, Switzerland, 1991, PP306-309.[7] Srinivasan, S. K., Mehat , K. M. “Stochastic Processes” 1978 , McGRAW-HILLBook Company.[8] Pritsker, A. A. B. “Introduction to simulation and SLAM II” 1984 , Halsted Press[9 1 Banks, J. “The Simulation of Material Handling Systems” SIMULATION, NOV.1990, PP261-270.[10] Leung, L. C., Maheshwari, S. K. , Miller, W. A. “Concurrent Part Assignment andTool Allocation in FMS with Material Handling Considerations” IIVT. 3. PROD. RE’S.,1993 vol. 31, No.1, PP117-138.mc[11] Mahadevan , B. , Narendran, T. T. “Design of an Automated Guided Vehicle-basedMaterial Handling System for a Flexible Manufacturing System” IMT. J. PROD. RES.,1990, VOL 28, NO. 9, PP161 1-1622.[12 1 Eghelu, P. J. , and Tanchoco , J. M. A. , 1986, “Potentials for hi-directional guidePath for Automated Guided Vehicle Based Systems” INT. J .PROD. RES. , 1986,VOL 24 PP 1075-1098.[13] Yim, D. S. , Linn, R. J. “Push and Pull Rules for Dispatching Automated GuidedViehicles in a Flexible Manufacturing System “ INT. J. PROD. RES. , 1993, VOL. 31,No. 1, PP43-57.[14 1 “Mathcad 3.1, User’s Guide” 1992, MathSoft Inc.71Apndk IMATHCAD Output of State Probability Calculationsof Material Handling SubsystemI-IInput the failure rate and repair rateORIGIN 1 TOL =0.0000001 ).:=——:= 1.0 i : 1..4 j 1..41(X)Input the transition rates inmatrix form-2•). k ). 0R- -+IL) 00-.÷p.) )0 .t -2•Calculate the elgenvalues of matrix R and generate the diagnal matrix D at time t=5000.Or := eigenvals (R) t := 5000.0 andD(,) :=exp[(r1).t]Calculate the elgenvectors and generate the matrix S:Si eigenvec (R,ri) S(I,l) ;= Si1S2 := eigenvec(R,r) S(1,2) := S21S3 := eigenvee(R,r) S(13) := S31S4 eigenvec(R,r) S(1,4) := S4Calculate the state probability matrix:P SDS’Given the initial state by a row vector asPO;=(i 0 0 0)The state probabilities can be calculated by:SP :=POPThe state probabilities of the material handling subsystem at time “t with the initialcondition of PU Is as follow:SP = ( 0.98 0.01 0.01 9.803. )Appendix IIMATHCAD Output of State Probability Calculationsof the Processing Subsystem11-iInput the failure rate and repair rate80 90 10() 110 1201 1 1 1 1:=— *2 :=—ORIGIN 1 TOL 0.0000001 i 1.. 16 j 1.. 16Construct the transition rate matrix R and first define the diagnal elements:ROl := -(1÷ A2÷ 3÷ A4÷ )5) R99 := -(i1 ÷ i4)R22 :=-(i1 + k2÷ A3÷ 4÷ )4 RiO :-(i1 ÷ i5)R33 := -1÷ + A.3÷ 4÷ A5) Ru := -(i2 ÷ ii3)R44 :=-(M÷ A2-t- ii3 j- ).4÷ ?.5) R12 :=-(ti ÷ i4)R55 := -(1÷ 2÷ )3+ t4 ÷ R13 := -(t3 ÷ i5)R66 := -(M÷ A2÷ A3÷ A.4÷ i5) R14 := -(p3 ÷ p4)R77 := -(p4 + p2) R15 := -(i3 + p5)R88 := -(t1 ÷ R16 := -(p4 ÷ p5)ROl i ).2 A3 4 5 0. 0. 0. 0. 0.p4 R22 0. 0. 0. 0. )2 3 2\.4 5 0.p2 0. R33 0. 0. 0. Al 0. 0. 0. A3p3 0. 0. R44 0. 0. 0. Al 0. 0. A20. 0. 0. R55 0. 0. 0. Al 0. 0.uS 0. 0. 0. 0. R66 0. 0. 0. Al 0.0. p2 p1 0. 0. 0. R77 0. 0. 0. 0.0. p3 0. [11 0. 0. 0. R88 0. 0. 0.R1:= R2:=0. i’ 0. 0. p1 0. 0. 0. R99 0. 0.0. p5 0. 0. 0. p1 0. 0. 0. RIO 0.0. 0. p3 p4 0. 0. 0. 0. 0. 0. Ru0. 0. p4 0. p2 0. 0. 0. 0. 0. 0.0. 0. p5 0. 0. p2 0. 0. 0. 0. 0.0. 0. 0. p4 p3 0. 0. 0. 0. 0. 0.0. 0. 0. p5 0. p3 0. 0. 0. 0. 0.0. 0. 0. 0. p5 p4 0. 0. 0. 0. 0.11-20. 0. 0. 0. 0.0. 0. 0. 0. 0.A4 ;s 0. 0. 0.0. 0. ).4 25 0.A2 0. )3 0. )50. 2 0. 3 )4 Augmenting the three matrices Ri ,R2 and R30. 0. 0. 0. 0. R4 augment (Ri ,R2)0. 0. 0. 0. 0.R30. 0. 0. 0. 0.0. 0. 0. 0. 0. R augment(R4,R3)0. 0. 0. 0. 0.R12 0. 0. 0. 0.0. R13 0. 0. 0.0. 0. R14 0. 0.0. 0. 0. R15 0.0. 0. 0. 0. R16—0.051 0.013 0.011 0.01 0.009 0.008 0 0 0 0 0 0 0 0 0 01.25 —1.289 0 0 0 0 0.011 0.01 0.009 0.008 0 0 0 0 0 01.111 0 —1.151 0 0 0 0.013 0 0 0 0.01 0.009 0.008 0 0 01 0 0 —1.041 0 0 0 0.013 0 0 0.011 0 0 0.009 0.008 00.909 0 0 0 -0.951 0 0 0 0.013 0 0 0.011 0 0.01 0 0.OuR 0.833 0 0 0 0 -0.876 0 0 0 0.013 0 0 0.011 0 0.01 00090 1.1111.250 0 0 —2.3610 0 0 0 0 0 0 0 00 1 0 1.250 0 0 —2.250 0 0 0 0 0 0 00 0.9090 0 1.250 0 0 -2.1590 0 0 0 0 0 00 0.833 0 0 0 1.25 0 0 0 —2.083 0 0 0 0 0 00 0 1 0.9090 0 0 0 0 0 —2.1110 0 0 0 ()0 0 0.9090 1.1110 0 0 0 0 0 —2.020 0 0 00 0 0.8330 0 1.1110 0 0 0 0 0 —1.833() 0 00 0 0 0.909 1 0 0 0 0 0 0 0 0 —1.909 0 00 0 0 0.8330 1 0 0 0 0 0 0 0 0 -1.833()0 0 0 0 0.833 0.909 0 0 0 0 0 0 0 0 0 -I.7-l211-3Calculate the eigenvalues of matrix R and arbitrarily give the time point t=5000.0then to generate the diagnal matrix D:r eigenvais (R)D(1,) exp[(r1).t]5000.0Calculate the elgenvectors and generate the matrix S:Si eigenvec (R ,r1) S5 eigenvec(R,r) S9 eigenvec(R,r)S2 eigenvec(R,r) S6 eigenvec(R,r) SiO eigenvec(R,r10)S3 eigenvec(R ,r3) S7 eigenvec(R ,r7) Sli eigenvec(R ,rii)S4 eigenvec(R ,r4) S8 := eigenvec(R ,r8) S12 eigenvec(R ,r12)S(1,j) Si1 S(,5) := S5 S(f,9) S9S(I,2) S21 S(1,6) S6 S(i,lo) S101S(1,3) S31 S(1,7) S71 S(1,li)S(1,4) S41 S(f,g) S81 S(,l2) S121Calculate the state probabilly matrix using Equation,P SDS1Given the Initial condition by a row vectorP0:=(1000000000000000)Si3 eigenvec(R,r13)S14 eigenvec(R ,r14)S15 eigenvec(R,r15)S16 eigenvec(R,r16)S(,13) S1315(i,14) Si41S(1,5) S151S(1,6) S16iThe state probabilities at time ‘t ‘ with the initial condition P0 can be calculatedthrough the Equation,SP :=P0P73The ouput of the state probabilities given by a eolunrn vector as klIow:0.9140.0090.0090.0090.009T= 0,0099.i45.i09.132. 10’9.l42 10’9.147. 10”9.135. 109.144’ 10’9.703.109.134. 109.138. 109.146. 10The state probabilities of reduced state space of the processing subsystem11-4Appendix IIIComputer Listing of SLAM 11 Discrete Event Simulationof State Probabilities of Material Handling Subsystem“I—iSUBROUTINE EVENT( I)GO TO (1,2),ICC DEFINE EVENT CODE 1 AS SUBROUTINE “FAILURE”C1 CALL FAILURERETURNCC DEFINE EVENT CODE 2 AS SUBROUTINE REPAIRC2 CALL REPAIRRETURNENDCSUBROUTINE INTLC$INCLUDE: PARAIVI. INC$INCLUDE: ‘SCOMi .COMCC INITIALIZE AGVS TO UP STATECC AGV1 IS UPXX(1)1 .0C AGV2 IS UPXX(2)1 .0C BOTH AGVS ARE UPXX(8)1 .0C ONLY AGV1 IS DOWNXX(9)0 .0C ONLY AGV2 IS DOWNXX(10)0.0C BOTH AGV1 AND AGV2 ARE DOWNXX(11)=0. 0CC SCHEDULE EVENT 1 (FAILURE)CC ASSIGN ATTRIBUTE 1 THE AGV #CATRIB(1)=1 .0CALL SCHDL(1,EXPON(100. , 1) ,ATRIB)ATRIB(1)=2.0CALL SCHDL(1,EXPON(100.,1),ATRIB)CRETURNENDCSUBROUTINE FAILURE$INCLUDE: ‘PARAN.INC’$INCLUDE: SCOM1.COMCIAGVATRIB ( 1)CC SCHEDULE REPAIR EVENTCGO TO(201,202),IAGVC201 XX(1)=0.0GO TO 300202 XX(2)0.0C300 XX(8)0.0IF(XX(1) .EQ.0.0.AND.XX(2) .GT.0.0) THENXX(9)1 .076111—2ELSEIF(XX(1).GT.0.0.AND.XX(2).EQ.0.0) THENXX(10)=1.0ELSEIF(XX(1) .LT.1.0.AND.XX(2).LT.1.0) THENXX(11)=1.0ENDIFEND IFENDIFGO TO(301,302),IAGV301 CALL SCHDL(2,EXPON(1.,1),ATRIB)GO TO 350302 CALL SCHDL(2,EXPON(1. , 1) ,ATRIB)C350 ATRIB(1)IAGV*1.ORETURNENDCSUBROUTINE REPAIR$INCLUDE: PARAM. INC’$INCLUDE: SCOM1 .COMCIAGV=ATRIB ( 1)CXX(8)0 .0XX(9)=0.0XX(10)=0.0XX(11)0 .0CGO TO(401,402),IAGV401 XX(1)1.0GO TO 450402 XX(2)=1.0450 IF(XX(1) .GT.0.0.AND.XX(2) .GT.0.0) THENXX(8)=1 .0ELSEIF(XX(1).EQ.0.0.AND.XX(2).GT.0.0) THENXX(9)=1.0ELSEIF(XX(1) .GT.0.0..AND.XX(2) .EQ.0.0) THENXX( 10)1 .0ELSEIF(XX(1) .EQ.0.0.AND.XX(2) .EQ.0.0) THENXX(11)=1.0ENDIFENDIFENDIFENDIFCC SCHEDULE SUBSEQUENT FAILURE EVENTSCGO TO(101,102),IAGVC101 CALL SCHDL(1,EXPON(100. , 1) ,ATRIB)GO TO 550102 CALL SCHDL(1,EXPON(100. ,1),ATRIB)C550 ATRIB(1)=IAGV*1.0RETURNEND71Appendix IVComputer Listing of SLAM 11 Discrete Event Simulationof State Probabilities of the Processing SubsystemSUBROUTINE EVENT(I)GO TO (1,2),ICC DEFINE EVENT CODE 1 AS SUBROUTINE ‘FAILURE”C1 CALL FAILURERETURNCC DEFINE EVENT CODE 2 AS SUBROUTINE “ REPAIRC2 CALL REPAIRRETURNENDCSUBROUTINE INTLC$INCLUDE: ‘PARM.INC$INCLUDE: ‘SCOMi .COM’CC INITIALIZE MACHINES TO UP STATECC MCi IS UPXX(3)=1 .0C MC2 IS UPXX(4)=i. 0C MC3 IS UPXX(5)1.0C MC4 IS UPXX(6)1 .0C MC5 IS UPXX(7)1. 0C ALL THE MACHINES ARE UPXX(21)=1.0C ONLY MCi IS DOWNXX(22)0 .0C ONLY MC2 IS DOWNXX(23)=0 .0C ONLY MC3 IS DOWNXX(24)0.0C ONLY MC4 IS DOWNXX(25)0.0C ONLY MC5 IS DOWNXX(26)=0 .0C ONLY MCi AND MC2 ARE DOWNXX(27)=0 .0.ONLY MCi ANDXX(28)=0.0.ONLY MCi ANDXX(29)0 .0.ONLY MCi ANDXX(30)=0 .0.ONLY MC2 ANDXX(31)=0 .0.ONLY MC2 ANDXX(32)=0.0.ONLY MC2 ANDXX(33)=0. 0.ONLY MC3 ANDXX(34)=0 .0.ONLY MC3 ANDXX(35)0 .0.ONLY MC4 ANDXX(36)=0.0MC3 ARE DOWNMC4 ARE DOWNMC5 ARE DOWNMC3 ARE DOWNMC4 ARE DOWNMC5 ARE DOWNMC4 ARE DOWNMC5 ARE DOWNMC5 ARE DOWN7?‘v-iCCCCCCCCCCIV- 2C SCHEDULE EVENT 1 (FAILURE)CC ASSIGN ATTRIBUTE 1 THE MACHINE #CATRIB(1)1.0CALL SCHDL(1,EXPON(80.,1),ATRIB)ATRIB(1)=2.0CALL SCHDL(1,EXPON(90. , 1),ATRIB)ATRIB(1)=3.0CALL SCHDL(1,EXPON(100. , 1) ,ATRIB)ATRIB(1)4 .0CALL SCHDL(1,EXPON(110. , 1) ,ATRIB)ATRIB(1)5.0CALL SCHDL(1,EXPON( 120., 1) ,ATRIB)CRETURNENDCSUBROUTINE FAILURE$INCLUDE: PARAI4.INC$INCLUDE: SCOM1 .COM’CXMC=ATRIB ( 1)IMC=XMCCC SCHEDULE REPAIR EVENTCGO TO(201,202,203,204,205) ,IMCC201 XX(3)0.0GO TO 300202 XX(4)0.0GO TO 300203 XX(5)=0.0GO TO 300204 XX(6)0.0GO TO 300205 XX(7)=0.0C300 SUM=XX(3)+XX(4)+XX(5)+XX(6)+XX(7)XX(21)0.0C IF ENCOUNTERING STATE 2IF(XX(3) .EQ.0.0.AND.SUM.EQ.4.0) THENXX(22)=1.0ENDIFC IF ENCOUNTERING STATE 3IF(XX(4) .EQ.0.0.AND.SUM.EQ.4.0) THENXX(23)1.0ENDIFC IF ENCOUNTERING STATE 4IF(XX(5) .EQ.0.0.AND.SUM.EQ.4.0) THENXX(24)1 .0ENDIFC IF ENCOUNTERING STATE SIF(XX(6) .EQ.0.0.AND.SUM.EQ.4.0) THENXX ( 25 ) = 1 . 0ENDIFC IF ENCOUNTERING STATE 6IF(XX(7) .EQ..0.0.AND.SUM.EQ.4.0) THENXX(26)1.0ENDIFC IF ENCOUNTERING STATE 7IF(SUM.EQ.3.0) THENIV- 3IF(XX(3) .EQ.0.0.AND.XX(4) .EQ.0.0) THENXX(27)=1 .0ENDIFC IF ENCOUNTERING STATE 8IF(XX(3) .EQ.0.0.AND.XX(5) .EQ.0.0) THENXX(28)=1 .0ENDIFC IF ENCOUNTERING STATE 9IF(XX(3) .EQ.0.0.AND.XX(6) .EQ.0.0) THENXX(29)1.0ENDIFC IF ENCOUNTERING STATE 10IF(XX(3) .EQ.0.0.AND.XX(7) .EQ.0.0) THENXX(30)1 .0ENDIFC IF ENCOUNTERING STATE 11IF(XX(4) .EQ.0.0.AND.XX(5) .EQ.0.0) THENXX(31)1 .0ENDIFC IF ENCOUNTERING STATE 12IF(XX(4) .EQ.0.0.AND.XX(6) .EQ.0.0) THENXX(32)1 .0ENDIFC IF ENCOUNTERING STATE 13IF(XX(4) .EQ.0.0.AND.XX(7) .EQ.0.0) THENXX(33)=1 .0ENDIFC IF ENCOUNTERING STATE 14IF(XX(5) .EQ.0.0.AND.XX(6) .EQ.0.0) THENXX(34)=1 .0ENDIFC IF ENCOUNTERING STATE 15IF(XX(5) .EQ.0.0.AND..XX(7) .EQ.0.0) THENXX(35)=1.0ENDIFC IF ENCOUNTERING STATE 16IF(XX(6) .EQ.0.0.AND.XX(7) .EQ.0.0) THENXX( 36)=1.0ENDIFENDIFCDT1=.8DT2=.9DT3=1.DT4=1.1DT5=1 .2CGO TO(301,302,303,304,305) ,IMCC301 CALL SCHDL(2,EXPON(DT1, 1) ,ATRIB)GO TO 350302 CALL SCHDL(2,EXPON(DT2,1),ATRIB)GO TO 350303 CALL SCHDL(2,EXPON(DT3,1),ATRIB)GO TO 350304 CALL SCHDL(2,EXPON(DT4,1),ATRIB)GO TO 350305 CALL SCHDL(2,EXPON(DT5,1),ATRIB)C350 ATRIB(1)IMC*1.0RETURNENDCf/fSUBROUTINE REPAIR$INCLUDE: ‘PARAM. INC$INCLUDE: ‘SCOMi .COMCXMC=ATRIB ( 1)IMC’XMCXX(21)0.0XX(22)0 .0XX(23)=0.0XX(24)=0.0XX(25)=0.0XX(26)=0.0XX(27)=0.0XX(28)=0.0XX(29)=0.0XX(30)=0 .0XX(31)0.0XX(32)=0 .0XX(33)=0.0XX(34)’O.OXX(35)=0.0XX(36)=0.0CGO TO(401,402,403,404,405) ,IMC401 XX(3)=1.0GO TO 450402 XX(4)=1.0GO TO 450403 XX(5)1.0GO TO 450404 XX(6)=1.0GO TO 450405 XX(7)1.0GO TO 450450 SUM=XX(3)+XX(4)+XX(5)+XX(6)+XX(7)CC IF ENCOUNTERING STATE 1IF(SUM.EQ.5.0) THENXX ( 2 1 ) = 1 . 0ELSEIF(SUM.EQ.4.0) THENC IF ENCOUNTERING STATE 2IF(XX(3) .EQ.0.0) THENXX(22)=1 .0ENDIFC IF ENCOUNTERING STATE 3IF(XX(4).EQ.0.0) THENXX(23)1 .0ENDIFC IF ENCOUNTERING STATE 4IF(XX(5).EQ.0.0) THENXX(24)=1 .0ENDIFC IF ENCOUNTERING STATE 5IF(XX(6) .EQ.0.0) THENXX(25)=1 .0END IFC IF ENCOUNTERING STATE 6IF(XX(7).EQ.0.0) THENXX(26)=1.0ENDIFELSECIV-4IV— 5IF(SUM.EQ.3.0) THENC IF ENCOUNTERING STATE 7IF(XX(3) .EQ.0.0.AND.XX(4) .EQ.0.0) THENXX ( 27) 1 . 0ENDIFC IF ENCOUNTERING STATE 8IF(XX(3) .EQ.0.0.AND.XX(5) .EQ.0.0) THENXX(28)=1 .0ENDIFC IF ENCOUNTERING STATE 9IF(XX(3) .EQ.0.0.AND.XX(6) .EQ.0.0) THENXX(29)=1 .0ENDIFC IF ENCOUNTERING STATE 10IF(XX(3) .EQ.0.0.AND.XX(7) .EQ.0.0) THENXX(30)1.0ENDIFC IF ENCOUNTERING STATE 11IF(XX(4) .EQ.0.0.AND.XX(5) .EQ.0.0) THENXX(31)=1.0ENDIFC IF ENCOUNTERING STATE 12IF(XX(4) .EQ.0.0.AND.XX(6) .EQ.0.0) THENXX(32)=1.0ENDIFC IF ENCOUNTERING STATE 13IF(XX(4) .EQ.0.0.AND.XX(7) .EQ.0.0) THENXX(33)=1. 0END IFC IF ENCOUNTERING STATE 14IF(XX(5) .EQ.0.0.AND.XX(6) .EQ.0.0) THENXX(34)1 .0ENDIFC IF ENCOUNTERING STATE 15IF(XX(5) .EQ.0.0.AND.XX(7) .EQ.0.0) THENXX ( 35 ) = 1 . 0ENDIFC IF ENCOUNTERING STATE 16IF(XX(6) .EQ.0.0.AND.XX(7) .EQ.0.0) THENXX ( 36 ) = 1 . 0ENDIFENDIFENDIFENDIFCC SCHEDULE SUBSEQUENT FAILURE EVENTSCGO TO(101,102,103,104,105), IKCC101 CALL SCHDL(1,EXPON(80.,1),ATRIB)GO TO 550102 CALL SCHDL(1,EXPON(90. , 1) ,ATRIB)GO TO 550103 CALL SCHDL(1,EXPON( 100.11) ,ATRIB)GO TO 550104 CALL SCHDL(1,EXPON(110.,1),ATRIB)GO TO 550105 CALL SCHDL(1,EXPON(120. , 1) ,ATRIB)C550 ATRIB(1)IMC*1.0RETURNEND7?Appendix VComputer Listing of SIAM II Discrete Event Simulationon Performance of the Flexible Manufacturing SystemV-iSUBROUTINE EVENT ( I)GOTO (1,2,3,4,5), I1 CALL GNRJTRETURN2 CALL DSPAGVRETURN3 CALL PROCSRETURN4 CALL BRKDNRETURN5 CALL REPAIRRETURNENDCSUBROUTINE INTLC$INCLUDE: PARAM.INC’$INCLUDE: SCOM1 .COM’COMMON/DAI1/MTV(5, 6)COMMON/DAI2/PST(5, 6)COMMON/DAI3/TRT(8, 8)COMMON/DAI4/JAGV( 2)COMMON/DAIS/lOB(S)COMMON/DAI6/ISTP(2)COMMON/DAI7/ITO( 2)COMMON/DAI8/LD(2)COMMON/DAI9/IUP(7)COMMON/DAI1O/1U4T( 7)COMMON/DAI11/IJT(7)COMMON/DAI12/JIDX( 7)C SET THE ORIGINAL STATUS OF THE MACHINES, AGVS AND OUTPUT BUFFERSNMC=5NLU1NAGV=2NOB5C ESTABLISH 5 MACHINESDO 10 1=1, (NMC+NLU)10 XX(I)0.C ESTABLISH 2 AGVSDO 11 J=1,NAGVJAGV(J)=J+NMC+NLU+NOBXX(JAGV(J) )=0.C AT THE BEGINNING, BOTH AGVS STOP AT LOCATION 7 ANDC...... ‘ITO’ IS THE DESTINATION OF AN AGVISTP(J)=7ITO ( J ) 0C ‘LD’GIVES THE LOADING STATUS OF AGV AND 0’ MEANS EMPTYii LD(J)=0C ESTABLISH 5 OUTPUT BUFFERS (lOB)DO 12 K=1,NOB12 IOB(K)=K+NMC+NLUC SET THE ORIGINAL STATUS OF AGVS AND MACHINES UPDO 15 11=1,7IUP( II)=II+NMC+NOB+NAGV+NLU15 XX(IUP(II))=1.0C DEFINE THE TRAVEL TIME (TRT) OF AGVTRT(1,2)=8.TRT(1, 3)=8.TRT(1,4)8.TRT( 1, 5)=4.TRT(i,6)’=4.TRT(1,7)2.TRT(1,8)=6.V- 2TRT(2, l)=8.TRT(2, 3)=4.TRT(2,4)=4.TRT(2,5)8.TRT(2,6)8.TRT(2,7)=6.TRT(2, 8)=2.TRT(3, 1)=8.TRT(3, 2)4.TRT(3, 4)=4.TRT(3, 5)=8.TRT(3,6)=8.TRT(3,7)=6.TRT(3,8)=2.TRT(4, l)=8.TRT(4, 2)4.TRT(4,3)4.TRT(4,5)=8.TRT(4,6)=8.TRT(4,7)=6.TRT(4,8)2.TRT(5, 1)=4.TRT(5,2)=8.TRT(5,3)=8.TRT(5,4)8.TRT(5, 6)=4.TRT(5,7)=2.TRT(5,8)=6.TRT(6, 1)=4.TRT(6,2)=8.TRT(6, 3)=8.TRT(6,4)=8.TRT(6,5)=4.TRT(6,7)=2.TRT(6,8)=6.TRT(7, 1)=2.TRT(7 , 2)=6.TRT(7,3)=6.TRT(7 ,4)=6.TRT(7,5)2.TRT(7 , 6)=2.TRT(7 8)=4.TRT(8, 1)=6.TRT(8,2)=2.TRT(8, 3)=2.TRT(8,4)=2.TRT(8,5)=6.TRT(8,6)=6.TRT(8,7)4.C DEFINE THE MACHINES TO BE VISITED(MTV)MTV(1, 1)=1MTV(1,2)5MTV(1,3)=3MTV(1,4)2MTV(1, 5)=6MTV(2, 1)=2MTV(2, 2)=3MTV(2, 3)=5MTV(2, 4)=4MTV(2, 5)=6MTV(3, 1)=3MTV(3, 2)=4V- 3MTV ( 3, 3) 1MTV(3 , 4)=6MTV(4, 1)=4MTV ( 4 , 2 ) = 5MTV ( 4, 3 ) = 1MTV(4 , 4)=6MTV(5, 1)=5MTV ( 5, 2 ) = 1MTV(5, 3)=4MTV(5 , 4)=2MTV(5, 5)=3MTV(5,6)=6C DEFINE THE PROCESSING TIME PSTPST(1,1)=10.PST(1, 2)=10.PST( 1, 3)=15.PST(1,4)=12 .5PST(1,5)=0.5PST(1, 6)=0.PST(2, 1)=15.PST(2, 2)=10.PST(2, 3)=12 .5PST(2, 4)=10.PST(2 , 5)=0 .5PST(2,6)=0.PST(3, 1)=12.5PST(3,2)=15.PSP(3, 3)=12 .5PST(3,4)=0.5PST(3,5)=0.PST(3, 6)=0.PST(4, 1)=12.5PST(4,2)=10.PST(4, 3)=15.PST(4,4)0.5PST(4,5)0.PST(4,6)=0.PST(5,1)=10.PST(5,2)=10.PST(5,3)=12.5PST(5,4)=10.PST(5, 5)=12 .5PST(5, 6)=0.5C DEFINE ATTRIBUTE 3 THE INDEX # OF A MACHINE TO BE VISITEDATRIB(3)1.C SCHEDULE CREATING THE JOB AT TIME 0.CALL SCHDL(1,0.,ATRIB)C SCHEDULE THE INITIAL BREAK DOWN EVENTATRIB(5)=1.0CALL SCHDL(4,EXPON(15000.,1),ATRIB)ATRIB(5)=2 .0CALL SCHDL(4,EXPON(15000.,1),ATRIB)ATRIB(5)=3.0CALL SCHDL(4,EXPON(19200. , 1) ,ATRIB)ATRIB(5)=4 .0CALL SCHDL(4,EXPON(19800.,1),ATRIB)ATRIB(5)=5.0CALL SCHDL(4,EXPON(20400.,1),ATRIB)ATRIB(5)=6 .0CALL SCHDL(4,EXPON(21000.,1),ATRIB)ATRIB(5)=7.0CALL SCHDL(4,EXPON(21600.,1),ATRIB)V— 4RETURNENDCSUBROUTINE GNRJT$INCLUDE: PARAM. INC$INCLUDE: SCOM1 .COMCOMI4ON/DAI1/MTV(5, 6)COM1v1ON/DAI2/PST(, 6)COMNON/DAI3/TRT(8, 8)COMMON/DAI4/JAGV( 2)COMMON/DAI5/IOB(5)COMMON/DAI6/ISTP(2)COMMON/DAI7/ITO(2)COMMON/DAI8!LD(2)COMMON/DAI9/IUP(7)COMMON/DAI1O/RMT(7)COMNON/DAI11/IJT(7)COMMON/DAI12/JIDX( 7)C SCHEDULE SUBSEQUENT GENERATION OF JOB TYPECALL SCHDL(1,UNFRM(20.0,30.0, 1),ATRIB)C GENERATE JOB TYPE UNIFORMLYZ=UNFRM(0.0, 1.0,1)IF(Z .GE.0 .0.AND.Z .LE.0.2) XJT=’1.IF(Z.GT.0.2 .AND.Z.LE.0.4) XJT2.IF(Z .GT.O.4.AND.Z.LE.0.6) XJT3.IF(Z.GT.0.6.AND.Z.LE.0.8) XJT4.IF(Z.GT.O.8.AND..Z.LE. 1.0) XJT=5.C DEFINE ATTRIBUTE 2 THE JOB TYPE #ATRIB(2)=XJTIDX=ATRIB(3)C ASSIGN ATTRIBUTE 1 THE MARK TIMEATRIB ( 1) TNOWC DEFINE JT’ JOB TYPE, JFM’JOB FROM AND ‘JTO’JOB TOC . .STORE JOB GENERATD IN FILE 12CALL FILEM(12,ATRIB)JFM=6NN=NFIND(1,12,2,0,XJT,0.0)JTXJTC CHECK IF THE SIZE OF THE INPUT BUFFER OF A MACHINE LESS THAN 10IF(NNQ(JT).LE.10.0) GO TO 80RETURNC SCHEDULE DESPATCHING AGV80 IF(XX(JAGV(1)).EQ.0..AND.XX(JAGV(2)).EQ.0.) GOTO 100IF(XX(JAGV(1)).EQ.0..AND.XX(JAGV(2)).GT.0.) GO TO 200IF(XX(JAGV(2)).EQ.0..AND.XX(JAGV(1)).GT.0.) GO TO 20090 RETURN100 IF(XX(IUP(1)).EQ.0.0.AND.XX(IUP(2)).EQ.0.0) GO TO 90CALL RMOVE(NN, 12 ,ATRIB)JTO=MT’J(JT, IDX)T1=TRT(ISTP( 1) ,JFM)T2=TRT(ISTP(2) ,JFM)IF(T2.LT.T1) THENIAGV=2ELSEIAGV 1ENDIFIF(XX(IUP(1)) .EQ.0.0) THENIAGV=2ELSEIF(XX(IUP(2)) .EQ.0.0) THENIAGV=1ENDIFV- 5ENDIFC SCHEDULE CALLING THE NEAREST AGVXX(JAGV(IAGV) )1 .0C IF THE CALLED AGV STOPS AT 8IF(ISTP(IAGV).EQ.8) THENDT=TRT(ISTP(IAGV) , 7)ITO(IAGV)=7ELSEDT=TRT(ISTP(IAGV) ,JFM)ITO ( IAGV)JFMENDIFGO TO 70C IF ONLY ONE AGV IDLE200 IF(XX(JAGV(1)).EQ.0.0.AND.XX(IUP(1)).EQ.0.0) GO TO 90IF(XX(JAGV(2)) .EQ.0.0.AND.XX(IUP(2)) .EQ.0.0) GO TO 90CALL R1’4OVE(NN,12,ATRIB)JTO=MTV(JT, IDX)IF(XX(JAGV(l)).GT.0.) THENXIDLE=2.ELSEXIDLE=1.ENDIFIDLE=XIDLEXX(JAGV(IDLE))=1..0IF(IDLE.EQ.1) THENIBUSY=2ELSEIBUSY=lEND IFIF(ISTP(IDLE).EQ.8) THENITO(IDLE)=7IF(ISTP(IBUSY).EQ.7.AND.ITO(IBLJSY).EQ.8) THENDT=TRT(ISTP(IDLE) ,7)*2ELSEDT=TRT(ISTP(IDLE) , 7)ENDIFELSEDT=TRT(ISTP(IDLE) ,JFM)ITO(IDLE)JFMENDIFIAGVIDLE70 ATRIB(2)=JT*1.0ATRIB(3)=IDX*1.ATRIB(4)=IAGV*1.IJT(IAGV)=JTJIDX(IAGV)=IDXCALL SCHDL(2,0.5*DT,ATRIB)RETURNENDCSUBROUTINE DSPAGV$INCLtJDE: ‘PARAM. INC$INCLtJDE: SCOM1 .COMCOMMON/DAI1/MTV(5, 6)COMMON/DAI2/PST(5, 6)COMMON/DAI3/TRT(8, 8)COMMON/DAI4/JAGV(2)COMMON/DAI5/IOB(5)COMMON/DAI6/ISTP(2)COMI40N/DAI7/ITO(2)COMMON/DAI8/LD(2)COMMON/DAI9/IUP( 7),97COMMON/DAI1O/RMT(7)COMMON/DAI11/IJT(7)COMMON/DAI12/JIDX(7)C SCHEDULE DESPATCHING THE BUSY AGVSIF(XX(JAGV(1)).GT.0..AND.XX(JAGV(2)).GT.0.) GOTO 100IF(XX(JAGV(1)).GT.0..AND.XX(JAGV(2)).EQ.0.) GO TO 200IF(XX(JAGV(2)).GT.0..AND.XX(JAGV(1)).EQ.O.) GOTO 200C IF BOTH AGVS ARE BUSY100 IF(XX(IUP(1)).EQ.0.0.AND.XX(IUP(2)).EQ.0.0) GOTO 320lAGV=ATRIB(4)GO TO(39,40), IAGVC FOR AGV(1)39 IF(XX(IUP(1)).EQ.0.0) GOTO 320ISTP(1)=ITO(1)JT=ATRIB (2)IDX=ATRIB(3)IF(IDX.EQ.1) THENJFM=6ELSEJFM=MTV(JT, (IDX—1))ENDIFJTO=t’ITV ( JT, IDX)IF(LD(1).EQ.1) GO TO 41C IF REQUESTED AGV ARRIVESIF(ISTP(1).EQ.JFM) THENLD(1)1IF(JFM.GT.1.AND.JFM.LT.5) THENITO( 1)=8DTTRT(JFM, 8)ELSEITO(1)=7DT=TRT(JFM, 7)ENDIFELSEITO(1)=JFMDT=TRT(ISTP(1) ,JFM)ENDIFC SCHEDULE DESPATCHING AGV(1)GO TO 300C WHEN PART IS LOADED ON AGV(1)41 IF(ISTP(1)..EQ.JTO) THENIAGV= 1GO TO 43ELSEIF(JTO.GT. 1.AND.JTO.LT.5) THENIF(ISTP(1).EQ.8) THENITO(1)JTOIF(ISTP(2).EQ.JTO.AND.ITO(2).EQ.8) THENDT=TRT(ISTP(1),ITO(1))*3ELSEDT=TRT(ISTP(1),ITO(1))*2ENDIFELSEIF(ISTP(1) .EQ.7) THENITO(1)8DT=TRT(ISTP(1) ,ITO(1))ENDIFENDIFELSEC IF DESTINATION IS MC1,MC5 OR L/U STATIONIF(ISTP(1).EQ.7) THENITO(1)=JTOV— 6V- 7IF(ISTP(2) .EQ.JTO.AND.ITO(2) .EQ.7) THENDTTRT(ISTP(1),ITO(1))*3ELSEDT=TRT(ISTP(1) ,ITO(1))*2END IFELSEIF(ISTP(1).EQ.8) THENITO(1)=7IF(ISTP(2).EQ.7.AND.ITO(2).EQ.8) THENDT=TRT(ISTP(1),ITO(1))*2ELSEDTTRT(ISTP( 1), ITO( 1))ENDIFENDIFENDIFEND IFENDIFC SCHEDULE DESPATCTCHING AGV(1)GO TO 300C FOR AGV(2)40 IF(XX(IUP(2)).EQ.0.0) GOTO 320ISTP(2)=ITO(2)JT=ATRIB (2)IDX=ATRIB(3)IF(IDX.EQ.1) THENJFM=6ELSEJFM=MTV(JT, (IDX-1))ENDIFJTO=MTV ( JT, IDX)IF(LD(2).EQ.1) GO TO 44C WHEN NO PART LAODED ON AGV(2)IF(ISTP(2).EQ.JFM) THENLD (2) = 1IF(JFM.GT.1.AND.JFM.LT.5) THENITO(2)=8DT=TRT(JFM, 8)ELSEITO(2)=7DT=TRT(JFM, 7)ENDIFELSEITO(2)=JFMDT=TRT(ISTP(2) ,JFM)ENDIFC SCHEDULE DESPATCHING AGV(2)GO TO 300C WHEN PART IS LOADED ON AGV(2)44 IF(ISTP(2).EQ.JTO) THENIAGV=2GO TO 43ELSEC TO MC2,MC3 OR MC4IF(JTO.GT. 1.AND.JTO.LT.5) THENIF(ISTP(2).EQ.8) THENITO(2)=JTOIF(ISTP(1).EQ.JTO.AND.ITO(1).EQ.8) THENDT=TRT(ISTP(2) ,ITO(2) )*3ELSEDT=TRT(ISTP(2),ITO(2))*2ENDIFELSEV- 8IF(ISTP(2).EQ.7) THENITO(2)=8DTTRT(ISTP(2) ,ITO(2))ENDIFENDIFELSEC IF AGV(2) GOES TO MC1,MC5 OR L/U STATONIF(ISTP(2).EQ.7) THENITO(2)=JTOIF(ISTP(1).EQ.JTO.AND.ITO(1).EQ.7) THENDT=TRT(ISTP(2) ,ITO(2))*3ELSEDT=TRT(ISTP(2) ,ITO(2))*2ENDIFELSEIF(ISTP(2).EQ.8) THENITO(2)7IF(ISTP(1).EQ.7.AND.ITO(1) .EQ.8) THENDT=TRT(ISTP(2) ,ITO(2) )*2ELSEDT=TRT(ISTP(2) ,ITO(2))END IFENDIFENDIFENDIFENDIFGO TO 300C IF ONLY ONE AGV BUSY200 IF(XX(JAGV(1)).GT.0.0) THENIAGV1ELSEIAGV=2ENDIFIF(XX(IUP(IAGV)).EQ.0.0) GO TO 320ISTP(IAGV)1T0(IAGV)JTATRIB (2)IDX=ATRIB(3)IF(IDX.EQ.1) THENJFM=6ELSEJFM=MTV(JT, (IDX-1))ENDIFJTO=MTV(, IDX)C IF THE BUSY AGV WAS LOADEDIF(LD(IAGV).EQ.1) GO TO 50C IF THE BUSY AGV IS UNLOADEDIF(ISTP(IAGV).EQ.JFM) THENLD(IAGV)=1IF(JFM.GT. 1.AND.JFM.LT.5) THENITO(IAGV)8DT=TRT(JFM, 8)ELSEITO(IAGV)=7DTTRT(JFM, 7)ENDIFELSEC IF MC2,MC3 OR MC4 CALL AGVIF(JFM.GT.1.AND.JFM.LT.5) THENITO( IAGV)=JFMDT=TRT(8 ,JFM)ELSEITO ( IAGV) JFMf-azDT=TRT(7, JFM)ENDIFENDIFGO TO 300C IF THE PART IS LOADED ON AGV(BUSY)50 IF(ISTP(IAGV).EQ.JTO) GO TO 43IF(JTO.GT. 1.AND.JTO.LT.5) THENIF(ISTP(IAGV).EQ.8) THENITO ( IAGV) =JTODT=TRT(8,JTO)*2ELSEITO(IAGV)8DT=TRT(ISTP(IAGV) ,8)ENDIFELSEC IF DESTINATION IS MCi, MC5 OR L/U STATIONIF(ISTP(IAGV).EQ.7) THENITO ( IAGV) JTODTTRT(7 ,JTO)*2ELSEITO(IAGV)=7DT=TRT(ISTP(IAGV) ,7)ENDIFENDIFC SCHEDULE DESPATCHING AGV(i) OR AGV(2)300 ATRIB(2)=JT*i.ATRIB(3)=IDX*1.ATRIB(4)=IAGV*i.IJT(IAGV)=JTJIDX(IAGV)=IDXRMT ( IAGV) =TNOW+DTCALL SCHDL(2,0.5*DT,ATRIB)320 RETURNC IF LOADED AGV ARRIVES AT ITS DESTINATION43 JTO=MTV(JT,IDX)ATRIB(2)=JT*1.ATRIB(3)=IDX*i.XX(JAGV(IAGV) )=0.LD(IAGV)=0IF(JTO.GT.i.AND.JTO.LT.5) THENISTP(IAGV)=8ELSEISTP(IAGV)=7ENDIFATRIB(4)=0 .0IF(JTO.EQ.O) GO TO 48IF(XX(IUP(JTO+2)).EQ.0.0) GO TO 46IF(XX(JTO).EQ.0.0) GO TO 4546 CALL FILEM(JTO,ATRIB)IF(JTO..EQ.6) GO TO 54C CHECK IF THERE ARE ANY PART WAITINGC AT THE OUTPUT BUFFER OF MACHINE ‘JTOIF(NNQ(IOB(JTO)).EQ.0.0) GO TO 548 DO 4 IJ=i,5X IJ=IJN1=NFIND(1,IOB(JTO) ,2,0,XIJ,0.0)IF(Ni.EQ.1) JJT=XIJ4 CONTINUEDO 5 K=1,6XK=KN2=NFIND(i,IOB(JTO),3,0,XK,0.0)IF(N2.EQ.i) IIDX=XKV- 9f035 CONTINUEIF(XX(JAGV(1)).EQ.0..AND.XX(JAGV(2)).EQ.0.) GOTO 500IF(XX(JAGV(1)).EQ.0..AND.XX(JAGV(2)).GT.0.) GOTO 600IF(XX(JAGV(1)).GT.0..AND.XX(JAGV(2)).EQ.0.) GOTO 600C IF BOTH AGVS ARE BUSYRETURN500 IF(XX(IUP(1)).EQ.0.0.AND.XX(IUP(2)).EQ.0.0) GOTO 54T1=TRT(ISTP(1),JTO)T2=TRT(ISTP(2) ,JTO)IF(T2.LT.T1) THENIIAGV=2.ELSEIIAGV=1.ENDIFIF(XX(IUP(1)) .EQ.0.0) IIAGV=2IF(XX(IUP(2)).EQ.0.0) IIAGV=1C SCHEDULE CALLING THE NEAREST AGVXX(JAGV(IIAGV) )=1.0IF(JTO.GT.0.AND.JTO.LT.6) THENCALL RMOVE(1,IOB(JTO),ATRIB)ENDIFC IF MC2,MC3 OR MC4 REQUEST AGVIF(JTO.GT.1.AND.JTO.LT.5) THENC IF THE CALLED AGV STOPS AT 8IF(ISTP(IIAGV) .EQ.8) THENDT=TRT(ISTP(IIAGV) ,JTO)ITO(IIAGV)=JTOELSEDT=TRT(ISTP(IIAGV) ‘8)ITO(IIAGV)=8ENDIFC IF MC1,MC5 OR L/U REQUESTS AGVELSEIF(ISTP(IIAGV) .EQ.7) THENDT=TRT(ISTP(IIAGV) ,JTO)ITO(IIAGV)=JTOELSEDT’TRT(ISTP(IIAGV) ,7)ITO(IIAGV)=7ENDIFENDIFGO TO 18C IF ONE AGV IDLE AND ANOTHER ONE BUSY600 XIDLE0.DO 601 1=1,2IF(XX(JAGV(I)) .EQ.0.) XIDLE=I601 CONTINUEIDLE=XIDLEIF(XX(IUP(IDLE)).EQ.0.0) GOTO 54XX(JAGV(IDLE) )1.0IF(JTOGT. 0 .AND .JTO.LT. 6) THENCALL RMOVE(1,IOB(JTO),ATRIB)ENDIFIF(IDLE.EQ. 1) THENIBUSY=2ELSEIBUSY=1ENDIFC MC1,MCS OR L!U CALLS FOR AGVIF(JTO.LT.2.AND.JTO.GT.4) THENIF(ISTP(IDLE).EQ.8) THENITO(IDLE)=7v-bv-ilIF(ISTP(IBUSY).EQ.7.AND.ITO(IBTJSY).EQ.8) THENDT=TRT(ISTP(IDLE) ,7)*2ELSEDT=TRT(ISTP(IDLE) , 7)ENDIFELSEDT=TRT(ISTP(IDLE) ,JTO)ITO( IDLE )=JTOENDIFELSEC MC2,MC3 OR MC4 CALLS FOR AGVIF(ISTP(IDLE).EQ.8) THENDTTRT(ISTP(IDLE) ,JTO)ITO(IDLE)=JTOELSEITO(IDLE)=8IF(ISTP(IBUSY).EQ.8.AND.ITO(IBUSY).EQ.7) THENDT=TRT(ISTP(IDLE),8)*2ELSEDT=TRT(ISTP(IDLE) , 8)ENDIFENDIFENDIFI lAGV=X IDLEC SCHEDULE DESPATCHING AGV18 ATRIB(2)=JJT*1.ATRIB(3)=IIDX*1.ATRIB(4)=IIAGV*1.IJT( IIAGV)=JJTJIDX(IIAGV)=IIDXRMT(IIAGV)=TNOW+DTCALL SCHDL(2 , 0. 5*DT,ATRIB)54 RETURN45 XX(JTO)=1.0DT11.5*PST(JT, IDX)IJT(JTO+2)=JTJIDX(JTO+2)=IDXRMT (JTO+2 ) =TNOW+DT148 CALL SCHDL(3,DT1,ATRIB)IF(JTO.LT.6.AND.NNQ(IOB(JTO)).GT.0.0) GO TO 8RETURNENDCSUBROUTINE PROCS$INCLUDE: PARAM.INC$INCLUDE: SCOM1 .COM’COMNON/DAI1/MTV(5, 6)COMMON/DAI2/PST(5, 6)COMMON!DAI3/TRT(8, 8)COMMON/DAI4/JAGV( 2)COMMON/DAI5/IOB( 5)COMNON/DAI6/ISTP(2)COMMON/DAI7/ITO(2)COMMON/0A18/LD(2)COMMON/DAI9/IUP(7)COMMON/DAI1O/RMT(7)COMMON/DAI11/IJT(7)COMNON/DAI12/JIDX( 7)C WHEN PART ARRIVES TO THE MACHINEJTATRIB (2)IDX=ATRIB(3)IMC=MTV(JT, IDX)/afIF(NNQ(IMC).GT.0.) GOTO 9XX(IMC)=0.0IF(MTV(JT,(IDX+1)).EQ.0) GO TO 20IF(IMC.EQ.6) GO TO 20ATRIB(3)=IDX*i.+1.CALL FILEM(IOB(IMC) ,ATRIB)RETURN9 DO 10 IK=5,5YIK=IKMi=NFIND(1,IMC,2,0,YIK,0.0)IF(Mi.EQ.1) JT=YIK10 CONTINUEDO 15 JK1,6YJK=JKM2=NFIND( 1, IMC, 3,0 ,YJK, 0.0)IF(M2.EQ.i) IDXYJK15 CONTINUEIF(XX(IUP(IMC±2)).EQ.0.0) GOTO 20CALL RMOVE(i,IMC,ATRIB)DT1=1 . 5*PST(JT, IDX)IJT ( IMC+2 ) JTJIDX ( IMC+2 ) =IDXRMT ( IMC+2 )=TNOW+DT1CALL SCHDL(3,DT1,ATRIB)IF(MTV(JT,(IDX+i)).EQ.0) GO TO 20IF(IMC.EQ.6) GO TO 20ATRIB(2)=JT*i.ATRIB(3)=IDX*i .+1.CALL FILEM(IOB(IMC) ,ATRIB)20 RETURNENDCSUBROUTINE BRKDN$INCLtJDE: ‘PARàN.INC$INCLUDE: ‘SCOMi .COMCOMMON/DAI1/MTV(5, 6)COMMON/DAI2 /PST( 5,6)COMMON/DAI3/TRT(8, 8)COMMON/DAI4/JAGV(2)COMNON/DAI5/IOB(5)COMMON/DAI6/ISTP(2)COMMON/DAI7/ITO(2)COMMON/DAI8/LD(2)COMMON/DAI9/IUP(7)COMMON/DAI1O/RMT(7)COMMON/DAI11/IJT(7)COMMON/DAI12/JIDX(7)C SCHEDULE THE REPAIR EVENTDN=ATRIB(5)IDN=DNXX(IUP(IDN) )=0.0GO TO(i0i,102, 103,104,105,106,107),IDNC CHECK IF AN AGV OR A MACHINE IS BUSY101 RT=60.0IF(XX(JAGV(IDN)).EQ.0.0) GOTO 110ATRIB(4)=IDN*1.0GO TO 120102 RT=60.0IF(XX(JAGV(IDN)).EQ.0.0) GO TO 110ATRIB(4)=IDN*1.0GO TO 120103 RT=1.5*60.0V-i 2V-13IF(XX(1).EQ.0.0) GOTO 110GO TO 120104 RT=1.6*60.0IF(XX(2).EQ.0.0) GO TO 110GO TO 120105 RT=1.7*60.0IF(XX(3).EQ.0.0) GO TO 110GO TO 120106 RT=1.8*60.0IF(XX(4).EQ.0.0) GOTO 110GO TO 120107 RT=1.9*60.0IF(XX(5).EQ.0.0) GOTO 110120 K=NFIND(1,NCLNR,5,0,DN,0.0)C REMOVE THE BREAK DOWN EVENT FROM THE CALENDAR FILEIF(K.GT.0) THENCALL RMOVE(K,NCLNR,ATRIB)ENDIF110 ATRIB(5)=DNATRIB(2)=IJT(IDN)*1.0ATRIB(3)=JIDX(IDN)*1.0RMT ( IDN) =RMT ( ION) +RT-TNOWCALL SCHDL(5,RT,ATRIB)RETURNENDCSUBROUTINE REPAIR$INCLUDE: ‘PARAM.INC$INCLUDE: SCOM1 .COMCOMMON/DAI1/MTV(5, 6)COMMON/0A12/PST(5, 6)COMMON/DAI3/TRT( 8,8)COMMON/DAI4/JAGV(2)COMMON/DAI5/IOB(5)COMMON/DAI6/ISTP(2)COMMON/DAI7/ITO( 2)COMMON/DAI8/LD(2)COMMON/DAI9/IUP( 7)COMMON/DAI1O/RMT(7)COMMON/DAI11/IJT(7)COMMON/DAI12/JIDX(7)C SCHEDULE THE SUBSEQUENT BREAKDOWN EVENTUP=ATRIB ( 5)JUP=UPXJT=ATRIB(2)XIDX=ATRIB ( 3)XX(IUP(JUP) )1.0GO TO(201,202,203,204,205,206,207),JUP201 TTF=15000.0GO TO 210202 TTF=15000.0GO TO 210203 TTF=19200.0GO TO 210204 TTF=19800.0GO TO 210205 TTF=20400.0GO TO 210206 TTF=21000.0GO TO 210207 TTF=21600.0210 ATRIB(5)=UPio7V-14C SCHEDULE THE BREAK DOWN EVENT FOR THE REMAINING OPERATION TIMEIF(JUP.LE.2.AND.XX(JAGV(JUP)).EQ.0.0) GO TO 220IF(JUP.GT.2.AND.XX(JUP-2).EQ.O.0) GO TO 220IF(JUP.LE.2) THENIVNT=2ATRIB(4)JUP*l.0ELSEIVNT=3ENDIFATRIB(2)=XJTATRIB(3)=XIDXCALL SCHDL(IVNT,RMT(JUP) ,ATRIB)220 CALL SCHDL(4,EXPON(TTF,1),ATRIB)RETURNEND

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                        
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            src="{[{embed.src}]}"
                            data-item="{[{embed.item}]}"
                            data-collection="{[{embed.collection}]}"
                            data-metadata="{[{embed.showMetadata}]}"
                            data-width="{[{embed.width}]}"
                            async >
                            </script>
                            </div>
                        
                    
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:
http://iiif.library.ubc.ca/presentation/dsp.831.1-0087448/manifest

Comment

Related Items