LabVIEWForum.de - 2 For Schleifen mit einem Schalter steuern?

LabVIEWForum.de

Normale Version: 2 For Schleifen mit einem Schalter steuern?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Moin erstmal!

Ich habe da ein Problem mit LabVIEWWink

Und zwar habe ich ein Programm, zur erfassung einiger Messdaten im Windkanal.
Das ganze läuft folgendermaßen ab:

Im Windkanal befindet sich ein Flügelprofil, bei dem die Druckverteilung auf oder und Unterseite gemessen werden soll, das ganze ist im entsprechenden LabVIEW Programm mit 2 For Schleifen Realisiert, eine für die Ober, eine für die Unterseite. (Das muss aus Auswertungstechnischen Gründen so sein...)
In jeder dieser Schleifen gibt es jetzt noch eine Case Struktur, die mit einem Not-Aus Schalter verbunden ist. D.h. drückt jemand den Schalter, wird die Case Struktur auf False gesetzt, keine Messungen mehr durchgeführt, sondern alle Werte auf "0" gesetzt und der Kanal heruntergefahren.
So und hier ist des Pudels Kern:
Momentan befindet sich in jeder For Schleife ein Not-Aus Schalter, d.h. es gibt zwei, der Schalterstatus T/F muss ja vor jeder Messung quasi erfasst werden damit das Programm weiß was Sache ist.
Jetzt ist das ganze aber etwas Anwenderunfreundlich und gerade für Leute die nicht so oft damit messen nicht direkt ersichtlich, welchen der beiden Schalter sie drücken müssen...

Jetzt meine Frage, wie kann ich das Schaffen, dass ich beide Schleifen mit einem Schalter steuern (True/False Signal eingeben) kann?

Wir der Außerhalb der Schleifen plaziert, wird ja nur einmal zu Beginn der Status abgefragt und ein drücken während der Messung hat keinen Effekt.

Geht es irgendwie, dass ich im Front Panel einen Schalter habe, bei dessen drücken aber beide Schalter im Blockdiagramm aktiviert werden?
D.h. meine beiden Momentanen Schaltflächen zu einer "verschmelzen"?

Wenn nein, habt ihr andere Ideen, wie das machbar ist, ohne das ganze Programm neu machen zu müssen?

(Ich kann leider kein Bild dazu hochladen, weil ich zuhause und die Software an der Uni ist, wo ich kein Internet habe -.-, ich werd versuchen da mal die Tage nen Screenshot zu machen, wenn euch meine Beschreibung nicht weiterhilftWink)

Danke schonmal...
Hallo lrt05

Die Frage ist, ob die Schleife bis zum Ende noch ausgeführt werden soll, oder ob sofort abgebrochen werden soll.

Falls es egal ist, ob die Schleife bis zum Ende durchgelaufen ist würde ich dir zu einer Eventstruktur mit Funktionaler Globaler Variable raten.
Diese Funktioniert im Prinzip wie eine Variable.

[attachment=21731]

Falls du noch Fragen hast einfach stellen ^_^
Nussbaumers Methode ist vorzuziehen, wobei hier auch ein globale Variable statt einer Pseudo-FGV langen würde. Mit Queues funktionierts auch, ist aber unnötig kompliziert. Eher schon mit Meldern, aber auch dann müssen Referenzen übergeben werden.
' schrieb:wobei hier auch ein globale Variable
Eine globale? Wenn, dann doch eine lokale.

Zitat:Eher schon mit Meldern, aber auch dann müssen Referenzen übergeben werden.
Ich würde hier nicht von Referenzen sprechen. "Queue/Melder-Referenzen" gehen automatisch. Da sieht man von außen nicht, dass es eine Referenz ist. Dass zu jedem "Melder anfordern" ein "Melder löschen" gehört, ist was anderes!
' schrieb:[attachment=49873:L_sungsv...chleifen.png]

@M Nussbaumer
Ich würde gerne wissen, wie kann man eine For Schleife mit STOP-Knopf verheiraten? Ich sehe im Bild, dass es geht, habe aber nicht geschafft bei mir zu finden, wie.

Ich danke im Voraus.
' schrieb:Ich würde gerne wissen, wie kann man eine For Schleife mit STOP-Knopf verheiraten?
Rechtsclick auf die for-Schleife & "conditional terminal" auswählen (wie es im deutschen LV heisst weiss ich nicht), du wirst es aber sicher finden....

Gruss,
C
Zitat:Rechtsclick auf die for-Schleife & "conditional terminal" auswählen (wie es im deutschen LV heisst weiss ich nicht), du wirst es aber sicher finden....

Gibts das auch in 8.2? Finde nix entsprechendes.

[attachment=21744]
@dimitri84:
Nein, das mit dem Conditional Terminal in FOR-Schleifen gibt es erst seit Version 8.5.
In 8.2 musst du das über While-Schleifen lösen.

Gruß, Jens
@<<oenk>>
gefunden, danke!
ich habe zuerst, wie dimitri84, mit LV8.2 probiert.
Seiten: 1 2
Referenz-URLs