=== FC 181: HWtoVP_Ziel_FC  [STL] ===
INTERFACE:
  Input:
  Output:
  InOut:
  Temp:
    Ziel_hex : Word
    Ziel_int : Int
    Zielebene : Word
    Error : Byte
    Position : Int
    Lager_DB : Int
    Lager_DW : Int
    AR1Zeiger : DWord                                   // Statt AR1 (ging nur bis DB-Länge <= 8191 Bytes)
    AR1Start : DInt                                     // Startwert mit Offset 0
    SSDW : Int
    EndZiel : Word
    Variante : Int
    AbrufID : DInt
    Fahrlisten_TrolleyID : DInt
    Fahrlisten_AbrufID : DInt
    Fahrlisten_Lager : Int
    Trolley_unbekannt : Bool                            // Trolley ist nicht in DL
    Express_Abruf : Bool
    Error.Bit : Bool
  Constant:
  Return:
    Ret_Val : Void

--- NW 1: Rückmeldung ---
      SET                                                    // Rückmeldungen erst mal resetten
      R      "M180.6"                                        // Weiterfahrt von Ziel-FC erlaubt


--- NW 2: Schleuse 3731: (BST 2) ---
      L      "MW190"
      L      3731                                            // Aufruf von Schleuse XXXX?
      <>I                                                    // Nein!
      JC     X3731E

      SET
      S      "M180.6"                                        // Weiterfahrt ist erlaubt

      BEU

X3731E: NOP 0


--- NW 3: Bereich 4203: Weiterfahren erlaubt ? (AFS von BST) ---
      L      "MW190"
      L      4203                                            // Aufruf von Schleuse 4203 ?
      <>I                                                    // Nein!
      JC     X4203E

      SET
      S      "M180.6"                                        // Weiterfahrt ist erlaubt

      BEU

X4203E: NOP 0


--- NW 4: Schleuse 4207: (Vor BypPass von LP) ---
      L      "MW190"
      L      4207                                            // Aufruf von Schleuse XXXX?
      <>I                                                    // Nein!
      JC     X4207E

// Quell-Steuerung:
      L      "DLPtoHW_OmniFahren".Weiche_4223.Dyn.Weichen_Ziel
      L      16#4211                                         // Fahren Trolleys zu BG4211?
      ==I                                                    // Ja!
      O      "MB4223"                                        // Weiche ist auf Abzweig
      O      "DLPtoHW_OmniFahren".Weiche_4223.Dyn.Status.Reset_aktiv
      BEC                                                    // Warten !

// Ziel-Check:
      AN     "MB4223"                                        // Weiche Einfahrt ByPass
      AN     "MB4210"
      AN     "DHWtoVP_Sensoren".Stau_BG4210.Stat.B_Akt
      AN     "DHWtoVP_Sensoren".Stau_BG4211.Stat.B_Akt
      S      "M180.6"                                        // Weiterfahrt ist erlaubt

      BEU

X4207E: NOP 0


--- NW 5: Bereich 3145: Weiterfahren erlaubt ? (AFS von 1.Ebene) ---
      L      "MW190"
      L      3145                                            // Aufruf von Schleuse 3145 ?
      <>I                                                    // Nein!
      JC     X3145E

      SET
      S      "M180.6"                                        // Weiterfahrt ist erlaubt

      BEU

X3145E: NOP 0


--- NW 6: Schleuse 3143: (Anfrage KontrollPlatz) ---
      L      "MW190"
      L      3143                                            // Aufruf von Schleuse XXXX?
      <>I                                                    // Nein!
      JC     X3143E

      L      "MD182"                                         // ShopGroup
      L      DINT#-1                                         // Leer-Trolley?
      ==D                                                    // Ja !
      S      "M180.6"                                        // Weiterfahrt ist erlaubt
      BEC                                                    // Kein Telegramm!

      A      "SGes".Ohne_PC_Fahren                           // Also ohne Anfrage
      S      "M180.6"                                        // Weiterfahrt ist erlaubt
      JC     N3143

// GOHDReqM an Host senden:
      A      "DHWtoVP_OmniFahren".Schleuse_3143.Status2.Telegramm_gesendet
      S      "M180.6"                                        // Weiterfahrt ist erlaubt
      BEC

      L      "DHWtoVP_OmniFahren".Schleuse_3143.Dyn.TrolleyID_Schleuse
      L      0                                               // Barcode bekannt?
      ==D                                                    // Nein!
      BEC                                                    // Warten!

CALL FB "Daten_in_SendFIFO_speichern" ,  (TelegrammKennung[1]:='G', TelegrammKennung[2]:='O', TelegrammKennung[3]:='H', TelegrammKennung[4]:='D', TelegrammKennung[5]:='R', TelegrammKennung[6]:='e', TelegrammKennung[7]:='q', TelegrammKennung[8]:='M', TelegrammKennung[9]:=?, TelegrammKennung[10]:=?, TrolleyID:="DHWtoVP_OmniFahren".Schleuse_3143.Dyn.TrolleyID_Schleuse, StationsNr:=3143, Puffer_LinienNr:=?, StoreGroup:=?, Status_1_Int:=?, Status_2_Bit[0]:=?, Status_2_Bit[1]:=?, Status_2_Bit[2]:=?, Status_2_Bit[3]:=?, Status_2_Bit[4]:=?, Status_2_Bit[5]:=?, Status_2_Bit[6]:=?, Status_2_Bit[7]:=?, Reserve[1]_Int:=?, Reserve[2]_Int:=?, Port:=2, Ret_Val_FIFO_IN:="MB199", Error:="Error.Bit")

      AN     "Error.Bit"
      S      "DHWtoVP_OmniFahren".Schleuse_3143.Status2.Telegramm_gesendet

// Trolleydaten neu anlegen: (Falls noch als Daten-Leiche vorhanden war)
N3143: CALL FC "Trolleydaten_neu_anlegen" (Gesamt_Trolley_DL:="DHWtoVP_OmniFahren".Schleuse_3143.Schleuse.Gesamt_Trolley_DL, TrolleyID:="DHWtoVP_OmniFahren".Schleuse_3143.Dyn.TrolleyID_Schleuse, Endziel:=16#0000, ShopGroup:=DINT#0)   // Kein Ziel

      BEU

X3143E: NOP 0


--- NW 7: Schleuse 3141: (Vor Einfahrt Kontrollplatz) ---
      L      "MW190"
      L      3141                                            // Aufruf von Schleuse XXXX?
      <>I                                                    // Nein!
      JC     X3141E

// Quell-Steuerung:
      L      "DHWtoVP_OmniFahren".Schleuse_3136.Dyn.Raus_Trolleys
      L      0
      >I                                                     // Weiche von 2.Quelle schon belegt
      O      "MB3136"                                        // Andere Quelle aktiv
      BEC

// Leerer Trolley vom Leerpuffer?
      L      "MD182"                                         // ShopGroup
      L      DINT#-1                                         // Leer-Trolley?
      ==D                                                    // Ja !
      O      "SGes".Ohne_PC_Fahren                           // Also Ziel simulieren
      JC     G3141                                           // Kein Telegramm!

// Telegramm schon gesendet?
      L      "MW194"                                         // Endziel
      L      16#3130                                         // sinnvoll?
      <>I                                                    // Nein! (nochmalige Anfrage)
      A(
      CAC
      L      16#3127                                         // sinnvoll?
      <>I                                                    // Nein! (nochmalige Anfrage)
      )
      AN     "DHWtoVP_OmniFahren".Schleuse_3141.Status2.Telegramm_gesendet
      JC     T3141

// Ziel-Check:
      L      "MW194"                                         // EndZiel (wurde über Host-Telegramm in Datenbank eingetragen)
      L      16#3130                                         // Kontroll-Platz?
      ==I                                                    // Ja !
      JC     A3141                                           // Abzweig fahren

      CAC
      L      16#3127                                         // Zum VP?
      ==I                                                    // Ja !
      JC     G3141

      A      "10s-Impuls"                                    // Nach 10s
      R      "DHWtoVP_OmniFahren".Schleuse_3141.Status2.Telegramm_gesendet // Erneute Anfrage

      BEU

A3141: L      16#3130
      T      "MW198"                                         // Weichenziel

      AN     "DHWtoVP_Sensoren".Stau_BG3130.Stat.B_Akt
      S      "M180.6"                                        // Weiterfahrt ist erlaubt

      BEU

G3141: L      16#3127
      T      "MW198"                                         // Weichenziel

      AN     "DHWtoVP_Sensoren".Stau_BG3127.Stat.B_Akt
      S      "M180.6"                                        // Weiterfahrt ist erlaubt

      BEU

// GOHDReqM an Host senden:
T3141: L      "DHWtoVP_OmniFahren".Schleuse_3141.Dyn.TrolleyID_Schleuse
      L      0                                               // Barcode bekannt?
      ==D                                                    // Nein!
      BEC                                                    // Warten!

CALL FB "Daten_in_SendFIFO_speichern" ,  (TelegrammKennung[1]:='G', TelegrammKennung[2]:='O', TelegrammKennung[3]:='H', TelegrammKennung[4]:='D', TelegrammKennung[5]:='R', TelegrammKennung[6]:='e', TelegrammKennung[7]:='q', TelegrammKennung[8]:='M', TelegrammKennung[9]:=?, TelegrammKennung[10]:=?, TrolleyID:="DHWtoVP_OmniFahren".Schleuse_3141.Dyn.TrolleyID_Schleuse, StationsNr:=3143, Puffer_LinienNr:=?, StoreGroup:=?, Status_1_Int:=?, Status_2_Bit[0]:=?, Status_2_Bit[1]:=?, Status_2_Bit[2]:=?, Status_2_Bit[3]:=?, Status_2_Bit[4]:=?, Status_2_Bit[5]:=?, Status_2_Bit[6]:=?, Status_2_Bit[7]:=?, Reserve[1]_Int:=?, Reserve[2]_Int:=?, Port:=2, Ret_Val_FIFO_IN:="MB199", Error:="Error.Bit")   // 3141

      AN     "Error.Bit"
      S      "DHWtoVP_OmniFahren".Schleuse_3141.Status2.Telegramm_gesendet

      BEU

X3141E: NOP 0


--- NW 8: Schleuse 3134: (Kontrollplatz) ---
      L      "MW190"
      L      3134                                            // Aufruf von Schleuse XXXX?
      <>I                                                    // Nein!
      JC     X3134E

// Trolley kann gestartet werden: (Vorerst immer)
      A      "BG3134"                                        // Trolley ist in Schleuse
      A      "Clock_2Hz"
      =      "PF0136"

// Ausfahren mit Taste:
      A      "SF0136"
      S      "M180.6"                                        // Weiterfahrt ist erlaubt

      BEU

X3134E: NOP 0


--- NW 9: Schleuse 3136: (Vor Ausfahrt Kontrollplatz) ---
      L      "MW190"
      L      3136                                            // Aufruf von Schleuse XXXX?
      <>I                                                    // Nein!
      JC     X3136E

// Quell-Steuerung:
      L      "DHWtoVP_OmniFahren".Schleuse_3141.Dyn.Raus_Trolleys
      L      0
      >I                                                     // Weiche von 2.Quelle schon belegt
      O      "MB3141"                                        // Andere Quelle aktiv
      BEC

// Ziel-Check:
      L      EndZiel
      L      16#BAAA                                         // Kontroll-Platz?
      ==I                                                    // Ja !
      JC     A3136                                           // Abzweig fahren

      JU     G3136

A3136: L      16#3130
      T      "MW198"                                         // Weichenziel

      AN     "DHWtoVP_Sensoren".Stau_BG3130.Stat.B_Akt
      S      "M180.6"                                        // Weiterfahrt ist erlaubt

      BEU

G3136: L      16#3127
      T      "MW198"                                         // Weichenziel

      AN     "DHWtoVP_Sensoren".Stau_BG3127.Stat.B_Akt
      S      "M180.6"                                        // Weiterfahrt ist erlaubt

      BEU

X3136E: NOP 0


--- NW 10: Ende ---
      BE

