FUNCTION "EP_Draussen_FC" : Void
TITLE = Draussen-FC: EntnahmePuffer
{ S7_Optimized_Access := 'FALSE' }
AUTHOR : AE
FAMILY : Module
NAME : Draussen
//SCL-Portierung des AWL-Bausteins FC3182 "EP_Draussen_FC" (verhaltensgleich).
//
//Der Baustein hatte im AWL-Original die Bausteineigenschaft "Parameterversorgung
//ueber Register" (ParameterPassing) aktiv und konnte daher nur per UC/CC aus AWL
//aufgerufen werden. Da der Baustein ausschliesslich den globalen Merker MW190
//(Schleusen-Nr) liest und die Zielbausteine voll qualifiziert aufruft, gibt es
//keine echte Registerabhaengigkeit -> die Option entfaellt bei der SCL-Fassung,
//der Baustein ist damit direkt aus SCL aufrufbar (CASE 3182 in MHMOmniSchleuse).
//
//Der indirekte Dispatch (AWL: "L MW190 / L <Schleuse> / NE_I / JC") ist als CASE
//ueber die Schleusen-Nr ausgefuehrt. Die Merker-Schnittstelle (MW190 vom Aufrufer
//gesetzt) bleibt erhalten.
//
//ABWEICHUNGEN ZUM AWL-ORIGINAL (bei Inbetriebnahme pruefen!):
//  - keine (Konstanten/Symbole 1:1 uebernommen).

BEGIN
   // NW1: Rueckmeldung - Rueckmeldungen erst mal resetten
   "M180.6" := FALSE;   // Weiterfahrt von Ziel-FC erlaubt

   // NW2: Schleuse 4503 (Sorter EP): Ausgefahren?
   // AWL: L MW190 / L 4503 / NE_I / JC X4503E  (Aufruf von Schleuse 4503?)
   CASE WORD_TO_INT("MW190") OF

      4503:
         // Trolleydaten in DB1000 loeschen, da danach zum LP faehrt und dann kein Leser mehr!
         "Trolleydaten_löschen"(
            Gesamt_Trolley_DL := 1000,
            TrolleyID         := "DEP_Sorter".Sorter_MB4503.Dyn.Scanner.Rec_IDX);   // IDX
         // Daten in Sep 4503 loeschen:
         "DEP_Sorter".Sorter_MB4503.Dyn.Scanner.Rec_IDX := DINT#0;   // IDX
         "DEP_Sorter".Sorter_MB4503.Dyn.Scanner.Rec_DEST_Ziel := 0;
         // AWL: BEU -> Bausteinende (Rest entfaellt, nach dem CASE folgt nur das Bausteinende)

      ELSE
         ;   // andere Schleusen-Nr -> nichts tun
   END_CASE;

   // NW3: Ende (AWL: BE)
END_FUNCTION
