Hallo,
als LabVIEW-Neuling bin ich auf ein Problem gestoßen und hoffe, dass mir in diesem Forum jemand weiterhelfen kann.
Ich habe einen Sensor der bei einem bestimmten Ereignis den Wert TRUE ausgibt. Bei diesem Ereignis möchte ich, dass eine While-Schleife beendet wird. Bis hierhin ist eigentlich alles klar. Jedoch möchte ich, dass die Schleife erst beendet wird, wenn der Sensor den TRUE-Wert für einige Zeit (beispielsweise 2 sec) ausgibt. Ich möchte somit verhindern, dass die Schleife fälschlicherweise durch einen kurzen Impuls oder "Rauschen" verfrüht beendet wird.
Weiss jemand wie ich dieses Problem löse?
Vielen Dank für Eure Hilfe
Gruß
Simple Lösung, evtl. geht das auch anders.
Ein AND-Gatter, auf dem einem Eingang dein Sensor-Signal, auf dem anderen eine Flat/Stacked Sequenz, mit einem TRUE, und davor ein Wait mit deiner gewünschten Wartezeit
edit/
sorry, um die Sequenz noch ein Case Selector, und dein Sensor Signal drauf, damits gleichzeitig startet, False bleibt leer
Schau Dir das mal an. (<strike>LV8.0</strike>)
Grüsse Jo
Das hatten wie heute schon mal, nur ging es da nicht um die "Entprellung" des Sensorausgangs, sondern um die Entprellung eines Relais. Z.B. so:
[
attachment=30921]
' schrieb:Schau Dir das mal an. (LV8.0)
Grüsse Jo
Nicht gerade eine
Version....
Ich denke, dass der Vorschlag von psutester vielleicht nicht optimal funktionieren wird, da voraussichtlich der Sensor kurz hintereinander ausgelesen wird. Dann steht der Eingang für das Und-Glied und die Fallunterscheidung fest. Falls der Sensor nun TRUE für die Fallunterscheidung geliefert hat, dann wird gewartet...
Damit der Sensor zu zwei Zeiten geprüft wird gehört die 2. Sensorabfrage in das 2. Feld der Sequenz, so dass die Sensorabfrage nach einer gewissen Zeit (2 s) stattfindet. Man kann nun entweder das Und-Glied oder die Fallunterscheidung weglassen, je nachdem welche Sensorabfrage die 2. geworden ist.
Jedoch wird die Schleife während der Wartezeit blockiert sein und damit keine andere Aktion ausführen. Ist das Ausführen weiterer Funktionen notwendig während der Sensor mit einem gewissen Zeitabstand abgefragt wird?
Von der Logik her suchst du sowas hier.. nur eben mit True/False.
LVF-Link
Kann man ja mal drüber nachdenken.
Gruß SeBa
Ups, war wohl schon ein bischen spät gestern auf der Arbeit..
Ich versuchs nochmal mit der 8er Version.
Zum Vi: Wenn der Eingang true wird (und bleibt) wird der Ausgang nach 'ms to wait' auch true.
Das ist doch das gesuchte Verhalten oder versteh ich da was falsch?
Grüsse, Jo
[
attachment=30937]
Muss das nach einer gewissen Zeit sein, oder geht das auch mit einer gewissen Anzahl von Messwerten?
Wenn ja würde ich ganz einfach die Anzahl der True-Werte zählen und diese wenn ein false auftritt zurück setzen. Das globale Schleifenende wird dann erreicht, wenn eine gewisse Anzahl von true Werten erreicht wurde.
Hey,
Vielen Dank für die Zahlreichen Antworten.
Die Version von dir psutester ist tatsächlich nicht geeignet da der Sensor kurz hintereinander ausgelesen werden sollte. Die anderen Möglichkeiten funktionieren recht gut. Nur leider besteht jetzt noch das Problem das in der Schleife weiterhin Anweisungen sind die abgearbeitet werden sollten. Die Schleife wird jedoch während der Wartezeit blockiert.
Hat da jemand noch eine Idee?
Hier mal meine Aktuelle Version: (9.0)
Gruß