HI,
wenn ich es richtig verstanden habe, will Aventuíus dir sagen, dass die Variable Summenstörung, falls in mehreren Programmen verwendet, überschrieben werden kann.
Steht im einen Baustein eine Störung an (z.B. Lampe_defekt) dann würde hier durch folgende Formel die Variable Summenstörung auf TRUE gesetzt:
Code:
Summenstörung:= Lampe_defekt OR Vorschaltgerät_Defekt;
In einem anderen Baustein könnte dann Summenstörung durch nicht eintretende Störungen auf FALSE gesetzt werden, z.B. so:
Code:
Summenstörung:= Error1 OR Error2;
Sind hier Error1 und Error2 False, dann wird Summenstörung auch FALSE sein.
Je nach dem, welcher Baustein in der Programmreihenfolge zuerst abgearbeitet wird, wird Summenstörung nun als TRUE oder als FALSE angezeigt werden.
Wenn du aber, wie Aventius schon gezeigt hat, Summenstörung mit Summenstörung selbst verknüpfst, dann wird auch der Zustand von Summenstörung VOR dem Bausteinaufruf und dessen Abarbeitung mit berücksichtigt.
Nochmal als Abfolge:
1. Eingänge checken -> Lampe_defekt = TRUE, Verschaltgerät_defekt = FALSE, Error1 = FALSE, Error2 = FALSE
2. Programmabarbeitung ->
zuerst wird Baustein Leuchtenkontrolle abgearbeitet....
Baustein_Leuchtenkontrolle:
Summenstörung:= Lampe_defekt OR Vorschaltgerät_defekt;
Ergebnis-> Summenstörung = TRUE
nun kommt Baustein Fehler_Allgemein.....
Baustein_Allgemein:
Summenstörung:= Error1 OR Error2;
Ergebnis-> Summenstörung = FALSE
3. Ergebnisse eintragen -> Im letzten Schritt war Summenstörung = FALSE, also wird es als FALSE angezeigt
Macht man es nun aber wie von Aventius beschrieben, dann wird Summenstörung beim "Wechsel" auf Baustein 2 mit seinem TRUE-Zustand in der OR-Funktion dazu führen, dass Summenstörung als Ergbnis des Programmes TRUE sein wird.
Mein Gott, wieso schreibe ich so viel ???
Grüße