Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

HStorage.h

Go to the documentation of this file.
00001 #ifndef HSTORAGE_INCLUDED
00002 #define HSTORAGE_INCLUDED
00003 
00004 #include <odem.h>
00005 
00006 #include <list>
00007 #include "CraneRequestq.h"
00008 #include "Bath.h"
00009 
00010 class SetOfRingStack;
00011 class Place;
00012 class Bin;
00013 class Res;
00014 
00015 
00016 
00017 
00018 class PlaceConfiguration {
00019         // Res-Funktionalität: zur Darstellung der Platzbelegung
00020 
00021         Place   *places[6];                             // Res- Objekte mit Kapazität= 1
00022                                                                         // zur Auslastungsstatistik eines Platzes
00023 public:
00024         // Port - Synchronisationsobjekte
00025         // zur Registrierung der Plätze als Abstell- oder Kühlplätze
00026         Buff_head               *parkingAirPlacesH;             // synchronisiert: Dispatcher
00027         Buff_tail               *parkingAirPlacesT;             // synchronisiert: Crane 
00028         Buff_head               *parkingVentilatorPlacesH;              // synchronisiert: Dispatcher
00029         Buff_tail               *parkingVentilatorPlacesT;              // synchronisiert: Furnace
00030         Buff_head               *airChillPlacesH;               // synchronisiert: Dispatcher
00031         Buff_tail               *airChillPlacesT;               // synchronisiert: Funace 
00032         Buff_head               *ventilatorChillPlacesH;                // synchronisiert: Dispatcher
00033         Buff_tail               *ventilatorChillPlacesT;                // synchronisiert: Funace 
00034         Buff_head               *waterChillPlacesH;             // synchronisiert: Dispatcher
00035         Buff_tail               *waterChillPlacesT;             // synchronisiert: Funace 
00036         Buff_head               *polymerChillPlacesH;           // synchronisiert: Dispatcher
00037         Buff_tail               *polymerChillPlacesT;           // synchronisiert: Funace 
00038 
00039         Buff_head               *blockedParkingPlacesH;         // synchronisiert: Dispatcher
00040         Buff_tail               *blockedParkingPlacesT;         // synchronisiert: Crane 
00041 
00042         // zur Übergabe der ParkPlätze vom Dispatcher an Kran
00043         // nach Kranauftrag "INSTORAGE"
00044         Buff_head               *takeOverPlacesH;
00045         Buff_tail               *takeOverPlacesT;               
00046 
00047         int             airChillRequests;               // offene LuftAbkühlForderungen
00048         int             ventilatorChillRequests;// offene VentilatorAbkühlForderungen
00049         int             waterChillRequests;             // offene WasserAbkühlForderungen
00050         int             polymerChillRequests;   // offene PolymerAbkühlForderungen
00051 
00052         Histo*  airBlocking;
00053         Histo*  ventilatorBlocking;
00054         Histo*  waterBlocking;
00055         Histo*  polymerBlocking;
00056         Histo*  transmissionBlocking;
00057         Histo*  restPreWait;    // restliche Vorabwartezeit von Paletten: mindestens 3h
00058 
00059         Histo*  ovenStartBlocking;
00060         Sum*    craneMoves;
00061         Histo*  craneStatistik;
00062         Histo*  palettiesStatistik;
00063 
00064         Sum*    allBlocking;
00065         CraneRequestq*  craneRequestQ;
00066                 
00067         PlaceConfiguration(char *id, CraneRequestq *cReq);
00068 
00069         //Parkplatzverwaltung
00070         Place* getNextFreeParkingPlace();
00071         Place* getNextFreeParkingVentilatorPlace();
00072         Place* findNextParker();
00073         void parking(Place* pl, SetOfRingStack* p); 
00074         void stopParking(Place *pl);
00075         void takeOver(Place *pl);
00076 
00077         //Abschreckplatzverwaltung
00078         Place* getNextFreeWaterChillPlace();
00079         Place* getNextFreePolymerChillPlace();
00080         Place* getNextFreeAirChillPlace();
00081         Place* getNextFreeVentilatorChillPlace();
00082         void reservationPlaceFor(Place *pl, ReserveType rType);
00083         Place* takeOut();
00084 
00085         //Abschreckung
00086         void chilling(Place* pl, SetOfRingStack *palette, BathType type, double serve);  
00087         void stopChilling(Place *pl);
00088         void breakChilling(Place *pl);
00089 };
00090 
00091 #endif

Generated on Tue Apr 26 14:42:42 2005 for rollingmill by doxygen 1.3.6