FUNCTION_BLOCK "AMR_Bereich"
TITLE = AMR-Bereich(UH06/UC061)
{ S7_Optimized_Access := 'FALSE' }
VERSION : 0.1
   VAR 
      A01_UH06 : Struct   // AMR: Hauptschrank
         Anlauf : Bool;   // Anlauf,  Wartezeit wegen Bussystem
         AnlageEin : Bool;   // Anlage ist Ein*****************************************************************
         Not_Aus : Struct   // Not-Aus-Störungen
            ausgeloest : Bool;   // Not-Aus hat ausgelöst
            Von_OB1 : Bool;   // Outbound1-Kreis hat ausgelöst
            Von_OB2 : Bool;   // Outbound2-Kreis hat ausgelöst
            Von_ILS1 : Bool;   // ILS1-Kreis hat ausgelöst
            Von_ILS2 : Bool;   // ILS2-Kreis hat ausgelöst
            UH06 : Bool;   // AMR: Not-Aus am Schaltschrank UH06 betätigt
            UZ0601 : Bool;   // AMR: Not-Aus am MPS1 betätigt
            UZ0602 : Bool;   // AMR: Not-Aus am MPS2 betätigt
            UZ0603 : Bool;   // AMR: Not-Aus am MPS3 betätigt
            UZ0611 : Bool;   // AMR: Not-Aus am PS1 betätigt
            UZ0612 : Bool;   // AMR: Not-Aus am PS2 betätigt
            UZ0613 : Bool;   // AMR: Not-Aus am PS3 betätigt
            UZ0614 : Bool;   // AMR: Not-Aus am PS4 betätigt
            UZ0615 : Bool;   // AMR: Not-Aus am PS5 betätigt
            UZ0621 : Bool;   // AMR: Zuführung AMRs (MPS2)
            UZ0622 : Bool;   // AMR: Zuführung AMRs (PS4/5)
         END_STRUCT;
         NotErr : Bool;   // Not-Aus ist betätigt (Kreis)
         PnErr : Bool;   // Pneumatik-Versorgung fehlt
         SiErr : Bool;   // Sicherungsfall
         MotErr : Bool;   // Motorschutz hat ausgelöst
         Phasen : Bool;   // Phasenwächter
         K10Err : Bool;   // Hauptschütz unklar
         Brandfall : Bool;   // Brandmeldung
         Automatik : Bool;   // Automatik
         Handbetrieb : Bool;   // Handbetrieb aktiv
         BereichErr : Bool;   // Bereich hat eine Systemstörung -> Antriebe stoppen
         StOk_blinken : Bool;   // Start n. Störung-Anzeige blinken lassen
         StOk_Flanke : Bool;   // Flankenmerker
         StOk_aktiv : Bool;   // Impuls
         BereichErr_old : Bool;   // Bereich hatte eine Systemstörung -> Anfahrwarnung
         Anfahrwarnung : Bool;   // Anfahrwarnung in Signal-Tower
      END_STRUCT;
      A01_UH06_Halle4 : Struct   // AMR: Hauptschrank / Halle 4
         Not_Aus : Struct   // Not-Aus-Störungen
            ausgeloest : Bool;   // Not-Aus hat ausgelöst
            UZ0620 : Bool;   // AMR: Highway (vor AMR-Bereich/BST4)
         END_STRUCT;
         NotErr : Bool;   // Not-Aus ist betätigt (Kreis)
         K10Err : Bool;   // Hauptschütz unklar
         BereichErr : Bool;   // Bereich hat eine Systemstörung -> Antriebe stoppen
         BereichErr_old : Bool;   // Bereich hatte eine Systemstörung -> Anfahrwarnung
         Anfahrwarnung : Bool;   // Anfahrwarnung in Signal-Tower
      END_STRUCT;
      A01_UC061 : Struct   // AMR: Unterverteiler UC061
         Not_Aus : Struct   // Not-Aus-Störungen
            ausgeloest : Bool;   // Not-Aus hat ausgelöst
            UC061 : Bool;   // AMR: Not-Aus am Schaltschrank UC061 betätigt
            UZ6102 : Bool;   // AMR: Not-Aus an Zuführung (MPS2) betätigt
            UZ6103 : Bool;   // AMR: Not-Aus an Zuführung (PS4/5) betätigt
            UZ6104 : Bool;   // AMR: Not-Aus an Zuführung (PS5) betätigt
         END_STRUCT;
         NotErr : Bool;   // Not-Aus ist betätigt (Kreis)
         PnErr : Bool;   // Pneumatik-Versorgung fehlt
         SiErr : Bool;   // Sicherungsfall
         MotErr : Bool;   // Motorschutz hat ausgelöst
         K10Err : Bool;   // Hauptschütz unklar
         BereichErr : Bool;   // Bereich hat eine Systemstörung -> Antriebe stoppen
         StOk_blinken : Bool;   // Start n. Störung-Anzeige blinken lassen
         StOk_Flanke : Bool;   // Flankenmerker
         StOk_aktiv : Bool;   // Impuls
         BereichErr_old : Bool;   // Bereich hatte eine Systemstörung -> Anfahrwarnung
         Anfahrwarnung : Bool;   // Anfahrwarnung in Signal-Tower
      END_STRUCT;
      A01_UZ0601 : Struct   // AMR: MPS 1
         StOk_blinken : Bool;   // Start n. Störung-Anzeige blinken lassen
         StOk_Flanke : Bool;   // Flankenmerker
         StOk_aktiv : Bool;   // Impuls
      END_STRUCT;
      A01_UZ0602 : Struct   // AMR: MPS 2
         StOk_blinken : Bool;   // Start n. Störung-Anzeige blinken lassen
         StOk_Flanke : Bool;   // Flankenmerker
         StOk_aktiv : Bool;   // Impuls
      END_STRUCT;
      A01_UZ0603 : Struct   // AMR: MPS 3
         StOk_blinken : Bool;   // Start n. Störung-Anzeige blinken lassen
         StOk_Flanke : Bool;   // Flankenmerker
         StOk_aktiv : Bool;   // Impuls
      END_STRUCT;
      A01_UZ0611 : Struct   // AMR: PS 1
         StOk_blinken : Bool;   // Start n. Störung-Anzeige blinken lassen
         StOk_Flanke : Bool;   // Flankenmerker
         StOk_aktiv : Bool;   // Impuls
      END_STRUCT;
      A01_UZ0612 : Struct   // AMR: PS 2
         StOk_blinken : Bool;   // Start n. Störung-Anzeige blinken lassen
         StOk_Flanke : Bool;   // Flankenmerker
         StOk_aktiv : Bool;   // Impuls
      END_STRUCT;
      A01_UZ0613 : Struct   // AMR: PS 3
         StOk_blinken : Bool;   // Start n. Störung-Anzeige blinken lassen
         StOk_Flanke : Bool;   // Flankenmerker
         StOk_aktiv : Bool;   // Impuls
      END_STRUCT;
      A01_UZ0614 : Struct   // AMR: PS 4
         StOk_blinken : Bool;   // Start n. Störung-Anzeige blinken lassen
         StOk_Flanke : Bool;   // Flankenmerker
         StOk_aktiv : Bool;   // Impuls
      END_STRUCT;
      A01_UZ0615 : Struct   // AMR: PS 5
         StOk_blinken : Bool;   // Start n. Störung-Anzeige blinken lassen
         StOk_Flanke : Bool;   // Flankenmerker
         StOk_aktiv : Bool;   // Impuls
      END_STRUCT;
      A01_UZ0620 : Struct   // AMR: Highway (vor AMR-Bereich/BST4)
         StOk_blinken : Bool;   // Start n. Störung-Anzeige blinken lassen
         StOk_Flanke : Bool;   // Flankenmerker
         StOk_aktiv : Bool;   // Impuls
      END_STRUCT;
      A01_UZ0621 : Struct   // AMR: Zuführung AMRs (MPS2)
         StOk_blinken : Bool;   // Start n. Störung-Anzeige blinken lassen
         StOk_Flanke : Bool;   // Flankenmerker
         StOk_aktiv : Bool;   // Impuls
      END_STRUCT;
      A01_UZ0622 : Struct   // AMR: Zuführung AMRs (PS4/5)
         StOk_blinken : Bool;   // Start n. Störung-Anzeige blinken lassen
         StOk_Flanke : Bool;   // Flankenmerker
         StOk_aktiv : Bool;   // Impuls
      END_STRUCT;
      A01_UZ6102 : Struct   // AMR: Zuführung MPS2
         StOk_blinken : Bool;   // Start n. Störung-Anzeige blinken lassen
         StOk_Flanke : Bool;   // Flankenmerker
         StOk_aktiv : Bool;   // Impuls
         Area_Stop : Bool;
      END_STRUCT;
      A01_UZ6103 : Struct   // AMR: Zuführung PS4/5
         StOk_blinken : Bool;   // Start n. Störung-Anzeige blinken lassen
         StOk_Flanke : Bool;   // Flankenmerker
         StOk_aktiv : Bool;   // Impuls
         Area_Stop : Bool;
      END_STRUCT;
      A01_UZ6104 : Struct   // AMR: Zuführung PS5
         StOk_blinken : Bool;   // Start n. Störung-Anzeige blinken lassen
         StOk_Flanke : Bool;   // Flankenmerker
         StOk_aktiv : Bool;   // Impuls
         Area_Stop : Bool;
      END_STRUCT;
      ErrDD { ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : DInt;
      ErrBits { ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : Int;
      Simulation : Struct
         aktiv : Bool;
         Wartezeit_ok : Bool;
         AMR : Word;
         MSekunden : Byte;
      END_STRUCT;
   END_VAR

   VAR_TEMP 
      Quit_aktiv : Bool;
      Not_Err : Bool;   // Ein Not-Aus-Taster noch betätigt
      Not_Akt : Bool;   // Ein Not-Aus-Störung noch nicht quittiert
      Stoerung : Bool;
      Meldung : Bool;
      ProfibusError : Bool;
      Störung_vorhanden : Bool;
   END_VAR


BEGIN
NETWORK
TITLE = Anlage ein/aus, Anzeigen
      U "SF0001";
      U "SF0000";
      UN #A01_UH06.AnlageEin;
      UN "6_HMI_Err_UH06_AMR".System.Gesamt_Feueralarm;
      S #A01_UH06.AnlageEin;

      UN "SF0000";
      O "6_HMI_Err_UH06_AMR".System.Gesamt_Feueralarm;
      O "6_HMI_Err_UH06_AMR".Kommunikation.SendFIFO_Port1;
      O "6_HMI_Err_UH06_AMR".Kommunikation.SendFIFO_Port2;
      R #A01_UH06.AnlageEin;

      U #A01_UH06.AnlageEin;
      = "PF0001";
      = #A01_UH06.Automatik;

      UN #A01_UH06.Automatik;
      = "6_HMI_Err_UH06_AMR".System.Anlage_aus;

NETWORK
TITLE = Störungen quittieren
      U "SF0002";
      FP #A01_UH06.StOk_Flanke;
      = #A01_UH06.StOk_aktiv;//Impuls Störungen quittieren

      U "SF0177";
      FP #A01_UC061.StOk_Flanke;
      = #A01_UC061.StOk_aktiv;//Impuls Störungen quittieren

      U "SF0057";
      FP #A01_UZ0601.StOk_Flanke;
      = #A01_UZ0601.StOk_aktiv   ;//Impuls Störungen quittieren

      U "SF0055";
      FP #A01_UZ0602.StOk_Flanke;
      = #A01_UZ0602.StOk_aktiv;//Impuls Störungen quittieren

      U "SF0053";
      FP #A01_UZ0603.StOk_Flanke;
      = #A01_UZ0603.StOk_aktiv;//Impuls Störungen quittieren

      U "SF0051";
      FP #A01_UZ0611.StOk_Flanke;
      = #A01_UZ0611.StOk_aktiv;//Impuls Störungen quittieren

      U "SF0047";
      FP #A01_UZ0612.StOk_Flanke;
      = #A01_UZ0612.StOk_aktiv;//Impuls Störungen quittieren

      U "SF0045";
      FP #A01_UZ0613.StOk_Flanke;
      = #A01_UZ0613.StOk_aktiv;//Impuls Störungen quittieren

      U "SF0043";
      FP #A01_UZ0614.StOk_Flanke;
      = #A01_UZ0614.StOk_aktiv;//Impuls Störungen quittieren

      U "SF0041";
      FP #A01_UZ0615.StOk_Flanke;
      = #A01_UZ0615.StOk_aktiv;//Impuls Störungen quittieren

      U "SF0121";
      FP #A01_UZ0620.StOk_Flanke;
      = #A01_UZ0620.StOk_aktiv;//Impuls Störungen quittieren

      U "SF0123";
      FP #A01_UZ0621.StOk_Flanke;
      = #A01_UZ0621.StOk_aktiv;//Impuls Störungen quittieren

      U "SF0125";
      FP #A01_UZ0622.StOk_Flanke;
      = #A01_UZ0622.StOk_aktiv;//Impuls Störungen quittieren

      U "SF0183";
      FP #A01_UZ6102.StOk_Flanke;
      = #A01_UZ6102.StOk_aktiv;//Impuls Störungen quittieren

      U "SF0185";
      FP #A01_UZ6103.StOk_Flanke;
      = #A01_UZ6103.StOk_aktiv;//Impuls Störungen quittieren

      U "SF0187";
      FP #A01_UZ6104.StOk_Flanke;
      = #A01_UZ6104.StOk_aktiv;//Impuls Störungen quittieren

NETWORK
TITLE = UH06: Pneumatik-Störung
      U "BP0004";
      L S5T#10S;//Damit Druck aufgebaut werden kann !
      SE "T201";

//Störung kann quittiert werden:
      U "T201";
      U "6_HMI_Err_UH06_AMR".VErr.Pn_UH06;
      S #A01_UH06.StOk_blinken;

//Störung quittieren:
      U #A01_UH06.StOk_aktiv;//Impuls Störungen quittieren                //Störungen quittieren
      U "T201";
      R "6_HMI_Err_UH06_AMR".VErr.Pn_UH06;

//Störung aktiv:
      UN "T201";
      S "6_HMI_Err_UH06_AMR".VErr.Pn_UH06;

      U "6_HMI_Err_UH06_AMR".VErr.Pn_UH06;
      = #A01_UH06.PnErr;

//Anzeige:
      U "6_HMI_Err_UH06_AMR".VErr.Pn_UH06;
      = "PF0003";

NETWORK
TITLE = UH06: Phasenausfall

//Störung kann quittiert werden:
      U "6_HMI_Err_UH06_AMR".VErr.Phasen;
      U "DI0005";
      S #A01_UH06.StOk_blinken;

//Impuls Störungen quittieren
      U #A01_UH06.StOk_aktiv;
      U "DI0005";
      R "6_HMI_Err_UH06_AMR".VErr.Phasen;

//Störung aktiv:
      UN "DI0005";
      S "6_HMI_Err_UH06_AMR".VErr.Phasen;

NETWORK
TITLE = UH06: Sicherungsfall

//Störung kann quittiert werden:
      U "DI0006";
      U "6_HMI_Err_UH06_AMR".VErr.FC0006;
      O;
      U "DI0021";
      U "6_HMI_Err_UH06_AMR".VErr.FC0021;
      O;
      U "DI0022";
      U "6_HMI_Err_UH06_AMR".VErr.FC0022;
      O;
      U "DI0023";
      U "6_HMI_Err_UH06_AMR".VErr.FC0023;
      O;
      U "DI0024";
      U "6_HMI_Err_UH06_AMR".VErr.FC0024;
      O;
      U "DI0025";
      U "6_HMI_Err_UH06_AMR".VErr.FC0025;
      S #A01_UH06.StOk_blinken;

//Störung quittieren:
      U #A01_UH06.StOk_aktiv;//Impuls Störungen quittieren
      R "6_HMI_Err_UH06_AMR".VErr.FC0006;
      R "6_HMI_Err_UH06_AMR".VErr.Frei122;
      R "6_HMI_Err_UH06_AMR".VErr.FC0021;
      R "6_HMI_Err_UH06_AMR".VErr.FC0022;
      R "6_HMI_Err_UH06_AMR".VErr.FC0023;
      R "6_HMI_Err_UH06_AMR".VErr.FC0024;
      R "6_HMI_Err_UH06_AMR".VErr.FC0025;
      R "6_HMI_Err_UH06_AMR".VErr.Frei130;

//Störung aktiv:
      UN "DI0006";
      S "6_HMI_Err_UH06_AMR".VErr.FC0006;

      UN "DI0021";
      S "6_HMI_Err_UH06_AMR".VErr.FC0021;

      UN "DI0022";
      S "6_HMI_Err_UH06_AMR".VErr.FC0022;

      UN "DI0023";
      S "6_HMI_Err_UH06_AMR".VErr.FC0023;

      UN "DI0024";
      S "6_HMI_Err_UH06_AMR".VErr.FC0024;

      UN "DI0025";
      S "6_HMI_Err_UH06_AMR".VErr.FC0025;

//Sicherungs-Störung gesamt:
      U "6_HMI_Err_UH06_AMR".VErr.FC0006;
      O "6_HMI_Err_UH06_AMR".VErr.FC0021;
      O "6_HMI_Err_UH06_AMR".VErr.FC0022;
      O "6_HMI_Err_UH06_AMR".VErr.FC0023;
      O "6_HMI_Err_UH06_AMR".VErr.FC0024;
      O "6_HMI_Err_UH06_AMR".VErr.FC0025;
      O "6_HMI_Err_UH06_AMR".VErr.Phasen;
      = #A01_UH06.SiErr;

//Anzeige:
      U "6_HMI_Err_UH06_AMR".VErr.Phasen;
      U "Clock_1Hz";
      O #A01_UH06.SiErr;
      = "PF0005";

NETWORK
TITLE = UH06: Motorschutz-Störung ist aktiv

//Störung kann quittiert werden:
      U "6_HMI_Err_UH06_AMR".QErr.MA0060;
      U "FC0060";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0061;
      U "FC0061";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0062;
      U "FC0062";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0063;
      U "FC0063";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0064;
      U "FC0064";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0065;
      U "FC0065";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0066;
      U "FC0066";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0067;
      U "FC0067";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0070;
      U "FC0070";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0071;
      U "FC0071";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0072;
      U "FC0072";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0073;
      U "FC0073";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0074;
      U "FC0074";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0075;
      U "FC0075";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0076;
      U "FC0076";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0077;
      U "FC0077";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0080;
      U "FC0080";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0081;
      U "FC0081";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0082;
      U "FC0082";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0083;
      U "FC0083";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0084;
      U "FC0084";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0085;
      U "FC0085";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0086;
      U "FC0086";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0087;
      U "FC0087";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0090;
      U "FC0090";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0091;
      U "FC0091";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0092;
      U "FC0092";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0093;
      U "FC0093";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0094;
      U "FC0094";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0095;
      U "FC0095";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0096;
      U "FC0096";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0097;
      U "FC0097";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0100;
      U "FC0100";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0101;
      U "FC0101";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0102;
      U "FC0102";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0103;
      U "FC0103";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0104;
      U "FC0104";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0105;
      U "FC0105";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0106;
      U "FC0106";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0107;
      U "FC0107";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0110;
      U "FC0110";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0111;
      U "FC0111";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0112;
      U "FC0112";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0113;
      U "FC0113";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0114;
      U "FC0114";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0115;
      U "FC0115";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0116;
      U "FC0116";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0117;
      U "FC0117";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0130;
      U "FC0130";
      O;
      U "6_HMI_Err_UH06_AMR".QErr.MA0131;
      U "FC0131";
      S #A01_UH06.StOk_blinken;

//Störung quittieren:
//wird im Lastbaustein gemacht

//Störung aktiv:
//wird im Lastbaustein gemacht

//Motorschutz-Störung gesamt:
      U "6_HMI_Err_UH06_AMR".QErr.MA0060;
      O "6_HMI_Err_UH06_AMR".QErr.MA0061;
      O "6_HMI_Err_UH06_AMR".QErr.MA0062;
      O "6_HMI_Err_UH06_AMR".QErr.MA0063;
      O "6_HMI_Err_UH06_AMR".QErr.MA0064;
      O "6_HMI_Err_UH06_AMR".QErr.MA0065;
      O "6_HMI_Err_UH06_AMR".QErr.MA0066;
      O "6_HMI_Err_UH06_AMR".QErr.MA0067;
      O "6_HMI_Err_UH06_AMR".QErr.MA0070;
      O "6_HMI_Err_UH06_AMR".QErr.MA0071;
      O "6_HMI_Err_UH06_AMR".QErr.MA0072;
      O "6_HMI_Err_UH06_AMR".QErr.MA0073;
      O "6_HMI_Err_UH06_AMR".QErr.MA0074;
      O "6_HMI_Err_UH06_AMR".QErr.MA0075;
      O "6_HMI_Err_UH06_AMR".QErr.MA0076;
      O "6_HMI_Err_UH06_AMR".QErr.MA0077;
      O "6_HMI_Err_UH06_AMR".QErr.MA0080;
      O "6_HMI_Err_UH06_AMR".QErr.MA0081;
      O "6_HMI_Err_UH06_AMR".QErr.MA0082;
      O "6_HMI_Err_UH06_AMR".QErr.MA0083;
      O "6_HMI_Err_UH06_AMR".QErr.MA0084;
      O "6_HMI_Err_UH06_AMR".QErr.MA0085;
      O "6_HMI_Err_UH06_AMR".QErr.MA0086;
      O "6_HMI_Err_UH06_AMR".QErr.MA0087;
      O "6_HMI_Err_UH06_AMR".QErr.MA0090;
      O "6_HMI_Err_UH06_AMR".QErr.MA0091;
      O "6_HMI_Err_UH06_AMR".QErr.MA0092;
      O "6_HMI_Err_UH06_AMR".QErr.MA0093;
      O "6_HMI_Err_UH06_AMR".QErr.MA0094;
      O "6_HMI_Err_UH06_AMR".QErr.MA0095;
      O "6_HMI_Err_UH06_AMR".QErr.MA0096;
      O "6_HMI_Err_UH06_AMR".QErr.MA0097;
      O "6_HMI_Err_UH06_AMR".QErr.MA0100;
      O "6_HMI_Err_UH06_AMR".QErr.MA0101;
      O "6_HMI_Err_UH06_AMR".QErr.MA0102;
      O "6_HMI_Err_UH06_AMR".QErr.MA0103;
      O "6_HMI_Err_UH06_AMR".QErr.MA0104;
      O "6_HMI_Err_UH06_AMR".QErr.MA0105;
      O "6_HMI_Err_UH06_AMR".QErr.MA0106;
      O "6_HMI_Err_UH06_AMR".QErr.MA0107;
      O "6_HMI_Err_UH06_AMR".QErr.MA0110;
      O "6_HMI_Err_UH06_AMR".QErr.MA0111;
      O "6_HMI_Err_UH06_AMR".QErr.MA0112;
      O "6_HMI_Err_UH06_AMR".QErr.MA0113;
      O "6_HMI_Err_UH06_AMR".QErr.MA0114;
      O "6_HMI_Err_UH06_AMR".QErr.MA0115;
      O "6_HMI_Err_UH06_AMR".QErr.MA0116;
      O "6_HMI_Err_UH06_AMR".QErr.MA0117;
      O "6_HMI_Err_UH06_AMR".QErr.MA0130;
      O "6_HMI_Err_UH06_AMR".QErr.MA0131;
      = #A01_UH06.MotErr;

//Anzeige:
      U #A01_UH06.MotErr;
      = "PF0004";

NETWORK
TITLE = UH06: Feueralarm

//Störung kann quittiert werden:
      U "6_HMI_Err_UH06_AMR".System.Gesamt_Feueralarm;
      U "DI0033";
      U "DI0034";
      O;
      U "6_HMI_Err_UH06_AMR".System.BST3_Feueralarm;
      U "DI0170";
      O;
      U "6_HMI_Err_UH06_AMR".System.BST3_Störung;
      U "DI0171";
      O;
      U "6_HMI_Err_UH06_AMR".System.BST3_Geschlossen;
      U "DI0172";
      O;
      U "6_HMI_Err_UH06_AMR".System.BST4_Feueralarm;
      U "DI0035";
      O;
      U "6_HMI_Err_UH06_AMR".System.BST4_Störung;
      U "DI0036";
      O;
      U "6_HMI_Err_UH06_AMR".System.BST4_Geschlossen;
      U "DI0037";
      S #A01_UH06.StOk_blinken;

//Impuls Störungen quittieren
      U #A01_UH06.StOk_aktiv;
      R "6_HMI_Err_UH06_AMR".System.Gesamt_Feueralarm;
      R "6_HMI_Err_UH06_AMR".System.BST3_Feueralarm;
      R "6_HMI_Err_UH06_AMR".System.BST3_Störung;
      R "6_HMI_Err_UH06_AMR".System.BST3_Geschlossen;
      R "6_HMI_Err_UH06_AMR".System.BST4_Feueralarm;
      R "6_HMI_Err_UH06_AMR".System.BST4_Störung;
      R "6_HMI_Err_UH06_AMR".System.BST4_Geschlossen;

//Störung aktiv:
      UN "DI0033";
      ON "DI0034";
      S "6_HMI_Err_UH06_AMR".System.Gesamt_Feueralarm;

      UN "DI0170";
      S "6_HMI_Err_UH06_AMR".System.BST3_Feueralarm;

      UN "DI0171";
      S "6_HMI_Err_UH06_AMR".System.BST3_Störung;

      UN "DI0172";
      S "6_HMI_Err_UH06_AMR".System.BST3_Geschlossen;

      UN "DI0035";
      S "6_HMI_Err_UH06_AMR".System.BST4_Feueralarm;

      UN "DI0036";
      S "6_HMI_Err_UH06_AMR".System.BST4_Störung;

      UN "DI0037";
      S "6_HMI_Err_UH06_AMR".System.BST4_Geschlossen;

//Brandschutztür gesamt:
      U "6_HMI_Err_UH06_AMR".System.Gesamt_Feueralarm;
      O "6_HMI_Err_UH06_AMR".System.BST3_Feueralarm;
      O "6_HMI_Err_UH06_AMR".System.BST3_Störung;
      O "6_HMI_Err_UH06_AMR".System.BST3_Geschlossen;
      O "6_HMI_Err_UH06_AMR".System.BST4_Feueralarm;
      O "6_HMI_Err_UH06_AMR".System.BST4_Störung;
      O "6_HMI_Err_UH06_AMR".System.BST4_Geschlossen;
      = #A01_UH06.Brandfall;

//Anzeige:
      U #A01_UH06.Brandfall;
      = "PF0006";

NETWORK
TITLE = UH06: Not-Aus-Störung erzeugen / quittierbar / quittieren

//Quittierung wurd abgearbeitet:
      U "DSchnittstelle_zu_Safety".FromSafety.ACK_A01_UH06_fertig;
      R "DSchnittstelle_zu_Safety".FromSafety.ACK_A01_UH06_fertig;
      R "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UH06;

//Not-Aus nach Haupschalter ein quittieren:
      U #A01_UH06.StOk_aktiv   ;//Impuls Störungen quittieren
      U #A01_UH06.Not_Aus.ausgeloest;
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UH06;//Not-Aus quittieren

//Not-Aus an UH06:
      U "SF0400";
      U #A01_UH06.Not_Aus.UH06;
      S #A01_UH06.StOk_blinken;//Störung quittierbar

      U #A01_UH06.StOk_aktiv;//Impuls Störungen quittieren                //Störungen quittieren
      U "SF0400";
      U #A01_UH06.Not_Aus.UH06;
      R #A01_UH06.Not_Aus.UH06;
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UH06;//Not-Aus quittieren

      UN "SF0400";
      S #A01_UH06.Not_Aus.UH06;//Störung vorhanden

      U #A01_UH06.Not_Aus.UH06 ;//Störung vorhanden
      = "6_HMI_Err_UH06_AMR".Not.UH06;//Störung an OP übergeben

//Not-Aus an UZ0601:
      U "SF0540";
      U #A01_UH06.Not_Aus.UZ0601;
      S #A01_UZ0601.StOk_blinken;//Störung quittierbar

      U #A01_UZ0601.StOk_aktiv ;//Impuls Störungen quittieren                //Störungen quittieren
      U "SF0540";
      U #A01_UH06.Not_Aus.UZ0601;
      R #A01_UH06.Not_Aus.UZ0601;
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UH06;//Not-Aus quittieren

      UN "SF0540";
      S #A01_UH06.Not_Aus.UZ0601;//Störung vorhanden

      U #A01_UH06.Not_Aus.UZ0601;//Störung vorhanden
      = "6_HMI_Err_UH06_AMR".Not.UZ0601;//Störung an OP übergeben

//Not-Aus an UZ0602:
      U "SF0473";
      U #A01_UH06.Not_Aus.UZ0602;
      S #A01_UZ0602.StOk_blinken;//Störung quittierbar

      U #A01_UZ0602.StOk_aktiv;//Impuls Störungen quittieren                //Störungen quittieren
      U "SF0473";
      U #A01_UH06.Not_Aus.UZ0602;
      R #A01_UH06.Not_Aus.UZ0602;
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UH06;//Not-Aus quittieren

      UN "SF0473";
      S #A01_UH06.Not_Aus.UZ0602;//Störung vorhanden

      U #A01_UH06.Not_Aus.UZ0602;//Störung vorhanden
      = "6_HMI_Err_UH06_AMR".Not.UZ0602;//Störung an OP übergeben

//Not-Aus an UZ0603:
      U "SF0472";
      U #A01_UH06.Not_Aus.UZ0603;
      S #A01_UZ0603.StOk_blinken;//Störung quittierbar

      U #A01_UZ0603.StOk_aktiv;//Impuls Störungen quittieren                //Störungen quittieren
      U "SF0472";
      U #A01_UH06.Not_Aus.UZ0603;
      R #A01_UH06.Not_Aus.UZ0603;
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UH06;//Not-Aus quittieren

      UN "SF0472";
      S #A01_UH06.Not_Aus.UZ0603;//Störung vorhanden

      U #A01_UH06.Not_Aus.UZ0603;//Störung vorhanden
      = "6_HMI_Err_UH06_AMR".Not.UZ0603;//Störung an OP übergeben

//Not-Aus an UZ0611:
      U "SF0471";
      U #A01_UH06.Not_Aus.UZ0611;
      S #A01_UZ0611.StOk_blinken;//Störung quittierbar

      U #A01_UZ0611.StOk_aktiv;//Impuls Störungen quittieren                //Störungen quittieren
      U "SF0471";
      U #A01_UH06.Not_Aus.UZ0611;
      R #A01_UH06.Not_Aus.UZ0611;
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UH06;//Not-Aus quittieren

      UN "SF0471";
      S #A01_UH06.Not_Aus.UZ0611;//Störung vorhanden

      U #A01_UH06.Not_Aus.UZ0611;//Störung vorhanden
      = "6_HMI_Err_UH06_AMR".Not.UZ0611;//Störung an OP übergeben

//Not-Aus an UZ0612:
      U "SF0470";
      U #A01_UH06.Not_Aus.UZ0612;
      S #A01_UZ0612.StOk_blinken;//Störung quittierbar

      U #A01_UZ0612.StOk_aktiv;//Impuls Störungen quittieren                //Störungen quittieren
      U "SF0470";
      U #A01_UH06.Not_Aus.UZ0612;
      R #A01_UH06.Not_Aus.UZ0612;
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UH06;//Not-Aus quittieren

      UN "SF0470";
      S #A01_UH06.Not_Aus.UZ0612;//Störung vorhanden

      U #A01_UH06.Not_Aus.UZ0612;//Störung vorhanden
      = "6_HMI_Err_UH06_AMR".Not.UZ0612;//Störung an OP übergeben

//Not-Aus an UZ0613:
      U "SF0403";
      U #A01_UH06.Not_Aus.UZ0613;
      S #A01_UZ0613.StOk_blinken;//Störung quittierbar

      U #A01_UZ0613.StOk_aktiv;//Impuls Störungen quittieren                //Störungen quittieren
      U "SF0403";
      U #A01_UH06.Not_Aus.UZ0613;
      R #A01_UH06.Not_Aus.UZ0613;
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UH06;//Not-Aus quittieren

      UN "SF0403";
      S #A01_UH06.Not_Aus.UZ0613;//Störung vorhanden

      U #A01_UH06.Not_Aus.UZ0613;//Störung vorhanden
      = "6_HMI_Err_UH06_AMR".Not.UZ0613;//Störung an OP übergeben

//Not-Aus an UZ0614:
      U "SF0402";
      U #A01_UH06.Not_Aus.UZ0614;
      S #A01_UZ0614.StOk_blinken;//Störung quittierbar

      U #A01_UZ0614.StOk_aktiv;//Impuls Störungen quittieren                //Störungen quittieren
      U "SF0402";
      U #A01_UH06.Not_Aus.UZ0614;
      R #A01_UH06.Not_Aus.UZ0614;
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UH06;//Not-Aus quittieren

      UN "SF0402";
      S #A01_UH06.Not_Aus.UZ0614;//Störung vorhanden

      U #A01_UH06.Not_Aus.UZ0614;//Störung vorhanden
      = "6_HMI_Err_UH06_AMR".Not.UZ0614;//Störung an OP übergeben

//Not-Aus an UZ0615:
      U "SF0401";
      U #A01_UH06.Not_Aus.UZ0615;
      S #A01_UZ0615.StOk_blinken;//Störung quittierbar

      U #A01_UZ0615.StOk_aktiv;//Impuls Störungen quittieren                //Störungen quittieren
      U "SF0401";
      U #A01_UH06.Not_Aus.UZ0615;
      R #A01_UH06.Not_Aus.UZ0615;
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UH06;//Not-Aus quittieren

      UN "SF0401";
      S #A01_UH06.Not_Aus.UZ0615;//Störung vorhanden

      U #A01_UH06.Not_Aus.UZ0615;//Störung vorhanden
      = "6_HMI_Err_UH06_AMR".Not.UZ0615;//Störung an OP übergeben

//Not-Aus an UZ0621:
      U "SF0542";
      U #A01_UH06.Not_Aus.UZ0621;
      S #A01_UZ0621.StOk_blinken;//Störung quittierbar

      U #A01_UZ0621.StOk_aktiv;//Impuls Störungen quittieren                //Störungen quittieren
      U "SF0542";
      U #A01_UH06.Not_Aus.UZ0621;
      R #A01_UH06.Not_Aus.UZ0621;
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UH06;//Not-Aus quittieren

      UN "SF0542";
      S #A01_UH06.Not_Aus.UZ0621;//Störung vorhanden

      U #A01_UH06.Not_Aus.UZ0621;//Störung vorhanden
      = "6_HMI_Err_UH06_AMR".Not.UZ0621;//Störung an OP übergeben

//Not-Aus an UZ0622:
      U "SF0543";
      U #A01_UH06.Not_Aus.UZ0622;
      S #A01_UZ0622.StOk_blinken;//Störung quittierbar

      U #A01_UZ0622.StOk_aktiv;//Impuls Störungen quittieren                //Störungen quittieren
      U "SF0543";
      U #A01_UH06.Not_Aus.UZ0622;
      R #A01_UH06.Not_Aus.UZ0622;
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UH06;//Not-Aus quittieren

      UN "SF0543";
      S #A01_UH06.Not_Aus.UZ0622;//Störung vorhanden

      U #A01_UH06.Not_Aus.UZ0622;//Störung vorhanden
      = "6_HMI_Err_UH06_AMR".Not.UZ0622;//Störung an OP übergeben

//Not-Aus ILS (UH05):
      UN "DI0711"           ;//von UH05 ILS
      UN "DSchnittstelle_zu_Safety".ToSafety.Ohne_Partner;
      = "6_HMI_Err_UH06_AMR".Not.von_UH04;

NETWORK
TITLE = UH06: Not-Aus-Störungen / Anzeigen
      UN "SF0400"         ;//Taster noch betätigt
      ON "SF0401";
      ON "SF0402";
      ON "SF0403";
      ON "SF0470";
      ON "SF0471";
      ON "SF0472";
      ON "SF0473";
      ON "SF0540";
      ON "SF0542";
      ON "SF0543";
      = #Not_Err           ;//Ein Not-Aus-Taster noch betätigt

      U #A01_UH06.Not_Aus.UH06;//Störung noch aktiv
      O #A01_UH06.Not_Aus.UZ0601;
      O #A01_UH06.Not_Aus.UZ0602;
      O #A01_UH06.Not_Aus.UZ0603;
      O #A01_UH06.Not_Aus.UZ0611;
      O #A01_UH06.Not_Aus.UZ0612;
      O #A01_UH06.Not_Aus.UZ0613;
      O #A01_UH06.Not_Aus.UZ0614;
      O #A01_UH06.Not_Aus.UZ0615;
      O #A01_UH06.Not_Aus.UZ0621;
      O #A01_UH06.Not_Aus.UZ0622;
      = #Not_Akt           ;//Ein Not-Aus-Störung noch nicht quittiert

      U "Main_Safety_RTG1_DB".FDBACK_UH06_1.Q;//Not-Aus-Kreis geschlossen
      U "Main_Safety_RTG1_DB".FDBACK_UH06_2.Q;//Not-Aus-Kreis geschlossen
      UN #Not_Err;
      UN #Not_Akt;
      R #A01_UH06.NotErr;

//Not-Aus hat ausgelöst:
      UN #Not_Akt;//Ein Not-Aus-Störung noch nicht quittiert
      UN #Not_Err           ;//Ein Not-Aus-Taster noch betätigt
      U(;
      ON "Main_Safety_RTG1_DB".FDBACK_UH06_1.Q;//Not-Aus-Kreis geschlossen
      ON "Main_Safety_RTG1_DB".FDBACK_UH06_2.Q;//Not-Aus-Kreis geschlossen
      );
      = #A01_UH06.Not_Aus.ausgeloest;

      U #A01_UH06.Not_Aus.ausgeloest;
      = "6_HMI_Err_UH06_AMR".Not.ausgeloest_UH06;//Störung an OP übergeben
      S #A01_UH06.StOk_blinken;//Störung quittierbar

      U "SF0002";
      U "6_HMI_Err_UH06_AMR".Not.ausgeloest_UH06;//Störung an OP übergeben
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UH06;//Not-Aus quittieren

//Störung aktiv:
      U(;
      ON "Main_Safety_RTG1_DB".FDBACK_UH06_1.Q;//Not-Aus-Kreis geschlossen
      ON "Main_Safety_RTG1_DB".FDBACK_UH06_2.Q;//Not-Aus-Kreis geschlossen
      );
      O #Not_Err           ;//Ein Not-Aus-Taster noch betätigt
      O #Not_Akt;//Ein Not-Aus-Störung noch nicht quittiert
      O;
      UN "DI0711"           ;//von UH04 ILS
      UN "DSchnittstelle_zu_Safety".ToSafety.Ohne_Partner;
      S #A01_UH06.NotErr;

//Not-Aus quittieren nicht erlaubt:
      U #Not_Err           ;//Ein Not-Aus-Taster noch betätigt
      O #Not_Akt;//Ein Not-Aus-Störung noch nicht quittiert
      R "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UH06;//Not-Aus quittieren

//Anzeige:
      U #A01_UH06.NotErr;
///      =     "PF1004"  //Keine Anzeige verbaut!
      CLR;

NETWORK
TITLE = UH06: Haupschütz nicht aktiv
      U "Main_Safety_RTG1_DB".FDBACK_UH06_1.Q;//Not-Aus-Kreis geschlossen
      U "Main_Safety_RTG1_DB".FDBACK_UH06_2.Q;//Not-Aus-Kreis geschlossen
      UN #Not_Akt           ;//Ein Not-Aus-Störung noch nicht quittiert
      UN #Not_Err           ;//Ein Not-Aus-Taster noch betätigt
      L s5t#3s;
      SE "T110";

      U "T110";
      U "DI0013";
      = #A01_UH06.K10Err;

      U #A01_UH06.K10Err;
      O "DSchnittstelle_zu_Safety".FromSafety.ACK_REQ_A01_UH06_1;
      O "DSchnittstelle_zu_Safety".FromSafety.ACK_REQ_A01_UH06_2;
      S #A01_UH06.StOk_blinken ;//Störung quittierbar

      U #A01_UH06.StOk_aktiv   ;//Impuls Störungen quittieren                //Störungen quittieren
      U(;
      O #A01_UH06.K10Err;
      O "DSchnittstelle_zu_Safety".FromSafety.ACK_REQ_A01_UH06_1;
      O "DSchnittstelle_zu_Safety".FromSafety.ACK_REQ_A01_UH06_2;
      );
      S "DSchnittstelle_zu_Safety".ToSafety.StOk_HSS;
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UH06;//Not-Aus quittieren

NETWORK
TITLE = UH06: Bereichs-Störung
      UN #A01_UH06.AnlageEin;
      O #A01_UH06.NotErr;
///      O     #A01_UH06.MotErr
      O #A01_UH06.PnErr;
      O #A01_UH06.SiErr;
      O "6_HMI_Err_UH06_AMR".System.Gesamt_Feueralarm;
      = #A01_UH06.BereichErr;

      U #A01_UH06.BereichErr;
      U #A01_UH06.AnlageEin;
      U "Clock_1Hz";
      = "PF0000";

NETWORK
TITLE = UH06: Anfahrwarnung

//Anfahrwarnung erzeugen:
      UN #A01_UH06.BereichErr;
      U #A01_UH06.BereichErr_old;//Letzter Zyklus war noch System-Err
      S #A01_UH06.Anfahrwarnung;

      U #A01_UH06.BereichErr;
      = #A01_UH06.BereichErr_old ;//Aktuellen Status sepichern
      R #A01_UH06.Anfahrwarnung;

//Anfahrwarnung:
      U "T1";
      R #A01_UH06.Anfahrwarnung;
      U(;
      O #A01_UH06.Anfahrwarnung;
      O #A01_UH06_Halle4.Anfahrwarnung;
      O #A01_UC061.Anfahrwarnung;
      );
      U "Clock_1Hz";
      = "PF0033";//Anfahr-Warnung
      U #A01_UH06.Anfahrwarnung;
      L s5t#5s;
      SE "T1";

      U #A01_UH06.Anfahrwarnung;
      S #A01_UH06.BereichErr;

NETWORK
TITLE = UH06/Halle 4: Not-Aus-Störung erzeugen / quittierbar / quittieren

//Not-Aus an UZ0620:
      U "SF0541";
      U #A01_UH06_Halle4.Not_Aus.UZ0620;
      S #A01_UZ0620.StOk_blinken;//Störung quittierbar

      U #A01_UZ0620.StOk_aktiv;//Impuls Störungen quittieren                //Störungen quittieren
      U "SF0541";
      U #A01_UH06_Halle4.Not_Aus.UZ0620;
      R #A01_UH06_Halle4.Not_Aus.UZ0620;
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UH06_Halle4;//Not-Aus quittieren

      UN "SF0541";
      S #A01_UH06_Halle4.Not_Aus.UZ0620;//Störung vorhanden

      U #A01_UH06_Halle4.Not_Aus.UZ0620;//Störung vorhanden
      = "6_HMI_Err_UH06_AMR".Not.UZ0620;//Störung an OP übergeben

NETWORK
TITLE = UH06/Halle 4: Not-Aus-Störungen / Anzeigen
      UN "SF0541"           ;//Taster noch betätigt
      = #Not_Err           ;//Ein Not-Aus-Taster noch betätigt

      U #A01_UH06_Halle4.Not_Aus.UZ0620;//Störung noch aktiv
      = #Not_Akt           ;//Ein Not-Aus-Störung noch nicht quittiert

      U "Main_Safety_RTG1_DB".FDBACK_Halle4AMR.Q;//Not-Aus-Kreis geschlossen
      UN #Not_Err;
      UN #Not_Akt;
      R #A01_UH06_Halle4.NotErr;

//Not-Aus hat ausgelöst:
      UN #Not_Akt;//Ein Not-Aus-Störung noch nicht quittiert
      UN #Not_Err           ;//Ein Not-Aus-Taster noch betätigt
      UN "Main_Safety_RTG1_DB".FDBACK_Halle4AMR.Q;//Not-Aus-Kreis geschlossen
      = #A01_UH06_Halle4.Not_Aus.ausgeloest;

      U #A01_UH06_Halle4.Not_Aus.ausgeloest;
      = "6_HMI_Err_UH06_AMR".Not.ausgeloest_UH06_Halle4;//Störung an OP übergeben
      S #A01_UH06.StOk_blinken;//Störung quittierbar

      U "SF0002";
      U "6_HMI_Err_UH06_AMR".Not.ausgeloest_UH06_Halle4;//Störung an OP übergeben
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UH06_Halle4;//Not-Aus quittieren

//Störung aktiv:
      UN "Main_Safety_RTG1_DB".FDBACK_Halle4AMR.Q;//Not-Aus-Kreis geschlossen
      O #Not_Err           ;//Ein Not-Aus-Taster noch betätigt
      O #Not_Akt;//Ein Not-Aus-Störung noch nicht quittiert
      S #A01_UH06_Halle4.NotErr;

//Not-Aus quittieren nicht erlaubt:
      U #Not_Err           ;//Ein Not-Aus-Taster noch betätigt
      O #Not_Akt;//Ein Not-Aus-Störung noch nicht quittiert
      R "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UH06_Halle4;//Not-Aus quittieren

//Anzeige:
      U #A01_UH06_Halle4.NotErr;
///      =     "PF1004"  //Keine Anzeige verbaut!
      CLR;

NETWORK
TITLE = UH06/Halle 4: Haupschütz nicht aktiv
      U "Main_Safety_RTG1_DB".FDBACK_Halle4AMR.Q;//Not-Aus-Kreis geschlossen
      UN #Not_Akt;//Ein Not-Aus-Störung noch nicht quittiert
      UN #Not_Err           ;//Ein Not-Aus-Taster noch betätigt
      L s5t#3s;
      SE "T111";

      U "T111";
      U "DI0012";
      = #A01_UH06_Halle4.K10Err;

      U #A01_UH06_Halle4.K10Err;
      O "DSchnittstelle_zu_Safety".FromSafety.ACK_REQ_A01_UH06_1;
      O "DSchnittstelle_zu_Safety".FromSafety.ACK_REQ_A01_UH06_2;
      S #A01_UH06.StOk_blinken ;//Störung quittierbar

      U #A01_UH06.StOk_aktiv   ;//Impuls Störungen quittieren                //Störungen quittieren
      U(;
      O #A01_UH06_Halle4.K10Err;
      O "DSchnittstelle_zu_Safety".FromSafety.ACK_REQ_A01_UH06_1;
      O "DSchnittstelle_zu_Safety".FromSafety.ACK_REQ_A01_UH06_2;
      );
      S "DSchnittstelle_zu_Safety".ToSafety.StOk_HSS;
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UH06_Halle4;//Not-Aus quittieren

NETWORK
TITLE = UH06/Halle 4: Bereichs-Störung
      UN #A01_UH06.AnlageEin;
      O #A01_UH06_Halle4.NotErr;
///      O     #A01_UH06.MotErr
      O #A01_UH06.PnErr;
      O #A01_UH06.SiErr;
      O "6_HMI_Err_UH06_AMR".System.Gesamt_Feueralarm;
      = #A01_UH06_Halle4.BereichErr;

      U #A01_UH06_Halle4.BereichErr;
      U #A01_UH06.AnlageEin;
      U "Clock_1Hz";
      S "PF0000"           ;//Oben schon mit =

NETWORK
TITLE = UH06/Halle 4: Anfahrwarnung

//Anfahrwarnung erzeugen:
      UN #A01_UH06_Halle4.BereichErr;
      U #A01_UH06_Halle4.BereichErr_old;//Letzter Zyklus war noch System-Err
      S #A01_UH06_Halle4.Anfahrwarnung;

      U #A01_UH06_Halle4.BereichErr;
      = #A01_UH06_Halle4.BereichErr_old;//Aktuellen Status sepichern
      R #A01_UH06_Halle4.Anfahrwarnung;

//Anfahrwarnung:
      U "T11";
      R #A01_UH06_Halle4.Anfahrwarnung;
      U #A01_UH06_Halle4.Anfahrwarnung;
      U "Clock_1Hz";
//      =     "PF0033"             //Anfahr-Warnung (nur an UH06/Nw12)
      CLR;
      U #A01_UH06_Halle4.Anfahrwarnung;
      L s5t#5s;
      SE "T11";

      U #A01_UH06_Halle4.Anfahrwarnung;
      S #A01_UH06_Halle4.BereichErr;

NETWORK
TITLE = UC061: Pneumatik-Störung
      U "BP0167";
      L S5T#10S;//Damit Druck aufgebaut werden kann !
      SE "T202";

//Störung kann quittiert werden:
      U "T202";
      U "6_HMI_Err_UH06_AMR".VErr.Pn_UC061;
      S #A01_UC061.StOk_blinken;

//Störung quittieren:
      U #A01_UC061.StOk_aktiv;//Impuls Störungen quittieren                //Störungen quittieren
      U "T202";
      R "6_HMI_Err_UH06_AMR".VErr.Pn_UC061;

//Störung aktiv:
      UN "T202";
      S "6_HMI_Err_UH06_AMR".VErr.Pn_UC061;

      U "6_HMI_Err_UH06_AMR".VErr.Pn_UC061;
      = #A01_UC061.PnErr;

//Anzeige:
      U "6_HMI_Err_UH06_AMR".VErr.Pn_UC061;
      = "PF0160";

NETWORK
TITLE = UC061: Sicherungsfall

//Störung kann quittiert werden:
      U "DI0160";
      U "6_HMI_Err_UH06_AMR".VErr.FC0160;
      O;
      U "DI0161";
      U "6_HMI_Err_UH06_AMR".VErr.FC0161;
      O;
      U "DI0162";
      U "6_HMI_Err_UH06_AMR".VErr.FC0162;
      S #A01_UC061.StOk_blinken;

//Störung quittieren:
      U #A01_UC061.StOk_aktiv;//Impuls Störungen quittieren
      R "6_HMI_Err_UH06_AMR".VErr.FC0160;
      R "6_HMI_Err_UH06_AMR".VErr.FC0161;
      R "6_HMI_Err_UH06_AMR".VErr.FC0162;

//Störung aktiv:
      UN "DI0160";
      S "6_HMI_Err_UH06_AMR".VErr.FC0160;

      UN "DI0161";
      S "6_HMI_Err_UH06_AMR".VErr.FC0161;

      UN "DI0162";
      S "6_HMI_Err_UH06_AMR".VErr.FC0162;

//Sicherungs-Störung gesamt:
      U "6_HMI_Err_UH06_AMR".VErr.FC0160;
      O "6_HMI_Err_UH06_AMR".VErr.FC0161;
      O "6_HMI_Err_UH06_AMR".VErr.FC0162;
      = #A01_UC061.SiErr;

//Anzeige:
      U #A01_UC061.SiErr;
      = "PF0162";

NETWORK
TITLE = UC061: Motorschutz-Störung ist aktiv

//Störung kann quittiert werden:
//wird im Lastbaustein gemacht

//Störung quittieren:
//wird im Lastbaustein gemacht

//Störung aktiv:
//wird im Lastbaustein gemacht

//Motorschutz-Störung gesamt:
      U "6_HMI_Err_UH06_AMR".QErr.MA0200;
      O "6_HMI_Err_UH06_AMR".QErr.MA0201;
      O "6_HMI_Err_UH06_AMR".QErr.MA0202;
      O "6_HMI_Err_UH06_AMR".QErr.MA0203;
      O "6_HMI_Err_UH06_AMR".QErr.MA0204;
      O "6_HMI_Err_UH06_AMR".QErr.MA0205;
      = #A01_UC061.MotErr;

//Anzeige:
      U #A01_UC061.MotErr;
      = "PF0161";

NETWORK
TITLE = UC061: Not-Aus-Störungen / Anzeigen
      UN "SF1020"           ;//Taster noch betätigt
      ON "SF1022";
      ON "SF1023";
      ON "SF1090";
      = #Not_Err           ;//Ein Not-Aus-Taster noch betätigt

      U #A01_UC061.Not_Aus.UC061;//Störung noch aktiv
      O #A01_UC061.Not_Aus.UZ6102;
      O #A01_UC061.Not_Aus.UZ6103;
      O #A01_UC061.Not_Aus.UZ6104;
      = #Not_Akt           ;//Ein Not-Aus-Störung noch nicht quittiert

      U "Main_Safety_RTG1_DB".ESTOP1_MainUC061.Q;//Not-Aus-Kreis geschlossen
      UN #Not_Err;
      UN #Not_Akt;
      R #A01_UC061.NotErr;

//Not-Aus hat ausgelöst:
      UN #Not_Akt;//Ein Not-Aus-Störung noch nicht quittiert
      UN #Not_Err           ;//Ein Not-Aus-Taster noch betätigt
      UN "Main_Safety_RTG1_DB".ESTOP1_MainUC061.Q;//Not-Aus-Kreis geschlossen
      = #A01_UC061.Not_Aus.ausgeloest;

      U #A01_UC061.Not_Aus.ausgeloest;
      = "6_HMI_Err_UH06_AMR".Not.ausgeloest_UC061;//Störung an OP übergeben
      S #A01_UC061.StOk_blinken;//Störung quittierbar

      U "SF0177";
      U "6_HMI_Err_UH06_AMR".Not.ausgeloest_UC061;//Störung an OP übergeben
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UC061;//Not-Aus quittieren

//Störung aktiv:
      UN "Main_Safety_RTG1_DB".ESTOP1_MainUC061.Q;//Not-Aus-Kreis geschlossen
      O #Not_Err           ;//Ein Not-Aus-Taster noch betätigt
      O #Not_Akt;//Ein Not-Aus-Störung noch nicht quittiert
      O;
      UN "DI1091"           ;//von UC011 ILS
      UN "DSchnittstelle_zu_Safety".ToSafety.Ohne_Partner;
      O;
      UN "DI1092"           ;//von UC072 Outbound
      UN "DSchnittstelle_zu_Safety".ToSafety.Ohne_Partner;
      S #A01_UC061.NotErr;

//Not-Aus quittieren nicht erlaubt:
      U #Not_Err           ;//Ein Not-Aus-Taster noch betätigt
      O #Not_Akt;//Ein Not-Aus-Störung noch nicht quittiert
      R "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UC061;//Not-Aus quittieren

//Anzeige:
      U #A01_UC061.NotErr;
///      =     "PF1004"  //Keine Anzeige verbaut!
      CLR;

NETWORK
TITLE = UC061: Not-Aus-Störung erzeugen / quittierbar / quittieren

//Quittierung wurd abgearbeitet:
      U "DSchnittstelle_zu_Safety".FromSafety.ACK_A01_UC061_fertig;
      R "DSchnittstelle_zu_Safety".FromSafety.ACK_A01_UC061_fertig;
      R "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UC061;

//Not-Aus nach Haupschalter ein quittieren:
      U #A01_UC061.StOk_aktiv;//Impuls Störungen quittieren
      U #A01_UC061.Not_Aus.ausgeloest;
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UC061;//Not-Aus quittieren

//Not-Aus an UC061:
      U "SF1020";
      U #A01_UC061.Not_Aus.UC061;
      S #A01_UC061.StOk_blinken;//Störung quittierbar

      U #A01_UC061.StOk_aktiv;//Impuls Störungen quittieren                //Störungen quittieren
      U "SF1020";
      U #A01_UC061.Not_Aus.UC061;
      R #A01_UC061.Not_Aus.UC061;
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UC061;//Not-Aus quittieren

      UN "SF1020";
      S #A01_UC061.Not_Aus.UC061;//Störung vorhanden

      U #A01_UC061.Not_Aus.UC061;//Störung vorhanden
      = "6_HMI_Err_UH06_AMR".Not.UC061;//Störung an OP übergeben

//Not-Aus an UZ6101: (wurde ausgebaut)

//Not-Aus an UZ6102:
      U "SF1022";
      U #A01_UC061.Not_Aus.UZ6102;
      S #A01_UZ6102.StOk_blinken;//Störung quittierbar

      U #A01_UZ6102.StOk_aktiv;//Impuls Störungen quittieren                //Störungen quittieren
      U "SF1022";
      U #A01_UC061.Not_Aus.UZ6102;
      R #A01_UC061.Not_Aus.UZ6102;
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UC061;//Not-Aus quittieren

      UN "SF1022";
      S #A01_UC061.Not_Aus.UZ6102;//Störung vorhanden

      U #A01_UC061.Not_Aus.UZ6102;//Störung vorhanden
      = "6_HMI_Err_UH06_AMR".Not.UZ6102;//Störung an OP übergeben

//Not-Aus an UZ6103:
      U "SF1023";
      U #A01_UC061.Not_Aus.UZ6103;
      S #A01_UZ6103.StOk_blinken;//Störung quittierbar

      U #A01_UZ6103.StOk_aktiv;//Impuls Störungen quittieren                //Störungen quittieren
      U "SF1023";
      U #A01_UC061.Not_Aus.UZ6103;
      R #A01_UC061.Not_Aus.UZ6103;
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UC061;//Not-Aus quittieren

      UN "SF1023";
      S #A01_UC061.Not_Aus.UZ6103;//Störung vorhanden

      U #A01_UC061.Not_Aus.UZ6103;//Störung vorhanden
      = "6_HMI_Err_UH06_AMR".Not.UZ6103;//Störung an OP übergeben

//Not-Aus an UZ6104:
      U "SF1090";
      U #A01_UC061.Not_Aus.UZ6104;
      S #A01_UZ6104.StOk_blinken;//Störung quittierbar

      U #A01_UZ6104.StOk_aktiv;//Impuls Störungen quittieren                //Störungen quittieren
      U "SF1090";
      U #A01_UC061.Not_Aus.UZ6104;
      R #A01_UC061.Not_Aus.UZ6104;
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UC061;//Not-Aus quittieren

      UN "SF1090";
      S #A01_UC061.Not_Aus.UZ6104;//Störung vorhanden

      U #A01_UC061.Not_Aus.UZ6104;//Störung vorhanden
      = "6_HMI_Err_UH06_AMR".Not.UZ6104;//Störung an OP übergeben

//Not-Aus ILS (UC011):
      UN "DI1091"           ;//von UC011 ILS
      UN "DSchnittstelle_zu_Safety".ToSafety.Ohne_Partner;
      = "6_HMI_Err_UH06_AMR".Not.von_UC011;

//Not-Aus UH07 (UC072):
      UN "DI1092"           ;//von UC072 Outbound
      UN "DSchnittstelle_zu_Safety".ToSafety.Ohne_Partner;
      = "6_HMI_Err_UH06_AMR".Not.von_UC072;

NETWORK
TITLE = UC061: Haupschütz nicht aktiv
      U "Main_Safety_RTG1_DB".ESTOP1_MainUC061.Q;//Not-Aus-Kreis geschlossen
      UN #Not_Akt;//Ein Not-Aus-Störung noch nicht quittiert
      UN #Not_Err           ;//Ein Not-Aus-Taster noch betätigt
      L s5t#3s;
      SE "T210";

      U "T210";
      U "DI0166";
      = #A01_UC061.K10Err;

      U #A01_UC061.K10Err;
      O "DSchnittstelle_zu_Safety".FromSafety.ACK_REQ_A01_UC061_1;
      O "DSchnittstelle_zu_Safety".FromSafety.ACK_REQ_A01_UC061_2;
      S #A01_UC061.StOk_blinken;//Störung quittierbar

      U #A01_UC061.StOk_aktiv;//Impuls Störungen quittieren                //Störungen quittieren
      U(;
      O #A01_UC061.K10Err;
      O "DSchnittstelle_zu_Safety".FromSafety.ACK_REQ_A01_UC061_1;
      O "DSchnittstelle_zu_Safety".FromSafety.ACK_REQ_A01_UC061_2;
      );
      S "DSchnittstelle_zu_Safety".ToSafety.StOk_HSS;
      S "DSchnittstelle_zu_Safety".ToSafety.ACK_A01_UC061;//Not-Aus quittieren

NETWORK
TITLE = UC061: Bereichs-Störung
      UN #A01_UH06.AnlageEin;//UH06 ist Master
      O #A01_UC061.NotErr;
      O #A01_UC061.PnErr;
///      O     #A01_UC061.MotErr
      O #A01_UC061.SiErr;
      O "6_HMI_Err_UH06_AMR".System.Gesamt_Feueralarm;
      = #A01_UC061.BereichErr;

//Keine Anzeige verbaut

NETWORK
TITLE = UC061: Anfahrwarnung

//Anfahrwarnung erzeugen:
      UN #A01_UC061.BereichErr;
      U #A01_UC061.BereichErr_old;//Letzter Zyklus war noch System-Err
      S #A01_UC061.Anfahrwarnung;

      U #A01_UC061.BereichErr;
      = #A01_UC061.BereichErr_old;//Aktuellen Status sepichern
      R #A01_UC061.Anfahrwarnung;

//Anfahrwarnung:
      U "T12";
      R #A01_UC061.Anfahrwarnung;
      U #A01_UC061.Anfahrwarnung;
      U "Clock_1Hz";
//      =     "PF0033"             //Anfahr-Warnung (nur an UH06/Nw12)
      CLR;
      U #A01_UC061.Anfahrwarnung;
      L s5t#5s;
      SE "T12";

      U #A01_UC061.Anfahrwarnung;
      S #A01_UC061.BereichErr;

NETWORK
TITLE = Bereichshalte
      UN "SF0182";
      = #A01_UZ6102.Area_Stop;
      = "6_HMI_Err_UH06_AMR".Halt.UZ6102;

      UN "SF0184";
      = #A01_UZ6103.Area_Stop;
      = "6_HMI_Err_UH06_AMR".Halt.UZ6103;

      UN "SF0186";
      = #A01_UZ6104.Area_Stop;
      = "6_HMI_Err_UH06_AMR".Halt.UZ6104;

NETWORK
TITLE = Anzeigen zum Quittieren

//Start nach Störung blinken lassen:
      U #A01_UH06.StOk_blinken;
      U "Clock_2Hz";
      ON "SF0400";
      = "PF0002";

      U #A01_UC061.StOk_blinken;
      U "Clock_2Hz";
      ON "SF1020";
      = "PF0177";

      U #A01_UZ0601.StOk_blinken;
      U "Clock_2Hz";
      ON "SF0540";
      = "PF0057";

      U #A01_UZ0602.StOk_blinken;
      U "Clock_2Hz";
      ON "SF0473";
      = "PF0055";

      U #A01_UZ0603.StOk_blinken;
      U "Clock_2Hz";
      ON "SF0472";
      = "PF0053";

      U #A01_UZ0611.StOk_blinken;
      U "Clock_2Hz";
      ON "SF0471";
      = "PF0051";

      U #A01_UZ0612.StOk_blinken;
      U "Clock_2Hz";
      ON "SF0470";
      = "PF0047";

      U #A01_UZ0613.StOk_blinken;
      U "Clock_2Hz";
      ON "SF0403";
      = "PF0045";

      U #A01_UZ0614.StOk_blinken;
      U "Clock_2Hz";
      ON "SF0402";
      = "PF0043";

      U #A01_UZ0615.StOk_blinken;
      U "Clock_2Hz";
      ON "SF0401";
      = "PF0041";

      U #A01_UZ0620.StOk_blinken;
      U "Clock_2Hz";
      ON "SF0541";
      = "PF0121";

      U #A01_UZ0621.StOk_blinken;
      U "Clock_2Hz";
      ON "SF0542";
      = "PF0123";

      U #A01_UZ0622.StOk_blinken;
      U "Clock_2Hz";
      ON "SF0543";
      = "PF0125";

      U #A01_UZ6102.StOk_blinken;
      U "Clock_2Hz";
      ON "SF1022";
      = "PF0183";

      U #A01_UZ6103.StOk_blinken;
      U "Clock_2Hz";
      ON "SF1023";
      = "PF0185";

      U #A01_UZ6104.StOk_blinken;
      U "Clock_2Hz";
      ON "SF1090";
      = "PF0187";

      SET;
      R #A01_UH06.StOk_blinken;
      R #A01_UC061.StOk_blinken;
      R #A01_UZ0601.StOk_blinken;
      R #A01_UZ0602.StOk_blinken;
      R #A01_UZ0603.StOk_blinken;
      R #A01_UZ0611.StOk_blinken;
      R #A01_UZ0612.StOk_blinken;
      R #A01_UZ0613.StOk_blinken;
      R #A01_UZ0614.StOk_blinken;
      R #A01_UZ0615.StOk_blinken;
      R #A01_UZ0620.StOk_blinken;
      R #A01_UZ0621.StOk_blinken;
      R #A01_UZ0622.StOk_blinken;
      R #A01_UZ6102.StOk_blinken;
      R #A01_UZ6103.StOk_blinken;
      R #A01_UZ6104.StOk_blinken;

NETWORK
TITLE = Betriebsbereit-Anzeigen
      U #A01_UH06.AnlageEin;
      = "PF0120";
      = "PF0122";
      = "PF0124";
      = "PF0182";
      = "PF0184";
      = "PF0186";
//Anzeigen bei PS/MPS bei dortigem Baustein

NETWORK
TITLE = Störungen vorhanden? / Anzeige:
      CALL "Err_vorhanden"    //Störungsanzeige
      (  Check_DB                    := 608 , 
         Anfangs_DW                  := DINT#0 , 
         Ende_DW                     := DINT#498 , 
         Stoerung                    := #Stoerung , 
         ErrDW                       := #ErrDD , 
         ErrBits                     := #ErrBits
      );

      U(;
      O #Stoerung;
      O "PF0000"           ;//Da schon oben gesetzt
      );
      U "Clock_1Hz";
      = "PF0000";

      L #ErrDD;
      T "MD9100";
      L #ErrBits;
      T "MW9200";

      L "MD9100";
      L DINT#0;//Störung vorhanden
      >D;//Ja!
      = #Störung_vorhanden;

NETWORK
TITLE = Signal-Tower UH06

//Anfahrwarnung siehe Nw12

      U "DAMR_Bereich".A01_UH06.AnlageEin;
      = "PF0032";//System ready

      U #Störung_vorhanden;
      = "PF0031";//Fault

      U #A01_UH06.NotErr;
      O #A01_UH06_Halle4.NotErr;
      O #A01_UC061.NotErr;
      = "PF0030"           ;//Not-Aus

NETWORK
TITLE = Ende
      BE;

END_FUNCTION_BLOCK

