LÖSUNG DER ERWEITERTEN AUFGABENSTELLUNG:

TEIL II

Um die Montagelinie zu erweitern, wird unter GTS das bestehende Modell erweitert.
Eine weitere Maschine zur Bearbeitung der Teile, ein weiterer Stauförderer und 
eine weitere Maschine zum Bereitstellen der Zubehörteile werden hinzugefügt, die 
materialflusstechnische Verkettung dementsprechend geaendert. 
Die Arbeitsplaene 10, 20 und 30 fuer die Bearbeitungsteile 10, 20 und 30 werden
um die Nachbearbeitung auf der zweiten Maschine (Programmnummer 300) erweitert,
neue Transportrouten hierfuer erzeugt.
Fuer das neue Zubehoerteil (Artikelnummer 140) wird ein neuer Arbeitsplan der
Nummer 140 erzeugt.
Innerhalb der Modellprogrammierung wird die Funktion init_prog() um die
Bestellung des neuen Zubehörteils ueber seine Ablaufplannummer erweitert, die
Bausteinprogramme 300 und 400 hinzugefuegt. Programm 300 laeuft auf Maschine 11:
Wie bei Maschine 3 werden die Teile 10, 30 und 30 aufgenommen, befindet sich auf
Maschine 13 keine TE, wird eine bestellt und sich mit Maschine 13 synchronisiert,
anschliessend bearbeitet (auf der TE zwei Zubehoerteile entnommen).
Programm 400 laeuft auf Maschine 13: Da hier nur eine Artikelnummer bearbeitet wird, 
wird bei jedem erneuten aktivieren die Menge der Einzelteile ueberprueft. Sind hier
weniger als 2 Einzelteile vorhanden, wird bei der Quelle 7 eine neue Palette bestellt, 
die alte ueber die Senke abgegeben. Im Gegensatz zu Maschine 6 gibt Maschine 13 ihre
Palette nicht an den Regalverwalter zurueck. 


Auftragsdatei mont30.tas (Auszug)

  
    9   140      Auftragsname;
          0 
          1          1       140              1          30.00000     0.00000
                 1.000    1.000    1.000   1.000      1       4
                 4      1        7       0.10000       0   Vorgang;
                        2        9       0.00000      -1   Vorgang;
                        3       13       0.10000     400   Vorgang;
                        4       10       0.10000       0   Vorgang;
  -1
  -999      ===  ENDE   mont30 : TAS  ===
 


Programmdatei mont30.cpp (Auszug)


void _impexp init_prog () {
  bestelleAblaufplan (110, 7);
  bestelleAblaufplan (120, 7);
  bestelleAblaufplan (130, 7);
  bestelleAblaufplan (140, 7);
}

//Baustein-Programm mit Programmnummer 300 aus mont30.tas
void _impexp prog_300 () {
  aufnehmen ();
  if (! Belegung (13)){
    bestelleArtikel(140, 9);
    syncBst (13);
  }
  decTEMenge (13, 2);
  arbeiten ();
  aktivieren (13);
  abgeben (); 
}

//Baustein-Programm mit Programmnummer 400 aus mont30.tas
void _impexp prog_400 () {
  aufnehmen ();
  arbeiten ();
  syncBst (11);
  warten ();
  while (MengeArtikelBelegung (This, ArtikelNr (This)) >= 2.0)
    warten ();
  bestelleArtikel (140, 7);
  abgeben ();
}

