LabVIEWForum.de
while-Schleife mit Referenz stoppen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: while-Schleife mit Referenz stoppen (/Thread-while-Schleife-mit-Referenz-stoppen)



while-Schleife mit Referenz stoppen - Pral - 10.12.2014 18:49

Hallo,

ich möchte die while-Schleife eines subVIs durch ein mainVI (welches das subVI enthält) stoppen. Durch Recherche habe ich herausgefunden, dass dazu Referenzen verwendet werden, leider klappt das aber nicht ganz bei mir.
Wenn ich versuche mit dem Eigenschaftsknoten den Wert der Bool-Referenz auszulesen und diesen mit dem stop-Anschluss der while-Schleife verbinde, erscheint die Fehlermeldung, dass die Klassentypen nicht ineinander umgewnadelt werden können. Ich kann aber der Bool-Referenz auch keine strikte Typdefinition verpassen (das Feld dazu ist ausgegraut). Was mache ich falsch?


RE: while-Schleife mit Referenz stoppen - Lucki - 10.12.2014 19:52

Vor allem musst Du dem Stop-Knopf im Main die Möglichkeit geben, gelesen zu werden. Jetzt wird er bei Start, wenns Keinem interessiert, zwar gelesen, aber wenns drauf ankommt nicht mehr. Entweder Polling in paralleler Scheife,oder - siehe Beispiel - mit Ereignisstruktur.
Nur nebenbei: Als Beispiel ist es natürlich OK, aber der bessere Datentransport SUB-->Main in so einem Beispiel wäre über eine Queue (= Erzeuger-Verbraucher-Struktur).


RE: while-Schleife mit Referenz stoppen - Trinitatis - 11.12.2014 17:53

Hallo,

ich kann zwar eure 2014-er VIs nicht öffnen, aber eine sehr elegante Möglichkeit, beliebig viele Sub-VIs zu beenden sehe ich auch in einem Melder.

Das Main kann zum Beenden eine Meldung versenden, die von beliebig vielen Subs empfangen werden kann.

Gruß, Marko


RE: while-Schleife mit Referenz stoppen - Lucki - 11.12.2014 18:56

@Marco
Habe meine VIs auf LV2011 geändert
Gruß Ludwig


RE: while-Schleife mit Referenz stoppen - Pral - 11.12.2014 20:10

@Lucki: Wie hast du der Bool-Referenz eine strikte Typdefintion verpassen können?
Wenn ich eine Referenz eines Bool-Elements erstelle und diese dann mit gedrückter STRG-Taste in mein subVI kopiere kann ich durch Rechtsklick den Datentyp nicht hinzufügen (für eine strikte Def.)
Vielleicht könntest du ganz kurz schildern wie du da vorgegangen bist.

@Trinitatis: Ich habe leider noch nie mit solchen Konstrukten wie Meldern gearbeitet, könntest du mir vielleicht ein Minimalbeispiel zeigen wie sowas aussehen könnte?


RE: while-Schleife mit Referenz stoppen - Lucki - 11.12.2014 22:17

(11.12.2014 20:10 )Pral schrieb:  @Lucki: Wie hast du der Bool-Referenz eine strikte Typdefintion verpassen können?

Bewußt habe ich das nicht gemacht, ich sehe da auch nicht restlos durch, warum manche Referenzen miteinander kompatibel sind und manche nicht. Deshalb gehe ich immer auf Nummer sicher, und so habe ich es auch bei Dir gemacht:
Deine Referenz "Stop"(Boolesch) im BD von Main ziehe ich mit der Maus auf das gleichzeitig geöffnete FP von Subvi. Es entsteht ein Control, welches garantiert nicht herumzickt, wenn man dann die Stop-Referenz aus dem Main an den bereffenden SubVI-Eingang anschließt.