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 

Speicher voll: Server-Client-Anwendung (UDP)



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!

19.07.2010, 09:36
Beitrag #1

Raijin Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Nov 2008

8.6 Base
2008
de

22145
Deutschland
Speicher voll: Server-Client-Anwendung (UDP)
Moin moin,

derzeit bin ich damit beschäftigt, unseren Temperaturlogger neu zu programmieren. Dazu habe ich eine Server-Anwendung erstellt, die von der Hardware einmal pro Minute die 16 Kanäle abfragt und in einer CSV-Datei abspeichert. Die Clients melden sich beim Start beim Server an und erhalten dann ebenfalls einmal pro Minute die Messwerte (vom Server, nicht von der Hardware). Allerdings sollen die letzten 5 Tage vom Server (1440 Minuten pro Tag * 5 Tage * 16 Kanäle = 115200 Messwerte) beim Client direkt angezeigt werden. Das heißt ich muss bei der Initialisierung des Clients recht viele Daten übertragen. Es werden vermutlich 3-5 Clients gleichzeitig aktiv sein.

Meine Frage ist nun: Wie mache ich das am besten? Das An- und Abmelden der Clients sowie das minütliche Verteilen der aktuellen Messwerte geschieht über UDP. Der Server speichert dann den Client samt IP und Port in einer FGV zur Weiterverarbeitung in den Daten-VIs. Wenn ich nun die besagten 115200 Messwerte in 8kb-große Pakete zerteile und per UDP rüberschicke, dann müllt mir der Client beim Empfang den Arbeitsspeicher mit 200-300 MB zu. Mitunter geht das soweit, dass ich eine Meldung bekomme, dass der Speicher voll ist. Das kanns ja irgendwie nicht sein. Leider habe ich nur das Base-Paket von Labview und mir stehen dementsprechend auch nur begrenze Mittel zur Verfügung (z.B. keine Event-Struktur).
Die Datenpakete, die ich vom Server zu den Clients schicke, sehen ungefähr so aus:

INIT_[KanalNr]_[PaketNr]_Wert1_Wert2_Wert3_....

Das ganze dann soweit bis die maximale Paketlänge von 8192 Bytes voll ist (genau genommen mache ich bei 8000 zu). Am anderen Ende werden diese Strings dann in ein Schieberegister gesteckt und "wenn alles da ist" wird es wieder auseinandergedröselt und in Signalverläufe gepackt (t0 und dt kommen in einem separaten Startpaket). Prinzipiell funktioniert die Datenkommunikation, die Pakete kommen an, werden zusammengesetzt und angezeigt.. Insgesamt werden das um die 100 UDP-Pakete. Das macht knapp 800 kb und dürfte für den Arbeitsspeicher "eigentlich" kein Problem sein.


Ich würd hier zwar gern meine VIs hochladen, aber das Projekt ist ziemlich groß und mit etlichen SubVIs. Ganz abgesehen davon dass ich das Firmenrechtlich gar nicht dürfte Undecided
Daher versuche ich einfach ein bischen Inspiration, ein paar Tips abzugreifen. Eine Idee war ursprünglich, die CSV-Dateien zu übertragen, aber da ich die Daten wirklich nur auf dem Server und keine x Kopien der CSV-Dateien auf den Clients haben will, hatte ich diesen Weg vorerst ausgeschlossen. Aber ich lasse mich gerne überzeugen.
Ist die Kommunikation über TCP evtl. besser? UDP verwende ich eigentlich nur, weil die ersten Beispiele, die ich fand, über UDP liefen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Speicher voll: Server-Client-Anwendung (UDP) - Raijin - 19.07.2010 09:36

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  OPC UA Labview (client) PLC SPS (Server) Babithan 1 6.095 27.10.2020 16:12
Letzter Beitrag: jg
  Exe Anwendung keine COM-Anschlüsse gefunden Tomy 1 3.976 01.04.2019 16:09
Letzter Beitrag: GerdW
  OPC UA Client Icebaer 6 12.520 17.03.2015 09:01
Letzter Beitrag: Icebaer
  Probleme mit TCP Kommunikation zwischen Server & Client ChiefChill 3 7.166 10.03.2014 09:02
Letzter Beitrag: cb
  Server/Client TCP/IP RFID Reader che-salih 2 6.112 29.10.2013 13:24
Letzter Beitrag: jg
  Client Server Applikation - wie fange ich an? nemesismf 4 5.185 14.10.2013 13:46
Letzter Beitrag: nemesismf

Gehe zu: