INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

TCP mit asynchronem VI



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!

18.06.2019, 08:19
Beitrag #1

83Daniel Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Oct 2017

2019
2010
DE_EN


Deutschland
TCP mit asynchronem VI
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?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.06.2019, 08:06
Beitrag #2

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: TCP mit asynchronem VI
Hallo Daniel,
ich vermute, die Übergabe oder das Auslesen der Queue ist falsch.
Kannst Du die VIs hier anhängen?

Gruß
Freddy

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.06.2019, 08:34
Beitrag #3

83Daniel Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Oct 2017

2019
2010
DE_EN


Deutschland
RE: TCP mit asynchronem VI
Ich habe zum testen mal das Beispiel TCP Named Service umgebaut.


Angehängte Datei(en)
19.0 .vi  TCP Named Service - Client.vi (Größe: 16,07 KB / Downloads: 224)

19.0 .vi  TCP Named Service - Server.vi (Größe: 14,22 KB / Downloads: 217)

19.0 .vi  Unbenannt 1.vi (Größe: 7,19 KB / Downloads: 221)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.06.2019, 08:59 (Dieser Beitrag wurde zuletzt bearbeitet: 21.06.2019 09:08 von Freddy.)
Beitrag #4

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: TCP mit asynchronem VI
Hallo Daniel,
eine Queue funktioniert nur in einer While Schleife(in der Client.vi).
Sie muss auch irgendwo einen Aufruf bekommen aktiv zu werden.

Starte ein neues Projekt und wähle als Vorlage ein Queue Projekt. Da kannst Du sehen wie eine Queue funktioniert.

Gruß
Freddy
Noch ein kleiner Tip.


Angehängte Datei(en) Thumbnail(s)
   

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.06.2019, 07:11
Beitrag #5

83Daniel Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Oct 2017

2019
2010
DE_EN


Deutschland
RE: TCP mit asynchronem VI
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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.06.2019, 08:26
Beitrag #6

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: TCP mit asynchronem VI
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.

Gruß
Freddy

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.06.2019, 09:45
Beitrag #7

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: TCP mit asynchronem VI
(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).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.06.2019, 10:48
Beitrag #8

83Daniel Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Oct 2017

2019
2010
DE_EN


Deutschland
RE: TCP mit asynchronem VI
Danke, dann hab ich doch richtig verstanden wie ne Queue funktioniert.

Ich verstehe aber immer noch nicht, warum es mit dem Asynchronen Aufruf nicht klappt. Hat dazu niemand eine Idee?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.06.2019, 11:46
Beitrag #9

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: TCP mit asynchronem VI
(24.06.2019 10:48 )83Daniel schrieb:  Ich verstehe aber immer noch nicht, warum es mit dem Asynchronen Aufruf nicht klappt. Hat dazu niemand eine Idee?
Leider hab ich, vermutlich wie einige andere auch, kein 2019. Mit 2015 wäre die Change höhen, dass sich weitere zum Helfen finden.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.06.2019, 12:12
Beitrag #10

83Daniel Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Oct 2017

2019
2010
DE_EN


Deutschland
RE: TCP mit asynchronem VI
Hab es mal für LV 2015 gespeichert


Angehängte Datei(en)
0.0 .zip  TCP Named Service.zip (Größe: 31,6 KB / Downloads: 205)

15.0 .vi  TCP Named Service - Client.vi (Größe: 17,79 KB / Downloads: 209)

15.0 .vi  TCP Named Service - Server.vi (Größe: 15,18 KB / Downloads: 230)

15.0 .vi  Unbenannt 1.vi (Größe: 8,14 KB / Downloads: 233)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: