LabVIEWForum.de - Störung soll bis zum Quittieren gemeldet werden

LabVIEWForum.de

Normale Version: Störung soll bis zum Quittieren gemeldet werden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo!

Ich habe ein Programm geschrieben, das u.a. Störungsmeldungen einer Anlage ausgeben kann. Nun habe ich diese Störungen in verschiedene Kategorien unterteilt und will, dass jeweils eine Lampe in der entsprechenden Farbe brennt - grün für alles in Ordnung, geld für Warnung und rot für Störung (soweit alles kein Problem).

Mein Problem ist folgendes:
Ich möchte, dass die Lampe nicht nur "an" ist, wenn das Problem direkt als Boolsches TRUE ansteht, sondern auch danach und zwar solange, bis ein Quittieren-Button gedrückt wurde.
Habe schon einiges mit verschiedenen Schaltverhalten usw. versucht, aber die zündende Idee blieb noch aus.

Danke für Eure Hilfe!

Blondchen
(18.07.2011 14:31 )Blondchen schrieb: [ -> ]Mein Problem ist folgendes:
Ich möchte, dass die Lampe nicht nur "an" ist, wenn das Problem direkt als Boolsches TRUE ansteht, sondern auch danach und zwar solange, bis ein Quittieren-Button gedrückt wurde.
Habe schon einiges mit verschiedenen Schaltverhalten usw. versucht, aber die zündende Idee blieb noch aus.

Hallo,

Im Prinzip müsste es doch reichen, sich den Zustand der Störung in einem Schieberegister zu merken und dann auf den Quittierbutton zu reagieren.

Eine Konzeptidee hätte ich hier:

[attachment=34719]
[attachment=34720]

Beste Grüße,
NWO
Hey!

Die Idee an sich ist wirklich gut, ich habe allerdings jetzt das Problem, dass ich die Signale so wie im angehängten Bild verarbeite. Ich lasse also abgleichen, ob das gesamte Array "FALSE" ist, wenn nicht, dann soll die Störungsmeldung erscheinen (dementsprechen deine Programmstruktur beginnen). Könntest du mir da vielleicht nochmals helfen mit dem Anschluss?

Vielen lieben Dank!

Ein etwas verzweifeltes Blondchen
Hallo Blondchen,

soweit ich das Problem verstehe musst du das boolsche Array das aus deinem Soll/Ist-Vergleich bekommst, mit einem Array-Und oder mit einem Array-Oder verrechnen. So bekommst du einen (Fehler-)Zustand für alle boolschen Werte.
Das Array-Und wird nur TRUE, wenn wirklich alle Werte im Array TRUE sind.
Das Array-Oder wird schon TRUE, wenn mindestens 1 Wert im Array TRUE ist.

Hoffe das hilft.

Erik Brenncke
(18.07.2011 15:23 )Blondchen schrieb: [ -> ]Ich lasse also abgleichen, ob das gesamte Array "FALSE" ist, wenn nicht, dann soll die Störungsmeldung erscheinen (dementsprechen deine Programmstruktur beginnen). Könntest du mir da vielleicht nochmals helfen mit dem Anschluss?

Wenn ich dich richtig verstanden habe, ist nur ausschlaggebend, ob irgendein Arrayelement 'True' ist. Dies kannst auch folgendermaßen erreichen:

[attachment=34723]

Beste Grüße,
NWO


@edit: Erik war schneller Top1
Hey,

ihr habt das richtig verstanden! Mein Problem war jetzt nur, die beiden Programmteile sinnvoll zusammenzufügen. Also zum einen den Vorschlag der Registerkarte von NWO und den Abgleich, der schon für ein FALSE im Array ein TRUE ausspuckt.

Blondchen
Hm, da wäre wohl auch folgendes Konstrukt denkbar:

[attachment=34728]

[attachment=34729]


Aber wahrscheinlich ist es irgendein Mittelding aus allem, welches zum Ziel führt Big Grin Hängt auch vom Rest deines Programmaufbaus ab, also, ob du z.B. schon eine Eventstruktur benutzt, usw...


Beste Grüße,
NWO
Hallo und guten Morgen!

Entschuldigt bitte, wenn ich mich ein wenig anstelle, aber das ist meine erste Event-Struktur, die ich verbaue und das natürlich mal wieder unter Zeitdruck.
Die Lösung von NWO ist ja eigentlich sehr gut, nur mein Hauptprogramm wird dadurch natürlich so abgebremst, dass es nur anspringt, wenn sich eine Änderung ergibt.
Ich wollte nun eigentlich so eine Struktur daraus machen, die ein paar Millisekunden auf ein Event wartet oder ein Drücken des Quittieren-Knopfs wartet und wenn nichts passiert die alten Werte, bzw. hier die anliegenden Störungen übernimmt.

Könnt ihr mir nochmal aus der Patsche helfen? Das wäre echt klasse!

Vielen Dank!
Euer Blondchen
Timeout-Case der Event-Struktur verwenden! Einfach einen Wert (z.B. 10) an die Eieruhr oben links anschließen:
[attachment=35131]
Gruß, Jens
Referenz-URLs