=== FB 128: HWtoAMROmniFahren  [STL] ===
INTERFACE:
  Input:
  Output:
  InOut:
  Static:
    Frei200 : Array[1..100] of Int
    Schleuse_3061 : "MHMOmniSchleuse_Plus"
    Schleuse_3005 : "MHMOmniSchleuse"
    Schleuse_3004 : "MHMOmniSchleuse"
    Schleuse_3000 : "MHMOmniSchleuse"
    Bereich_3555 : "MHMOmniBereich_Plus"
    Schleuse_3562 : "MHMOmniSchleuse"
    Bereich_3556 : "MHMOmniBereich_Plus"
    Schleuse_3565 : "MHMOmniSchleuse"
    Übergang_3063 : "MHMÜbergang_ohne_Schleuse_AMR"
  Temp:
    ErrQuit : Bool
    ErrAnz : Bool
    Stau_raus : Bool
    Start_ok : Bool
    B_aktiv : Bool
    B_vor_Schleuse : Bool
    B_nach_Schleuse : Bool
    Antrieb_aktiv : Bool
    Antrieb_start : Bool
    Antrieb_stop : Bool
    Fahren_Ok : Bool
    Antrieb_nicht_stoppen : Bool
  Constant:

--- NW 1: Systemzeug ---
// HW>AMR-Bereich:
      A      "DAMR_Bereich".A01_UH06.AnlageEin
      =      Schleuse_3061.Dyn.Sk.Auto_akt
      =      Schleuse_3005.Dyn.Sk.Auto_akt
      =      Schleuse_3004.Dyn.Sk.Auto_akt
      =      Schleuse_3000.Dyn.Sk.Auto_akt
      =      Bereich_3555.Dyn.Sk.Auto_akt
      =      Schleuse_3562.Dyn.Sk.Auto_akt
      =      Bereich_3556.Dyn.Sk.Auto_akt
      =      Schleuse_3565.Dyn.Sk.Auto_akt

      AN     "DAMR_Bereich".A01_UC061.BereichErr
      =      Schleuse_3061.Dyn.Sk.Bereich_ok
      =      Schleuse_3005.Dyn.Sk.Bereich_ok
      =      Schleuse_3004.Dyn.Sk.Bereich_ok
      AN     "DAMR_Bereich".A01_UH06_Halle4.BereichErr
      =      Schleuse_3000.Dyn.Sk.Bereich_ok
      =      Bereich_3555.Dyn.Sk.Bereich_ok
      =      Schleuse_3562.Dyn.Sk.Bereich_ok
      =      Bereich_3556.Dyn.Sk.Bereich_ok
      =      Schleuse_3565.Dyn.Sk.Bereich_ok


--- NW 2: Störungen quittieren UZ6104 ---
      A      "DAMR_Bereich".A01_UZ6104.StOk_aktiv
      O      "DAMR_Bereich".A01_UC061.StOk_aktiv
      O      "DAMR_Bereich".A01_UH06.StOk_aktiv
      =      ErrQuit


--- NW 3: Übergang 3063 (Übernahme von Outbound / UH07) ---
// Schnittstelle von Outbund:
      A      "DSchnittstelle_zu_Outbound".From_UH07.MA0203_A_start
      S      "DHWtoAMR_Antriebe".MA0203.Stat.A_start

      A      "DSchnittstelle_zu_Outbound".From_UH07.MA0203_A_vor
      S      "DHWtoAMR_Antriebe".MA0203.Stat.A_vor

      A      "DSchnittstelle_zu_Outbound".From_UH07.MA0203_A_start
      O      "DSchnittstelle_zu_Outbound".From_UH07.MA0203_A_vor
      =      B_vor_Schleuse

// Schnittstelle zu Outbound:
      A      "MA0203"
      =      "DSchnittstelle_zu_Outbound".To_UH07.MA0203_aktiv

      A      Schleuse_3061.Dyn.Sk.Bereich_ok                 // Kein Sensor in UH06 verbaut!
      A      Schleuse_3061.Dyn.Sk.Auto_akt
      AN     "Übergang_3063"."Am_Übergang".Stat.B_Akt
      =      "DSchnittstelle_zu_Outbound".To_UH07.MA0203_kein_Stau

CALL FB "None" ,  (ErrQuit:=ErrQuit, B_Anfang:=?, B_Am_Übergang:="BG3063", B_Stau_Antrieb_plus:="DHWtoAMR_Sensoren".Stau_BG3062.Stat.B_Akt, Antrieb_aktiv:="MA0203", Antrieb_plus_aktiv:="MA0204", Antrieb_vor:="DHWtoAMR_Antriebe".MA0203.Stat.A_vor, Antrieb_start:="DHWtoAMR_Antriebe".MA0203.Stat.A_start, Antrieb_stop:="DHWtoAMR_Antriebe".MA0203.Stat.Stop_vor, Antrieb_plus_vor:="DHWtoAMR_Antriebe".MA0204.Stat.A_vor, Antrieb_plus_start:="DHWtoAMR_Antriebe".MA0204.Stat.A_start)


--- NW 4: Störungen anzeigen UZ6104 ---
      A      ErrAnz
      R      ErrAnz
      S      "DAMR_Bereich".A01_UZ6104.StOk_blinken
      S      "DAMR_Bereich".A01_UC061.StOk_blinken
      S      "DAMR_Bereich".A01_UH06.StOk_blinken


--- NW 5: Störungen quittieren UZ6102 ---
      A      "DAMR_Bereich".A01_UZ6102.StOk_aktiv
      O      "DAMR_Bereich".A01_UC061.StOk_aktiv
      O      "DAMR_Bereich".A01_UH06.StOk_aktiv
      =      ErrQuit


--- NW 6: Schleuse 3061 ---
CALL FB "None" ,  (Schleusen_Nr:=3061, ErrQuit:=ErrQuit, B_VorSchleuse:="BG3062", B_InSchleuse:="BG3061", B_Zähl:="BG3006", B_Stau_raus:="DHWtoAMR_Sensoren".Stau_BG3006.Stat.B_Akt, Start_Ok:=1, Antrieb_Schleuse_aktiv:="MA0204", Antrieb_plus_aktiv:="MA0205", Schleuse_geöffnet:="MB3061", RestZeit_Bereich_plus:=?, Y_Schleuse_Auf:="DHWtoAMR_Zylinder".Schleuse_3061.Stat.Ast, Error:=DB608.DBW212, Antrieb_Schleuse_vor:="DHWtoAMR_Antriebe".MA0204.Stat.A_vor, Antrieb_Schleuse_start:="DHWtoAMR_Antriebe".MA0204.Stat.A_start, Antrieb_Schleuse_stop:="DHWtoAMR_Antriebe".MA0204.Stat.Stop_vor, Antrieb_Schleuse_PS:="DHWtoAMR_Antriebe".MA0204.Stat.A_PS, Antrieb_plus_vor:="DHWtoAMR_Antriebe".MA0205.Stat.A_vor, Antrieb_plus_start:="DHWtoAMR_Antriebe".MA0205.Stat.A_start, hStOk:=ErrAnz)


--- NW 7: Störungen anzeigen UZ6102 ---
      A      ErrAnz
      R      ErrAnz
      S      "DAMR_Bereich".A01_UZ6102.StOk_blinken
      S      "DAMR_Bereich".A01_UC061.StOk_blinken
      S      "DAMR_Bereich".A01_UH06.StOk_blinken


--- NW 8: Störungen quittieren UZ6102/6101 ---
      A      "DAMR_Bereich".A01_UZ6102.StOk_aktiv
      O      "DAMR_Bereich".A01_UC061.StOk_aktiv
      O      "DAMR_Bereich".A01_UH06.StOk_aktiv
      =      ErrQuit


--- NW 9: Schleuse 3005 ---
CALL FB "None" ,  (Schleusen_Nr:=3005, ErrQuit:=ErrQuit, B_VorSchleuse:="BG3006", B_InSchleuse:="BG3005", B_AusSchleuse:="BG3017", B_Stau_raus:="DHWtoAMR_Sensoren".Stau_BG3017.Stat.B_Akt, Start_Ok:=1, Antrieb_Schleuse_aktiv:="MA0205", Antrieb_plus_aktiv:=?, Schleuse_geöffnet:="MB3005", RestZeit_Bereich_plus:=?, Y_Schleuse_Auf:="DHWtoAMR_Zylinder".Schleuse_3005.Stat.Ast, Error:=DB608.DBW204, Antrieb_Schleuse_vor:="DHWtoAMR_Antriebe".MA0205.Stat.A_vor, Antrieb_Schleuse_start:="DHWtoAMR_Antriebe".MA0205.Stat.A_start, Antrieb_Schleuse_stop:="DHWtoAMR_Antriebe".MA0205.Stat.Stop_vor, Antrieb_Schleuse_PS:="DHWtoAMR_Antriebe".MA0205.Stat.A_PS, Antrieb_plus_vor:=?, Antrieb_plus_start:=?, hStOk:=ErrAnz)   // da schon oben verwendet | da schon oben verwendet


--- NW 10: Störungen anzeigen UZ6102/6101 ---
      A      ErrAnz
      R      ErrAnz
      S      "DAMR_Bereich".A01_UZ6102.StOk_blinken
      S      "DAMR_Bereich".A01_UC061.StOk_blinken
      S      "DAMR_Bereich".A01_UH06.StOk_blinken


--- NW 11: Störungen quittieren UZ6101 ---
      A      "DAMR_Bereich".A01_UC061.StOk_aktiv
      O      "DAMR_Bereich".A01_UH06.StOk_aktiv
      =      ErrQuit


--- NW 12: Schleuse 3004 (vor BST 3) ---
      AN     "6_HMI_Err_UH06_AMR".System.Gesamt_Feueralarm
      AN     "6_HMI_Err_UH06_AMR".System.BST3_Feueralarm
      AN     "6_HMI_Err_UH06_AMR".System.BST3_Geschlossen
      AN     "6_HMI_Err_UH06_AMR".System."BST3_Störung"
      A      Schleuse_3000.Dyn.Sk.Bereich_ok
      =      Fahren_Ok

CALL FB "None" ,  (Schleusen_Nr:=3004, ErrQuit:=ErrQuit, B_VorSchleuse:="BG3017", B_InSchleuse:="BG3004", B_AusSchleuse:="BG3002", B_Stau_raus:="DHWtoAMR_Sensoren".Stau_BG3002.Stat.B_Akt, Start_Ok:=Fahren_Ok, Antrieb_Schleuse_aktiv:="MA0205", Antrieb_plus_aktiv:=?, Schleuse_geöffnet:="MB3004", RestZeit_Bereich_plus:=?, Y_Schleuse_Auf:="DHWtoAMR_Zylinder".Schleuse_3004.Stat.Ast, Error:=DB608.DBW202, Antrieb_Schleuse_vor:="DHWtoAMR_Antriebe".MA0205.Stat.A_vor, Antrieb_Schleuse_start:="DHWtoAMR_Antriebe".MA0205.Stat.A_start, Antrieb_Schleuse_stop:="DHWtoAMR_Antriebe".MA0205.Stat.Stop_vor, Antrieb_Schleuse_PS:="DHWtoAMR_Antriebe".MA0205.Stat.A_PS, Antrieb_plus_vor:=?, Antrieb_plus_start:=?, hStOk:=ErrAnz)   // Kein Antrieb


--- NW 13: Störungen anzeigen UZ6101 ---
      A      ErrAnz
      R      ErrAnz
      S      "DAMR_Bereich".A01_UC061.StOk_blinken
      S      "DAMR_Bereich".A01_UH06.StOk_blinken


--- NW 14: Störungen quittieren UZ0620 ---
      A      "DAMR_Bereich".A01_UZ0620.StOk_aktiv
      O      "DAMR_Bereich".A01_UH06.StOk_aktiv
      =      ErrQuit


--- NW 15: Schleuse 3000 ---
CALL FB "None" ,  (Schleusen_Nr:=3000, ErrQuit:=ErrQuit, B_VorSchleuse:="BG3002", B_InSchleuse:="BG3000", B_AusSchleuse:="BG3001", B_Stau_raus:="DHWtoAMR_Sensoren".Stau_BG3001.Stat.B_Akt, Start_Ok:=1, Antrieb_Schleuse_aktiv:=1, Antrieb_plus_aktiv:="MA0130", Schleuse_geöffnet:="MB3000", RestZeit_Bereich_plus:=Bereich_3555.Dyn.Restzeit, Y_Schleuse_Auf:="DHWtoAMR_Zylinder".Schleuse_3000.Stat.Ast, Error:=DB608.DBW200, Antrieb_Schleuse_vor:=?, Antrieb_Schleuse_start:=?, Antrieb_Schleuse_stop:=?, Antrieb_Schleuse_PS:=?, Antrieb_plus_vor:=Bereich_3555.Dyn.Status.Trolley_kommt_in_Bereich, Antrieb_plus_start:=?, hStOk:=ErrAnz)   // Kein Antrieb


--- NW 16: Bereich 3555 ---
      A      "BG3001"
      A      "MB3000"
      =      B_vor_Schleuse

      A      "DHWtoAMR_Sensoren".Stau_BG3561.Stat.B_Akt
      O      "DHWtoAMR_Sensoren".Stau_BG3557.Stat.B_Akt
      =      Stau_raus

CALL FB "None" ,  (Bereichs_Nr:=3555, ErrQuit:=ErrQuit, B_BereichsAnfang:=B_vor_Schleuse, B_BereichsEnde:="BG3555", B_Zähl:="BG3557", B_Stau_raus:=Stau_raus, Start_Ok:=1, Antrieb_Bereich_aktiv:="MA0130", Antrieb_plus_aktiv:="MA0131", RestZeit_Bereich_plus:=?, Antrieb_Bereich_vor:="DHWtoAMR_Antriebe".MA0130.Stat.A_vor, Antrieb_Bereich_stop:="DHWtoAMR_Antriebe".MA0130.Stat.Stop_vor, Error:=DB608.DBW172, Antrieb_Bereich_start:="DHWtoAMR_Antriebe".MA0130.Stat.A_start, Antrieb_plus_vor:="DHWtoAMR_Antriebe".MA0131.Stat.A_vor, Antrieb_plus_start:="DHWtoAMR_Antriebe".MA0131.Stat.A_start, Antrieb_minus_vor:=?, hStOk:=ErrAnz)


--- NW 17: Schleuse 3562 ---
CALL FB "None" ,  (Schleusen_Nr:=3562, ErrQuit:=ErrQuit, B_VorSchleuse:="BG3561", B_InSchleuse:="BG3562", B_AusSchleuse:="BG3563", B_Stau_raus:="DHWtoAMR_Sensoren".Stau_BG3563.Stat.B_Akt, Start_Ok:=1, Antrieb_Schleuse_aktiv:="MA0131", Antrieb_plus_aktiv:="MA0116", Schleuse_geöffnet:="MB3562", RestZeit_Bereich_plus:=Bereich_3556.Dyn.Restzeit, Y_Schleuse_Auf:="DHWtoAMR_Zylinder".Schleuse_3562.Stat.Ast, Error:=DB608.DBW358, Antrieb_Schleuse_vor:="DHWtoAMR_Antriebe".MA0131.Stat.A_vor, Antrieb_Schleuse_start:="DHWtoAMR_Antriebe".MA0131.Stat.A_start, Antrieb_Schleuse_stop:="DHWtoAMR_Antriebe".MA0131.Stat.Stop_vor, Antrieb_Schleuse_PS:="DHWtoAMR_Antriebe".MA0131.Stat.A_PS, Antrieb_plus_vor:=Bereich_3556.Dyn.Status.Trolley_kommt_in_Bereich, Antrieb_plus_start:=?, hStOk:=ErrAnz)


--- NW 18: Bereich 3556 ---
      A      "BG3563"
      A      "MB3562"
      =      B_vor_Schleuse

CALL FB "None" ,  (Bereichs_Nr:=3556, ErrQuit:=ErrQuit, B_BereichsAnfang:=B_vor_Schleuse, B_BereichsEnde:="BG3556", B_Zähl:="BG3564", B_Stau_raus:="DHWtoAMR_Sensoren".Stau_BG3564.Stat.B_Akt, Start_Ok:=1, Antrieb_Bereich_aktiv:="MA0116", Antrieb_plus_aktiv:=1, RestZeit_Bereich_plus:=?, Antrieb_Bereich_vor:="DHWtoAMR_Antriebe".MA0116.Stat.A_vor, Antrieb_Bereich_stop:="DHWtoAMR_Antriebe".MA0116.Stat.Stop_vor, Error:=DB608.DBW174, Antrieb_Bereich_start:="DHWtoAMR_Antriebe".MA0116.Stat.A_start, Antrieb_plus_vor:=?, Antrieb_plus_start:=?, Antrieb_minus_vor:="DHWtoAMR_Antriebe".MA0131.Stat.A_vor, hStOk:=ErrAnz)   // Ohne Antrieb


--- NW 19: Schleuse 3565 (vor BST 4) ---
      AN     "6_HMI_Err_UH06_AMR".System.Gesamt_Feueralarm
      AN     "6_HMI_Err_UH06_AMR".System.BST4_Feueralarm
      AN     "6_HMI_Err_UH06_AMR".System.BST4_Geschlossen
      AN     "6_HMI_Err_UH06_AMR".System."BST4_Störung"
      =      Fahren_Ok

      A      "DHWtoAMR_Sensoren".Stau_BG3566.Stat.B_Akt
      O      "DHWtoAMR_Sensoren".Stau_BG3567.Stat.B_Akt
      =      Stau_raus

CALL FB "None" ,  (Schleusen_Nr:=3565, ErrQuit:=ErrQuit, B_VorSchleuse:="BG3564", B_InSchleuse:="BG3565", B_AusSchleuse:="BG3566", B_Stau_raus:=Stau_raus, Start_Ok:=Fahren_Ok, Antrieb_Schleuse_aktiv:=1, Antrieb_plus_aktiv:="MA0061", Schleuse_geöffnet:="MB3565", RestZeit_Bereich_plus:=?, Y_Schleuse_Auf:="DHWtoAMR_Zylinder".Schleuse_3565.Stat.Ast, Error:=DB608.DBW360, Antrieb_Schleuse_vor:=?, Antrieb_Schleuse_start:=?, Antrieb_Schleuse_stop:=?, Antrieb_Schleuse_PS:=?, Antrieb_plus_vor:="DArbeitsplätze_Antriebe".MA0061.Stat.A_vor, Antrieb_plus_start:="DArbeitsplätze_Antriebe".MA0061.Stat.A_start, hStOk:=ErrAnz)   // ohne Antrieb | Ohne Antrieb


--- NW 20: Störungen anzeigen UZ0620 ---
      A      ErrAnz
      R      ErrAnz
      S      "DAMR_Bereich".A01_UZ0620.StOk_blinken
      S      "DAMR_Bereich".A01_UH06.StOk_blinken


--- NW 21: Ende ---
      BE

