Summenstoerung & Summenwarnung

skillrun

Level-1
Beiträge
12
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo noch einmal,

was versteht man unter summenstoerung und wie funktioniert sie ?

Summenstoerung := Summenstoerung OR Stoerung;
Summenwarnung := Summenwarnung OR Warnung;

bitte danke für schnelle antworten
 
Du hast verschiedene Funktionen in deiner Anlage. Aber schlußendlich möchtest du Wissen, ob irgendwo in deiner Anlage eine Störung aufgetreten ist, um z.b. den Leuchtmelder "Störung" anzusteuern.
Also wird, so wie es oben steht, zu einem Bit immer wieder eine Störung dazuverodert. Bei der ersten Abfrage wird nur zugewiesen, sonst würde die Summenstörung immer stehenbleiben.
Code:
O Stoerung_1
O Stoerung_2
O Stoerung_3
= Summenstoerung
Ist unterm Strich das gleiche wie
Code:
U Stoeurng_1
= Summenstoerung

O Stoerung_2
O Summenstoerung
= Summenstoerung

O Stoerung_3
O Summenstoerung
= Summenstoerung
 
Sorry, ST und nicht AWL...

Code:
Summenstoerung := Stoerung_1 OF Stoerung_2 OR Stoerung_3;[FONT=Verdana]
[/FONT]
Ist das gleiche wie:
Code:
Summenstoerung := Stoerung_1;

Summenstoerung := Summenstoerung OR Stoerung_2;

Summenstoerung := Summenstoerung OR Stoerung_3;

Wobei die drei Anweisungen in unterschiedlichen Funktionen stehen können. Wichtig ist nur, dass die erste Im Zyklus gesehe auch die erste ist.
 
ah okey, also z.b hier

Code:
Stoerung := Stoerung_GS OR Stoerung_AS OR Stoerung_Beide  OR usw. (alle stoerungen aufgelistet)

Summenstoerung := Summenstoerung OR Stoerung;

hier könnte man sich das Summenstoerung nach dem = und vor dem OR sparen ? daher ja e bereits alle stoerungen in Stoerung aufgelistet sind, oder hat das trotzdem noch einmal einen bestimmten grund warum das noch einmal drinnen steht ?
weil es ja eig. nicht wirklich sinn ergibt:?:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nein... definitiv nicht.

Es werden in desem Fall alle Störung die in der Funktion programmiert sind zu Stoerung verodert. Aber Summenstörung wird in einer anderen Funktion schon mit deren Störungen beschrieben. Wenn jetzt in der anderen Funktion eine Störung auftritt, ist ja Summenstörung bereit TRUE und durch deine Funktion darfst du sie ja nicht zurücksetzten. Wenn aber in keiner vorhergenden Funktion eine Stöurng aufgetreten ist kann deine Funktion sehr wohl eine Störung haben und dadurch dann auch Summenstoerung auf TRUE setzen.
 
ich will dich nicht nerven, aber summenstoerung wird nur hier mit diesen 2 variablen befüllt, ansonsten nicht mehr im programm...
(kann das ganze programm leider nicht hochladen, daher es ein selbstgeschribenes ist, und im Besitz der Firma ist ^^)

Summenstoerung := Summenstoerung OR Stoerung;

und 1ne der beiden ist die eigentliche variable die man befüllen möchte... oder hasd das e so gemeint, und ich habs wieder einmal nicht gerafft ?
 
Funktion 1
Code:
Störung := StörungLaufzeit OR StörungGeberfehler;
Summenstörung := Störung;

Funktion 2
Code:
Störung := StörungSicherungsfall OR StörungFahrradUmgefallen;
Summenstörung := Summenstörung OR Störung;

Da Summenstörung eine Globale Variable sein sollte (Oder mit IN-OUT durchgereicht werden sollte) wird am Ende bei auftreten einer beliebigen Störung in deinem ganzen Programm Summenströung TRUE sein.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
Zurück
Oben