Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Ich hab da ein Problem mit dem Starten einer TCP Verbindung wenn ich sie in einem asynchronen VI starte.
Ich starte asynchron ein VI und gebe diesem IP, Port und ein Queue mit. In dem VI wird die Verbindung aufgebaut, und die Referenz über das Queue weitergeben. Wenn ich anschließend an einer anderen Stelle die Verbindungsreferenz aus dem Queue entnehme und etwas über die Verbindung senden will erhalte ich den LabVIEW Fehler: (Hex 0x1) Ungültiger Eingangsparameter…
Die Referenz ist nicht 0 / NULL.
Kennt jemand dieses Verhalten oder könnte es mir erklären?
Danke schon mal,
"eine Queue funktioniert nur in einer While Schleife" das verstehe ich jetzt nicht... (in der NI_LVConfig.lvlib wird das ja auch nicht verwendet) und selbst wenn ich das ganze in eine While Schleife packe verhält sich das ganze immer noch genauso :-(
Wenn ich den Asynchronen Aufruf durch das VI selbst ersetzte, funktioniert es ja.
Wie der Name schon sagt sind Queues Sammler von Aufgaben.
Damit die Stelle, die für diese Aufgaben zuständig ist, die Aufgaben auch abarbeiten kann, muss sie ständig prüfen ob Aufgaben anstehen. (das macht die While- Schleife)
In der While Schleife können durch Einsatz einer IF Anweisung die verschiedenen Aufgaben definiert werden.
Mit Aufgaben gefüllt werden kann die Queue an jeder beliebigen Stelle im Blockdiagramm.
Abgearbeitet wird nach dem Prinzip First In First Out.
So funktioniert grob beschrieben eine Queue.
Zur genauen Beschreibung gibt es die Hilfe und als Beispiel kann man das Beispielprojekt sich von LabView anlegen lassen.
(24.06.2019 07:11 )83Daniel schrieb: "eine Queue funktioniert nur in einer While Schleife" das verstehe ich jetzt nicht
Da es sich hier (siehe Freddy 09:26) um die Erklärungen der Funktionalität "Queue" handelt, sollte es nicht "While-Schleife" heißen, sondern "sich wiederholender Ablauf" (das ist nämlich die Abstrahierung von While-Schleife).
Die Queue-Abfrage muss nicht offensichtlich in einer While-Schleife liegen. Sie kann ohne weiteres auch im siebenten SubVI liegen. Wichtig ist nur, dass die Queue-Funktionen (Schreiben und Lesen) im beschriebenen Anwendungsfall zyklisch abgearbeitet werden. Und dieses zyklische Abarbeiten kann durch eine While-Schleife realisiert werden. Wo die While-Schleife in der Programmhierarchie steht, ist dabei irrelevant.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).