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 

Netzwerkstreams: Problem beim Senden von Datenstruktur



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!

17.08.2011, 10:37
Beitrag #1

Sascha_ Offline
Versierter Anfänger?
*


Beiträge: 22
Registriert seit: Aug 2010

2010
2007
DE

38xxx
Deutschland
Netzwerkstreams: Problem beim Senden von Datenstruktur
Hallo,

ein Netzwerkstream macht mir derzeit Ärger - das Problem habe ich momentan umgangen, doch würde mich interessieren, was dahinter steckt:

- Ich habe einen Standardaufbau mit einem VI das nur über einen Sendeendpunkt verfügt und die Daten in den Stream schreibt und ein anderes VI, welches nur über einen Empfangsendpunkt verfügt und die Daten vom Stream holt. Beide VIs laufen derzeit auf dem selben Rechner (Entwicklungsphase), sollen später aber auf getrennten Maschinen laufen.
- Beim Sendeendpunkt ist nur der Sendername eingetragen 'TX - Kanal X',
der Empfangsendpunkt trägt die Bezeichnung 'RX - Kanal X' und die Sende-URL ist komplett angegegen, mit IP und Sendernamen.
- Die VIs stecken im selben Projekt, dort habe ich auch eine Typendefinition erstellt, welche aus einem Cluster mit verschiedenen Unterelementen besteht, dies soll das Datenpaket darstellen, welches über den Stream übertragen werden soll. Nebst einigen, relativ wenig speicher verbrauchenden, Einzelvariablen ist auch ein Array enthalten, welches - dynamisch, je nach Einstellungen - bis zu 16MB groß werden kann: 2^22 (= 4.194.304) U32-Variablen.
Momentan reize ich die größe des Arrays allerdings nicht aus, testweise übertrage ich derzeit 2^10 (= 1024) bis 2^16 (= 65.536) der U32 Variablen. Evtl. migriere ich gar noch von U32 zu DBL, sollte die größe problematisch werden (dann ja bis zu 32MB pro Paket), könnte es auch SGL werden - Das ist aber eine andere Geschichte und in der Umsetzung wohl unproblematisch, es könnte nur zu Performanceproblemen kommen.

Das eigentliche Problem:
Führe ich nun diese Datenstruktur nun direkt in Sende- und Empfangsendpunkt als Datentyp, nehmen sie dies auch an, es gibt keinen Fehler in der Entwicklungsumgebung. Das schreiben in den Stream (VI: 'Ein Element in Stream schreiben') wie auch das holen der Daten vom Stream (VI: 'Mehrere Elemente aus Stream auslesen') geschieht jeweils in einer zeitgesteuerten Schleife.
Der Empfangsendpunkt liefert übrigens den selben Fehlercode - dort ist nur keine Fehlerbeschreibung dazu angegeben!

Beim ausführen liefert nun schon das erstellen des Sendeendpunktes folgenden Fehler:
Zitat:Fehler -314304 ist bei Sendeendpunkt für Netzwerk-Stream erstellen in Datenquelle.vi aufgetreten

Mögliche Ursachen:

LabVIEW: Der Datentyp des Netzwerkendpunkt entspricht nicht dem Typ des lokalen Endpunkts. Die Datentypen der Endpunkte müssen übereinstimmen.

...dies kam nun beim Nachstellen der Situation heraus, vor meinem Workaround, als der Fehler zum ersten mal auftrat, war da ein anderer Fehler, des irgendentwas mit dem Verbindungsaufbau anklagte - ich erinnere mich aber nicht mehr genauer.
Zur auswertung der Meldung: Es ist ja schon irgendwie ersichtlich, was sie sagen will, doch habe ich an jeder relevanten Stelle (so viele gibt es ja gar nicht) die Datenstruktur als Datentyp angegeben, das müsste also Konsistent sein!


Meine Lösung:
Bei Sende- und Empfangsendpunkt gebe ich nun Variant als Datentyp an und Caste meine aus der Typendefinition abgeleiteten Datensätze vor dem schreiben in den Sendeknoten bzw. dem lesen des Empfangsknotens, auf/von Variant.
...so funktioniert alles. Doch: Ist dies unbedingt nötig - oder begehe ich einen grundlegenden Fehler (vllt. ja auch an ganz anderer Stelle als ich vermute)?!

Vielen dank schon einmal für das lesen des Pamphlets - mein Haupt-VI ist leider sehr groß und die entsprechenden Passagen lassen sicht schlecht extrahieren, ansonsten würde ich es ja auch mal anhängen. Sollte dies jemandem weiterhelfen, würde ich eine kleines Demo-VI erstellen, mit den entsprechendem G-Code.

Grüße
Sascha
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.08.2011, 10:04
Beitrag #2

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
RE: Netzwerkstreams: Problem beim Senden von Datenstruktur
Ein VI zur Veranschaulichung würde schon weiterhelfen.

Gruß Markus

(17.08.2011 10:37 )Sascha_ schrieb:  Vielen dank schon einmal für das lesen des Pamphlets - mein Haupt-VI ist leider sehr groß und die entsprechenden Passagen lassen sicht schlecht extrahieren, ansonsten würde ich es ja auch mal anhängen. Sollte dies jemandem weiterhelfen, würde ich eine kleines Demo-VI erstellen, mit den entsprechendem G-Code.

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Netzwerkstreams in Exe BastiFantasti 2 4.047 02.12.2011 08:28
Letzter Beitrag: Y-P
  Problem beim Umgang mit Umgebungsvariablen tt-web 1 4.512 19.01.2010 13:00
Letzter Beitrag: tt-web
  Problem beim erstellen einer Webapplikation Fat Tony 1 4.709 11.01.2010 12:59
Letzter Beitrag: echtzeit

Gehe zu: