LabVIEWForum.de - SubVi beenden

LabVIEWForum.de

Normale Version: SubVi beenden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen!

In meinem Hauptprogramm rufe ich über eine Event-Struktur ein Subvi auf das im Hintergrund läuft, welches während der Ausführung wiederum andere Subvis aufruft. Wie könnte ich nun über das Frontpanel meines Hauptprograms die SubVis abbrechen? Sobald ein Subvi aufgerufen wurde kann ich ihm keine Werte mehr übergeben oder?

Würde mich über Eure Hilfe sehr freuen,

Marv
spontan würde ich sagen über globale variablen oder über eventstrukturen, die in den sub-vi's verarbeitet werden.

hilft dir das schon weiter?
mit einer "Property Node" und einer Referenz zum button.
das wire von der refenz in des subvi legen und dort an die "property node" anschliessen.

in die richtung habe ich es noch nie getestet. habe nur einen indicator auf dem frontpanel aus einem subvi heraus aktualisiert.

sollta aber auch für deine anwendung gehen.

g markus
<div align="left">Hallo!

Ich habe ein Vi das mainvi, das ein subvi startet und mir eine gewisse anzahl von rechteckimpulsen über den counter-ausgang meiner NI-Card schickt.

Ich will das subvi vom mainvi aus (zB bei der hälfte der eingegebenen impulse) beenden können. wenn ich im subview eine schleife habe, bleibt er ja in dieser schleife drinnen, oder?

bitte um hilfe,

lg peter</div>
Hi,
würd sowas nicht funktionieren?

[Bild: 12885-33.jpeg]

Mit "Open VI reference" eine refnum zum vi erstellen und dann per invoke node das vi beenden.

Gruß,

Daniel
' schrieb:Hi,
würd sowas nicht funktionieren?

[Bild: 12887-32.jpeg]

Mit "Open VI reference" eine refnum zum vi erstellen und dann per invoke node das vi beenden.

Gruß,

Daniel

Das würde schon funktionieren, aber dann bricht der das ganze SubVi sofort ab. Das kann insofern zu Problemen führen, da dann bestimmte Funktionen nicht zu Ende geführt werden.
Z.B.: Wenn man im Subvi in einer Schleife Daten an einen Port sendet und nach der Schleife den Port schließt. Mit Abort wird dann das schließen nicht mehr ausgeführt.
In solchen Fällen besser mittels globaler Variable die Schleife beenden.
' schrieb:<div align="left">Ich will das subvi vom mainvi aus (zB bei der hälfte der eingegebenen impulse) beenden können</div>
Da muß Du als erstes eine Abbruchmöglichkeit im SUB-VI schaffen. Ich habe das mal gemacht, indem ich "Warten bis Task beendet" durch "Fragen ob Task beendet" in einer Schleife mit Stop-Taste ersetzt habe:
[attachment=2774]
Als Zweites muß Dir dann eine Zugriffsmöglichkeit auf den Stop vom Hauptprogramm aus verschaffen, z.B über Referenzen oder über ein globale Variable.
Ich habe das gleiche Problem.

Ich will auch SubVi stoppen können. Nun bestehen meine SubVi nicht aus While- schleifen sondern aus Sequenz Struckturen. Gibt es eine Möglichkeit diese Abzubrechen? Geht das auch mit Property Nodes?

Für jede Hilfe Dankbar!
' schrieb:Ich will auch SubVi stoppen können. Nun bestehen meine SubVi nicht aus While- schleifen sondern aus Sequenz Struckturen. Gibt es eine Möglichkeit diese Abzubrechen? Geht das auch mit Property Nodes?
Die Benachrichtigung aus dem "alten LF" scheint nicht zu funktionieren, sonst hätte ich Dir früher geantwortet. Es ginge schon, nur ist es umständlich. Es gibt aber eine einfache Brutalo-Methode, die dem Drücken des roten Stop-Knopfes in der Werkzeugleiste entspricht
[attachment=2858]
Referenz-URLs