LabVIEWForum.de
Case schleife einmal ausführen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Case schleife einmal ausführen (/Thread-Case-schleife-einmal-ausfuehren)



Case schleife einmal ausführen - Alighieri - 12.03.2015 08:43

Hallo zusammen,

ich habe folgendes Problem. Ein Sensor gibt mir Werte in LabView welche in dann mit einer Numerischen Konstanten vergleiche. Das Ganze läuft in einer While Schleife. Sobald der Wert von dem Sensor größer ist als die numerische Konstante soll EINMAL! eine Rechnung mit dem letzten Wert des Sensors ausgeführt werden. Wie bekomme ich das hin?

Ich habe es mit einer Case Schleife ausprobiert aber da diese in der While Schleife liegen muss, führt sie immer wieder die Rechnung mit dem letzten Sensorwert aus.

MfG


RE: Case schleife einmal ausführen - GerdW - 12.03.2015 08:50

Hallo Alighieri,

Zitat:Ich habe es mit einer Case Schleife ausprobiert
Das ist der korrekte Ansatz.

Zitat:aber da diese in der While Schleife liegen muss, führt sie immer wieder die Rechnung mit dem letzten Sensorwert aus.
Dann stimmt die Bedingung am Case-Selektor nicht!

Du willst also einen Case ausführen, wenn eine Bedingung von FALSE nach TRUE wechselt!?
Genau dafür gibt es eine Funktion namens "PtByPt Boolean Crossing"…


RE: Case schleife einmal ausführen - Alighieri - 12.03.2015 08:59

Hey,
also wenn der Sensorwert größer ist als der Numerische wechselt das Ergebnis auf True. Also wechselt auch die Case Schleife von False auf True und somit wird die Rechnung ausgeführt. Nur wenn der Sensorwert dauerhaft größer bleibt, führt er die Rechnung immer wieder neu aus und das möchte ich nicht. Oder hab ich dich jetzt falsch verstánden?

Wo finde ich denn die Funktion? Kann sie bei Suchen nicht finden?


RE: Case schleife einmal ausführen - jg - 12.03.2015 10:10

(12.03.2015 08:59 )Alighieri schrieb:  Wo finde ich denn die Funktion? Kann sie bei Suchen nicht finden?
Hier

Gruß, Jens


RE: Case schleife einmal ausführen - GerdW - 12.03.2015 10:34

Hallo,

Zitat:Wo finde ich denn die Funktion?
QuickDrop nutzen: Ctrl-Space…


RE: Case schleife einmal ausführen - Alighieri - 12.03.2015 11:19

Danke hat geklappt.
Wie kann ich denn die Rechnung in der Case Schleife verzögern?, dass heißt wenn der Sensorwert über dem Numerischen ist, soll nach 60 Sekunden der aktuelle Sensorwert in die Rechnung genommen werden?
Ohne dass ich dabei die übergeordnete WhileSchleife mit verzöger.


RE: Case schleife einmal ausführen - Lucki - 12.03.2015 11:48

Alternativ kann man sich die einfache Flip-Flop-Logik auch selbst stricken, z.B. so:
[attachment=52491]
[attachment=52492]
Zu Deinem letzten Posting: Nimm dafür die Funktion "vertrichene Zeit"


RE: Case schleife einmal ausführen - Alighieri - 12.03.2015 13:09

Es kommen immer mehr Probleme. Jetzt klappts, aber es kommen viel mehr Werte durch als einer. Solange wie das "Tor" offen ist. Ich brauche aber nur einen. Achherje


RE: Case schleife einmal ausführen - GerdW - 12.03.2015 13:18

Hallo Alighieri,

Zitat:viel mehr Werte durch als einer. Solange wie das "Tor" offen ist.
Ich wiederhole Beitrag #2:
Zitat:Du willst also einen Case ausführen, wenn eine Bedingung von FALSE nach TRUE wechselt!?
Genau dafür gibt es eine Funktion namens "PtByPt Boolean Crossing"…

Was hälst du davon, einfach mal dein VI hier anzuhängen?


RE: Case schleife einmal ausführen - Alighieri - 17.03.2015 08:24

Ok, sorry aber die ganze Sache hat sich aufgelöst. Benötige diese Schaltung jetzt doch nicht Glare
Aber danke für eure Hilfe.