LabVIEWForum.de - Stopp Bedingung

LabVIEWForum.de

Normale Version: Stopp Bedingung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hi Leute

bei meinem Programm soll es möglich sein über einen Stopp Button den Messablauf zu stoppen. Allerdings verwende ich einige Sub Vi's was das ganze etwas aufwendiger macht.
Gibt es eine Möglichkeit beim Drücken des Stopp Button den Ablauf zu unterbrechen und an den Anfang des Programms zu springen? Oder muss ich überall eine Stopp Bedingung einfügen?

Danke im Vorraus
Gruß Dennis
' schrieb:Hi Leute

bei meinem Programm soll es möglich sein über einen Stopp Button den Messablauf zu stoppen. Allerdings verwende ich einige Sub Vi's was das ganze etwas aufwendiger macht.
Gibt es eine Möglichkeit beim Drücken des Stopp Button den Ablauf zu unterbrechen und an den Anfang des Programms zu springen? Oder muss ich überall eine Stopp Bedingung einfügen?

Danke im Vorraus
Gruß Dennis
Hi,

nein die gibt es nicht, ausser den Eigenschaftsknoten abort VI Execution. Der hat den selben Effekt wie der Rote Abbrechen knopf in der Toolbar, heißt so viel wie das VI wird einfach hart abgeborchen. Saubere Programmierung ist das meiner ansicht allerdings nicht.

Gruss
Uli
Wie sehen denn deine SubVIs aus? Haben sie While-Schleifen drin? Wenn ja, dann kannst du z.B.

Globale Variable nehmen (einfache schlechte Lösung)
Occurence (gute Lösung, aber für Kenner)

Kannst dich ja selber entscheiden. Im zweiten Fall helfe ich dir gerne weiter.

Gruss, Eugen
Hi Eugen

dann nehme ich die gute Lösung.
Hast du mir da ein anschauliches Beispiel oder so was?

Gruß Dennis
Ich lade mal zwei VIs (für LV 8.0.1) hoch, da kannst du mal schauen wie es funktioniert.

Gruss, Eugen
Hi Eugen

Habs mit Occurence probiert ist aber nicht so ideal. Ich hab vom Hersteller fertige VI's bekommen die ich verwenden soll, allerdings haben die keine Abbruchbedingung.
Gibt es eine Möglichkeit nur das Sub Vi zu beenden ohne das komplette Programm zu beenden?

Gruß Dennis
Hi,

probiers doch mal mit ner Queue bzw. nem Notifier! Beispiele dazu sind bei LV dabei! Damit sollte es problemlos möglich sein, dein SubVI zu stoppen! Wenn du Occurences oder Notifier verwendest, kannst du dir die VIs vom Hersteller ja unter neuem Namen abspeichern und darin deine Abbruchbedingung selber definieren...

Wenn das alles nix für dich ist, sind Globals immer noch ein probates Mittel...zwar nicht so schön, weil der Datenfluss ein bisschen ausgehebelt wird, aber funktionieren tut's. Für den Abbruch müsstest du aber auch hier dein Hersteller-VI umbauen...

Gruss
Achim
Wenn ich es richtig verstehe, sind die VIs vom Hersteller - Treiber VIs. Die sollen nur die Kommunikation mit dem Gerät ermöglichen und haben normalerweise keine While-Schleifen drin. Wahrscheinlich "Parsen" die nur die Nachrichten(Pakete) vom Gerät und haben die richtigen Zahlenwerte an Ausgängen. Oder umgekehrt du gibst ein Befehl an den Eingang und die wandeln deine Befehle in die Daten, die das Gerät versteht um.

Gruss, Eugen
Ja die VI' s bestehen nur aus Case Strukturen haben aber keine While Schleife. Außerdem sollen diese VI' s nach Möglichkeit nicht verändert werden
Ok, dann würde ich wirklich wie DoubleU gesagt hat die VIs einfach abbrechen. (Beitrag 2)
Seiten: 1 2
Referenz-URLs