Wertkontrolle und Ereigniss bei Fehler - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Wertkontrolle und Ereigniss bei Fehler (/Thread-Wertkontrolle-und-Ereigniss-bei-Fehler) |
Wertkontrolle und Ereigniss bei Fehler - tt-web - 07.01.2010 13:59 Hallo, ich lese dauernd Werte in meiner Applikation ein. Für den Fall, dass eine Pumpe ausfällt, möchte ich darauf reagieren können und diese gleich wieder einschalten oder beliebige andere Aktionen. Die Abfrage der Werte erfolgt über globale Variablen. Ich stelle mir eine Art unterfunktion vor, die in der Haupt-Whileschleife über eine "istgleich" funktion die Boolwerte des Pumpenzustands vergleicht und im Fehlerfall ein Event erzeugt (Wertänderung?). Liebe Grüße Thomas P.S.: Frohes neues Jahr an alle hier! Wertkontrolle und Ereigniss bei Fehler - BsaiboT - 07.01.2010 15:43 Na, Du hast doch sehr konkrete Vorstellungen. Bastel dir eine While-Schleife, in der du den Wert deiner Boolschen Golbalen Variable prüfst und entsprechend ein dem Ergebnis erzeugst du ein Event. Ich sehe ehrlich gesagt nicht, worin jetzt deine Frage ans Forum besteht?! Grüsse, Tobias Wertkontrolle und Ereigniss bei Fehler - tt-web - 11.01.2010 09:31 Hallo, *grins* ja ich weiß, die Frage war nicht wirklich sinnvoll gestellt. Ich plane also für den Fall, dass eine Pumpe ausfällt eine "Notfall"-Routine, die es mir ermöglicht zunächst automatisch, im weiteren Fehlerfall manuell einzugreifen. Bei der Verschachtelung brauche ich Logikhilfe. Mein Grundplan sieht folgendes vor: 1. Ich überprüfe ob die Boolwerte Pumpe 1 und Pumpe 2 voneinander abweichen (fallen Beide Pumpen aus, passiert nicht viel, dann steht halt nur alles, aber es passiert auch nichts schlimmes). 2. Ich überprüfe, ob ich mich im laufenden Betrieb befinde, weil nur hier ist es ein Problem, wenn eine Pumpe nicht läuft. Beim Reinigen oder Anfahren kann es durchaus sein, dass eine Pumpe mal steht. Ich habe also eine Whileschleife in der ich stehen habe: Ist P1 ungleich P2? Und ist Betriebszustand=1. Wenn Ergebniss von Schritt 1 = Ergebnis Schritt 2, habe ich einen Problemfall identifiziert. Aus dem letzten Gleichheitsoperator bekomme ich ein Boolsches True. Wie erzeuge ich hieraus einen Event, den ich dann abfragen kann? Eine einfache Wertänderung kann es ja nicht sein, weil wenn ich das Problem gleöst habe, müsste ich dann mein Event resetten um auf weitere Fehlerfälle wieder reagieren zu können. Dies wäre eine erneute Wertänderung und ich würde wieder in die Eventstruktur einsteigen. Soweit zum ersten Teil meines Problems. Später muss ich noch ausklabüstern, wie ich es anstelle, dass genau zweimal versucht wird die Pumpe automatisch neu zu starten. Das werde ich wohl mit einer For-Schleife oder einer Whileschleife mit Zähler realisieren, aber das steht wie gesagt erst mal hinten an. Gruß Thomas Wertkontrolle und Ereigniss bei Fehler - M Nussbaumer - 11.01.2010 10:03 Ich würde dir zu einem User-Event raten, das im Fehlerfall ausgelöst wird. Sowas in der Art: LabVIEW 8.5 [attachment=23528] wuhuuu 100ster Beitrag Wertkontrolle und Ereigniss bei Fehler - tt-web - 11.01.2010 12:46 Hallo! Genau das was ich brauche, jetzt habe ich die Sache mit den Benutzerevents auch verstanden glaube ich. Da hatte ich bisher noch einen Knoten im Hirn. Wie mache ich das, wenn ich jetzt in der Ereignisstruktur nur 2 oder 3 mal die Pumpen neu starten will. Klar, ich brauche einen Zähler und eine Case-Struktur (Zunächst einmal: gibt es in LabVIEW sowas wie x=x+1?) , aber wenn nach dem zweiten Start die Pumpe wieder läuft muss ich das ja irgendwie resetten können, also den Zähler auf 0 setzen. Das bereitet mir noch Kopfzerbrechen, weil für den Fall, dass die Pumpen laufen komme ich ja nicht mehr in die Ereignisstruktur und somit nicht mehr "in Berührung" mit meinem Zähler... Gruß Thomas Wertkontrolle und Ereigniss bei Fehler - BsaiboT - 11.01.2010 12:57 x=x+1? Natürlich gibt es sowas. In der englischen Sprachversion zu finden unter: Programming->Numeric->Increment [attachment=23538] Wertkontrolle und Ereigniss bei Fehler - tt-web - 11.01.2010 13:24 Hallo! Klasse, ich hab's hinbekommen. Ich hab's so gemacht: Globale Variable definiert und auf 0 gesetzt. Wenn ein Fehler auftritt, wird die Variable für jeden Versuch im 1 erhöht, tritt der fehler nicht mehr auf, so löse ich auch kein Benutzerereignis aus und setze in diesem Fall die Variable wieder auf 0. Das funktioniert ganz gut, da das Polling der Daten verzögert abläuft und ich keine Falschpositivmeldung erhalten kann. Gruß Thomas |